如果我有一个浮点数,例如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

10-06 11:45