高斯滤波(Gauss filtering)

高斯滤波(Gauss filtering)1 概念介绍 高斯滤波是一种线性平滑滤波 适用于消除高斯噪声 广泛应用于图像处理的减噪过程

大家好,欢迎来到IT知识分享网。

1.概念介绍

 高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。

 通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。

 高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值

  对应均值滤波和方框滤波来说,其邻域内每个像素的权重是相等的。而在高斯滤波中,会将中心点的权重值加大,远离中心点的权重值减小,在此基础上计算邻域内各个像素值不同权重的和。





2.基本原理

3.函数语法

在 OpenCV 中,实现高斯滤波的函数是 cv2.GaussianBlur(),该函数的语法格式是:
dst = cv2.GaussianBlur( src, ksize, sigmaX, sigmaY, borderType )

参数解析
dst:返回值,表示进行高斯滤波后得到的处理结果。
src: 是需要处理的图像,即原始图像。它能够有任意数量的通道,并能对各个通道独立处理。图像深度应该是 CV_8U、CV_16U、CV_16S、CV_32F 或者 CV_64F 中的一种。
ksize: 是滤波核的大小。滤波核大小是指在滤波处理过程中其邻域图像的高度和宽度。需要注意,滤波核的值必须是奇数
sigmaX:卷积核在水平方向上(X 轴方向)的标准差,其控制的是权重比例。如下图2-5 中是不同的 sigmaX 决定的卷积核,它们在水平方向上的标准差不同。
在这里插入图片描述
图2-5  不同的 sigmaX 决定的卷积核

sigmaY :卷积核在垂直方向上(Y 轴方向)的标准差。如果将该值设置为 0,则只采用sigmaX 的值;如果 sigmaX 和 sigmaY 都是 0,则通过 ksize.width 和 ksize.height 计算得到。其中:
  sigmaX = 0.3×[(ksize.width-1)×0.5-1] + 0.8
  sigmaY = 0.3×[(ksize.height-1)×0.5-1] + 0.8
borderType:边界样式,该值决定了以何种方式处理边界。一般情况下,不需要考虑该值,直接采用默认值即可。

 在该函数中,sigmaY 和 borderType 是可选参数。sigmaX 是必选参数,但是可以将该参数设置为 0,让函数自己去计算 sigmaX 的具体值















4.程序示例

针对一幅噪声图像进行高斯滤波,显示滤波的结果。

import cv2 Gn=cv2.imread("Gaussian_noise.jpg") Gf=cv2.GaussianBlur(Gn,(3,3),0,0) cv2.imshow("噪声图像",Gn) cv2.imshow("高斯滤波处理结果图像",Gf) cv2.waitKey() cv2.destroyAllWindows() 

程序运行后,其中图4-1是噪声图像,图4-2是高斯滤波后的处理结果图像。在这里插入图片描述
图4-1  噪声图像

在这里插入图片描述
图4-2  高斯滤波处理结果图像




免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/116858.html

(0)
上一篇 2025-11-25 19:15
下一篇 2025-11-25 19:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信