本發(fā)明涉及圖像處理領(lǐng)域,尤其涉及一種視頻增亮方法。
背景技術(shù):
在夜間或陰天等低照度的環(huán)境下,相機成像質(zhì)量較差,對觀測人員來說無法對視頻中的事件進行有效的觀測,同時,夜間照明較差,使得監(jiān)控攝像機采集的圖像無法提供足夠的對比度使監(jiān)控人員分辨出異常的人員和設(shè)備運動,導(dǎo)致夜間成為盜竊等犯罪高發(fā)的時段。因此,對低照度環(huán)境下的視頻進行增亮也是視頻監(jiān)控行業(yè)急需解決的問題之一。
技術(shù)實現(xiàn)要素:
針對上述現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供的一種視頻增亮方法,解決了圖像增亮問題,并且提高了圖像處理的運行速度。
本發(fā)明提供的一種視頻增亮方法,其改進之處在于,所述方法包括如下步驟:
1)對輸入的圖像進行通道篩選,并將所述圖像分成三個單通道圖像;
2)對所述三個單通道圖像進行反相操作;
3)計算所述三個單通道圖像的暗通道圖像;
4)統(tǒng)計所述三個單通道圖像的直方圖;
5)統(tǒng)計環(huán)境光;
6)進行高斯濾波;
7)計算透射率映射表;
8)對所述三個單通道圖像進行增亮處理;
9)對所述三個單通道圖像進行數(shù)據(jù)合并,并輸出圖像。
優(yōu)選的,步驟3)所述暗通道圖像為ω(x)的尺度定義為1,只對單點進行暗原色計算,所得到的圖像;
計算所述三個單通道圖像的暗通道圖像包括計算三個單通道圖像的對應(yīng)位置的最小值,即:
jdark(x)=min(min(imgr(x),imgg(x)),imgb(x))
式中,ω(x)為圖像;imgr(x),imgg(x),imgb(x)為三個單通道圖像。
較優(yōu)選的,步驟4)統(tǒng)計所述三個單通道圖像的直方圖包括分別統(tǒng)計所述三個單通道圖像的灰度直方圖分布;
統(tǒng)計后存儲數(shù)據(jù)。
較優(yōu)選的,步驟5)統(tǒng)計環(huán)境光的步驟如下:
①選取所述三個單通道圖像中亮度最大的1%的像素為環(huán)境光;
②分別計算出三個單通道的環(huán)境光;
③根據(jù)單個通道的環(huán)境光估測圖像的大氣光成分。
較優(yōu)選的,步驟②計算出所述環(huán)境光后,判斷當前處理圖像的幀數(shù),若當前幀為第一幀,則將此時計算出的環(huán)境光設(shè)為初始值;
若當前幀不是第一幀,則對其進行再次判斷;再次判斷時,若與記錄的環(huán)境光變化不大,則對環(huán)境光進行加權(quán)平均,若變化較大,則不改變當前環(huán)境光,其選取公式如下:
式中,
較優(yōu)選的,步驟7)計算透射率映射表的公式如下:
式中,ac表示所有通道所對應(yīng)的環(huán)境光;max(ac)表示該像素所有通道中的環(huán)境光的最大值;ω表示常數(shù),且0<ω≤1;t0表示為限制常數(shù),其用于防止計算結(jié)果過大導(dǎo)致結(jié)果圖像失真;v表示輸入值,且v∈[0,255]。
較優(yōu)選的,步驟9)在所述三個單通道圖像進行數(shù)據(jù)合并時,其復(fù)原公式如下:
jc(x)=255-((ic(x)-ac)*tmap[jdark(x)])>>10-ac
式中,jdark(x)表示暗通道對應(yīng)位置的值;ic(x)表示原始圖像中每個通道對應(yīng)位置的值。
較優(yōu)選的,計算所述三個單通道圖像的暗通道圖像時采用simd處理。
本發(fā)明的技術(shù)方案中,將圖像進行分通道處理,過程中采用simd指令進行處理,提高了處理的運行速度,已可在單線程上對720p視頻進行實時處理。
本發(fā)明的技術(shù)方案中,通過重新對單通道圖像處理、設(shè)計環(huán)境光,達到了圖像增亮的效果。
附圖說明
圖1為本發(fā)明實施例的流程圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉出優(yōu)選實施例,對本發(fā)明進一步詳細說明。然而,需要說明的是,說明書中列出的許多細節(jié)僅僅是為了使讀者對本發(fā)明的一個或多個方面有一個透徹的理解,即便沒有這些特定的細節(jié)也可以實現(xiàn)本發(fā)明的這些方面。
本實施例提供的一種視頻增亮方法,其流程圖如圖1所示,具體步驟如下:
1)對輸入的圖像進行通道篩選,并將圖像分成三個單通道圖像,可分別記為imgr,imgg,imgb。
2)對三個單通道圖像進行反相操作,即:
imgr(x)=255-imgr(x);
imgg(x)=255-imgg(x);
imgb(x)=255-imgb(x)。
3)計算三個單通道圖像的暗通道圖像;但由于統(tǒng)計區(qū)域信息會花費大量時間,且不利于并行化,本實施例對該模型進行退化,將圖像ω(x)的尺度定義為1,只對單點進行暗原色計算,這樣得到的圖像本實施例定為暗通道。
本實施例將計算imgr,imgg,imgb三幅圖像的對應(yīng)位置的最小值即可,即
jdark(x)=min(min(imgr(x),imgg(x)),imgb(x))
由于本實施例將三個單通道分開,保證了每個通道數(shù)據(jù)的連續(xù)性,因此本實施例采用simd指令,sse2指令可一次性比較16×2個8位數(shù)據(jù),速度提升效果非常明顯。
4)對三個通道imgr,imgg,imgb分別統(tǒng)計其灰度直方圖分布,將其存儲為histr[256],histg[256],histb[256]。
5)統(tǒng)計環(huán)境光,步驟如下:
①選取所述三個單通道圖像中亮度最大的1%的像素為環(huán)境光;
②分別計算出單個通道的環(huán)境光,記為ar,ag,ab;在直方圖對應(yīng)數(shù)據(jù)中(histr[256],histg[256],histb[256]),按下標由大到小將直方圖中的數(shù)據(jù)進行循環(huán)累加,若所得結(jié)果大于1%的像素數(shù),則對應(yīng)下標為環(huán)境光。
③根據(jù)單個通道的環(huán)境光估測圖像的大氣光成分。
步驟②在計算出單個通道的環(huán)境光后,判斷當前處理圖像的幀數(shù),若當前幀為第一幀,則將此時計算出的環(huán)境光設(shè)為初始值;
若當前幀不是第一幀,則對其進行再次判斷,若與記錄的環(huán)境光變化不大,則對環(huán)境光進行加權(quán)平均,若變化較大,則不改變當前環(huán)境光,其選取公式如下:
式中,
6)對暗通道進行高斯濾波,增加暗通道的空間穩(wěn)定性。平滑之后的傳輸率保留了場景的輪廓信息,并且是處處平滑的,紋理部分也被抹去了,指令如下:
jdark=conv(jdark,gaussian_kernel)
本實施例根據(jù)具體場景選取不同大小的濾波窗口,為了提高處理速度,本實施例選為11,在實時性要求不高的場合下,可適當增大濾波窗口以提高去霧的視覺效果。
7)計算透射率映射表,其公式如下;
t(x)=1-jdark(x)/max(ac)
如果徹底地移除霧的存在,圖像會看起來不真實,并且深度感會丟失。為此,本實施例引入一個常數(shù)ω(0<ω≤1),保留一部分覆蓋遙遠景物的霧:
t(x)=1-ωjdark(x)/max(ac)
本實施例ω取值為0.9。
按照暗原色先驗去霧算法,在透射率t(x)很小的時候很容易受噪聲影響造成恢復(fù)的圖像有失真。因此,本實施例給透射率t(x)設(shè)定一個下限,在霧很濃的地方保留些許的霧,可以很好地抑制失真。即
t(x)=max(1-ωjdark(x)/max(ac),t0)
本實施例t0選為0.1。
由于在最后的復(fù)原公式中,t(x)作為分母存在,除法在運算中所占時間較長,本實施例這里取其倒數(shù),采用乘法代替。因此公式轉(zhuǎn)化為:
由于上述公式計算出的透射率的值均為浮點數(shù),在計算時耗費cpu計算周期較多,本實施例對其進行放大并做取整變化。
按照上述計算公式,大氣傳輸透射率唯一與暗通道的灰度值有關(guān),因此為了加速其的計算,采用查表的方式最為快速。建立映射表tmap[256],按照上式對于0~255的輸入分別計算其透射率,將其存儲在映射表中,即。
式中,ac表示所有通道所對應(yīng)的環(huán)境光;max(ac)表示該像素所有通道中的環(huán)境光的最大值;ω表示常數(shù),且0<ω≤1;t0表示為限制常數(shù),用于防止計算結(jié)果過大導(dǎo)致結(jié)果圖像失真,本實施例取值為0.1;v表示輸入值,且v∈[0,255]。
8)對三個單通道圖像進行增亮處理;
9)對復(fù)原后的三個單通道圖像進行數(shù)據(jù)合并,并輸出圖像。
原始的復(fù)原公式為:
經(jīng)過修改現(xiàn)在變換為:
jc(x)=255-((ic(x)-ac)*tmap[jdark(x)])>>10-ac(13)
式中,jdark(x)表示暗通道對應(yīng)位置的值;ic(x)表示原始圖像中每個通道對應(yīng)位置的值。
由于三個通道數(shù)據(jù)相互獨立且各自連續(xù),這里也非常適合采用sse指令集加速,對每個通道按照上述公式進行計算,可得到復(fù)原后的該通道。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。