如果我有一个浮点数,例如0.568
(保证浮点数是0 -> 1
)。有没有一种方法可以在当前的matlab配色方案(即normal,hot,hsv等)下将其转换为RGB值(双[1.0, 1.0, 1.0]
或int [255 255 255]
)?
最佳答案
您可以尝试以下方法:
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