从像素矩阵绘制图片
Drawing picture from pixels matrix
我想从包含颜色值的矩阵中绘制图像。它看起来像这样:
TEMP = zeros(100,100);
for i=1:100
for j=1:100
if (...)
TEMP(i,j)=0;
elseif (...)
TEMP(i,j)=56;
elseif (...)
TEMP(i,j)=32;
end
end
end
image(TEMP)
但它只使用这种颜色绘制:
这些颜色的值从 0 到 66,步长=2
如何使用矩阵绘制 RGB 颜色?特别是我需要灰色
将您的 colormap
更改为 gray
以获得 BNW 图像:
TEMP = rand(100)*255;
image(TEMP)
colormap gray
如果颜色反转,请使用 image(-TEMP)
。
二维数组不能自己定义颜色,需要关联一个颜色图。您的默认颜色图是 jet
(从蓝色到红色),例如您可以将其更改为 gray
,但是对于这种显示,您将始终只使用颜色的子集。
如果您想使用任何 RGB 颜色,那么您需要一个 RGB 数组,即一个 n×m×3 维数组。子数组 A(:,:,1)
将编码红色,A(:,:,2)
编码绿色,A(:,:,3)
编码蓝色。对于这种数组,命令::
image(A);
应该给你一个真正的 RGB 显示。
我想从包含颜色值的矩阵中绘制图像。它看起来像这样:
TEMP = zeros(100,100);
for i=1:100
for j=1:100
if (...)
TEMP(i,j)=0;
elseif (...)
TEMP(i,j)=56;
elseif (...)
TEMP(i,j)=32;
end
end
end
image(TEMP)
但它只使用这种颜色绘制:
这些颜色的值从 0 到 66,步长=2
如何使用矩阵绘制 RGB 颜色?特别是我需要灰色
将您的 colormap
更改为 gray
以获得 BNW 图像:
TEMP = rand(100)*255;
image(TEMP)
colormap gray
如果颜色反转,请使用 image(-TEMP)
。
二维数组不能自己定义颜色,需要关联一个颜色图。您的默认颜色图是 jet
(从蓝色到红色),例如您可以将其更改为 gray
,但是对于这种显示,您将始终只使用颜色的子集。
如果您想使用任何 RGB 颜色,那么您需要一个 RGB 数组,即一个 n×m×3 维数组。子数组 A(:,:,1)
将编码红色,A(:,:,2)
编码绿色,A(:,:,3)
编码蓝色。对于这种数组,命令::
image(A);
应该给你一个真正的 RGB 显示。