二维高斯滤波器的两种实现

时间:2021-05-15 19:07:07   收藏:0   阅读:30

高斯公式:

\[G(x,y)=\frac{1}{{2\pi{\sigma ^2}}}{e^{ - \frac{{{x^2} + {y^2}}}{{2{\sigma ^2}}}}}\]

代码

clear;close all;clc

% 高斯滤波器参数
s1 = 15; s2 = 20; 
sigma = 15;

% 按公式编写
[x, y]=meshgrid(-((s2-1)/2):(s2/2),(-((s1-1)/2):(s1/2)));   
gauss=exp(-(x.^2+y.^2)/(2*sigma*sigma)); 
G1=gauss/sum(gauss(:)); 

% Matlab 自带
G2 = fspecial(‘gaussian‘,[s1,s2],sigma);
isequal(G1,G2)

figure
subplot(1,2,1);mesh(G1);title(‘按公式编写‘)
subplot(1,2,2);mesh(G2);title(‘Matlab 自带‘)

结果

ans =

  logical

   1

技术分享图片

结论

原文:https://www.cnblogs.com/gshang/p/14771801.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!