自己编写的高斯滤波已理解,可是matlab自带的高斯滤波函数却没有用过,这里记录一下。
%matlab自带函数实现灰度图高斯滤波clearclose allimg=imread('lena.bmp');sigma=6;%标准差大小window=double(uint8(3*sigma)*2+1);%窗口大小一半为3*sigmaH=fspecial('gaussian', window, sigma);%fspecial('gaussian', hsize, sigma)产生滤波模板%为了不出现黑边,使用参数'replicate'(输入图像的外部边界通过复制内部边界的值来扩展)img_gauss=imfilter(img,H,'replicate');figuresubplot(2,1,1),imshow(img),title('输入图像');subplot(2,1,2),imshow(img_gauss),title('高斯滤波后');
效果图: