用Matlab生成彩色图像

时间:2013-10-06 20:03:54

标签: image matlab matlab-guide

我想在尺寸为200 * 200像素的MATLAB中绘制彩色图像,在中间的i-e 76行和125列中输入RGB和绿色的正方形尺寸。

enter image description here

然后我想在同一图像的角落画出20 * 20像素的红色,绿色,蓝色和黑色。我不知道怎么做或在MATLAB中绘制颜色框(RGB)。

enter image description here

我在Binary中完成了它,如下图所示:enter image description here

1 个答案:

答案 0 :(得分:3)

您需要如上所述定义3个组件:R,G,B。此外,如果您想将颜色通道用作整数0..255,则需要将矩阵类型转换为整数:

img = ones(256,256,3) * 255;    % 3 channels: R G B
img = uint8(img);               % we are using integers 0 .. 255
% top left square:
img(1:20, 1:20, 1) = 255;       % set R component to maximum value
img(1:20, 1:20, [2 3]) = 0;     % clear G and B components
% top right square:
img(1:20, 237:256, [1 3]) = 0;  % clear R and B components
img(1:20, 237:256, 2) = 255;    % set G component to its maximum
% bottom left square:
img(237:256, 1:20, [1 2]) = 0;
img(237:256, 1:20, 3) = 255;
% bottom right square:
img(237:256, 237:256, [1 2 3]) = 0;

imshow(img);

希望它可以帮助你理解。