1

データを RGB 値にマップすると想定されるコードを作成しようとしていますが、使用しようとしているビジュアライゼーションのタイプの 1 つは発散カラー マップです。

色を適用する最善の方法が何であるかは正確にはわかりません。私が使用している現在のアルゴリズムは次のとおりです。 //F はチェックされるデータ ポイントです。

if(F <= .5){
    RGB[0] = F*510;
    RGB[1] = F*510;
    RGB[2] = F*254 + 128;
}else{
    RGB[0] = 255 - (F-.5)*254;
    RGB[1] = 255 - (F-.5)*510;
    RGB[2] = 255 - (F-.5)*510;  
}

曲線の重要なポイントは次のとおりです。

      F=0: (0,0,128) 
      F=0.5: (255,255,255) 
      F=1: (128, 0, 0)

これの代わりに使用するための提案されたアルゴリズムはありますか、それともピースワイズ関数を一緒にハッキングしても問題ありませんか? これは、この現在のアルゴリズムによって生成された画像です。 カラーカーブ: ダイバージェント

4

2 に答える 2

1

線形データで遷移の「速度」を確認しやすいので、バーを使用して関数をテストする必要があると思います。

発散カラー マップを使用するための非常に優れた記事を次に示します: http://www.sandia.gov/~kmorel/documents/ColorMaps/

その背後にある数学について説明します。このような単純な作業のために Lab や MSH のカラー スペースを使用するのはやり過ぎのように思えますが、高品質のカラー マップが必要な場合は、それだけの価値があります。

それ以外は、関数の「手動」実装については知りません(つまり、matlab または R から既に複雑な関数を使用していない)

于 2013-10-17T11:57:23.097 に答える