2011-12-07 10 views
3

私は飽和のための機能的な形を見つけようとしていましたが、何も見つかりませんでした。それは難しいことではありませんが、私の推測はすべて正しく見えません(彩度低下への方向性はもっと簡単です)。画像の彩度

私はRGB形式の画像のピクセルデータを持っています。最終的な画像もRGB形式でなければなりません。だから、どのようにこれらの関数が定義されています:

r_n = saturation_r(r,g,b,sat); 
g_n = saturation_g(r,g,b,sat); 
b_n = saturation_b(r,g,b,sat); 
+0

'sat'引数は何を意味しますか?あなたはRGBカラーを入力として受け取り、彩度を 'sat'に変更して同じ色を出力していますか?あなたは、RGBをHSLに変換する関数を探していますか?それを行う方法はすでに分かっていますか? HSVやHSLの変換に関するウィキペディアのエントリがあります。 –

答えて

2

はその後戻ってRGBに変換し、あなたのsat入力でSをスケーリング、HLSにRGBピクセルに変換します。擬似コードは、全ての色成分が範囲内に0.0〜1.0であると仮定すると:あなたはRGB/HLS変換関数、here they areが必要な場合

rgb_to_hls(r, g, b, h, l, s); 
s = s * sat 
hls_to_rgb(h, l, s, r, g, b); 
return r, g, b 

+0

HLSへの変換が見つからない場合は、HSVまたはHSIを使用することもできます –