色階與曲線調整
一、圖片
〝臺北101〞
〝龜山島〞
〝日出〞
〝玉山〞
1. 色階調整
依不同的輸入上、下界與輸出上、下界,秀出調整後影像。
*隨便試...
〝臺北101〞
〝臺北101〞
※變亮!
〝龜山島〞
〝日出〞
※變暗!
〝龜山島〞
〝日出〞
2. 曲線調整
依不同的曲線(限定通過點),秀出曲線與調整後影像。
※曲線開口向下
〝玉山〞
※曲線開口向上
〝玉山〞
二、心得
「色階調整」
這部分比較沒問題,純帶公式。小小要注意的是,輸入值若超出輸入下界須歸 0 ,
如果超出輸入上界則設為 2 5 5 。起初寫完程式之後,我就開始沒有系統的亂測,
輸入上、下界和輸出上、下界一起亂調,調整後影像幾乎都變得灰灰的,不清楚;
後來開始有規劃的測試,即一次只限制一個地方的上界或下界,結果有大發現!
實驗結果為,「輸入上界 下調」或者「輸出下界 上調」,會變亮;
「輸入下界 上調」或者「輸出上界 下調」,會變暗。
後來想想,這是可推論的結果,用白色( 2 5 5 , 2 5 5 , 2 5 5 )去想的話,
當色彩值統一變大,自然會變亮;反之黑色( 0 , 0 , 0 ),色彩值變小,則變暗。
起始灰灰的結果亦是如此,只要RGB三個值一樣就會是灰色,只是光暗程度不同,
一開始同時調整輸入與輸出的上界和下界,若上下界之差距越小,
色彩RGB自然會往同一區域集中,則RGB三者數值就會越相近,顏色也就變灰了。
「曲線調整」
這部分一開始我就卡了一下,因為我對曲線怎麼畫的腦袋空空,經過老師指點,
我決定一樣用 I m a g e 實現,我算出每個 x 對應的 y ,依 y 值先畫出我的曲線,
我選了一個很笨但是很好想的辦法,就是塗顏色!雖然塗顏色的判斷式很簡單,
但是我還是卡了一陣子,在畫出一堆不規則的圖案和各種 M e m o debug 之後,
我終於想出我的判斷式了,一個點一個點塗滿後,曲線就出來囉!
最後調整後的影像其實就只是把每個點的色彩值帶進去公式裡的 x 算答案而已,
最後算出來的答案一樣要檢查是否在0~255之內,若沒有,則自行調整一下即可!
調整後影像的實驗結果如上圖片區。
沒有留言:
張貼留言