matlab自带函数实现高斯滤波

自己编写的高斯滤波已理解,可是matlab自带的高斯滤波函数却没有用过,这里记录一下。

%matlab自带函数实现灰度图高斯滤波
clear
close all

img=imread('lena.bmp');

sigma=6;%标准差大小
window=double(uint8(3*sigma)*2+1);%窗口大小一半为3*sigma

H=fspecial('gaussian', window, sigma);%fspecial('gaussian', hsize, sigma)产生滤波模板
%为了不出现黑边,使用参数'replicate'(输入图像的外部边界通过复制内部边界的值来扩展)
img_gauss=imfilter(img,H,'replicate');

figure
subplot(2,1,1),imshow(img),title('输入图像');
subplot(2,1,2),imshow(img_gauss),title('高斯滤波后'); 

效果图:

matlab自带函数实现高斯滤波_第1张图片

你可能感兴趣的:(滤波算法)