原创文章,欢迎转载。转载请注明:转载自 祥的博客
原文链接:http://blog.csdn.net/humanking7/article/details/46826105
简述
原理说明
核心提示
在Matlab中高斯滤波非常方便,主要涉及到下面两个函数:
- 函数:
fspecial
- 函数:
imfilter
代码实现
代码语言:javascript复制clear all;
clc;
%----------------------------------------------
%对图像进行高斯滤波,并显示图像
%----------------------------------------------
%读进图像
[filename, pathname] = uigetfile({'*.jpg'; '*.bmp'; '*.gif'; '*.png' }, '选择图片');
%没有图像
if filename == 0
return;
end
Image = imread([pathname, filename]);
[m, n, z] = size(Image);
%转换为灰度图
if z>1
Image = rgb2gray(Image);
end
sigma = 1;
gausFilter = fspecial('gaussian', [5,5], sigma);
gaus= imfilter(Image, gausFilter, 'replicate');
%显示图像-----------------------
figure(1)
subplot(1,2,1);
imshow(Image);
title('原图像');
subplot(1,2,2);
imshow(gaus);
title('滤波后');