0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

圖像處理基礎自適應中值濾波器(基于OpenCV實現(xiàn))

Dbwd_Imgtec ? 來源:未知 ? 作者:鄧佳佳 ? 2018-03-05 17:02 ? 次閱讀

前言

本文主要介紹了自適應的中值濾波器,并基于OpenCV實現(xiàn)了該濾波器,并且將自適應的中值濾波器和常規(guī)的中值濾波器對不同概率的椒鹽噪聲的過濾效果進行了對比。最后,對中值濾波器的優(yōu)缺點了進行了總結。

空間濾波器

一個空間濾波器包括兩個部分:

? 一個鄰域,濾波器進行操作的像素集合,通常是一個矩形區(qū)域

? 對鄰域中像素進行的操作

一個濾波器就是在選定的鄰域像素上執(zhí)行預先定義好的操作產(chǎn)生新的像素,并用新的像素替換掉原來像素形成新的圖像。通常,也可以將濾波器稱之為核(kernel),模板(template)或者窗口(window)。

根據(jù)預定義的操作,可以將濾波器分為:

? 線性濾波器? 非線性濾波器

而根據(jù)濾波器最終對圖像造成的影響,可以將濾波器分為:

? 平滑濾波器 ,通常用于模糊圖像或者去除圖像中的噪聲? 銳化濾波器,突出圖像中的邊緣細節(jié)部分

中值濾波器 Median Filter

中值濾波器是一種常用的非線性濾波器,其基本原理是選擇待處理像素的一個鄰域中各像素值的中值來代替待處理的像素,其主要功能是像素的灰度值與周圍像素比較接近,從而消除孤立的噪聲點,所以中值濾波器能夠很好的消除椒鹽噪聲。不僅如此,中值濾波器在消除噪聲的同時,還能有效的保護圖像的邊界信息,不會對圖像造成很大的模糊(相比于均值濾波器)。

中值濾波器的效果受濾波窗口尺寸的影響較大,在消除噪聲和保護圖像的細節(jié)存在著矛盾:濾波窗口較小,則能很好的保護圖像中的某些細節(jié),但對噪聲的過濾效果就不是很好;反之,窗口尺寸較大有較好的噪聲過濾效果,但是會對圖像造成一定的模糊。另外,根據(jù)中值濾波器原理,如果在濾波窗口內的噪聲點的個數(shù)大于整個窗口內像素的個數(shù),則中值濾波就不能很好的過濾掉噪聲。

自適應中值濾波器 Adaptive Median Filter

上面提到常規(guī)的中值濾波器,在噪聲的密度不是很大的情況下(根據(jù)經(jīng)驗,噪聲的出現(xiàn)的概率小于0.2),效果不錯。但是當概率出現(xiàn)的概率較高時,常規(guī)的中值濾波的效果就不是很好了。有一個選擇就是增大濾波器的窗口大小,這雖然在一定程度上能解決上述的問題,但是會給圖像造成較大的模糊。

常規(guī)的中值濾波器的窗口尺寸是固定大小不變的,就不能同時兼顧去噪和保護圖像的細節(jié)。這時就要尋求一種改變,根據(jù)預先設定好的條件,在濾波的過程中,動態(tài)的改變?yōu)V波器的窗口尺寸大小,這就是自適應中值濾波器 Adaptive Median Filter。在濾波的過程中,自適應中值濾波器會根據(jù)預先設定好的條件,改變?yōu)V波窗口的尺寸大小,同時還會根據(jù)一定的條件判斷當前像素是不是噪聲,如果是則用鄰域中值替換掉當前像素;不是,則不作改變。

自適應中值濾波器有三個目的:

? 濾除椒鹽噪聲? 平滑其他非脈沖噪聲? 盡可能的保護圖像中細節(jié)信息,避免圖像邊緣的細化或者粗化。

自使用中值濾波算法描述

自適應濾波器不但能夠濾除概率較大的椒鹽噪聲,而且能夠更好的保護圖像的細節(jié),這是常規(guī)的中值濾波器做不到的。自適應的中值濾波器也需要一個矩形的窗口SxySxy,和常規(guī)中值濾波器不同的是這個窗口的大小會在濾波處理的過程中進行改變(增大)。需要注意的是,濾波器的輸出是一個像素值,該值用來替換點(x,y)(x,y)處的像素值,點(x,y)(x,y)是濾波窗口的中心位置。

在描述自適應中值濾波器時需要用到如下的符號:

? Zmin= Sxy中的最小灰度值? Zmax= Sxy中的最大灰度值? Zmed= Sxy中的灰度值的中值? Zxy表示坐標(x,y)處的灰度值? Smax= Sxy允許的最大窗口尺寸

自適應中值濾波器有兩個處理過程,分別記為:A和B。

A:A1 = Zmed? ZminA2 = Zmed? Zmax如果A1 > 0 且 A2 < 0,跳轉到 B;否則,增大窗口的尺寸如果增大后窗口的尺寸 ≤Smax,則重復A過程。否則,輸出Zmed

