我不知道如何解决这个问题。我正在尝试找到有关如何自定义色彩映射(不使用色彩映射编辑器)的良好资源,以便在Matlab中设置图像的颜色和边界。我已设法使用色彩映射编辑器,但我想弄清楚如何手动完成。
我正在尝试制作一个介于0到127之间的色彩映射。边界将是:
0到64是黑色(0)到白色(64)
65到127是蓝色(65)到红色(127)
有人可以就如何手动对色彩图进行这些更改给我一些建议吗?一个好的资源也很有用。
感谢。
答案 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
,但在其中一个通道中将其翻转过来。