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));