频率域滤波可以用空间域卷积来实现。
中值滤波(median filter)
概念
中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。作用
- 中值滤波对脉冲噪声有良好的滤除作用,特别是在滤除噪声的同时,能够保护信号的边缘,使之不被模糊。这些优良特性是线性滤波方法所不具有的。
- 中值滤波法对消除椒盐噪声非常有效,在光学测量条纹图象的相位分析处理方法中有特殊作用,但在条纹中心分析方法中作用不大.
因素
- 邻域空间范围。
- 中值计算中涉及像素数。
code
clear all
load ('lena512.mat');
pic=uint8(lena512);
pic=imnoise(pic,'salt & pepper',0.1);
N=3;
picFilter=lowFilter(N,pic);
subplot(121)
imshow(pic)
title('original image')
subplot(122)
imshow(picFilter)
title('media filter image')
function [picFilter]=lowFilter(N,pic)
Nmid=(N-1)/2;
[m,n]=size(pic);
for i=1:m
mb=i-Nmid;
me=i+Nmid;
if mb<1
mb=1;
end
if me>m
me=m;
end
for j=1:n
nb=j-Nmid;
ne=j+Nmid;
if nb<1
nb=1;
end
if ne>n
ne=n;
end
picFilter(i,j)=median(reshape(pic(mb:me,nb:ne),numel(pic(mb:me,nb:ne)),1));
end
end
picFilter=uint8(picFilter);
end