2011-12-07 171 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像素到HLS,通過你的sat輸入縮放S,再轉換回RGB。僞代碼中,假設所有顏色分量的範圍是0.0到1.0:

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 

如果需要RGB/HLS轉換函數,here they are

+0

如果您找不到HLS的轉換,您還可以使用HSV或HSI –

相關問題