專利名稱:基于幻方編碼的中值濾波方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種濾除圖像噪聲的方法,尤其是一種基于幻方編碼技術(shù)的中值濾波 去除圖像噪聲的方法。
背景技術(shù):
研究表明,人類獲取的視覺圖像信息在人類接受的信息中的比重達(dá)到四分之三, 是人類獲取信息、表達(dá)信息和傳遞信息的重要手段。但在圖像的生成、傳輸或變換過程中, 由于圖像采集系統(tǒng)、傳輸媒介或成像系統(tǒng)的不完善,會(huì)引入不同程度的噪聲,從而使輸出圖 像的質(zhì)量產(chǎn)生退化。由于圖像的許多后續(xù)處理(如邊緣檢測(cè)、模式識(shí)別或者圖像分割等) 的成敗在很大程度上依賴于噪聲去除的效果和質(zhì)量,因此,在數(shù)字圖像處理領(lǐng)域,圖像噪聲 的濾除一直是最重要、最基本的研究課題之一。對(duì)受到噪聲污染的退化圖像的復(fù)原可以采用線性濾波方法來處理,在許多情況下 是很有效的,但是多數(shù)線性濾波具有低通特性,在去除噪聲的同時(shí)也使圖像的邊緣變模糊, 不能獲得較好的復(fù)原效果。而中值濾波是一種去除噪聲的非線性處理方法,在某些條件下 既可去除噪聲又能保護(hù)圖像邊緣,獲得了較好的圖像復(fù)原效果。因此自TUrkeyl971年提 出中值濾波技術(shù)以來,該技術(shù)就得到了廣泛的研究,并被應(yīng)用到語音處理、圖像恢復(fù)等領(lǐng)域 中。標(biāo)準(zhǔn)中值濾波的基本原理是把數(shù)字圖像或數(shù)字序列中某一像素的值,用該像素的 一個(gè)鄰域中各像素值的中值代替。雖然標(biāo)準(zhǔn)中值濾波技術(shù)在衰減噪聲的同時(shí)能較好地保護(hù) 圖像邊緣,但由于其僅考慮濾波窗內(nèi)輸入數(shù)據(jù)的排序信息,故在圖像處理中會(huì)破壞一些重 要的圖像細(xì)節(jié),如細(xì)線等線形細(xì)節(jié)。顯然,構(gòu)成細(xì)線等線形細(xì)節(jié)的像素是信號(hào),不是噪聲。而 標(biāo)準(zhǔn)中值濾波方法會(huì)把構(gòu)成線形細(xì)節(jié)的像素作為噪聲進(jìn)行處理,使得圖像線性細(xì)節(jié)區(qū)的信 息丟失。另外,標(biāo)準(zhǔn)的中值濾波方法包括如下步驟選擇一個(gè)(2n+l) X (2n+l)的滑動(dòng)窗口, 使其沿圖像數(shù)據(jù)的行或者列方向逐像素滑動(dòng);每次滑動(dòng)后,對(duì)窗口內(nèi)的像素值進(jìn)行排序; 用排序得到的中間值代替窗口中心位置像素值。這種方法存在計(jì)算量大的問題,需要消耗 大量的時(shí)間和資源。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種有效保留圖像線性細(xì)節(jié)區(qū)信息且算法簡(jiǎn)單 的基于幻方編碼的中值濾波方法。為解決上述技術(shù)問題,本發(fā)明所采取的技術(shù)方案是按照以下步驟處理步驟一、讀取圖像中各像素的坐標(biāo)和灰度值;步驟二、遍歷圖像,采用基于幻方編碼的方法判斷各像素是否為噪聲像素a.取以待處理的像素為中心的(2N+1) X (2N+1)的圖像塊為處理單元,對(duì)所述處 理單元內(nèi)的像素所處位置按照幻方進(jìn)行編碼,得到的幻方編碼序列為{Ρμ,ΡΜ,…,P2N+1,2N, P2N+1,2N+J,所述幻方編碼序列對(duì)應(yīng)的灰度值序列為^ali2,…,a2N+1,2N,a2N+1,2N+1},其中N為自然數(shù),Pi,j為(i,j)位置處的幻方編碼,a,,,.為(i,j)位置處的灰度值;b.將所述處理單元內(nèi)像素的灰度值按照從小到大進(jìn)行排序,設(shè)排序后的灰度值序
列為■(氣,A2,…, +1)/2,…, _,,%},所述排序后的灰度值序列中各灰度值所對(duì)應(yīng)的像素在所 述處理單元中所處的位置序列為U1, ifikD^id,ij,所述位置序列對(duì)應(yīng)的排序后的在上述序列中,e= (2N+1) X (2N+1)S為最小的灰度值%為最大的灰度值flfWv2為灰度中值;c.當(dāng)W ε (1),則待處理的像素是非噪聲像素,式⑴中ε的取值范圍為,; 當(dāng)式⑴不成立時(shí),根據(jù)下述公式(2)至⑷同時(shí)成立或者(5)至(7)是否同時(shí) 成立來判斷待處理的像素是否位于線性細(xì)節(jié)區(qū) 式中,aM為待處理的像素灰度值 ε i的取值范圍為^^ , Q 為幻和,Q = (2N + l)x[(2N + l)2+l] = (2N + 1)x(2N2 +2N + 1) ε 2的取值范圍為」^· ,;
10028] 當(dāng)公式(2)、(3)和(4)同時(shí)成立或者公式(5)、(6)和(7)同時(shí)成立時(shí),則待處理 的像素位于線性細(xì)節(jié)區(qū);步驟三、對(duì)于非噪聲像素,令其灰度值保持不變;對(duì)于噪聲像素,通過修改所述噪
聲像素的灰度值去除噪聲,其方法為 當(dāng)I巧 -一^( 8 ),則用所述灰度中值Λ 替換噪聲像素; 當(dāng)上式(8)不成立時(shí),用
替換噪聲像素,即用灰度中值及位于灰 度中值前后各N個(gè)灰度值的平均值替換噪聲像素, 式(8)中ε 3的取值范圍為 上述的技術(shù)方案中,本發(fā)明這種去除圖像噪聲的方法,將所述處理單元內(nèi)的灰度 值按照從小到大進(jìn)行排序,根據(jù)最大的灰度值與最小的灰度值之差與所設(shè)定的閾值ε的 關(guān)系,判斷是否為噪聲像素;將大于閾值ε的像素利用幻方編碼判斷是否位于線性細(xì)節(jié) 區(qū),其基本原理為首先判斷待處理的像素的灰度值與所述處理單元內(nèi)最大的灰度值或最 小的灰度值之差與所設(shè)定的閾值ε工的關(guān)系,若小于所設(shè)定的閾值S1,說明待處理的像素 的灰度值與最小的灰度值或者最大的灰度值接近;然后判斷待處理的像素的灰度值與排序 后的灰度序列中第(2Ν+1)個(gè)或者倒數(shù)第(2Ν+1)個(gè)灰度值之差與所設(shè)定的閾值ε 2的關(guān)系, 若小于所設(shè)定的閾值ε 2,說明則待處理的像素位于排序后的灰度值序列中前(2Ν+1)個(gè)或 者后(2Ν+1)個(gè);最后判斷排序后的幻方編碼序列中的前(2Ν+1)或者后(2Ν+1)的幻方編碼 之和與幻和的關(guān)系,若等于幻和,說明排序后的前(2Ν+1)或者后(2Ν+1)個(gè)像素恰好位于一 條過待處理的像素點(diǎn)的直線上,則該待處理的像素位于線形細(xì)節(jié)區(qū)。采用本發(fā)明所產(chǎn)生的有益效果是(1)對(duì)以待處理像素為中心的(2Ν+1) X (2Ν+1)的圖像塊進(jìn)行幻方編碼,根據(jù)待處 理的像素與其鄰域像素幻方編碼及灰度值的關(guān)系,判斷其是否為噪聲,這樣,在降低噪聲的 同時(shí)盡可能地保留了圖像細(xì)節(jié),而且加快了程序的執(zhí)行速度。(2)由于本發(fā)明不是簡(jiǎn)單地使用噪聲像素鄰域內(nèi)像素的灰度中值對(duì)噪聲進(jìn)行替 換,而是根據(jù)灰度中值與灰度最大值和最小值的平均值之間的差異情況選擇合適的值替換 噪聲像素,使得圖像的去噪效果更好,減少了因去除圖像噪聲處理造成的圖像模糊的現(xiàn)象。
圖1是本發(fā)明基于幻方編碼的中值濾波方法的處理流程圖;圖2是本發(fā)明替換噪聲像素方法的流程圖;圖3是所述處理單元內(nèi)像素位置的幻方編碼序列;圖4是圖3所對(duì)應(yīng)像素的灰度值序列;圖5是3階幻方的幻方編碼序列樣例;圖6是5階幻方的幻方編碼序列樣例。
具體實(shí)施例方式基于幻方編碼的中值濾波方法的處理流程,參見圖1和圖2,其按照以下步驟處 理步驟101,讀取圖像中各像素的坐標(biāo)和灰度值并存儲(chǔ)。本步驟中,存儲(chǔ)的方法可以與現(xiàn)有技術(shù)相同,可以存儲(chǔ)到函數(shù)f(x,y)中,將各個(gè) 像素的灰度值與坐標(biāo)值對(duì)應(yīng)存儲(chǔ)。
步驟102,取以待處理的像素為中心的(2N+1) X (2N+1)的圖像塊為處理單元,對(duì) 所述處理單元內(nèi)的像素所處位置按照幻方進(jìn)行編碼,得到的幻方編碼序列為{PijPu,…, P2N+1.2N' Pmi,mJ,所述幻方編碼序列對(duì)應(yīng)的灰度值序列為Iaia,
aI,2'…,a2N+l,2N' a2N+l,2N+lJ ‘
其中N為自然數(shù),Py為(i,j)位置處的幻方編碼,為(i,j)位置處的灰度值,所述幻 方編碼序列和對(duì)應(yīng)的灰度值序列參見圖3和圖4。圖5和圖6是3階幻方和5階幻方的幻 方編碼序列樣例。步驟103,將所述處理單元內(nèi)像素的灰度值按照從小到大進(jìn)行排序,設(shè)排序后的灰 度值序列為{w.,\華,.·,,aie丨,所述排序后的灰度值序列中各灰度值所對(duì)應(yīng)的像 素在所述處理單元中所處的位置序列為U1, ifi(e+1)/2…‘” ij,所述位置序列對(duì)應(yīng)的排
序后的幻方編碼序列為{PwndUi},所述 e = (2N+1) X (2N+1),所述β 為最 小的灰度值,氣為最大的灰度值,為灰度中值。步驟104,判斷待處理的像素是否為噪聲像素當(dāng)氣^1KS,式中所述ε的取值 aie ~ah
范圍為
a -a
le'1
~4~
2
,則待處理的像素是非噪聲像素,其灰度值保持不變,轉(zhuǎn)步驟
107 ;當(dāng)上式不成立時(shí),則待處理像素可能為噪聲像素,也可能是否位于線性細(xì)節(jié)區(qū),需 對(duì)待處理的像素進(jìn)一步判斷,執(zhí)行步驟105。步驟105,判斷待處理的像素是否位于線性細(xì)節(jié)區(qū)根據(jù)下述公式(2)至(4)是否同時(shí)成立或者(5)至(7)是否同時(shí)成立來判斷待處 理的像素是否位于線性細(xì)節(jié)區(qū)
式中,aM為待處理的像素灰度值 (
ε!的取值范圍為 ε 2的取值范圍為
當(dāng)公式(2)、(3)和(4)同時(shí)成立或者公式(5)、(6)和(7)同時(shí)成立時(shí),則待處理 的像素位于線性細(xì)節(jié)區(qū)。當(dāng)公式(2)成立,說明待處理的像素的灰度值較小,接近于最小的灰度值。公式 (3)成立,說明待處理的像素的灰度值與排序后的灰度值序列中的前(2N+1)個(gè)像素的灰度 值比較接近,而且都比較小。如果公式(2)和公式(3)都成立,說明①待處理的像素的灰 度值位于前(2N+1)個(gè)像素中;②前(2N+1)個(gè)像素灰度值較接近;③前(2N+1)個(gè)像素比其 它像素的灰度值都小。若公式(4)也成立,根據(jù)幻方編碼,說明排序后的灰度值序列中的前 (2N+1)個(gè)像素點(diǎn)恰好位于一條經(jīng)過待處理的像素的直線上,則待處理的像素位于線形細(xì)節(jié) 區(qū)。其中,公式(4)的引入,減少了對(duì)線性細(xì)節(jié)區(qū)判斷的計(jì)算次數(shù)。因?yàn)椴捎霉?4), 其運(yùn)算次數(shù)為(2N+1)次;若不用公式(4),要判斷排序后的前(2N+1)個(gè)像素是否位于過待 處理的像素的直線上,需先查找灰度值為A的像素所在的位置,考慮到最好的(僅需1次) 和最壞(需(2N+1) X (2N+1)-1次)的情況,平均需要(2N+1) X (2N+1) /2次運(yùn)算;再在余下 的2N個(gè)位置處,查找灰度值為汽的像素所在的位置,平均需要(2N) X (2N)/2次運(yùn)算;到此 為止,所需的平均計(jì)算次數(shù)已遠(yuǎn)超過2N次,而后續(xù)還需很多計(jì)算和判斷工作。由此可見,采 用公式(4)后,計(jì)算次數(shù)大大降低了。同理,公式(5)成立,說明待處理的像素的灰度值較大,接近于最大的灰度值。公 式(6)成立,說明待處理的像素的灰度值與排序后的灰度值序列中的后(2N+1)個(gè)像素的灰 度值比較接近,而且都比較大。如果公式(5)和公式(6)都成立,說明①待處理的像素的 灰度值位于排序后的灰度值序列的后(2N+1)個(gè)像素中;②所述的后(2N+1)個(gè)像素灰度值 較接近;③所述后(2N+1)個(gè)像素點(diǎn)比其它像素點(diǎn)灰度值都大。若公式(7)成立,根據(jù)幻方 編碼,說明排序后的灰度值序列中的后(2N+1)個(gè)像素點(diǎn)恰好位于一條經(jīng)過待處理的像素 的直線上,則待處理的像素位于線形細(xì)節(jié)區(qū)。步驟106,通過修改所述噪聲像素的灰度值去除噪聲,參看圖2,其方法為若 a +a;
\at __^^ |<。,說明灰度中值與灰度最大值和最小值的平均值差異較小,
1 l(e+l)/22J
ι (e+l)/2+N
則用中值“替換噪聲像素;否則,用U Σ 、替換;其中,h的取值范圍為
\λ (e+l)/2+N
‘——Γ Σ 的物理意義是中值及位于中值前、后各N個(gè)灰度 J 2Ν + 1 j=(e+l)/2-N J
值的平均值。步驟107,判斷是否還有未讀取的像素,如果有,則返回步驟101,讀取下一個(gè)像 素;否則結(jié)束處理流程。本發(fā)明可以對(duì)整幅圖像實(shí)施去噪處理,也可以根據(jù)需要,選擇圖像中的某個(gè)區(qū)域 實(shí)施去噪處理。處理過程完全相同,只是所處理的范圍大小不盡相同。上述實(shí)施例的處理流程也適用偶數(shù)階幻方。由上述實(shí)施例可見,本發(fā)明這種去除圖像噪聲的方法,對(duì)可能作為噪聲像素處理 的像素進(jìn)行了是否位于線性細(xì)節(jié)區(qū)的判斷,不會(huì)造成線性細(xì)節(jié)區(qū)內(nèi)的像素缺失,確保圖像
/aIe信息完整;對(duì)線性細(xì)節(jié)區(qū)內(nèi)的像素采用幻方編碼的方法進(jìn)行判斷,只需進(jìn)行2N次運(yùn)算和通 過比較的方式執(zhí)行公式(2)、(3)和(4)或者(5)、(6)和(7)即可,計(jì)算量小;根據(jù)灰度中 值與灰度最大值和最小值的平均值之間的差異情況選擇合適的值替換噪聲像素,使得圖像 的去噪效果更好,減少了因去除圖像噪聲處理造成的圖像模糊的現(xiàn)象。
權(quán)利要求
一種基于幻方編碼的中值濾波方法,其特征在于,按照以下步驟處理步驟一、讀取圖像中各像素的坐標(biāo)和灰度值;步驟二、遍歷圖像,采用基于幻方編碼的方法判斷各像素是否為噪聲像素a.取以待處理的像素為中心的(2N+1)×(2N+1)的圖像塊為處理單元,對(duì)所述處理單元內(nèi)的像素所處位置按照幻方進(jìn)行編碼,得到的幻方編碼序列為{p1,1,p1,2,…,p2N+1,2N,p2N+1,2N+1},所述幻方編碼序列對(duì)應(yīng)的灰度值序列為{a1,1,a1,2,…,a2N+1,2N,a2N+1,2N+1},其中N為自然數(shù),pi,j為(i,j)位置處的幻方編碼,ai,j為(i,j)位置處的灰度值;b.將所述處理單元內(nèi)像素的灰度值按照從小到大進(jìn)行排序,設(shè)排序后的灰度值序列為所述排序后的灰度值序列中各灰度值所對(duì)應(yīng)的像素在所述處理單元中所處的位置序列為{i1,i2…i(e+1)/2…ie 1,ie},所述位置序列對(duì)應(yīng)的排序后的幻方編碼序列為在上述序列中,e=(2N+1)×(2N+1)為最小的灰度值為最大的灰度值為灰度中值;c.當(dāng)則待處理的像素是非噪聲像素,式(1)中ε的取值范圍為當(dāng)式(1)不成立時(shí),根據(jù)下述公式(2)至(4)或者(5)至(7)是否同時(shí)成立來判斷待處理的像素是否位于線性細(xì)節(jié)區(qū) <mrow><msub> <mi>a</mi> <mi>M</mi></msub><mo>-</mo><msub> <mi>a</mi> <msub><mi>i</mi><mn>1</mn> </msub></msub><mo><</mo><msub> <mi>ϵ</mi> <mn>1</mn></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo></mrow> </mrow> <mrow><msub> <mi>a</mi> <msub><mi>i</mi><mrow> <mn>2</mn> <mi>N</mi> <mo>+</mo> <mn>1</mn></mrow> </msub></msub><mo>-</mo><msub> <mi>a</mi> <msub><mi>i</mi><mn>1</mn> </msub></msub><mo><</mo><msub> <mi>ϵ</mi> <mn>2</mn></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo></mrow> </mrow> <mrow><munderover> <mi>Σ</mi> <mrow><mi>j</mi><mo>=</mo><mn>1</mn> </mrow> <mrow><mn>2</mn><mi>N</mi><mo>+</mo><mn>1</mn> </mrow></munderover><msub> <mi>p</mi> <msub><mi>i</mi><mi>j</mi> </msub></msub><mo>=</mo><mo>=</mo><mi>Q</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo></mrow> </mrow> <mrow><msub> <mi>a</mi> <msub><mi>i</mi><mi>e</mi> </msub></msub><mo>-</mo><msub> <mi>a</mi> <mi>M</mi></msub><mo><</mo><msub> <mi>ϵ</mi> <mn>1</mn></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo></mrow> </mrow> <mrow><msub> <mi>a</mi> <msub><mi>i</mi><mi>e</mi> </msub></msub><mo>-</mo><msub> <mi>a</mi> <msub><mi>i</mi><mrow> <mi>e</mi> <mo>-</mo> <mn>2</mn> <mi>N</mi></mrow> </msub></msub><mo><</mo><msub> <mi>ϵ</mi> <mn>2</mn></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo></mrow> </mrow> <mrow><munderover> <mi>Σ</mi> <mrow><mi>j</mi><mo>=</mo><mi>e</mi><mo>-</mo><mn>2</mn><mi>N</mi> </mrow> <mi>e</mi></munderover><msub> <mi>p</mi> <msub><mi>i</mi><mi>j</mi> </msub></msub><mo>=</mo><mo>=</mo><mi>Q</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo></mrow> </mrow>式中,aM為待處理的像素灰度值ε1的取值范圍為Q為幻和,ε2的取值范圍為當(dāng)公式(2)、(3)和(4)同時(shí)成立或者公式(5)、(6)和(7)同時(shí)成立時(shí),則待處理的像素位于線性細(xì)節(jié)區(qū);步驟三、對(duì)于非噪聲像素,令其灰度值保持不變;對(duì)于噪聲像素,通過修改所述噪聲像素的灰度值去除噪聲,其方法為當(dāng)則用所述灰度中值替換噪聲像素;當(dāng)上式(8)不成立時(shí),用替換噪聲像素,即用灰度中值及位于灰度中值前后各N個(gè)灰度值的平均值替換噪聲像素,式(8)中ε3的取值范圍為FSA00000149037600011.tif,FSA00000149037600012.tif,FSA00000149037600013.tif,FSA00000149037600014.tif,FSA00000149037600015.tif,FSA00000149037600016.tif,FSA00000149037600017.tif,FSA00000149037600026.tif,FSA00000149037600027.tif,FSA00000149037600028.tif,FSA00000149037600029.tif,FSA000001490376000210.tif,FSA000001490376000211.tif,FSA000001490376000212.tif
2.根據(jù)權(quán)利要求1所述的基于幻方編碼的中值濾波方法,其特征在于所述圖像為整幅 圖像或者圖像的一個(gè)區(qū)域。
全文摘要
本發(fā)明公開了一種基于幻方編碼的中值濾波方法,其包括以下步驟步驟一、讀取圖像中各像素的坐標(biāo)和灰度值;步驟二、遍歷圖像,采用基于幻方編碼的方法判斷各像素是否為噪聲像素或者是否位于線性細(xì)節(jié)區(qū);步驟三、對(duì)于非噪聲像素,令其灰度值保持不變,對(duì)于噪聲像素,通過修改所述噪聲像素的灰度值去除噪聲。采用本發(fā)明對(duì)可能作為噪聲像素處理的像素進(jìn)行了是否位于線性細(xì)節(jié)區(qū)的判斷,不會(huì)造成線性細(xì)節(jié)區(qū)內(nèi)的像素缺失,確保圖像信息完整;對(duì)線性細(xì)節(jié)區(qū)內(nèi)的像素采用幻方編碼的方法進(jìn)行判斷,計(jì)算量??;根據(jù)灰度中值與灰度最大值和最小值的平均值之間的差異情況選擇合適的值替換噪聲像素,減少了因去除圖像噪聲處理造成的圖像模糊的現(xiàn)象。
文檔編號(hào)G06T5/00GK101908205SQ201010195070
公開日2010年12月8日 申請(qǐng)日期2010年6月9日 優(yōu)先權(quán)日2010年6月9日
發(fā)明者張有會(huì), 楊會(huì)云, 楊芳芳, 王志巍, 趙金, 霍利嶺 申請(qǐng)人:河北師范大學(xué)