日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

避免图像去雾算法中让天空部分出现过增强的一种简易方法

發(fā)布時間:2025/7/25 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 避免图像去雾算法中让天空部分出现过增强的一种简易方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

FROM:http://www.chawenti.com/articles/25193.html

在經(jīng)典的幾種去霧算法中,包括何凱明的暗通道去霧、Tarel的基于中值濾波的去霧以及一些基于其他邊緣保留的方法中,都有一個普遍存在的問題:即對天空部分處理的不好,天空往往會出現(xiàn)較大的面積的紋理及分塊現(xiàn)象。究其主要原因,還是因為天空部位基本上是不符合暗通道去霧先驗這個前決條件的。目前,針對這一問題,我搜索到的主要有以下幾篇文章進(jìn)行了處理:

  1、?改進(jìn)的基于暗原色先驗的圖像去霧算法 作者: 蔣建國侯天峰齊美彬 ? 合肥工業(yè)大學(xué)?2011。

? ? ? 2、Single image dehazing Algorithms based on sky region segmentation, 2013 ?王廣義 ?哈爾濱工業(yè)大學(xué)(這篇文章似乎要到學(xué)校里才能下載);

? ? ? 第一篇文章增加了一個可控參數(shù)K, 用來調(diào)節(jié)每個像素處的透射率:

?

? ? ? ? ? ?

?

? ? ? 當(dāng)|I(x)-A|<k時,認(rèn)為這個區(qū)域可能是天空,重新計算透射率(增加透射率),|I(x)-A|>k處,則認(rèn)為是符合暗通道先驗的區(qū)域,透射率不變。

? ? ? 如果K取值為0,則相當(dāng)于原始的透射率公式。

? ? ? 上面的做法是較為合理的,因為一般情況下大氣光A的取值和天空部分應(yīng)該是非常接近的,而那些符合暗通道的地方則遠(yuǎn)離天空,關(guān)于這個算法的效果,我在我的《Single Image Haze Removal Using Dark Channel Prior》一文中圖像去霧算法的原理、實(shí)現(xiàn)、效果(速度可實(shí)時)一文的實(shí)例工程中已經(jīng)提供了測試程序。

? ? ? ?第二篇文章的思路則是進(jìn)行天空分割。對分割后的兩部分透射率做不同的處理,那么這個的重點(diǎn)就在于天空特征的提取。作者原文是通過以下幾個步驟來實(shí)現(xiàn)的。

? ? ?

? ? ?

?

? ? ?

  對這幾個步驟我進(jìn)行了粗陋的點(diǎn)評吧。

? ? ? 第一步我認(rèn)為最有價值,直接在原始數(shù)據(jù)判斷天空不是很好做,作者觀察到天空部分整體來說是比較平滑的,也就是相鄰像素之間變化不大,因此用梯度來表示則更容易識別,梯度值越小則表明圖像那一塊越光滑。

? ? ? 第二步則設(shè)定一個閾值來初步判斷某處是否屬于天空,這個閾值作者取的是0.02,量化到unsigned char范圍則基本對應(yīng)5。

? ? ? 第三步對初步的邊界進(jìn)行下小范圍的擴(kuò)展。

? ? ? 第四步對分割后的圖的每個聯(lián)通區(qū)域統(tǒng)計其原始圖像在對應(yīng)位置的像素的平均亮度,如果大于閾值T則保留,T這里作者取0.81,對應(yīng)整數(shù)205左右。

? ? ? 第五步取符合第四步條件的最大的聯(lián)通區(qū)域作為識別的天空區(qū)域。

? ? ? 第六步是為了防止一些漏檢點(diǎn),把在天空區(qū)域周邊的一些像素在進(jìn)一步進(jìn)行識別,符合條件的則加到天空區(qū)域中。

? ? ? 第七步是一些被完整包含在天空中還未被認(rèn)為是天空的小區(qū)域添加到天空中。

? ? ?個人認(rèn)為,除了第一步、第二步、第四步有必要外,其他的不需要這樣處理。特別是第五步的處理會造成天空部位的漏檢。比如下面的流程示意圖的原圖,如果用上述方式肯定會造成左上角處小部分天空完全丟失掉。另外一個問題就是,聯(lián)通區(qū)域的計算還是比較耗時的。

? ? ?我的做法是:?

? ? ?1、將圖像轉(zhuǎn)換為灰度:這里為保留更多的邊緣信息,可以考慮使用具有對比度保留功能或顯著性保留功能的一些去色算法。

? ? ?2、求灰度圖像的梯度信息(其實(shí)就可以用常用的一些邊緣檢測算子實(shí)現(xiàn));

