Hello~ 跨年連假結束了,不知道大家這個假期過的好嗎 ^__^
Ok, 今天要講的東西叫做Gamma Correction。 其實這東西對於有在玩攝影的應該不太陌生,通常在拍完照以後要後製就常常會用到它。 至於它的用途,基本上就像本篇封面呈現的那樣,用於將照片整個色彩調暗或調亮。 寫到這邊可能有人會想說,如果只是要把影像調暗或者調亮,那麼最簡單的不就直接把每個 pixel 點的值增加或者減少就搞定了嗎,幹嘛那麼複雜要搞到 Gamma Correction ? 可是你想想看,如果說你直接把每個pixel 點的灰階值調高15好了,那麼原本灰階值落在 241~255 的點不就爆表,當然你可以加個簡單的限制條件讓超過255 的數值被限定在255。這樣做雖然整張圖是變亮了沒錯,但如果這樣原本落在 240~255 的點在被你調整完之後都會變成255,會導致你失去一些原本存在於影像之中的一些細節。如果你還要調的更亮,那麼細節丟失的情況就會更加嚴重! 用 Gamma 的好處就是,因為它是絕對遞增函數,就可以避免上面提到的細節丟失的狀況,如下圖:
看上圖的曲線你可以發現,它在靠近極值[0,255]的兩端它增加或減少的幅度是比較小的,然後在中間的區段調整的幅度是比較明顯的。根據上圖右方數學公式,我們可以把Gamma 具體的執行步驟理解為:
那麼這一部分要實作也是蠻簡單的,基本上一般的電腦視覺函式庫都會有提供這一 func 給你用,如果想自己刻的話,你可以依照我上面提到的步驟執行。C++程式碼可以這樣寫:
Gamma Correction
最後將上面程式實際應用在自然影像的效果如下:
可以看到圖中下方人群較暗的部分整個被調亮了,摩天輪LED的色彩也變得更加明顯,至於其他黑色的天空或燈光過曝的地方基本維持不變。
好吧,今天Gamma Correction 的部分就寫到這邊吧! 謝謝各位看倌們收看,也祝大家在新的一年裡事事順心、平安如意 :")
維基百科關於伽瑪校正的頁面:https://goo.gl/JFJMiv
另外附上兩篇國外別人研究要如何做 Automatic Gamma Correction 的論文給大家參考: https://reurl.cc/a1QQYY
4 評論
長島戀冰茶
8/6/2020 17:35:52
請問一下,最後用 Maximum做還原,為何要Maximum;至於Maximum是最大化什麼?
回覆
Jason Chen
8/6/2020 20:57:35
Hi 長島戀冰茶,
回覆
長島戀冰茶
8/9/2020 00:05:18
噢其實就是Inverse回去就是了,我一直在想Maximum是要最大化什麼,感謝指點
靜誼
11/1/2023 10:59:55
在111年的放射師國考有出這個相關題目,一直想不明白,看了這篇才懂,謝謝您的文章!
回覆
發表回覆。 |
Jason Chen人不光是生來就擁有一切,而是靠他從學習中得到的一切來造就自己。- 歌德 文章分類
全部
封存檔
九月 2023
|