使用matlab颜色方案将float转换为RGB

时间:2012-07-25 04:38:40

标签: matlab colors

如果我有一个浮点数,例如0.568(浮点数保证为0 -> 1)。有没有办法在当前的matlab颜色方案(即普通,热,hsv等)下将其转换为RGB值(双[1.0, 1.0, 1.0]或int [255 255 255])?

2 个答案:

答案 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范围。这是获取/调整彩色地图的好方法。我曾经一直这样做。