从像素矩阵绘制图片

时间:2015-12-08 19:17:10

标签: matlab matrix plot draw

我想从包含颜色值的矩阵中绘制图像。它看起来像这样:

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)

但它只使用这种颜色:

enter image description here

这些颜色的值介于0到66之间,步长= 2

如何使用矩阵绘制RGB颜色?特别是我需要灰色

2 个答案:

答案 0 :(得分:2)

将您的colormap更改为gray以获取BNW图片:

TEMP = rand(100)*255;
image(TEMP)
colormap gray

如果颜色反转,请使用image(-TEMP)

答案 1 :(得分:2)

2D数组本身无法定义颜色,需要将颜色图与其关联。您的默认色图是req.session(从蓝色到红色),您可以将其更改为jet,但是使用这种显示,如果颜色,您将始终只使用一个子集。

如果你想使用任何RGB颜色,那么你需要一个RGB数组,一个尺寸为n×m×3的数组。子数组gray将编码为红色,A(:,:,1)表示绿色,A(:,:,2)表示蓝色。使用这种数组命令::

A(:,:,3)

应该给你一个真正的RGB显示。