2011-01-30 18 views
1

我正在看GIMP的曲線工具,並想知道這個偉大的工具背後的過程。我抓住GIMP的源代碼,並試圖理解它。但是,我認識到,沒有適當的知識,這是相當困難的。編程GIMP的曲線工具

這不是一個簡單的亮度/對比度調整。所以我需要一些關於曲線工具的理論和實現細節的幫助。它被稱爲「曲線工具」,但圖像處理明智,它有一個替代名稱? (所以我可以谷歌)

我所關心的是,在給定所有必需的值之後,工具是如何工作的。換句話說,它如何改變圖像的直方圖。我想知道這種工具的實現細節。

回答

3

將直方圖看作沿着圖形水平軸的一組「分檔」。 「曲線」爲每個分箱定義一個乘數。從左下角開始並延伸到右上角的直線定義乘數爲1.0。對於每個分箱,計算該直線與實際曲線位置之間的百分比偏差,並將該分箱中的值乘以該值。

+0

因此,在我們完成所有您說過的事情後,我們現在簡單地調整每個垃圾箱的像素,對嗎? – Karl 2011-01-30 12:56:35

3

曲線工具全部關於映射圖像中每個像素中R,G和B(以及alpha)通道的值(強度)。 X軸是[0,255]中通道的輸入強度,Y軸是[0,255]中的輸出強度。例如,亮度(從Y軸上的任意位置到左上角到右上角的直線),對比度(「形狀」圖形),gamma(a功率函數,例如x^gamma)或顏色平衡(從左下角到y軸= 255或軸x = 255的任何位置的直線)。

然後,您定義的函數將應用於每個像素的R,G和B(以及alpha)通道。 直方圖只是應用您定義的曲線之前圖像中顏色分佈的彙總。