本發(fā)明涉及數(shù)字圖像處理和計(jì)算機(jī)視覺(jué)領(lǐng)域,尤其是一種基于暗通道先驗(yàn)和邊緣信息的圖像去霧方法。
背景技術(shù):
眾所周知,數(shù)字圖像技術(shù)已經(jīng)在安防監(jiān)控、交通、氣象、測(cè)繪等領(lǐng)域得到廣泛應(yīng)用。然而,在戶(hù)外采集圖像的過(guò)程中,圖像的質(zhì)量往往受到自然環(huán)境的影響。霧在我國(guó)是一種常見(jiàn)的天氣,在霧天情況下,大氣中存在著一些渾濁的介質(zhì)(水蒸氣、粉塵顆粒等),由于不同的介質(zhì)所對(duì)應(yīng)的光學(xué)特性不同,光通過(guò)這些介質(zhì)進(jìn)行傳輸?shù)倪^(guò)程中被部分吸收及散射,使得圖像采集設(shè)備所接收到的光發(fā)生了變化,導(dǎo)致圖像清晰度下降,低對(duì)比度,模糊不清,場(chǎng)景特征無(wú)法提取等現(xiàn)象。這些缺陷嚴(yán)重限制和影響室外視覺(jué)采集系統(tǒng)的使用,導(dǎo)致系統(tǒng)無(wú)法準(zhǔn)確提取圖像特征。因此,有必要對(duì)霧天圖像進(jìn)行清晰化處理,使戶(hù)外視覺(jué)采集系統(tǒng)能夠在霧天條件下更好地發(fā)揮作用。
目前圖像去霧算法主要分為兩類(lèi):基于物理模型的方法和基于圖像增強(qiáng)的方法。基于圖像增強(qiáng)的方法是從圖像的特征出發(fā),通過(guò)使用圖像增強(qiáng)方法對(duì)降質(zhì)圖像的對(duì)比度、顏色以及亮度進(jìn)行處理來(lái)達(dá)到去霧的目標(biāo)。這類(lèi)方法的缺陷是沒(méi)有考慮到霧天圖像退化的原因,去霧不徹底。而基于物理模型的方法是從霧天降質(zhì)圖像的退化原因出發(fā),建立物理模型,建立退化模型,反演退化過(guò)程,并對(duì)退化過(guò)程中引起的失真進(jìn)行校正補(bǔ)償,得到去霧后的圖像,屬于圖像復(fù)原范疇?;趫D像復(fù)原的方法中最具有代表性的是kaiminghe提出的基于暗原色先驗(yàn)的去霧方法,獲得了較好的去霧效果,引起了廣泛的關(guān)注。但是該方法存在執(zhí)行效率低,天空區(qū)域易出現(xiàn)彩色失真,邊緣區(qū)域易產(chǎn)生光暈等問(wèn)題。近年來(lái),針對(duì)暗原色先驗(yàn)方法的不足,許多研究者提出了改進(jìn)的方法。對(duì)于執(zhí)行效率低的問(wèn)題,可采用導(dǎo)向?yàn)V波替換原方法中的軟摳圖方法來(lái)細(xì)化透射率圖,但是導(dǎo)向?yàn)V波在保持邊緣的同時(shí)也會(huì)平滑圖像,對(duì)邊緣的保持性未達(dá)到最佳。對(duì)于天空區(qū)域易出現(xiàn)彩色失真的問(wèn)題,采用簡(jiǎn)單的容差機(jī)制來(lái)修正透射率圖,可有效的避免天空顏色失真的現(xiàn)象。對(duì)于邊緣區(qū)域易產(chǎn)生光暈的問(wèn)題,目前還未得到很好的解決。
基于此,本發(fā)明提供了一種基于暗通道先驗(yàn)和邊緣信息的圖像去霧方法,利用基于分塊的技術(shù)來(lái)盡可能快速并準(zhǔn)確的得到大氣光的估計(jì)值,同時(shí)可避免原圖像中白色噪聲對(duì)大氣光估計(jì)值的影響,在求取粗略透射率圖時(shí),首先對(duì)原始圖像進(jìn)行邊緣檢測(cè)并膨脹提取到邊緣信息,然后根據(jù)邊緣信息圖自適應(yīng)選擇窗口大小,進(jìn)而采用梯度域的導(dǎo)向?yàn)V波細(xì)化透射率圖,可使其邊緣保持更佳,有效的解決了邊緣區(qū)域的光暈問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種基于暗通道先驗(yàn)和邊緣信息的圖像去霧方法,解決了現(xiàn)有圖像去霧方法中未能徹底解決的邊緣區(qū)域產(chǎn)生光暈的問(wèn)題。
為了解決上述問(wèn)題,本發(fā)明的技術(shù)解決方案為:基于暗通道先驗(yàn)和邊緣信息的圖像去霧方法,其特征在于,主要包括如下步驟:
(1)采集霧天降質(zhì)圖像;
(2)利用基于分塊處理的技術(shù)估計(jì)大氣光的值;
(3)對(duì)霧天降質(zhì)圖像采用sobel算子進(jìn)行邊緣檢測(cè)并進(jìn)行膨脹操作提取原始圖像的邊緣信息圖;
(4)根據(jù)步驟(3)得到的二值圖自適應(yīng)選擇窗口大小得到粗略透射率圖;
(5)采用梯度域的導(dǎo)向?yàn)V波細(xì)化透射率圖;
(6)對(duì)步驟(5)得到的透射率圖進(jìn)行修正操作;
(7)利用霧天降質(zhì)模型,代入原始霧天降質(zhì)圖像,以及步驟(2)得到的大氣光值和步驟(6)得到的修正后的透射率圖,復(fù)原無(wú)霧圖像。
其中,步驟(2)中所述的基于分塊處理的技術(shù)估計(jì)大氣光值的具體過(guò)程為:首先將原始霧天降質(zhì)圖像進(jìn)行四等劃分,求各子塊的得分值,然后對(duì)各個(gè)子塊的得分值進(jìn)行比較,選擇最大的得分值進(jìn)一步四等劃分,直到選中的子塊小于等于預(yù)先設(shè)定的閾值時(shí)停止劃分,最后對(duì)選中的子塊進(jìn)行灰度腐蝕來(lái)消除可能存在影響大氣光值的白色噪點(diǎn),對(duì)灰度腐蝕后的子塊中的像素值進(jìn)行排序,取前10%個(gè)像素點(diǎn),找到這些像素點(diǎn)在原圖的位置,求其與(255,255,255)最接近的像素點(diǎn),該點(diǎn)處的像素值便為大氣光a的值。
其中,步驟(3)中得到的邊緣信息圖的具體過(guò)程為:首先將原始圖像轉(zhuǎn)換為灰度圖,然后對(duì)灰度圖像利用sobel算子進(jìn)行邊緣檢測(cè)得到二值圖像,最后進(jìn)行膨脹操作得到原始圖像的二值邊緣信息圖。
其中,步驟(4)中得到粗略透射率圖的具體過(guò)程為:根據(jù)步驟(3)提取到的邊緣信息圖,對(duì)邊緣區(qū)域采用3*3大小的窗口,在非邊緣區(qū)域采用15*15大小的窗口進(jìn)行最小值濾波運(yùn)算,可得到粗略透射率圖。
其中,步驟(5)中采用梯度域的導(dǎo)向?yàn)V波來(lái)細(xì)化透射率圖是因?yàn)樘荻扔虻膶?dǎo)向?yàn)V波包含了邊緣感知算子,在平滑圖像的同時(shí)可以更好的保持邊緣,此外該濾波方法具有和導(dǎo)向?yàn)V波一樣的執(zhí)行效率。
其中,步驟(6)中修正透射率圖的具體過(guò)程為:由于原始霧天圖像中的明亮區(qū)域不滿足暗通道先驗(yàn)條件,此時(shí)求得的透射率不準(zhǔn)確,因此要對(duì)細(xì)化后的透射率圖進(jìn)行修正操作,可用如下式子表示:
其中,
與現(xiàn)有的圖像去霧方法相比,本發(fā)明的優(yōu)點(diǎn)在于:
(1)本發(fā)明在估計(jì)大氣光時(shí)采用了基于分塊技術(shù)處理,對(duì)圖像四等劃分,求每個(gè)子塊的得分值,得分值考慮到了子塊內(nèi)部的像素均值以及標(biāo)準(zhǔn)差等因素,對(duì)得分值最大的子塊再進(jìn)一步四等劃分,直到最終選中的子塊小于預(yù)先設(shè)定的閾值時(shí)停止,此外對(duì)最終選中的子塊進(jìn)行灰度腐蝕處理,將子塊內(nèi)部有可能影響大氣光估計(jì)的白色噪點(diǎn)消除,最后對(duì)灰度腐蝕處理后的子塊取前10%個(gè)像素點(diǎn),找到這些像素點(diǎn)在原圖的位置,求其與(255,255,255)最接近的像素點(diǎn),該點(diǎn)處的像素值便為大氣光a的值,能夠快速并準(zhǔn)確的獲得大氣光的估計(jì)值,同時(shí)也消除了白色噪點(diǎn)對(duì)大氣光估計(jì)值的影響;
(2)本發(fā)明在求取透射率圖時(shí),首先提取原始圖像的邊緣信息圖,然后根據(jù)邊緣信息圖像自適應(yīng)的選擇窗口大小,然后采用梯度域的導(dǎo)向?yàn)V波進(jìn)行細(xì)化操作,可避免邊緣區(qū)域出現(xiàn)的光暈現(xiàn)象,且邊緣區(qū)域的細(xì)節(jié)信息保持較好。
附圖說(shuō)明
圖1:為本發(fā)明的流程框架示意圖;
圖2:為基于分塊技術(shù)估計(jì)大氣光的流程示意圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例進(jìn)一步對(duì)本發(fā)明進(jìn)行詳細(xì)的說(shuō)明。
如圖1所示,本發(fā)明是一種基于暗通道先驗(yàn)和邊緣信息的圖像去霧方法,其特征在于,主要包括如下步驟:
(1)采集霧天降質(zhì)圖像;
(2)利用基于分塊處理的技術(shù)估計(jì)大氣光的值;
(3)對(duì)霧天降質(zhì)圖像的灰度圖采用sobel算子進(jìn)行邊緣檢測(cè)并進(jìn)行膨脹操作提取原始圖像的邊緣信息圖;
(4)根據(jù)步驟(3)得到的二值圖自適應(yīng)選擇窗口大小得到粗略透射率圖;
(5)采用梯度域的導(dǎo)向?yàn)V波細(xì)化透射率圖;
(6)對(duì)步驟(5)得到的透射率圖進(jìn)行修正操作;
(7)利用霧天降質(zhì)模型,代入原始霧天降質(zhì)圖像,以及步驟(2)得到的大氣光值和步驟(6)得到的修正后的透射率圖,復(fù)原無(wú)霧圖像。
所述的步驟(2)中估計(jì)大氣光值的具體步驟如圖2所示,首先將原始霧天圖像進(jìn)行四等劃分,每個(gè)子塊記為b1、b2、b3和b4,然后計(jì)算每個(gè)子塊的得分值,其中得分的計(jì)算方法考慮到了子塊內(nèi)部的像素均值和標(biāo)準(zhǔn)差,可用如下式子表示:
其中,
其中,
所述的步驟(3)中,首先將原始的霧天降質(zhì)圖像轉(zhuǎn)換為灰度圖,然后采用sobel算子對(duì)其進(jìn)行邊緣檢測(cè),再進(jìn)行膨脹處理可以得到邊緣與邊緣臨近區(qū)域相關(guān)的二值化圖像,即原始霧天降質(zhì)圖像的邊緣信息圖。
所述的步驟(4)中,根據(jù)得到的邊緣信息圖,在求取粗略透射率圖時(shí),對(duì)邊緣及其臨近區(qū)域采用3*3的窗口大小,對(duì)非邊緣區(qū)域采用15*15的窗口大小,這樣可使邊緣區(qū)域的粗略透射率更為準(zhǔn)確。
所述的步驟(5)中,采用梯度域的導(dǎo)向?yàn)V波來(lái)細(xì)化透射率圖是因?yàn)樘荻扔虻膶?dǎo)向?yàn)V波包含了邊緣感知算子,在平滑圖像的同時(shí)可以更好的保持邊緣,此外該濾波方法具有和導(dǎo)向?yàn)V波一樣的執(zhí)行效率。
所述的步驟(6)中,由于原始霧天圖像中的明亮區(qū)域不滿足暗通道先驗(yàn)條件,此時(shí)求得的透射率不準(zhǔn)確,此外暗通道先驗(yàn)方法求得透射率比真實(shí)的透射率偏小,因此要對(duì)細(xì)化后的透射率圖進(jìn)行修正操作,可用如下式子表示:
其中,
所述的步驟(7)中,利用霧天降質(zhì)模型
以往方法在估計(jì)大氣光時(shí)通常選擇某個(gè)像素值作為大氣光的估計(jì)值,這樣很容易受到原始圖像中白色噪點(diǎn)的影響,導(dǎo)致最終復(fù)原的圖像出現(xiàn)偏色等現(xiàn)象。雖然本發(fā)明中也是選擇圖像中某個(gè)像素值作為大氣光的估計(jì)值,但是在選擇前,本發(fā)明做了若干處理,在得到備選區(qū)域后,首先對(duì)其進(jìn)行暗通道灰度腐蝕操作來(lái)消除可能存在的白色噪點(diǎn),然后在灰度腐蝕后的備選區(qū)域中選擇前10%個(gè)像素點(diǎn),找到這些像素點(diǎn)在原始圖像中對(duì)應(yīng)的位置,求其中與(255,255,255)距離最接近的像素點(diǎn),選擇該點(diǎn)的像素值作為大氣光的估計(jì)值。
傳統(tǒng)暗通道先驗(yàn)去霧方法在求取粗略透射率圖時(shí),通常選擇固定尺寸的窗口大小來(lái)進(jìn)行最小值濾波操作,這樣會(huì)導(dǎo)致在邊緣區(qū)域求得的透射率不準(zhǔn)確,這是因?yàn)檫吘墔^(qū)域所在的局部窗口中可能會(huì)受到某個(gè)像素點(diǎn)的連累而導(dǎo)致最終復(fù)原的圖像在邊緣區(qū)域產(chǎn)生光暈現(xiàn)象。本發(fā)明在求取粗略透射率圖時(shí),將邊緣區(qū)域和非邊緣區(qū)域分別處理,自適應(yīng)選擇窗口大小,在邊緣區(qū)域縮小局部窗口的尺寸,盡可能求得準(zhǔn)確的透射率值,而在非邊緣區(qū)域采用較大的尺寸,這樣可使求得的透射率圖在邊緣處更為準(zhǔn)確,有效的避免復(fù)原圖像中邊緣區(qū)域出現(xiàn)光暈的現(xiàn)象。