纯c语言实现的改进暗通道去雾算法测试程序(附赠大量测试图像),基于改进暗通道先验算法的图像去雾...
邱清輝
摘要:針對普通暗通道先驗(yàn)算法去霧能力的不足,本文提出了一種改進(jìn)算法,通過采用高斯平滑將原圖像分為基礎(chǔ)子圖和細(xì)節(jié)子圖,基礎(chǔ)子圖采用暗通道先驗(yàn)算法,細(xì)節(jié)子圖采用gamma變換方法,再采用圖像融合進(jìn)行融合,結(jié)果顯示改進(jìn)的算法,使得去霧后圖像顏色效果更好,細(xì)節(jié)信息更多,能夠滿足工程上應(yīng)用要求,具有很好的應(yīng)用價(jià)值。
關(guān)鍵詞:暗通道先驗(yàn); 圖像去霧;直方圖
中圖分類號:TP18? ? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)16-0196-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
隨著視頻、圖像采集越來越多,尤其在戶外中,受天氣中霧、靄以及沙塵等影響,采集拍攝的圖像往往具有較多的失真,這無論是對拍攝的美感,還是對工程技術(shù)領(lǐng)域中目標(biāo)的探測和識別都有很大影響。若能在戶外不良天氣下拍攝的失真圖像中,采用相應(yīng)算法最大限度無失真的恢復(fù)出原始的圖片具有很大的意義[1][2][3][4]。
圖像去霧的方法主要分為三大類別:(1)基于統(tǒng)計(jì)的圖像增強(qiáng)算法包括直方圖增強(qiáng)以及后續(xù)改進(jìn)的限制對比度直方圖增強(qiáng)等各種算法,這種算法簡單有效,但是有可能造成圖像細(xì)節(jié)的丟失,且對于濃霧天氣算法會失效。(2)基于反射理論的圖像去霧方法,主要是Retinex理論,這種算法往往會造成顏色的失真。(3)基于大氣模型的方法,代表算法是HE的暗通道先驗(yàn)法,但是該方法仍然會造成一些細(xì)節(jié)的丟失。針對這個(gè)問題,本文采用高斯模糊的方法將原圖分成高頻分量和低頻分量,采用暗通道先驗(yàn)證的算法增強(qiáng)低頻分量再進(jìn)行重構(gòu),從而保存了圖像的細(xì)節(jié)信息。
1 暗通道先驗(yàn)算法
為了能夠從大氣傳輸退化的圖像中恢復(fù)出原始的圖像,He等在文獻(xiàn)中給出了暗原色先驗(yàn)的方法,是通過對大量戶外無霧圖像的統(tǒng)計(jì)分析提出來的。He指出暗到通先驗(yàn)規(guī)律:在無霧戶外采集圖像中,其每個(gè)局部區(qū)域都極有可能存在陰影,每個(gè)局部區(qū)域至少會有一個(gè)顏色通道在某些像素上具有很低的灰度值,并且趨近于0。對于戶外圖像J,其模型為:
其中分母的[to]設(shè)置為0.5,用于防止t(x)的數(shù)值過小。對于環(huán)境光A的估計(jì)是取[Jdark]中前0.1非天空區(qū)域亮度最大的像素對應(yīng)的原圖中亮度值的平均值。
2 改進(jìn)的算法
HE提出的暗道通先驗(yàn)算法原理相對簡單,相對霧氣較薄時(shí)可以產(chǎn)生良好的去霧效果,但是若針對霧靄較濃時(shí),其效果就表現(xiàn)一般,需要提高圖像的細(xì)節(jié)化處理,在此,可以對圖像進(jìn)行高頻和低頻分離處理,低頻信息進(jìn)一步直方圖增強(qiáng),高頻信息進(jìn)行濾波和校正。
采用的具體方法如圖1所示的流程圖所示。對于暗通道復(fù)原后的圖像,通過暗道通先驗(yàn)算法進(jìn)行色彩增強(qiáng),再通過引導(dǎo)濾波對圖像進(jìn)行濾波、平滑處理,將圖像中低頻和高頻進(jìn)行分離,低頻信息作為基礎(chǔ)子圖。同時(shí)對高頻信息再進(jìn)一步的高斯平滑,暗通道增強(qiáng)后的圖像進(jìn)行相減,獲得了細(xì)節(jié)子圖。此時(shí)再一次進(jìn)行濾波和校正,通過Gamma變換調(diào)整細(xì)節(jié)子圖的對比度。最后基礎(chǔ)子圖通過CLAHE算法進(jìn)行動態(tài)范圍增強(qiáng),并對基礎(chǔ)子圖和細(xì)節(jié)子圖進(jìn)行圖像融合處理,最終獲得增強(qiáng)后的紅外圖像。
3 實(shí)驗(yàn)和分析
根據(jù)對暗道通先驗(yàn)改進(jìn)算法進(jìn)行實(shí)驗(yàn),在霧靄較為嚴(yán)重的情況下,帶有霧靄的圖像采用普通直方圖均衡的暗通道去霧方法與改進(jìn)算法進(jìn)行比較,如圖2所示,可以發(fā)現(xiàn)的改進(jìn)算法去霧具有更好的顏色效果,且動態(tài)范圍更好,顯示的細(xì)節(jié)信息更多。
4 結(jié)論
通過暗道通先驗(yàn)的分析,其實(shí)現(xiàn)比較容易,但當(dāng)天氣惡劣情況下,去霧能力明顯不足,針對普通暗通道先驗(yàn)算法在復(fù)雜天氣情況下去霧能力的不足問題,首先采用高斯平滑將原圖像分為基礎(chǔ)子圖和細(xì)節(jié)子圖,基礎(chǔ)子圖采用暗通道先驗(yàn)算法直方圖增強(qiáng),細(xì)節(jié)子圖采用gama變換方法,最后采用圖像融合進(jìn)行融合,得出去霧圖像顏色效果更好,細(xì)節(jié)信息更多,具有很好的應(yīng)用價(jià)值。
參考文獻(xiàn):
[1] He K, Sun J, Tang X. Single image haze removal using dark channelprior[C]//IEEE Conference on Computer Vision and Pattern Recognition,2009:1956-1963.
[2] He K, Sun J, Tang X. Guided image filtering[J].IEEE Transactions onPattern Analysis & Machine Intelligence,2013,35(6):1397-1409.
[3] 郭璠,蔡自興,謝斌,等.圖像去霧技術(shù)研究綜述與展望[J].計(jì)算機(jī)應(yīng)用,2010,30(9):2417-2421.
[4] 王浩,張葉,沈宏海,等.圖像增強(qiáng)算法綜述[J].中國光學(xué),2017,10(4):438-448.
【通聯(lián)編輯:唐一東】
總結(jié)
以上是生活随笔為你收集整理的纯c语言实现的改进暗通道去雾算法测试程序(附赠大量测试图像),基于改进暗通道先验算法的图像去雾...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单片机c语言位运算写法,单片机与嵌入式系
- 下一篇: 微信小程序android错误,app安卓