B:B1 = Zxy? ZminB2 = Zxy? Zmax如果B1 > 0 且 B2 < 0,則輸出Zxy否則輸出Zmed

自適應中值濾波原理說明

過程A的目的是確定當前窗口內得到中值ZmedZmed是否是噪聲。如果Zmin< Zmed?< Zmax,則中值Zmed不是噪聲,這時轉到過程B測試,當前窗口的中心位置的像素Zxy是否是一個噪聲點。如果Zmin?< Zxy?< Zmax,則Zxy不是一個噪聲,此時濾波器輸出Zxy;如果不滿足上述條件,則可判定Zxy是噪聲,這是輸出中值Zmed(在A中已經(jīng)判斷出Zmed不是噪聲)。

如果在過程A中,得到則Zmed不符合條件Zmin< Zmed?< Zmax,則可判斷得到的中值Zmed是一個噪聲。在這種情況下,需要增大濾波器的窗口尺寸,在一個更大的范圍內尋找一個非噪聲點的中值,直到找到一個非噪聲的中值,跳轉到B;或者,窗口的尺寸達到了最大值,這時返回找到的中值,退出。

從上面分析可知,噪聲出現(xiàn)的概率較低,自適應中值濾波器可以較快的得出結果,不需要去增加窗口的尺寸;反之,噪聲的出現(xiàn)的概率較高,則需要增大濾波器的窗口尺寸,這也符合種中值濾波器的特點:噪聲點比較多時,需要更大的濾波器窗口尺寸。

實現(xiàn)

有了算法的詳細描述,借助于OpenCV對圖像的讀寫,自適應中值濾波器實現(xiàn)起來也不是很困難。

首先定義濾波器最小的窗口尺寸以及最大的窗口尺寸。

要進行濾波處理,首先要擴展圖像的邊界,以便對圖像的邊界像素進行處理。copyMakeBorder根據(jù)選擇的BorderTypes使用不同的值擴充圖像的邊界像素,具體可參考OpenCV的文檔信息。

下面就是遍歷圖像的像素,對每個像素進行濾波處理。需要注意一點,不論濾波器多么的復雜,其每次的濾波過程,都是值返回一個值,來替換掉當前窗口的中心的像素值。函數(shù)adpativeProcess就是對當前像素的濾波過程,其代碼如下:

首先,根據(jù)當前窗口的大小,取得所有像素值存放到vector中,然后對vector進行排序,取得像素的最小值、最大值和中值。然后測試當前取得的中值是否在(min,max)之間,如果是,則中值不是噪聲點,則開始對當前像素值進行處理,判斷其是否是噪聲點。如果,測試當前已取得的中值是噪聲點,則擴大窗口的尺寸,在更大的空間中重新尋找中值。

上面自適應中值濾波器實現(xiàn)起來比較簡單,所以問題就來了:效率及其的低下。這里,這是對自適應中值濾波器的原理的學習,可以忽略這個不必要的細節(jié)。

結果對比

左邊是添加概率為0.2的椒鹽噪聲,右邊是原圖。下面是使用常規(guī)的中值濾波和本文實現(xiàn)的自適應中值濾波器后的處理結果

左邊是自適應中值濾波器(最小窗口為3,最大窗口為7)的結果,右圖是常規(guī)中值濾波器(窗口大小為5)的結果??梢钥闯?,無論是中值濾波還是自適應的中值濾波,都能過濾掉圖像中的噪聲,自適應中值濾波器的效果要好些,常規(guī)的還有一些噪聲沒有過濾掉。而且,常規(guī)的中值濾波器對圖像造成的模糊較明顯,而自適應中值濾波器很好的的保存了圖像中的細節(jié)。

下面測試更大概率噪聲下,兩種濾波器的工作情況。噪聲概率為0.4時,

可以看出,常規(guī)的中值濾波器已經(jīng)不能很好的過濾掉噪聲,而自適應的中值濾波還可以勝任。

中值濾波器總結

中值濾波器能夠很好的濾除“椒鹽”噪聲。椒鹽噪聲是在圖像上隨機出現(xiàn)的孤立點,根據(jù)中值濾波器的原理,使用鄰域像素的中值代替原像素,能夠有效的消除這些孤立的噪聲點。

和均值濾波器相比,中值濾波在消除噪聲的同時,還能在很大程度保護圖像的細節(jié),不會造成很大的模糊。和常規(guī)的中值濾波器相比,自適應中值濾波器能夠更好的保護圖像中的邊緣細節(jié)部分。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 圖像處理
    +關注

    關注

    27

    文章

    1292

    瀏覽量

    56744
  • OpenCV
    +關注

    關注

    31

    文章

    635

    瀏覽量

    41347

