4

我有一个矩阵 N*N,具有三个不同的值,例如 0、0.5、1。如何将图像打印到屏幕上,每个值代表不同的颜色?重要提示:矩阵是一个循环,因此值可能会改变(我想每次迭代都打印矩阵)。

我尝试使用颜色图,如果所有三个值都在矩阵中,它可以正常工作,但是当只保留一个或两个值时,颜色会改变。

我希望它如何工作:值为 0、0.5、1 的矩阵在屏幕上打印一个矩阵,其中每个单元格包含 0 个黑色、0.5 个绿色、1 个黄色。

非常感谢!

4

2 回答 2

5

只需创建您自己的只有三个可能值的颜色图:

a = [1 0.5 0;1 .5 0;0.5 0 1];
b = [1 0 1;1 1 0;0 0 1];
cmap = [0,0,0;0,1,0;1,1,0];
clims = [0 1];
imagesc(a,clims); colormap(cmap);
imagesc(b,clims); colormap(cmap);

一个给出:

一个

b 给出:

在此处输入图像描述

于 2013-01-24T21:44:06.660 回答
0

我可能会尝试 imagsec。或任何其他颜色缩放。从灰度开始。RGB 会稍微复杂一些

于 2013-01-24T21:46:21.350 回答