一切都源於今天一早,隨手照的一張照片:
然後腦洞大開,想用代碼來改善這張照片:
先將圖片用OpenCV載入進去:
先看看直接用Adaptive Histogram Equalization處理之後的結果:
Adaptive Histogram Equalization處理後噪點很多,而且天空的顏色也改變了,不好看了。。。
為了不改變天空原有的質感,我先用Otsu演算法來分割出陰暗部分,得到一個遮罩(mask):
然後通過這個遮罩,分離開天空和陰暗的部分:
接下來用把三個顏色通道(RGB)分離開,分別用高斯filter過濾(是個下策:模糊圖片,實現降噪效果);然後再分別用Adaptive Histogram Equalization處理;最後再降一次噪:
Finally,將天空和處理過的前景圖合成(簡單的加法運算):
當然和真正的HDR沒法比,但畢竟方法簡單,僅供娛樂:)
TAG:OpenCV | Python | HDR |