www.pudn.com > 领域平均法与均值滤波.rar > average_filtering2.m
function average_filtering()
input_image=imread('d:\1\LENA128.bmp','bmp');
f=double(input_image);
input_image=im2double(input_image);
figure(10);
imshow(im2uint8(input_image));
noise_x=imnoise(input_image,'salt & pepper',0.02);
figure(15);
imshow(im2uint8(noise_x));
w=[1 2 1;2 4 2;1 2 1];
w=1/16*w;
[p,q]=size(w);
[m,n]=size(f);
for x=1:m
for y=1:n
if(x==1|y==1|x==m|y==n)
blur_f(x,y)=f(x,y);
else
blur_f(x,y)=w(1,1)*f(x-1,y-1)+w(1,2)*f(x-1,y)+w(1,3)*f(x-1,y+1)+w(2,1)*f(x,y-1)+w(2,2)*f(x,y)+w(2,3)*f(x,y+1)+w(3,1)*f(x+1,y-1)+w(3,2)*f(x+1,y)+w(3,3)*f(x+1,y+1);
end
end
end
figure(100);
imshow(uint8(blur_f));