MATLAB实现高斯平滑

时间:2024-10-12 02:26:34

相比平均平滑对邻域内的像素权重相同,为了减少平滑处理的模糊,能够想到需要加大模板中心点的权重,减小边缘的权重,才能得到更自然的平滑效果。

二维高斯函数

1、二维高斯函数的密度公式是Φ(x,y),高斯模板矩阵使用的是其离散化的表示。任意大小的模板可通过(2k+1)*(2k+1)的矩阵得到,其(i,j)位置的像素值可由M(i,j)确定。

MATLAB实现高斯平滑

2、标准差的选择对函数的形状的影响十分大。标准差过小,偏离中心的像素权重非常小,相当于不考虑,无法起到平滑噪声的作用;标准差过大,领域相对较小,则将退化为平均模板。

3、标准差分别为1和2时的二维高斯函数的部分图像如图所示.可以看出,标准差越大,峰值越小。

MATLAB实现高斯平滑
MATLAB实现高斯平滑

MATLAB实现

1、读入文件,以pout.tif为例。代码虽然简单,但必须读入图像后,才能对图像进行处理。

MATLAB实现高斯平滑

2、分别建立3*3的标准差分别为0.5、0.8、1.8和5*5的0.8、1.8的滤波模板,进行滤波。

MATLAB实现高斯平滑

3、然后显示原图和五个滤波模板进行滤波后的图像。

MATLAB实现高斯平滑

4、结果如图。可以看出模板增大后,原图的噪声得到更好的抑制。

MATLAB实现高斯平滑
© 手抄报圈