例如,如果我有一个浮点数0.568
(浮点数保证是0 -> 1
)。在当前的 matlab 配色方案(即正常、热、hsv 等)下,有没有办法将其转换为 RGB 值(以 double[1.0, 1.0, 1.0]
或 int形式)?[255 255 255]
问问题
7263 次
2 回答
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
于 2012-07-25T06:21:38.363 回答
1
查看 jet 的帮助。
jet.colors(n) 返回一个包含 n 个颜色值的数组,该数组跨越颜色函数的范围,在本例中为 jet。现在您所做的就是将您的数据缩放/映射到该 1:n 范围。这是获取/调整颜色贴图的好方法。我以前一直这样做。
于 2012-07-25T04:52:21.917 回答