我有一个2D图像,我想用颜色(R,G,B)来显示它。为此,我将2D图像扩展到3D,其中每个像素保持颜色值。现在我已经阅读了热色图:
temp = figure(1);
clf;
colormap hot;
axis('image');
colorbar;
hot_cmap = colormap;
close(temp);
所以hot_cmap现在是一个矩阵64x3,每行包含一种颜色。
为了使颜色更加可辨,我在开始和结束时切割hot_cmap(黑白)并在其间切割一些行,这样我最终得到一个20x3的矩阵。然后,我将2D矩阵的每个条目映射到我的新颜色矩阵的一行,以选择该颜色。
此外,我还想显示一个颜色条。我怎么能用我的新色彩矩阵做到这一点?我的新颜色矩阵的第一行应该是颜色栏中的最低值,值为0,最后一行的最高值为2.
其次,我想要一个具有20种最具辨别色彩的色彩矩阵。这样的事情存在吗?当然,我可以自己创建每个颜色值,但这很麻烦。