高斯函数在图像处理中经常用于与图像离散卷积实现高斯模糊,可以采用一维或者二维的方式。并且sigama的值越大,图像越平滑。
一维高斯函数公式:
二维高斯函数公式:
由于采用二维高斯进行模糊容易导致边缘缺失,所以一般可以分别采用水平和垂直进行高斯叠加的方式。
高斯函数的一维和二维matlab代码:
function gaussintest()
sigma=1.25; n=5;%定义模板大小
n1=floor((n+1)/2);%确定中心
for i=1:n
a(i)= (exp(-((i-n1).^2)/(2*sigma^2)))/sqrt(2*pi*sigma^2);
for j=1:n
b(i,j) =exp(-((i-n1)^2+(j-n1)^2)/(2*sigma^2))/(2*pi*sigma^2);
end
end
a=a/sum(a) %一维高斯均值
b=b/sum(b(:))%二维高斯均值,在matlab中可以通过函数fspecial('gaussian',5,1.25)得到同样结果
subplot(1),plot(a),title('一维高斯函数' ) ;
subplot(2),surf(b),title('二维高斯函数' );
end
[1]httpblogcsdnnetlikezhaobinarticledetails6835049