原文標題:圖像處理基礎(2):自適應中值濾波器(基于OpenCV實現(xiàn))

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    濾波器的一些常識

    濾波器簡介:濾波器是一種用于信號處理的設備或系統(tǒng),用于改變信號的頻率特性,以實現(xiàn)信號的濾波、增強、去噪或降噪等功能。
    的頭像 發(fā)表于 12-18 17:05 ?176次閱讀
    <b class='flag-5'>濾波器</b>的一些常識

    分析濾波器在信號處理中應用

    濾波器在信號處理中的應用十分廣泛,其主要功能是從信號中去除不需要的頻率成分,保留所需的頻率成分,從而實現(xiàn)對信號的有效處理。以下是對濾波器在信
    的頭像 發(fā)表于 11-27 15:56 ?579次閱讀

    濾波器的基本原理、分類及實現(xiàn)方式

    濾波器是一種信號處理設備,用于從信號中去除不需要的頻率成分,保留所需的頻率成分。在信號處理中,濾波器起著至關重要的作用。 濾波器的基本原理
    的頭像 發(fā)表于 08-25 14:44 ?743次閱讀

    中值濾波窗口大小對結果影響有哪些

    中值濾波是一種常用的數(shù)字濾波技術,它通過將信號中的每個點用其鄰域內的中值替換來實現(xiàn)信號的平滑和去噪。中值
    的頭像 發(fā)表于 07-29 09:10 ?1063次閱讀

    如何區(qū)分IIR濾波器和FIR濾波器

    IIR(無限脈沖響應)濾波器和FIR(有限脈沖響應)濾波器是數(shù)字信號處理領域中兩種非常重要的濾波器類型。它們在許多應用中都發(fā)揮著關鍵作用,如音頻處理
    的頭像 發(fā)表于 07-19 09:44 ?4810次閱讀

    高通濾波器和低通濾波器判別方法

    高通濾波器和低通濾波器是信號處理領域中非常重要的兩種濾波器。它們在各種應用中都有廣泛的應用,如音頻處理、
    的頭像 發(fā)表于 07-15 11:15 ?1272次閱讀

    濾波器原理及其作用 濾波器電路圖分析

    濾波器是一種電子設備或算法,用于從信號中去除不需要的頻率成分,只保留所需的頻率成分。濾波器在許多領域都有廣泛應用,如通信、音頻處理、圖像處理
    的頭像 發(fā)表于 06-20 15:59 ?9196次閱讀
    <b class='flag-5'>濾波器</b>原理及其作用 <b class='flag-5'>濾波器</b>電路圖分析

    FPGA verilog HDL實現(xiàn)中值濾波

    paper的設計思想進行編程實現(xiàn); 整個中值濾波模塊分為幾個小的模塊:3*3窗口生成模塊、計數(shù)控制模塊、3*3中值
    發(fā)表于 06-18 18:50

    濾波器濾波的本質:信號時頻特性的選擇與處理|維愛普電源濾波器

    濾波器濾波的本質是信號的時頻特性處理,即根據(jù)信號中不同頻率成分的特性,對信號進行選擇性處理,以達到去除噪聲、干擾和雜波等目的,從而提高信號的質量和穩(wěn)定性。
    的頭像 發(fā)表于 06-11 11:05 ?450次閱讀
    <b class='flag-5'>濾波器</b><b class='flag-5'>濾波</b>的本質:信號時頻特性的選擇與<b class='flag-5'>處理</b>|維愛普電源<b class='flag-5'>濾波器</b>

    濾波器的類型介紹

    濾波器是電子系統(tǒng)中不可或缺的組成部分,其主要功能是對信號進行篩選和處理,使得特定頻率的信號能夠順利通過,而其它頻率的信號則被抑制或消除。在通信、音頻處理、圖像
    的頭像 發(fā)表于 05-21 15:42 ?1326次閱讀

    濾波器的定義、分類及應用

    濾波器,作為一種在電子和信號處理領域廣泛應用的設備,對于信號的傳輸和處理起到了至關重要的作用。無論是在音頻處理、無線通信、圖像
    的頭像 發(fā)表于 05-12 17:36 ?2234次閱讀

    高通濾波器、低通濾波器、帶通濾波器怎樣測幅頻特性?

    高通濾波器、低通濾波器、帶通濾波器怎樣測幅頻特性? 高通濾波器、低通濾波器和帶通濾波器是常用的
    的頭像 發(fā)表于 03-28 17:28 ?5150次閱讀

    OpenCV圖像卷積與濾波詳解

    圖像濾波器是一種用于增強或抑制圖像中特定特征的工具。它通常是一個小矩陣,定義了如何對圖像中的像素進行操作。
    的頭像 發(fā)表于 03-26 14:57 ?1578次閱讀
    <b class='flag-5'>OpenCV</b><b class='flag-5'>圖像</b>卷積與<b class='flag-5'>濾波</b>詳解

    中值濾波去除噪聲的原理

    中值濾波去除噪聲的原理? 中值濾波是一種數(shù)字圖像處理中常用的去噪方法,其原理是通過將每個像素周圍
    的頭像 發(fā)表于 03-14 16:54 ?1817次閱讀

    濾波器:信號處理中的重要利器!

    在現(xiàn)代信號處理領域,濾波器是一種至關重要的工具,它可以對信號進行處理、改善和增強,廣泛應用于通信、音頻處理圖像
    的頭像 發(fā)表于 03-07 13:53 ?851次閱讀