如果我有一个浮点数,例如0.568
(浮点数保证为0 -> 1
)。有没有办法在当前的matlab颜色方案(即普通,热,hsv等)下将其转换为RGB值(双[1.0, 1.0, 1.0]
或int [255 255 255]
)?
答案 0 :(得分:5)
你可以试试这个:
f = 0.568; % your float
cm = colormap % returns the current color map
colorID = max(1, sum(f > [0:1/length(cm(:,1)):1]));
myColor = cm(colorID, :) % returns your color
f = 0.568
的结果是
myColor =
0.8125 1.0000 0.1875
答案 1 :(得分:1)
看看喷气机的帮助。
jet.colors(n)返回一个n个颜色值的数组,它跨越颜色函数的范围,在这种情况下为jet。现在,您所做的就是将数据扩展/映射到1:n范围。这是获取/调整彩色地图的好方法。我曾经一直这样做。