[图像]高斯滤波(Matlab实现)

2020-03-10 15:02:46 浏览数 (1)

原创文章,欢迎转载。转载请注明:转载自 祥的博客

原文链接:http://blog.csdn.net/humanking7/article/details/46826105


简述

原理说明

核心提示

在Matlab中高斯滤波非常方便,主要涉及到下面两个函数:

  1. 函数: fspecial
  2. 函数: 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('滤波后');

效果展示

0 人点赞