? ? ?3、對梯度信息進(jìn)行適當(dāng)?shù)娜ピ牒蜑V波;

? ? ?4、按照設(shè)定梯度閾值和亮度閾值對梯度信息進(jìn)行區(qū)分;

? ? ?5、對區(qū)分后的圖進(jìn)行高斯羽化處理(可選的)。

? ? 整個流程的示意圖如下所示:

???

              原圖                                    灰度圖                                  梯度信息

??

            稍作去噪                                 初步天空識別                            ? ? ? ? ? 進(jìn)行羽化

? ? ? 作為對比,我們在給出幾幅圖的天空的識別效果:

? ? ??

? ???

 對于那些基本不存在天空的圖,檢測的結(jié)果如下:

? ???

  一片黑,因此,完全不影響結(jié)果。

? ? ? 得到天空區(qū)域后,原文作者將天空區(qū)域的透射率圖統(tǒng)一的設(shè)置成了一個固定值,我認(rèn)為這樣不好,還是應(yīng)該根據(jù)具體的值做適當(dāng)?shù)男拚?在我上述的操作中,得到的天空去區(qū)域是一副蒙版圖,某個點(diǎn)并不一定是完全屬于天空或完全不屬于。因此,我就可以根據(jù)這個值來+ 暗通道求得的值進(jìn)行一下Alpha混合,如下所示:

  DarkChannel[Y]= (SkyPresrve * Sky[Y] + DarkChannel[Y] * (255 – Sky[Y])) / 255 ;    

  其中SkyPresrve就類似于論文的固定透射率值,是用戶指定的,在上式中,若Sky[255],即完全屬于天空,則改點(diǎn)的透射率即為固定值,若Sky[Y]=0,即完全不屬于天空,計算式的值不變,不影響正常去霧。

? ? ? 另外關(guān)于大氣光值A(chǔ)的計算,論文提出了以獲得的天空部位的像素的平均值作為A,這也是非常合理的,但是在實(shí)際處理時,針對有些完全沒有天空部分的圖像,可能檢測到的天空區(qū)域很小(明顯屬于誤檢,但是程序不知道的),這個時候以此為大氣光值,也是不合理的。為此,我的處理方式先計算天空部位計算的A值,然后在檢測天空像素占整個圖像的比例,如果比例小于5%,則還是以何凱明那種計算A的方式進(jìn)行。

? ? ? 還有一步,論文也提到了,就是這些校正的步驟都必須在refine階段之前做,簡單的說,就是需要在進(jìn)行導(dǎo)向濾波前做。這樣利用導(dǎo)向濾波的平滑功能,可以將天空和非天空分界部位的不平滑現(xiàn)象一定程度上彌補(bǔ)掉);

  為了提高速度,也可以采用我在何那篇論文的分析的博文中的方式,進(jìn)行下采樣處理,然后在上采樣。

? ? ? 作為對比,我們給出直接用何的方式實(shí)現(xiàn)的效果和用天空識別方式處理的對比效果:

  ???

? ? ????

? ? ????

? ? ????

? ? ????

               原圖                                    何的去霧                             本文結(jié)果(SkyPresrve =100)

  有以上比較可見,在保護(hù)了天空的時候,和天空交接的地方的去霧程度也適當(dāng)?shù)挠兴鶞p弱。

  ?在論文的最后,作者也提到了去霧的圖像顯得比較昏暗,為此,做了一下處理:

? ? ? ??

  即在HSV空間,對V分量進(jìn)行CLAHE增強(qiáng),然后在轉(zhuǎn)換到RGB空間,這種方式對有些圖像確實(shí)有很明顯的增強(qiáng)效果,但是有些圖可能又會增強(qiáng)噪音,因此還是根據(jù)實(shí)際情況選擇性的處理吧。

  示例程序:http://files.cnblogs.com/Imageshop/HazeRemovalWithSkyRecognition.rar

? ?

?

? ? ??

****************************基本上我不提供源代碼,但是我會盡量用文字把對應(yīng)的算法描述清楚或提供參考文檔************************

*************************************因為靠自己的努力和實(shí)踐寫出來的效果才真正是自己的東西,人一定要靠自己*******************

****************************作者: laviewpbt ? 時間: 2014.8.12 ? ?聯(lián)系QQ: ?33184777 轉(zhuǎn)載請保留本行信息**********************

??

本文鏈接:避免圖像去霧算法中讓天空部分出現(xiàn)過增強(qiáng)的一種簡易方法。,轉(zhuǎn)載請注明。


總結(jié)

以上是生活随笔為你收集整理的避免图像去雾算法中让天空部分出现过增强的一种简易方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。