文/諶貽會
圖像增強的目的主要是為了突出圖像中有用的部分,減弱或者去掉不需要的信息,它在圖像的前期和后期處理中,都起著較重要作用。彩色圖像具有比灰度圖像更為復雜的一些特性,通常是用矢量來表示像素,并且矢量的各個分量的相關性較高,這就加大了對彩色圖像進行增強的難度。經(jīng)典的彩色圖像增強算法是基于亮度分量的增強處理,這主要是由于灰度圖像增強算法比較成熟,可以直接用于亮度分量。為了避免顏色失真,這種算法通常將RGB顏色空間轉(zhuǎn)換到HSI顏色空間以獲得亮度分量,同時保持色度分量不發(fā)生變化。
根據(jù)對色彩處理效果的不同,可以把常見的彩色圖像增強算法分為兩類:保持色調(diào)不變的算法和保持顏色恒常性的算法。保持色調(diào)不變的增強算法通常進行彩色空間變換,使用灰度圖像增強算法來處理變換后所得到的亮度分量。保持顏色恒常性的增強算法結(jié)合了人眼視覺系統(tǒng)的感知特性,進行顏色相對飽和度的對比度的調(diào)整,可以較好地恢復圖像的原始的自然色彩。近年來,人們在基于進化算法的圖像增強方法,以及在特定領域的圖像增強例如彩色人臉圖像增強、艦船圖像增強等方面都開展了一些研究。
本文使用灰度補償和多尺度Retinex算法相結(jié)合的方法,來實現(xiàn)對彩色圖像的增強。對輸入的待增強的彩色圖像,首先進行Retinex算法處理,其次,對它的紅、綠、藍三種顏色分量分別進行直方圖均衡化,并進行對比度調(diào)節(jié),以此來獲得經(jīng)過增強的彩色圖像。
Retinex算法是以人類視覺系統(tǒng)為出發(fā)點而設計的,其基本思想是:人感知到某點的顏色和亮度并不僅僅取決于該點進入人眼的絕對光線,還和其周圍的顏色和亮度有關,而且物體的顏色是由物體對長波(紅色)、中波(綠色)、短波(藍色)光線的反射能力來決定的,而不是由反射光強度的絕對值來決定的,物體的色彩不受光照非均勻性的影響,具有一致性。
觀測的圖像S(x,y)是由如下兩部分組成:一部分是物體的入射部分,相對應的是圖像的低頻部分,稱為入射圖像L(x,y);另一部分是物體的反射部分,相對應的是圖像的高頻部分,稱為反射圖像R(x,y)。觀測圖像S(x,y)可以用下面的表達式來表示:對此式兩邊同時取對數(shù)可得:這里進行對數(shù)域的運算可以避免計算機處理復雜的乘法運算,而且在表達上也更為簡潔,是加法運算。Retinex算法的目標就是從圖像S(x,y)中獲得圖像R(x,y),因此如何確定圖像L(x,y)就成為算法的關鍵,通常的做法是使用已知的
圖1:對彩色圖像的增強
信息來估計出L(x,y)。
在使用 Retinex 算法進行圖像增強時,一個前提是假定光照是緩慢變化的,而且反射圖像在對數(shù)域內(nèi)是單調(diào)的,但在實際中的很多場合并不滿足此條件,因此會造成在強光照的邊緣像素的高亮度區(qū)域在增強后亮度會降低,出現(xiàn)光暈現(xiàn)象,從而引起圖像細節(jié)的模糊,不能呈現(xiàn)出物體真正的顏色效果。對此,下面我們把帶有色彩恢復因子的多尺度 Retinex 算法與直方圖的均衡化和對比度調(diào)節(jié)進行結(jié)合,設計一種彩色圖像增強的方法,它的具體實現(xiàn)步驟如下。
算法1
步1:對輸入的待增強的彩色圖像,提取它的R(紅色)、G(綠色)、B(藍色)三種分量。
步2:對圖像的R、G、B分量分別進行數(shù)據(jù)轉(zhuǎn)換操作,將其由整型轉(zhuǎn)換成浮點數(shù),便于后面的計算。
步3:分別對R、G、B分量進行取對數(shù),將乘法轉(zhuǎn)換為簡單的加法,方便接下來的卷積操作。
步4:選取高斯函數(shù),并把它與圖像進行卷積,得到經(jīng)過低通濾波后的圖像。
步5:在對數(shù)域中,用原圖像減去經(jīng)過低通濾波后的圖像,就可得到經(jīng)過增強的初步圖像。
步6:計算彩色圖像的紅、綠、藍三種顏色通道的輸出Rk(x,y),k=1,2,3。這里是對Rk(x,y)分別在小尺度,中尺度和大尺度等三個尺度上進行計算;將Rk(x,y)從對數(shù)域轉(zhuǎn)換到實數(shù)域,從而得到彩色圖像。
步7:對第6步中獲得的彩色圖像,計算色彩恢復因子Ek(x,y),并用它來調(diào)節(jié)三個顏色通道的比例。
步8:對上一步所獲得的彩色圖像,對它的紅、綠、藍三種顏色分量分別進行直方圖均衡化處理,然后再進行對比度調(diào)節(jié),以進一步呈現(xiàn)圖像細節(jié),并得到最終的彩色增強圖像。
下面對算法1進行如下說明。第3步的具體實現(xiàn)為:把圖像的紅、綠、藍三種顏色通道的灰度函數(shù)表示為:,k=1,2,3。這 里Ik(x,y)為 光 照 強 度,mk(x,y)為照明因子,rk(x,y)為反射因子。對灰度函數(shù)兩邊取以e為底的對數(shù),把照明因子和反射因子表示成和的形式,即:在后面把來表示。
在第5步中的計算公式為:
其中Rk(x,y)為經(jīng)過增強的初步圖像。
在第6步中的計算公式為:
其中β為一個非負的常數(shù),以避免當圖像中像素的灰度值為0時使得對數(shù)的結(jié)果無意義。
在第7步中計算色彩恢復因子Ek(x,y)的公式為:
這里λ為一個正的常數(shù)。
在處理器為3.0GHz的微型計算機上,我們對算法1通過使用Matlab編程進行了實現(xiàn),并對一些彩色圖像進行了實驗。圖1使對三種彩色圖像的實驗結(jié)果。圖1(a)是待處理的原始圖像,圖1(b)是使用常規(guī)的帶有色彩恢復因子的多尺度 Retinex 算法對圖1(a)進行增強后的圖像,圖1(c)是使用算法1對圖1(a)進行增強后的圖像。類似地,圖1(d)和圖1(g)是待處理的原始圖像,圖1(e)和圖1(h)分別是使用常規(guī)的帶有色彩恢復因子的多尺度 Retinex 算法對圖1(d)和圖1(g)進行增強后的圖像,圖1(f)和圖1(i)分別是使用算法1對圖1(d)和圖1(g)進行增強后的圖像。
如上的實驗結(jié)果說明,本文的算法1具有良好的對彩色圖像的增強效果。由于在帶有色彩恢復因子的多尺度 Retinex 算法的基礎上進一步做了直方圖的均衡化以及對比度調(diào)節(jié),因此算法1所獲得圖像的局部細節(jié)較為清晰,使得可以更好地顯示出來,可以保持圖像顏色的高保真度。由于算法1對紅、綠、藍三種顏色分量分別進行了直方圖均衡化處理和對比度調(diào)節(jié),因此使圖像的對比度得到了明顯地提高,達到了增強的目的。
在實際中人們在拍攝圖像時往往會受到環(huán)境的限制,例如在光照不夠充足時所拍攝的圖片質(zhì)量較為昏暗,效果較差,因此就需要對這種圖像進行增強處理。本文使用灰度補償和Retinex算法相結(jié)合的方法,實現(xiàn)了對彩色圖像的增強,在局部細節(jié)與顏色保持方面可以取得較好的增強效果。