彩色图像可以表示为3阶矩阵。第一个顺序用于行,第二个顺序用于列,第三个顺序用于指定相应像素的颜色。在这里,我们使用RGB颜色格式,因此三阶将分别采用红色,绿色和蓝色的3个值。行和列的值取决于图像的大小。
RGB图像表示:
RGB颜色模型是一种加法颜色模型,其中以各种方式将红,绿和蓝光加在一起以重现各种颜色。该模型的名称来自三种附加原色(红色,绿色和蓝色)的缩写。
然后考虑一个RGB图像阵列“ I”,
- I(:,:,1)代表RGB图像的红色平面
- I(:,:,2)代表RGB图像的绿色平面
- I(:,:,3)代表RGB图像的蓝色平面
方法:
- 制作尺寸为30 X 50 X 3的3阶零矩阵。30表示行的像素数,50表示列的像素数,3表示RGB格式的颜色编码。
- 将整个图像涂成红色。红色的RGB代码是(255,0,0)
- 制作水平白条。白色的RGB代码是(255,255,255)
- 制作垂直白条。
下面是实现:
% matlab code to draw Switzerland flag
I = zeros(30, 50, 3);
% here image is of class ‘uint8’, the range of values
% that each colour component can have is [0 – 255]
I = uint8(I);
%painting the whole image red
I(:, :, 1) = 255;
%white bar
I(5:25, 22:28, 1:3) = 255;
%white column
I(12:18, 10:40, 1:3) = 255;
% show the image formed
imshow(I);
输出: