亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

每日一練之自適應中值濾波器(基于OpenCV實現)

2019-11-10 17:02:40
字體:
來源:轉載
供稿:網友

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

空間濾波器

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

一個鄰域,濾波器進行操作的像素集合,通常是一個矩形區域對鄰域中像素進行的操作

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

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

線性濾波器非線性濾波器

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

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

中值濾波器 Median Filter

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

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

自適應中值濾波器 Adaptive Median Filter

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

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

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

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

自使用中值濾波算法描述

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

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

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

自適應中值濾波器有兩個處理過程,分別記為:A和B。 A : A1 = Zmed?Zmin A2 = Zmed?Zmax 如果A1 > 0 且 A2 < 0,跳轉到 B; 否則,增大窗口的尺寸 如果增大后窗口的尺寸 ≤Smax,則重復A過程。 否則,輸出Zmed

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

自適應中值濾波原理說明

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

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

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

實現

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

int minSize = 3; // 濾波器窗口的起始尺寸 int maxSize = 7; // 濾波器窗口的最大尺寸 Mat im1; // 擴展圖像的邊界 copyMakeBorder(im, im1, maxSize / 2, maxSize / 2, maxSize / 2, maxSize / 2, BorderTypes::BORDER_REFLECT); // 圖像循環 for (int j = maxSize / 2; j < im1.rows - maxSize / 2; j++) { for (int i = maxSize / 2; i < im1.cols * im1.channels() - maxSize / 2; i++) { im1.at<uchar>(j, i) = adaptivePRocess(im1, j, i, minSize, maxSize); } }

首先定義濾波器最小的窗口尺寸以及最大的窗口尺寸。 要進行濾波處理,首先要擴展圖像的邊界,以便對圖像的邊界像素進行處理。copyMakeBorder根據選擇的BorderTypes使用不同的值擴充圖像的邊界像素,具體可參考OpenCV的文檔信息。 下面就是遍歷圖像的像素,對每個像素進行濾波處理。需要注意一點,不論濾波器多么的復雜,其每次的濾波過程,都是值返回一個值,來替換掉當前窗口的中心的像素值。函數adpativeProcess就是對當前像素的濾波過程,其代碼如下:

