自定义Matlab的色彩映射

时间:2012-10-17 15:14:52

标签: image matlab manual color-mapping

我不知道如何解决这个问题。我正在尝试找到有关如何自定义色彩映射(不使用色彩映射编辑器)的良好资源,以便在Matlab中设置图像的颜色和边界。我已设法使用色彩映射编辑器,但我想弄清楚如何手动完成。

我正在尝试制作一个介于0到127之间的色彩映射。边界将是:

0到64是黑色(0)到白色(64)

65到127是蓝色(65)到红色(127)

有人可以就如何手动对色彩图进行这些更改给我一些建议吗?一个好的资源也很有用。

感谢。

1 个答案:

答案 0 :(得分:2)

我建议使用linspace。它可以帮助您在某个范围内创建统一的数字分布。

 blackToWhite = repmat(linspace(0,1,66),3,1)' ; 
 l1 = linspace(0,1,127-65+1);
 blueToRed = [flipud(l1(:)) zeros(size(l1(:))) l1(:) ];

 cmap = [blackToWhite; blueToRed];

我们的想法是将[1 0 0]插入[0 0 1];每个颜色通道,红绿色和蓝色都是自己插入的。

     Red -> 1 ... 0
     Green -> 0 ... 0
     Blue ->  0 ... 1

所以我为红色和蓝色通道生成了l1,但在其中一个通道中将其翻转过来。