本發(fā)明涉及計算機視覺領(lǐng)域,特指基于改進的直方圖均衡化低照度圖像增強算法。
背景技術(shù):
在攝影或監(jiān)控時由于光照不足,會使圖像過暗,導(dǎo)致畫面中常出現(xiàn)對比度低、噪聲大、照度不均等情況,產(chǎn)生低照度圖像。低照度圖像灰度范圍較窄,相鄰像素的空間相關(guān)性高,灰度變化不明顯,進而影響后續(xù)的圖像識別、理解與判斷,因此對低照度圖像進行增強處理具有重要的意義。
低照度圖像的細節(jié)灰度差別只在幾十級以內(nèi),且圖像灰度值較低。因此,希望通過一種圖像增強處理既能清晰看到整幅圖像又能突出局部細節(jié),直方圖均衡化是最常用的增強圖像對比度的算法,目前傳統(tǒng)的直方圖均衡化圖像增強算法很難做到很好的兼顧,在處理過程中存在著不可避免地丟失原始圖像的亮度信息問題以及處理后畫面失真的問題。傳統(tǒng)的局部直方圖均衡化算法處理圖像時,每個像素的變化不是根據(jù)整幅圖像的像素值進行修改,而是根據(jù)預(yù)先確定的一個矩形區(qū)域內(nèi)的像素進行修改,該方法對細節(jié)部分的處理有一定效果,但是使用其處理低照度圖像時,其圖像亮度的整體提升效果不佳。江巨浪等提出的保持亮度和灰度級的直方圖均衡算法具有很好的亮度保持性能,且對灰度范圍較小的圖片增強效果較好,但它在局部增強力度上有所下降。
針對現(xiàn)行算法普遍存在的問題,本發(fā)明提出一種低照度圖像處理的整體效果和局部細節(jié)方面得以兼顧的方法,首先利用局部信息進行對比度增強,然后對全局直方圖采用改進的均衡化算法進行處理。更大程度地保持圖像的信息,同時提高圖像亮度。在低照度圖像增強方面,獲得較好的視覺效果。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于:針對低照度成像這個特定問題,為了提高圖像的對比度和局部細節(jié)的清晰度,獲得較好的視覺效果,提出了基于改進的直方圖均衡化低照度圖像增強算法。
為解決上述技術(shù)問題,本發(fā)明采取的技術(shù)方案是:
一種基于改進的直方圖均衡化低照度圖像增強算法,包括如下步驟:
(1)求出待處理圖像H(x)對比度參數(shù)p;
(2)通過對比度映射函數(shù)f(x)求出增強對比度參數(shù)p';
(3)根據(jù)增強對比度參數(shù)p'得到新的灰度值x',獲得對比度增強處理后的圖像H'(x);
(4)對圖像H'(x)采用灰度級進行合并;
(5)進行直方圖均衡化,得到最終處理后的圖像G(i)。
作為本發(fā)明的進一步改進,所述步驟(1)中,將待處理圖像H(x)根據(jù)下列公式求出其對比度參數(shù)p,
其中,x是原圖中某點的灰度值,xe是x周圍八鄰域的灰度均值,Lmax為最大灰度級。
作為本發(fā)明的進一步改進,所述步驟(2)中,選擇多項式函數(shù)f(p)=4p-6p2+4p3-p4作為映射函數(shù)。
作為本發(fā)明的進一步改進,所述步驟(3)中,根據(jù)增強對比度參數(shù)p',通過下列公式求得新的灰度值,計算對比度增強后的各點的灰度值x',獲得對比度增強處理后的圖像H'(x),
作為本發(fā)明的進一步改進,所述步驟(4)中,對H'(x)采用灰度級合并方法的改進具體如下:
4.1、確定均衡化前后圖像的灰度級i,j=0,1,2,…,L-1;
4.2、正向掃描圖像,統(tǒng)計出原圖像中各灰度級的像素數(shù)目nj;
4.3、計算原圖像的歸一化直方圖
4.4計算累積直方圖
4.5、根據(jù)以下公式,確定灰度級的映射關(guān)系;
sk并=int((L-1)sk+0.5)
w0=1,wj+1=wj+step
其中int()為取整函數(shù),sk并為均衡化后圖像的歸一化合并的灰度級,0<k1<n,0<k2<n,step取值為0.5,wj為權(quán)重系數(shù),wj+1為按一定步長step遞增的下一個權(quán)重系數(shù);
對于某一灰度級,將其后的各灰度級與當(dāng)前灰度級進行合并時,根據(jù)與當(dāng)前灰度級的距離分別賦予按一定步長遞增的權(quán)重系數(shù),當(dāng)d值小于1/(L-1)時,原圖像中rk1與rk2間的各灰度級將被合并為一個灰度級;
4.6、計算灰度級變化后各灰度級的像素數(shù)目nj;
4.7、計算變換后歸一化直方圖
作為本發(fā)明的進一步改進,所述步驟(5)中,用直方圖灰度級間距的改進進行直方圖均衡化,得到最終處理后的圖像G(i),具體包括:將均衡化后圖像的實際灰度級作非線性變換,適當(dāng)增大中間灰度級的間距,壓縮兩端灰度級的間距,使用下列公式對均衡化后圖像的實際灰度進行變換,
G(i)=(L-1)*log2(1+i/(num-1))
i=0,1,2,...,num-1
其中,L為圖像總的灰度級數(shù)目;num為均衡化處理后圖像的實際灰度數(shù)目,G(i)函數(shù)表示對圖像的每一個灰度做映射變化。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
1、上述步驟(1)-(3),是為了增強對比度,在原始圖像整個灰度級范圍內(nèi)進行映射,增加了一個對比度參數(shù)p,該參數(shù)p與原始圖像細節(jié)相關(guān),對比度的增強使得圖像在細節(jié)方面有了較好的處理效果。
2、上述步驟(4)-(5)有效避免灰度級的過度合并,使均衡化處理后的圖像的灰度等級在整個灰度級范圍內(nèi)的分布盡量均衡,以達到較好的視覺效果。
3、本發(fā)明兼顧了整體效果和局部細節(jié)方面,更大程度地保持圖像的信息,同時提高圖像亮度,獲得較好的視覺效果。
附圖說明
圖1是實施例所述灰度級映射示意圖;
圖2是實施例所述本算法低照度增強圖像效果對比,其中(2a)為處理前圖像,圖像(2b)為圖像(2a)處理后得到的圖像;
圖3是實施例所述本算法低照度增強圖像效果對比;其中(3a)為處理前圖像,圖像(3b)為圖像(3a)處理后得到的圖像。
具體實施方式
以普通單幅低照度圖像為例,結(jié)合附圖對本發(fā)明做進一步詳細說明。
相對于全局直方圖均衡化增強而言,本發(fā)明首先利用局部信息進行對比度增強,然后對全局直方圖采用改進的均衡化算法進行處理,具有較好的視覺效果。
第一步:將待處理圖像H(x)根據(jù)(1)式求出其對比度參數(shù)p。
其中,x是原圖中某點的灰度值,xe是x周圍八鄰域的灰度均值,Lmax為最大灰度級。
第二步:根據(jù)映射函數(shù)f(x)求出新圖像的增強對比度參數(shù)p',即p'=f(p);
映射函數(shù)f(x)的選取對于整幅圖像的處理效果起著關(guān)鍵作用。如果|f(p)-p|太小,對比度增強后的圖像的邊界就不明顯,如果|f(p)-p|太大,增強后的圖像就會有噪音。本發(fā)明選擇了多項式函數(shù)f(p)=4p-6p2+4p3-p4作為映射函數(shù),該函數(shù)使得圖像滿足了上述要求,并取得了較好的實驗效果。
第三步:根據(jù)p',(2)式得到新的灰度值,計算對比度增強后的各點的灰度值,獲得對比度增強處理后的圖像H'(x):
第四步:對H'(x)采用灰度級合并方法的改進;
直方圖均衡化是通過對原圖像進行某種變換,將原圖像的灰度直方圖均勻分布。傳統(tǒng)的直方圖均衡化方法使用原圖像直方圖累積分布函數(shù)實現(xiàn)的,是單調(diào)遞增函數(shù),能保證灰度變換前后不會倒置,且變換后灰度值不超出原圖像灰度值范圍。累積分布函數(shù)表示如下:
其中,0≤rk≤1,k=0,1,2,...,L-1,rk為原圖像歸一化灰度級;nj為原圖像中第j個級灰度級的像素數(shù)目;n為圖像中總的像素數(shù)目;sk為均衡化后圖像的歸一化灰度級;T為變換函數(shù),L為圖像的灰度級數(shù)。
傳統(tǒng)的直方圖均衡化的步驟如下:
1.確定均衡化前后圖像的灰度級i,j=0,1,2,…,L-1;
2.正向掃描圖像,統(tǒng)計出原圖像中各灰度級的像素數(shù)目nj;
3.計算原圖像的歸一化直方圖
4.計算累積直方圖
5.根據(jù)以下公式,確定灰度級的映射關(guān)系;
sk并=int((L-1)sk+0.5) (4)
其中int()為取整函數(shù),sk并為均衡化后圖像的歸一化合并的灰度級。
6.計算灰度級變化后各灰度級的像素數(shù)目nj;
7.計算變換后歸一化直方圖
傳統(tǒng)的直方圖均衡化方法中,對于原圖像的兩個不同灰度級的sk1和sk2,其差值為:
式(5)中,k1和k2是n中的兩個不同的數(shù),0<k1<n,0<k2<n;
由(5)式可見,當(dāng)其值小于1/(L-1)時,原圖像中rk1與rk2間的各灰度級將被合并為一個灰度級。人眼能分辨的灰度級一般在十幾到二十幾級之間,兩個相近的灰度級其像素的顏色也差不多,人眼一般區(qū)分不開,將其進行合并是合理的。但如果兩個灰度級相差較大,其像素的顏色就會有明顯的不同,如果還要將其進行合并,就會使一種顏色丟失。表征圖像特征的邊緣、輪廓等細節(jié)的像素數(shù)一般較少,這些像素往往要進行合并,原先多種顏色的像素就會變成一種顏色,反映到圖像上就會使某些細節(jié)丟失,所以均衡化處理后的圖像就會出現(xiàn)一些色斑或者偽輪廓。
另外,傳統(tǒng)直方圖均衡化方法的灰度級映射由(4)式?jīng)Q定。均衡化處理后各灰度級間隔有大有小,不是均勻的。由灰度級映射機理可知,占較少數(shù)目像素的灰度級合并到其他灰度級中或者在直方圖中集中分布。這樣不但會引起圖像細節(jié)的丟失,也不利于圖像細節(jié)的展示。
改進的直方圖均衡化算法主要是改進了灰度級進行合并的方法。根據(jù)式(5),如果連續(xù)多個灰度級的像素數(shù)都較少,其對應(yīng)的累積函數(shù)值sk差別也就不大,那么這多個灰度級就會合并到同一灰度級,可見,對于連續(xù)多個灰度級的像素數(shù)都較少的情況,如果能保證后面灰度級相差較大的灰度不進行合并,就能保留這些灰度級,從而較好地保持圖像細節(jié)。
改進算法的基本思想是如果圖像中像素較少的兩個灰度級相隔很近,就將它們進行合并,但如果這兩個灰度級相隔較遠,就降低它們進行合并的可能性。
對于某一灰度級,將其后的各灰度級與當(dāng)前灰度級進行合并時,根據(jù)與當(dāng)前灰度級的距離分別賦予按一定步長遞增的權(quán)重系數(shù),這樣,當(dāng)某一灰度級與當(dāng)前灰度級相距較遠時,由于權(quán)重系數(shù)較大,按式(6)計算出的差值就會較快地大于1/(L-1),避免了灰度級的過度合并。
本發(fā)明中step取值為0.5,wj為權(quán)重系數(shù),wj+1為按一定步長step遞增的下一個權(quán)重系數(shù)。
第五步:用直方圖灰度級間距的改進進行直方圖均衡化,得到最終處理后的圖像G(i)。
通過第四步的改進均衡化算法處理,圖像的灰度等級得到壓縮,接下來就是將均衡化處理后的圖像的灰度等級在整個灰度級范圍內(nèi)的分布盡量均衡,以達到較好的視覺效果。傳統(tǒng)整個灰度級范圍內(nèi)均勻分散的方法是先統(tǒng)計直方圖均衡后的圖像灰度級數(shù)目,再將這些有效灰度級在整個灰度方位內(nèi)進行等間距排列。
本發(fā)明是將均衡化后圖像的實際灰度級作非線性變換,適當(dāng)增大中間灰度級的間距,壓縮兩端灰度級的間距,能增加對比度,進一步改善視覺效果。另外,低照度下的圖像在均衡化處理后往往偏暗,需要整體提高圖像的亮度。鑒于此,使用(7)式對均衡化后圖像的實際灰度作如下變換:
其中,L為圖像總的灰度級數(shù)目;num為均衡化處理后圖像的實際灰度數(shù)目。G(i)函數(shù)表示對圖像的每一個灰度做映射變化,其曲線形狀如圖1所示。
設(shè)灰度合并后得到的實際灰度分別表示為0...num-1。可見,與將實際灰度在整個灰度級平均分布方法相比,使用本發(fā)明映射函數(shù),首個灰度映射到0,最后一個灰度映射到最高灰度(對8位灰度圖像來說,就是255),而將其余灰度映射到其它的灰度上,從而實現(xiàn)增大中間灰度級的間距,壓縮兩端灰度等級的間距的意圖,達到增加圖像對比度提到亮度的目的。改進的灰度等級分布映射方法,克服了傳統(tǒng)直方圖均衡化較小數(shù)目像素灰度分布過于集中而不利于展示圖像細節(jié)的缺陷,在兼顧灰度均勻分布的同時,用調(diào)整函數(shù)加大了中間灰度的分布,擴大了圖像的動態(tài)范圍。
如圖1是灰度級映射示意圖,如圖2-3所示是本實施例增強的低照度圖像,可以看出本實施例獲得的圖像增強效果好,調(diào)整了圖像的對比度和整體的亮度,取得了較好的視覺效果。
本發(fā)明中提出的方法實際上可嵌入FPGA實現(xiàn),開發(fā)具有低照度圖像增強功能的相機或攝像機。以上實施例僅起到解釋本發(fā)明技術(shù)方案的作用,本發(fā)明所要求的保護范圍并不局限于上述實施例所述的實現(xiàn)系統(tǒng)和具體實施步驟。因此,僅對上述實施例中具體的公式及算法進行簡單替換,但其實質(zhì)內(nèi)容仍與本發(fā)明所述方法相一致的技術(shù)方案,均應(yīng)屬于本發(fā)明的保護范圍。