当前位置:   article > 正文

gaussian用法 matlab_matlab高斯低通滤波函数的使用与理解(附源码)

在matlab中gaussian是什么意思

在函数文件中,选中全部默认的信息(ctrl+A),删除(Backspace或delete键),然后复制如下代码,粘贴到gauss.m文件中:

function [image_result] =gauss (image_orign,D0)

%GULS 高斯低通滤波器

%   D0为截至频率的(相当于设置在傅里叶谱图的半径值)

if (ndims(image_orign) == 3)

%判断读入的图片是否为灰度图,如果不是则转换为灰度图,如果是则不做操作

image_2zhi = rgb2gray(image_orign);

else

image_2zhi = image_orign;

end

image_fft = fft2(image_2zhi);%用傅里叶变换将图象从空间域转换为频率域

image_fftshift = fftshift(image_fft);

%将零频率成分(坐标原点)变换到傅里叶频谱图中心

[width,high] = size(image_2zhi);

D = zeros(width,high);

%创建一个width行,high列数组,用于保存各像素点到傅里叶变换中心的距离

for i=1:width

for j=1:high

D(i,j) = sqrt((i-width/2)^2+(j-high/2)^2);

%像素点(i,j)到傅里叶变换中心的距离

H = exp(-1/2*(D(i,j).^2)/(D0*D0));

%高斯低通滤波函数

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/72588
推荐阅读
相关标签
  

闽ICP备14008679号