一種直方圖緊致性變換方法
【技術領域】
[0001] 本發明屬于圖像處理技術領域,涉及一種圖像直方圖變換方法,由于該變換過程 使得原始圖像的灰度分布范圍得以壓縮,變得緊湊,故本發明將其命名為直方圖緊致性變 換。
【背景技術】
[0002] 直方圖線性拉伸是圖像增強的重要方法之一。由于能很好地保持各灰度級之間的 線性度,而且算法簡潔、使用方面、效果可控等特點,在圖像增強尤其是遙感圖像增強方面 有著重要應用。但如同直方圖均衡算法一樣,經典的直方圖線性拉伸算法在實際應用上常 常存在增強效果不明顯的現象。造成增強效果不明顯的原因是由于原始圖像的灰度分布范 圍與輸出圖像的灰度分布范圍相當,變換系數接近于1,導致輸出圖像的對比度沒有明顯提 尚。
[0003] 線性拉伸算法可用一次函數g(x,y) =k[f(X,y)_a]+b來表示,其中f(X,y)為原 始圖像在(x,y)處的灰度值,k為變換系數,a為原始圖像的最小值,b為偏置,g(x,y)為 變換輸出結果。變換系數k由輸出圖像預期灰度級最大值和最小值之差RExp與原始圖像灰 度級最大值和最小值之差Rfcg的比值決定,即k=RExp/IVg。為使輸出圖像具有更好的對比 度,應用上一般均將輸出灰度級的分布范圍擴展至整個可允灰度級范圍。可允灰度級范圍 由圖像的量化位數決定。例如,當采用8比特量化時,可允灰度級為256級,可允灰度級范 圍為[0,255]。因此,輸出灰度級范圍是確定的,線性拉伸變換中的變換系數k實際由輸入 圖像的灰度級范圍Rtag決定。
[0004] 在實際應用中,極少部分像素占據圖像很大灰度級范圍的現象普遍存在,尤其是 遙感影像。若直接采用線性拉伸,增強處理的效果十分有限。為壓縮原始圖像灰度分布范 圍,增大變換系數,應用上多采用截斷方式(例如ENVI、ERDAS等著名遙感圖像處理軟件)。 即將直方圖兩端累積概率達2% (有時也采用1%或5% )所有灰度分別映射到相鄰且最 近分布中心的灰度級上,從而壓縮原始圖像的灰度分布范圍,增大變換系數k。由于截斷壓 縮變換僅發生在圖像直方圖的兩端,使得在直方圖截斷處灰度級的像素個數陡然增加,出 現單點尖峰。這種現象常常導致圖像亮區和暗區細節的嚴重丟失,不利于圖像的信息解譯。 同時,截斷壓縮對直方圖的中間部分并不進行處理,即使有若干零概率灰度級,因而無法處 理具有U型直方圖的圖像增強問題。由于直方圖截斷壓縮方式存在上述缺陷,在實際應用 中的使用效果和適用范圍都受到影響,不能有效地解決工程應用中的實際問題。
【發明內容】
[0005] 本發明旨在提供一種新的直方圖壓縮變換方法,有效解決具有不同形狀直方圖的 圖像的灰度分布范圍壓縮問題,從而解決直方圖線性拉伸增強方法在遙感圖像處理等實際 應用中存在的失效問題。
[0006] 為實現上述目的,本發明的技術方案如下:
[0007] 設定一個頻度閾值ζ作為基準頻度,與直方圖上的每個灰度級按順序進行比較;
[0008] 除特殊情況外,對頻度小于基準頻度ζ的灰度級,將該灰度級的下一個或多個灰 度級與之合并,直至當前所有合并灰度級的累積頻度不小于基準頻度ζ;所述特殊情況是 指:合并后的累積頻度與基準頻度ζ之差大于原頻度與基準頻度ζ之差,則不作合并;
[0009] 最終使得合并后的直方圖在其灰度最大值和最小值之間所有灰度級的頻度均接 近或不小于基準頻度ζ,且灰度連續、不間斷。
[0010] 其中,由于采用全局頻度閾值ζ,可以將位于直方圖最大值與最小值之間的任意 一個灰度級確立為起始位置,以該起始位置將直方圖劃分為兩個部分,并自該起始位置分 別按照正向、反向依次判別并處理這兩個部分的每個灰度級(如果將正向末端或負向末端 作為起始位置,則相當于直方圖劃分出的一個部分為〇,另一個部分為全部灰度級)。
[0011] 具體的實現步驟如下:
[0012] 1]確定直方圖的基準頻度ζ和初始搜索起點對應的灰度級Μ。,Μ。將直方圖分為 左部分和右部分,初始化M=M。、K=Μ。,以Μ。為起點對直方圖分別進行正向和負向搜索;
[0013] 2]正向搜索時,計算以灰度L=Μ為起點的正向若干個連續灰度級的累積頻度, 當使得q=(且cp2 = >?成立(負向搜索時,使得α <(且 (:巧=Σ乂+>?成立)時停止當前搜索,其中r為非負整數,表示在本次搜索過程中不包 括起點在內所跨過連續灰度級的個數;
[0014] 3]比較ζ-CPJPCP2-ζ的大小;
[0015] 4]若(ζ-CP!)彡(CP2_ζ)成立,則
[0016] 對于正向搜索,將在區間[L,L+r]范圍的所有灰度級合并到輸出灰度級Κ上,記錄 對應的灰度映射關系,并將灰度級L到L+r的累積頻度作為輸出灰度級K的頻度,然 后跳至步驟6 ;
[0017] 對于負向搜索,將在區間[L_r,L]范圍的所有灰度級合并到輸出灰度級K上,記錄 對應的灰度映射關系,并將灰度級L-r到L的累積頻度作為輸出灰度級K的頻度,然 后跳至步驟6 ;
[0018] 5]若(ζ-CP!)彡(CP2_ζ)不成立,則
[0019] 對于正向搜索,將在區間[L,L+r+l]范圍的所有灰度級合并到輸出灰度級Κ上,記 錄對應的灰度映射關系,并將灰度級L到L+r+Ι的累積頻度Σ=+16作為輸出灰度級K的頻 度;
[0020] 對于負向搜索,將在區間[L-r_l,L]范圍的所有灰度級合并到輸出灰度級Κ上,記 錄對應的灰度映射關系,并將灰度級L-r-Ι到L的累積頻度Σ,?ι3作為輸出灰度級K的頻 度;
[0021] 6]更新搜索起點和輸出灰度級至下一個灰度級;
[0022] 正向搜索時,搜索起點更新方式為Μ=Μ+1,輸出灰度級更新方式為K=Κ+1。負 向搜索時,搜索起點更新方式為Μ=Μ-1,輸出灰度級更新方式為K=Κ-1。
[0023] 7]重復步驟2~6,直到整個直方圖處理完畢。
[0024] 本發明具有以下優點:
[0025] (1)可以有效消除圖像直方圖的零概率灰度級和小概率灰度級,使得圖像的直方 圖變得緊湊、連續,從而有效壓縮圖像灰度分布范圍,為提高線性拉伸的增強效果奠定基 礎;
[0026] (2)由于對每個灰度級均進行處理,可以適用于具有不同形狀和類型的直方圖,從 而保證了該方法在不同情況下的有效性;
[0027] (3)壓縮效果可控,用戶可以根據實際應用需要,設定概率基準,以保證輸出結果 符合應用目的;
[0028] (4)處理過程無需人工干預,可以方便地實現自動化處理。
【附圖說明】
[0029] 圖1是一幅普通灰度圖像的直方圖;
[0030] 圖2是一幅具有U型直方圖的灰度遙感影像;
[0031] 圖3直方圖截斷壓縮算法原理示意圖;
[0032] 圖4是圖1采用2%截斷壓縮后的直方圖;
[0033] 圖5是圖2采用2%截斷壓縮后的直方圖;
[0034] 圖6是本發明方法的原理示意圖;
[0035] 圖7是采用本發明方法對圖1壓縮后的直方圖;
[0036] 圖8是采用本發明方法對圖2壓縮后的直方圖;
[0037] 圖9是本發明的原理示意圖。
【具體實施方式】
[0038] 下面結合附圖對本發明的技術實施方案做進一步描述。
[0039] 受光照、目標輻射特性等多種因素的影響,低對比度、低清晰度的圖像往往需要經 過增強處理才能用于觀察或信息提取。在這些圖像中,少數像素灰度值占有大量灰度級的 現象十分常見。圖1所示一幅室外場景的灰度圖像,圖像灰度最小值為9,最大值為255。 在[0,42]區間的43個灰度級上僅有2%的像素分布,區間長度占比為17%; [176, 256]區 間上的80個灰度級僅有5%的像素分布,區間長度占比31% ; [216, 256]區間的40個灰度 級上僅有2 %的像素分布,區間長度占比為16 %。圖2為另一幅灰度遙感影像,圖像的最小 值和最大值分別為37和255。在區間[0,49]的50個灰度級分布有2%左右的像素值,區 間占比約20% ; [108, 248]區間的140個灰度級上僅有10%的像素值分布,