www.pudn.com > 领域平均法与均值滤波.rar > average_filtering1.m


function average_filtering()  
X=imread('d:\1\LENA128.bmp','bmp') 
f=double(X); 
X=im2double(X); 
figure(10); 
imshow(im2uint8(X)); 
noise_x=imnoise(X,'salt & pepper',0.02); 
figure(15); 
imshow(im2uint8(noise_x)); 
[m,n]=size(X);  
output_image=X; 
w=[1 1 1;1 2 1;1 1 1]; 
w=1/10*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));