前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高斯滤波

高斯滤波

作者头像
裴来凡
发布2022-05-28 16:12:14
5190
发布2022-05-28 16:12:14
举报
文章被收录于专栏:图像处理与模式识别研究所
代码语言:javascript
复制
import cv2
o=cv2.imread("C:/Users/xpp/Desktop/Lena.png")#原始图像
r=cv2.GaussianBlur(o,(5,5),0,0)#高斯滤波
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

算法:高斯滤波将中心的权重值增加,远离中心点的权重值减小,在此基础上计算邻域内各个像素值不同权重的和。

dst=cv2.GaussianBlur(src, ksize, sigmaX, sigmaY, borderType)

  • dst表示返回值,表示进行高斯滤波后得到的结果
  • src表示输入图像,图像深度是CV_8U、CV_16U、CV_16S、CV_32F、CV_64F
  • ksize表示滤波核的大小,即邻域图像的高度和宽度
  • sigmaX表示卷积核在水平方向上(X轴方向)的标准差,其控制的是权重比例
  • sigmaY表示卷积核在垂直方向上(Y轴方向)的标准差,可选参数
  • borderType表示边界样式,可选参数

其中,

sigmaX=0.3x[(ksize.width-1)x0.5-1]+0.8

sigmaY=0.3x[(ksize.height-1)x0.5-1]+0.8

例子:

data=[(40x0.05+107x0.1+5x0.05)+(198x0.1+226x0.4+223x0.1)+(37x0.05+68x0.1+193x0.05)]=163.75≈164

注意:滤波核的值必须是奇数,滤波核越大,计算量越大,没有进行归一化处理的卷积核进行滤波,得到的结果往往是错误的。如果将sigmaY设置为0则采用sigmaX的值;如果将sigmaX和sigmaY都设置为0,则通过ksize.width和ksize.height计算得到。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图像处理与模式识别研究所 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档