📜  使用 MATLAB 绘制苏丹国旗

📅  最后修改于: 2022-05-13 01:55:22.932000             🧑  作者: Mango

使用 MATLAB 绘制苏丹国旗

在数字图像处理中,彩色图像以 3 维矩阵表示。图像可以用各种颜色模型表示,例如 RGB(红、绿、蓝)模型、HSV(色相、饱和度、值)模型、YIQ(亮度-同相正交)模型、CMYK(青色、品红色、黄色、黑色)模型.通常,图像以 RGB 模型表示。矩阵的第一个通道是红色,第二个通道是绿色,第三个通道是蓝色。

绘制苏丹国旗的方法:

  • 创建一个 300X600X3 的零矩阵。300 是行数,600 是列数,3 代表 RGB 颜色通道。用 (255, 255, 255) 填充矩阵。 255 代表白色像素,0 代表黑色像素。
    img(:, :, :)=255
  • 在 1 到 100 的行之间和 151:600 的列之间用深红色 (210, 16, 42) 填充矩阵。
  • 在 200 到 300 的行之间和 151:600 的列之间用 black(0, 0, 0) 填充矩阵。
  • 经过这些操作后,我们的图像是这样的

  • 现在,我们必须绘制一个上三角形和一个下三角形。
  • 对于下三角形,从第 1 行到第 150 行和第 1 到 150 列用绿色填充矩阵 (0, 114, 14)
  • 同样,对于上三角形,从第 150 行到第 300 行和第 1 到第 150 列用绿色填充矩阵(0, 114, 14)

下面给出实现:

% MATLAB code to draw Sudan flag
  
% initialising a zero matrix of 300X600X3
img=uint8(zeros(300, 600, 3));
img(:, :, :)=255;
%Red Color
img(1:100, 151:600, 1)=210;
img(1:100, 151:600, 2)=16;
img(1:100, 151:600, 3)=42;
%black Color 
img(200:300, 150:600, :)=0;
% Lower Triangle
for i=1:150
    for j=1:150
        if(j=200)
            img(i, j, :)=0;            
        end
    end
end
  
% displaying the matrix as image
figure, imshow(img);

输出 :