基於暗通道先驗的單幅圖像去霧算法研究(一)

基於暗通道先驗的單幅圖像去霧算法研究(一)

  • 算法框圖
  • 改進之處詳解
  • 代碼實現與仿真結果

算法框圖

這裏寫圖片描述

改進之處詳解

自適應濾波窗口大小

對於最小值濾波窗口的大小採用自適應的方法,應對所有的圖片尺寸。
**實現方法
windowsize=min(h*0.03,w*0.03,35)
其中35爲最高的閾值,35*35濾波窗口對於各種尺寸圖片的濾波結果都相對較好。

自適應大氣光值的求解(天空分割)

大氣光值原始求解方法
(1)對暗通道圖像的像素強度進行排序,對前千分之一的像素點對應的原始圖像區域作爲天空區域,此區域內的像素最大值作爲大氣光值。
(2)直接將暗通道圖像中像素最高的點,對應的原始圖像的點的像素作爲大氣光值。
大氣光值自適應求解方法
首先將圖像分爲天空區域和非天空區域,找到天空區域中像素最大點,得到原始圖像中該點對應的最小值濾波窗口,找出窗口中滿足條件的像素點,選擇最大的點作爲大氣光值,若沒有滿足條件的點,則將窗口中的像素平均值作爲大氣光值。
條件
A=(1-a)max(Idark)+a*max(Irgb)
條件原理
論文
天空區域分割的步驟:
(1)灰度圖像,濾波,canny邊緣檢測,得到包含邊緣信息的二值圖像
(2)對二值圖像進行從上到下掃描,將每一列的第一個等於1的像素點之前的全部爲1,之後的像素點全部置爲0,得到新的二值圖像
(3)求取像素點爲1的區域對應灰度圖區域的像素平均值和最大值,若Imax>0.9*Iavg,則圖像中有天空區域,應用自適應的方法求解大氣光值,否則採用原始方法。

實現方法
Markdown Extra

導向濾波

對透射率進行矯正
實現方法

暗通道先驗失效區域透射率的優化(加入容差值)

原理講解
對大氣光散射模型進行改進,考慮車燈、水面等區域的像素強度接近大氣光,暗通道先驗模型,並不適用,故而加入一個容差值,當像素強度達到容差值K時,將它看作大氣光區域,這樣計算出來的去霧圖像在光亮區域不會有色斑。
容差值K的取值
K=0.7*Idark_avg

代碼實現與仿真結果

實現方法

(1)在自適應大氣光值的部分,並沒有完全按照那個條件求,滿足條件的點,直接用平均值作爲A。用原始方法求解A,得到的結果一樣,下次嘗試求解滿足條件的點,
(2)針對去霧圖像的結果太暗的問題,應用伽馬校正和自動色階,伽馬小於1,但是對於無霧的部分,會有模糊,而且伽馬值的選取。
(3)在求解A的部分加入了最大大氣光值220,作爲限制
(4)在求解粗略透射率時,加入平均大氣光值,得到的透射率圖更好
(5)加入了自動色階,但是得到的圖像的去霧效果並不很好,然後再看一下何博士的論文,同時嘗試用深度學習的方法做。
天空部分有色斑!!!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章