使用中值滤波器对图像降噪
生活随笔
收集整理的這篇文章主要介紹了
使用中值滤波器对图像降噪
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
中值濾波器:
?????基于排序統計理論的一種能有效抑制噪聲的非線性平滑濾波信號處理技術。中值濾波的特點即是首先確定一個以某個像素為中心點的鄰域,一般為方形鄰域,也可以為圓形、十字形等等,然后將鄰域中各像素的灰度值排序,取其中間值作為中心像素灰度的新值,這里領域被稱為窗口,當窗口移動時,利用中值濾波可以對圖像進行平滑處理。其算法簡單,時間復雜度低,但其對點、線和尖頂多的圖像不宜采用中值濾波。很容易自適應化。中值濾波對椒鹽噪聲抑制很好,對高斯噪聲抑制一般。?二維中值濾波可由下式表示:
程序代碼如下:?
clc %清除命令窗口的內容 close all %關閉所有的Figure窗口 clear all %清除工作空間的所有變量A = imread('Fig0507(a).tif'); figure,imshow(A),title('原圖像'); B = Impulse_noise(A,0.2,0.2);%加入椒鹽噪聲 figure,imshow(B),title('對原圖加上pa=0.2,pb=0.2的椒鹽噪聲后的圖像'); C=Median_Filter(B);%對圖像進行中值濾波 figure,imshow(C),title('使用大小為3×3的中值濾波器對圖像進行濾波的結果');中值濾波:
% 中值濾波 function v =Median_Filter(u) %中值濾波 u=im2double(u); [m,n] = size(u); v = zeros(m,n);for i = 2:m-1for j = 2:n-1A = [u(i-1,j-1),u(i-1,j),u(i-1,j+1),u(i,j-1),u(i,j),u(i,j+1),u(i+1,j-1),u(i+1,j),u(i+1,j+1)];v(i,j)=median(A); %取中值end endend實驗結果:?
?
使用中值濾波來處理椒鹽噪聲具有比較好的效果,因為中值濾波器是使用卷積模板的中值來代替像素值,而椒鹽噪聲的灰度值不是最小就是最大,所以它很容易被過濾掉。
通過實驗分析,中值濾波器在處理被椒鹽噪聲污染后的圖像后,依然存在一些噪聲,這是由于其噪聲概率密度較大的原因。標準中值濾波器使用圖像中相應領域的中值代替該圖像中的每一點,這會引起不必要的細節丟失。對第一次濾波后的圖像進行再一次的濾波處理,圖像將會變得光滑的許多,與原圖像相差不大。
?
?
總結
以上是生活随笔為你收集整理的使用中值滤波器对图像降噪的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL篇-创建视图
- 下一篇: Unity3d 内存管理那些事