1.概念介绍

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

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

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

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

2.基本原理

 在高斯滤波中,卷积核的值不再是1。例如,一个3×3的卷积核可能如图2-1所示。

图2-1  高斯滤波卷积核示例

 在图2-2中,针对最左侧的图像内第4行第3列位置上像素值为226的像素点进行高斯卷积,其运算规则为将该领域内的像素点按照不同的权重计算和。

图2-2  高斯卷积示例

 在实际计算时,使用的卷积核如图2-3中的卷积核所示。

图2-3  实际计算中的卷积核

 使用图2-3中的卷积核,针对第 4 行第 3 列位置上的像素值为 226 的像素点进行高斯滤波处理,计算方式为:
新值=(40×0.05+107×0.1+5×0.05)
+(198×0.1+226×0.4+223×0.1)
+(37×0.05+68×0.1+193×0.05)
=164

 在实际使用中,高斯滤波使用的可能是不同大小的卷积核。例如,图2-4中分别是 3×3、5×5、7×7 大小的卷积核。在高斯滤波中,核的宽度和高度可以不相同,但是它们都必须是奇数

图2-4  不同大小的卷积核

每一种尺寸的卷积核都可以有多种不同形式的权重比例。例如,同样是5×5的卷积核,可能是图2-5中所示的两种不同的权重比。

图2-5  同一尺寸的卷积核可以有不同的权重比

在实际计算中,卷积核是归一化处理的,这种处理可以表示为图2-4最左侧的小数形式的卷积核,也可以表示为如图2-5所示的分数形式。
 也要注意,在一些资料中,给出的卷积核并没有进行归一化,这时的卷积核可能表示为图2-4中间和右侧所示的卷积核,这样的卷积核是为了说明问题用的,实际使用时往往需要进行归一化。严格来讲,使用没有进行归一化处理的卷积核进行滤波,得到的结果往往是错误的

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  高斯滤波处理结果图像

高斯滤波(Gauss filtering)相关推荐

  1. 图像处理:高斯滤波算法

    目录 前言 概念介绍 基本原理 卷积核的大小 卷积核的形状和权重比 卷积核的归一化 结论 Opencv实现高斯滤波 Python手写实现高斯滤波 参考文章 前言 在此之前,我曾在此篇中推导过图像处理: ...

  2. 《OpenCv视觉之眼》Python图像处理五 :Opencv图像去噪处理之均值滤波、方框滤波、中值滤波和高斯滤波

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  3. gaussian用法 matlab_matlab做gaussian高斯滤波

    原文链接:https://blog.csdn.net/humanking7/article/details/46826105 核心提示 在Matlab中高斯滤波非常方便,主要涉及到下面两个函数: 函数 ...

  4. 双边滤波器、高斯滤波

    双边滤波(Bilateral filter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的.普通的高斯滤波会将图像的边缘模 ...

  5. 【OpenCV 4开发详解】高斯滤波

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  6. 图像平滑处理(归一化块滤波、高斯滤波、中值滤波、双边滤波)

    图像平滑处理 目标 本教程教您怎样使用各种线性滤波器对图像进行平滑处理,相关OpenCV函数如下: blur GaussianBlur medianBlur bilateralFilter 原理 No ...

  7. python彩色图像如何进行高斯滤波ValueError: correlate2d inputs must both be 2-D arrays解决方法

    文章目录 遇到的问题 解决方法 参考 遇到的问题 在执行高斯滤波的代码时,遇到下列问题 ValueError: correlate2d inputs must both be 2-D arrays 进 ...

  8. 高斯滤波和双向滤波的区别与联系

    1. 简介 图像平滑是一个重要的操作,而且有多种成熟的算法.这里主要简单介绍一下Bilateral方法(双边滤波),这主要是由于前段时间做了SSAO,需要用bilateral blur 算法进行降噪. ...

  9. OpenCV图像模糊:高斯滤波、双边滤波

    一.高斯模糊 1.高斯滤波原理 图像处理中,高斯滤波主要可以使用两种方法实现.一种是离散化窗口滑窗卷积,另一种方法是通过傅里叶变化.离散化窗口划船卷积时主要利用的是高斯核,高斯核的大小为奇数,因为高斯 ...

  10. 中值滤波,均值滤波,高斯滤波,双边滤波,联合双边滤波介绍

    看GAMES202相关课程发现闫老师讲的太好了,所以记录一下.当然文中涉及的PPT也来自闫老师的课程PPT,欢迎交流. 首先这几种都是空域的滤波方式,用于抑制图像中的噪声.它们采用的原理基本都是通过滤 ...

最新文章

  1. 第十周项目5:贪心的富翁
  2. 【深度学习】基于弱监督学习处理图像的应用
  3. mogilefsd同步速度调优
  4. 张小龙做微信公众号APP,对自媒体是祸还是福?
  5. screen中文乱码问题的解决
  6. MSB与LSB的含义
  7. 压力测试中需要掌握的几个基本概念
  8. 计算机,通信职称考试,2017年通信工程师考试科目介绍
  9. Mysql数据库详解
  10. 思科模拟器基础实验完整流程-初级
  11. excel 公式 单引号 concat_Recovery for Excel(Excel文件修复工具)下载 v6.0官方版-
  12. 卷积神经网络python实例,python卷积神经网络图像
  13. php中法兰克福的时区,法兰克福时差与中国差多少
  14. [车联网安全自学篇] Android安全之Android so文件分析「详细版」
  15. C语言阶梯程序,阶梯式C语言程序设计实验指导书.pdf
  16. 推荐3个游戏小程序,让你整个暑假都充实!
  17. Vscode 自动保存以及保存格式
  18. 局域网和广域网的传输流程
  19. Unity数据持久化-Json
  20. java byte数组和文件互转

热门文章

  1. 算法设计与分析(期末复习重点)更新中
  2. 无线通信设备安装工程概预算编制_深圳电气工程造价培训-电气设备安装工程造价入门级知识学习...
  3. 计算机声卡原理,来谈谈声卡的工作原理吧
  4. 详细的设计文档该怎么写?请注意这些地方...
  5. tplink无线网卡的linux,Linux系统下怎么用TP-Link的无线网卡?
  6. logit和logistic模型
  7. 计算机文字录入在线打字,教您如何在一分钟内把书中的文字录入电脑
  8. safari连接4g网显示未连接服务器,Safari无法打开网页iPhone尚未接入互联网
  9. Ubuntu镜像的下载
  10. mysql数据抽取_史上最简单的数据抽取