高斯滤波

来源:互联网 发布:手机淘宝看差评 编辑:程序博客网 时间:2024/05/21 09:48

 img = rgb2gray(imread('d:\test.bmp'));  

r=10;
sigma=20;
block=2*r+1;

%方法1
sum=0.0;
for i=1:block
    for j=1:block
        gauss(i,j)=exp((-((i-r-1)^2+(j-r-1)^2))/(2*sigma*sigma))/(2*pi*sigma);
        sum=sum+gauss(i,j);
    end
end
for i=1:block
    for j=1:block
        gauss(i,j)=gauss(i,j)/sum;
    end
end


K=imfilter(img,gauss,'conv', 'replicate');  
figure(2);
imshow(K);

%方法2
H = fspecial('gaussian',[block,block],20);
G=imfilter(img, H, 'conv', 'replicate');
figure;
imshow(G);