关于Retinex图像增强算法的一些新学习
關于Retinex圖像增強算法的一些新學習。 - Imageshop
?博客園精華區 原文??http://www.cnblogs.com/Imageshop/p/3810402.html 主題?算法最近再次看了一下IPOL網站,有一篇最近發表的文章,名字就是Multiscale Retinex,感覺自己對這個已經基本了解了,但還是進去看了看,也有一些收獲,于是抽空把他們稍微整理了下,原始文章及其配套代碼詳見:http://www.ipol.im/pub/art/2014/107/?。
? ? ? 之前在我的??帶色彩恢復的多尺度視網膜增強算法(MSRCR)的原理、實現及應用??一文中已經較為詳細的描述了Multiscale Retinex的基本原理和應用,這里就不再做過多的說明。為表述方便,還是貼出其基本的計算原理:
上式中,I為原始輸入圖像,F是濾波函數,一般為高斯函數,N為尺度的數量,W為每個尺度的權重,一般都為1/N, R表示在對數域的圖像的輸出。
由于R是對數域的輸出,要轉換為數字圖像,必須將他們量化為[0,255]的數字圖像范疇,關于這個量化的算法,有這極為重要的意義,他的好壞直接決定了最終輸出的圖像的品質。
目前,結合上述文章中提出的一些過程,有4種方式進行處理:
第一種,也是最容易想到的就是,直接線性量化,即采用下式進行處理:
? ??
這種方式,由于Retinex數據處理后的高動態特性,數據分布很廣,會出現嚴重的兩極化現象,一般難以獲得滿意的結果。
第二種,就是在經典的MSRCR文章《A Multiscale Retinex for Bridging the Gap Between?Color Images and the Human Observation of Scenes》中提出的Canonical Gain/O?set 算法。計算公式如下:
? ? ??? ??
其中G和b為經驗參數。
第三種,實在上述文章中提到的Simplest Color Balance(我簡寫為SCR)方式,這種方式的處理類似于Photoshop中的自動色階,他把數據按照一定的百分比去除最小和最大的部分,然后中間的部分重新線性量化到0和255之間。
第四種,就是GIMP的Retinex算法,這個可詳見??帶色彩恢復的多尺度視網膜增強算法(MSRCR)的原理、實現及應用??一文的描述。
還有一種方式,就是大家知道HDR的過程吧,他也是將高動態的數據量化到圖像的可視范圍,因此可以直接將這類算法應用與這個問題上。我也做了實驗,效果似乎一般。
在用第二種或第三種方式處理時,最好還需要有個Color Restoration的過程,因為如果直接對MSR處理的結果進行量化,得到的圖像往往整體偏灰度,這是由于原始的彩色值經過log處理后的數據范圍就比較小了,這樣各通道之間的差異也很小,而之后的線性量化比log曲線要平滑很多,因此整體就喪失了彩色。
論文中提出了修正方式如下:
其中β=46,α=125為經驗參數,但是最終我的分析認為β不可能取這么大,取1試驗表明效果還不錯。
對于一些原始圖像HUE較為合理的圖,如果用經典的MSRCR算法,會導致處理后的圖容易偏色,上述論文提出了對圖像的Intensity數據進行Retinex處理,然后再把數據根據原始的RGB的比例映射到每個通道,這樣就能在保留原始顏色分布的基礎上增強圖像,文章中稱其為MSRCP。
這個算法的編碼論文的附帶代碼里已經有了很好的例子了,其實真是很簡單的工作,需要的朋友自己去參考。
我自己做了5種算法的比較,分別是:
MSRCRGIMP - Gimp內嵌的Retinex增強算法
MSRCRStandard - 按照《A Multiscale Retinex .... ?the Human Observation of Scenes》一文寫的算法,其中G=30,B=-6,β=1,α=125
MSRCRSCR ?- ? ? ? ? ?使用Color Restoration +?Simplest Color Balance算法量化得到的結果
? ?MSRCPSCR ?- ? ? ? ? ?使用Intensity數據 +?Simplest Color Balance算法量化得到的結果
MSRHSV - 對HSV空間的V分量進行(用的SCR量化)Retinex處理并返回RGB空間后的結果
他們的效果比較如下:
??
original? ? ? MSRCRGIMP ? ? ? ? ? ? ? ?? MSRCRStandard
??
? ? ? MSRCRSCR ? ? ??MSRCPSCR ? MSRHSV
??
original? ? ? MSRCRGIMP ? ? ? ? ? ? ? MSRCRStandard
??
MSRCRSCR ? ? ? ? ?MSRCPSCR ? MSRHSV
??
original? ? ? MSRCRGIMP ? ? ? ? ? ? ? MSRCRStandard
??
? MSRCRSCR ? ? ? ? ?MSRCPSCR ? MSRHSV
孰好孰壞給位自己去斟酌吧。
算法效果測試:http://files.cnblogs.com/Imageshop/Retinex%E7%BB%BC%E5%90%88.rar
很久沒有寫博客了,其實也沒有江郎才盡的感覺,就是呢沒有想寫的沖動。現在寫也無以前那么認真了,感覺就是像計流水賬一樣。算了,記賬就記賬吧。
****************************基本上我不提供源代碼,但是我會盡量用文字把對應的算法描述清楚或提供參考文檔************************
*************************************因為靠自己的努力和實踐寫出來的效果才真正是自己的東西,人一定要靠自己*******************
****************************作者: laviewpbt ? 時間: 2014.6.26????聯系QQ: ?1664462947 ?轉載請保留本行信息********************
總結
以上是生活随笔為你收集整理的关于Retinex图像增强算法的一些新学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opencv图片全景拼接详解
- 下一篇: Unity3d HDR和Bloom效果(