If i have a float, for example 0.568
(float is guaranteed to be 0 -> 1
). Is there a way to convert that to RGB values (in double [1.0, 1.0, 1.0]
or int [255 255 255]
) under the current matlab colour scheme (ie. normal, hot, hsv, etc)?
質問する
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.colors(n) は、カラー関数 (この場合は jet) の範囲にわたる n 個のカラー値の配列を返します。あとは、データを 1:n の範囲にスケーリング/マッピングするだけです。これは、カラー マップを取得/微調整するのに適した方法です。私はいつもそれをしていました。
于 2012-07-25T04:52:21.917 に答える