Day 8 圖片效果 | 影像對比度計算
Day8圖片效果-對比度對比度今天介紹一下修照片時常用的功能,對比度調整。對比度可以想像成圖片中亮部與暗部的差距,當對比度越高時,畫面中亮暗差距就越明顯,如果用直方圖來想像的話,可以想像成當調整對比度變高時,直方圖的像素應該會往左右兩側擴散,也就是已經黑的越黑,白的越白。而是調低的話,則直方圖應該會往中間集中。算法接下來看看演算法的部分吧,主要參考這裡[1]的實現,下面是我的一些理解。首先先看算法的這個部分newRedColor=Factor*(oldRedColor-128)+128其中的128,可以想像成是暗部與亮部的分界線。對比度調高...
Day 8 圖片效果 - 對比度 對比度今天介紹一下修照片時常用的功能,對比度調整。
對比度可以想像成圖片中亮部與暗部的差距,當對比度越高時,畫面中亮暗差距就越明顯,如果用直方圖來想像的話,可以想像成當調整對比度變高時,直方圖的像素應該會往左右兩側擴散,也就是已經黑的越黑,白的越白。而是調低的話,則直方圖應該會往中間集中。
算法接下來看看演算法的部分吧,主要參考 這裡[1] 的實現,下面是我的一些理解。
首先先看算法的這個部分
newRedColor = Factor * (oldRedColor -128) + 128其中的 128,可以想像成是暗部與亮部的分界線。對比度調高時,代表亮部越亮,暗部越暗,而在這邊我們以 128 當做這個闕值。直接帶個值進去看看吧
假設今天這個值為 160 ( 也就是會被判定為亮部 ),當對比度增加時 ( 也就是 Factor > 1 ),最後算出來的值會比原本的還大,也就是亮部越亮,反之亦然。
也有看到其他算法的實現是先算出整張照片的平均亮度,然後以那個亮度當做闕值,當然效能上就會有差距。而以 128 則是直接對半切的方法,但通常來說如果是一張正常曝光的照片,這兩者差距應該不會差距太大。
所以接下來要控制變強跟變弱的幅度,就是靠控制 Factor 這個係數。
Factor = 259( C + 255 ) / 255 ( 259 - C )在這個算法中,C 代表調整強度,範圍介於 -255 ~ 255。
當等於 0 時, Factor 為 1,套入上面算法部分沒問題,顏色不改變。
當等於 -255 時, Factor 為 0,套入上面算法,所有值都將成為 128,也就是全部都變成灰色。
當等於 255 時, Factor 為 129.5,套入上面算法,當原值為 64 時,結果為 -8160,原值為 196 時, 結果為 8934
透過更改 259 及 255 這兩個值,可以改變增加幅度,這個就看個人需求。如果覺得在調整...