5

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)?

4

2 に答える 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 に答える