0

我想在 MATLAB 中绘制大小为 200*200 像素的彩色图像,类型为 RGB,中间为绿色正方形,即 76 行和 125 列。

在此处输入图像描述

然后我想在同一图像的角落绘制 20*20 像素正方形的红色、绿色、蓝色和黑色。我不知道如何在 MATLAB 中执行或绘制颜色框 (RGB)。

在此处输入图像描述

我已经用二进制完成了,如下图所示:在此处输入图像描述

4

1 回答 1

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);

希望它可以帮助您了解这个想法。

于 2013-10-06T22:10:44.100 回答