uchar adaptiveProcess(const Mat &im, int row,int col,int kernelSize,int maxSize){ vector<uchar> pixels; for (int a = -kernelSize / 2; a <= kernelSize / 2; a++) for (int b = -kernelSize / 2; b <= kernelSize / 2; b++) { pixels.push_back(im.at<uchar>(row + a, col + b)); } sort(pixels.begin(), pixels.end()); auto min = pixels[0]; auto max = pixels[kernelSize * kernelSize - 1]; auto med = pixels[kernelSize * kernelSize / 2]; auto zxy = im.at<uchar>(row, col); if (med > min && med < max) { // to B if (zxy > min && zxy < max) return zxy; else return med; } else { kernelSize += 2; if (kernelSize <= maxSize) return adpativeProcess(im, row, col, kernelSize, maxSize); // 增大窗口尺寸,繼續A過程。 else return med; }}

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

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

結果對比

這里寫圖片描述 左邊是添加概率為0.2的椒鹽噪聲,右邊是原圖。下面是使用常規的中值濾波和本文實現的自適應中值濾波器后的處理結果

這里寫圖片描述

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

下面測試更大概率噪聲下,兩種濾波器的工作情況。噪聲概率為0.4時, 這里寫圖片描述 可以看出,常規的中值濾波器已經不能很好的過濾掉噪聲,而自適應的中值濾波還可以勝任。

中值濾波器總結

中值濾波器能夠很好的濾除“椒鹽”噪聲。椒鹽噪聲是在圖像上隨機出現的孤立點,根據中值濾波器的原理,使用鄰域像素的中值代替原像素,能夠有效的消除這些孤立的噪聲點。和均值濾波器相比,中值濾波在消除噪聲的同時,還能在很大程度保護圖像的細節,不會造成很大的模糊。和常規的中值濾波器相比,自適應中值濾波器能夠更好的保護圖像中的邊緣細節部分。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91在线播放国产| 精品性高朝久久久久久久| 欧美一级片免费在线| 亚洲精品福利资源站| 国产精品jvid在线观看蜜臀| 欧美激情一二三| 亚洲精品国产品国语在线| 久久国产精品99国产精| 日韩电视剧在线观看免费网站| 91理论片午午论夜理片久久| 精品国产乱码久久久久酒店| 在线一区二区日韩| 亚洲级视频在线观看免费1级| 亚洲欧美日韩精品久久亚洲区| 91福利视频网| 中文字幕视频在线免费欧美日韩综合在线看| 91av在线网站| 欧美国产中文字幕| 亚洲精品在线观看www| 亚洲欧美一区二区三区在线| 国产有码在线一区二区视频| 91av视频在线观看| 亚洲毛片在线免费观看| 国产成人在线一区二区| 91香蕉亚洲精品| 日本亚洲欧洲色| 久久精品成人动漫| 亚洲人线精品午夜| 国产91精品最新在线播放| 日韩女优在线播放| 最新国产成人av网站网址麻豆| 国内精品一区二区三区| 欧美孕妇性xx| 91精品国产一区| 国产一区二区在线免费| 国产精品永久免费观看| 成人免费高清完整版在线观看| 国产精品中文字幕在线观看| 亚洲精品欧美极品| 日韩精品免费综合视频在线播放| 日日狠狠久久偷偷四色综合免费| 国产精品久久久999| 久久久亚洲影院| 色偷偷噜噜噜亚洲男人的天堂| 精品视频久久久| 久久国产精品免费视频| 成人激情av在线| 国产一区视频在线| 日韩在线视频观看| 国产精品高清在线| 亚洲性av网站| 欧美成人激情视频免费观看| 欧美第一黄网免费网站| 欧美日韩人人澡狠狠躁视频| 亚洲视频专区在线| 亚洲国模精品私拍| 自拍亚洲一区欧美另类| 亚洲色图第一页| 亚洲精品国产综合区久久久久久久| 亚洲美女福利视频网站| 久久久免费高清电视剧观看| 欧美一乱一性一交一视频| 成人免费自拍视频| 国产精品1234| 亚洲欧美国产精品专区久久| 欧美亚洲另类视频| 久久九九免费视频| 日韩成人中文字幕| 国产精品99久久久久久久久久久久| 精品中文字幕久久久久久| 欧美激情精品久久久久久蜜臀| 欧美激情视频在线免费观看 欧美视频免费一| 中文字幕精品国产| 午夜精品蜜臀一区二区三区免费| 日本韩国欧美精品大片卡二| 性欧美xxxx视频在线观看| 欧美激情国产高清| 在线观看亚洲视频| 亚洲男人天堂网站| 日韩天堂在线视频| 久久久国产精品一区| 中文字幕免费国产精品| www.午夜精品| 在线免费观看羞羞视频一区二区| 亚洲男人天堂2019| 在线观看日韩www视频免费| 日韩高清欧美高清| 日韩美女视频免费在线观看| 国产在线拍揄自揄视频不卡99| 国产免费久久av| 国产精品一区二区三区久久| www.亚洲男人天堂| 欧美激情二区三区| 亚洲第一视频网| 福利精品视频在线| 中文字幕日韩欧美在线视频| 日韩av电影手机在线观看| 韩国精品久久久999| 国产精品久久一| 97精品视频在线| 国产精品视频久久久久| 亚洲国产福利在线| 国产精品亚洲欧美导航| 国产一区二区在线播放| 欧美激情按摩在线| 欧美激情亚洲视频| 国产精品欧美一区二区| 国产精品入口日韩视频大尺度| 欧美日韩成人免费| 欧美黄色成人网| 91精品国产综合久久久久久蜜臀| 久久不射热爱视频精品| 精品久久中文字幕久久av| 狠狠色噜噜狠狠狠狠97| 国语自产精品视频在线看抢先版图片| 欧美电影电视剧在线观看| 欧美中文字幕在线| 日本午夜在线亚洲.国产| 精品成人久久av| 日韩精品欧美国产精品忘忧草| 色樱桃影院亚洲精品影院| 久久噜噜噜精品国产亚洲综合| 欧美亚洲午夜视频在线观看| 国产精品自产拍在线观看中文| 久久艳片www.17c.com| 91精品国产色综合久久不卡98口| 欧美午夜精品久久久久久久| 国产精品老女人视频| 色香阁99久久精品久久久| 亚洲精品天天看| 久久亚洲精品国产亚洲老地址| 国产亚洲视频在线| 久久久久久久久久国产| 亚洲天堂av在线免费| 国产999在线| 国产精品视频在线观看| 亚洲国产成人精品一区二区| 欧美激情国产日韩精品一区18| 亚洲天堂视频在线观看| 午夜免费久久久久| 精品小视频在线| 97国产一区二区精品久久呦| 亚洲国产中文字幕在线观看| 亚洲第一区第二区| 茄子视频成人在线| 国产亚洲欧美一区| 91精品国产色综合久久不卡98口| 中文字幕亚洲一区在线观看| 国产精品v片在线观看不卡| 久久九九全国免费精品观看| 欧美另类第一页| 日本欧美一二三区| 日本一区二区不卡| 国产丝袜精品视频| 成人在线激情视频| 欧美电影免费观看电视剧大全| 日韩av色综合| 粉嫩av一区二区三区免费野| 久久免费视频这里只有精品| 久久夜精品香蕉| 55夜色66夜色国产精品视频| 91精品视频播放| 国产精品爱啪在线线免费观看| 国产成人精品一区|