图像平滑
- 消除或减少噪声污染,实际上为低通滤波,允许信号低频成分通过,阻截高频成分。注意,边缘属于高频成分,所以平滑会导致图像的模糊。
- 常见算法:线性平滑,非线性平滑,自适应平滑。
邻域平均法(均值滤波)
利用邻域平均或加权平均抑制噪声污染。
邻域平均
g(x,y)=1M∑i,j∈sf(i,j)
加权平均
g(x,y)=1M∑i,j∈sw(i,j)f(i,j)1M∑i,j∈sw(i,j)=1
Box模版
19⎛⎝⎜⎜11111⋅1111⎞⎠⎟⎟高斯模版
高斯平滑滤波器对于抑制服从正态分布的噪声非常有效。二维高斯函数
G(x,y)=12πσ2e−x2+y22σ2- Gauss模版
σ=1/2,T=3
116⎛⎝⎜⎜12124⋅2121⎞⎠⎟⎟
code
clear all
load ('lena512.mat');
pic=uint8(lena512);
temp=1/9*[1,1,1;1,1,1;1,1,1];
% temp=1/16*[1,2,1;2,4,2;1,2,1];
picFilter=lowFilter(temp,pic);
subplot(121)
imshow(pic)
title('original image')
subplot(122)
imshow(picFilter)
% title('Gauss filter image')
title('Box filter image')
function [picFilter]=lowFilter(temp,pic)
[mm,nn]=size(temp);
mmid=(mm-1)/2;
nmid=(nn-1)/2;
[m,n]=size(pic);
mp=m+2*mmid;
np=n+2*nmid;
picPad=zeros(mp,np);
picPad(mmid+1:mp-mmid,nmid+1:np-nmid)=pic;
for i=mmid+1:mp-mmid
for j=nmid+1:np-nmid
picFilter(i-mmid,j-nmid)=uint8(sum(sum(picPad(i-mmid:i+mmid,j-nmid:j+nmid).*temp)));
end
end
end