图像平滑处理,从数值上来说是一种平滑化,从图形上来说相当于产生了模糊效果,中间点失去细节。

图像平滑处理就是对图像进行滤波,所谓滤波就是重新计算图像中的各个像素点,使该像素点的值与周围的像素点的值相近。

计算各个点的值通常使通过指定一个滤波核,并会将该滤波核在图像上滑动,从而能够计算除整幅图像的各个像素点的值。滤波核的大小通过为奇数,一般为3,5,7。

OpenCV中的几种滤波方式:

  • 均值滤波
  • 方框滤波
  • 中值滤波
  • 高斯滤波
滤波方式 优点
均值滤波

均值滤波是用每一个像素和它周围像素计算出来的平均值替换图像中每一个像素。

从频率域观点来看均值滤波是一种低通滤波器(让图像的低频部分经过,一般弱化边缘,会获得比较平缓的图像),高频信号将会去掉,所以能够帮助消除图像尖锐噪声,实现图像平滑,模糊等功能。

由于此方法不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊。

消除尖锐噪声,实现图像平滑,模糊等功能。
中值滤波

中值滤波也是消除图像噪声最多见的手段之一,特别是消除椒盐噪声,中值滤波的效果要比均值滤波更好。

它的基本原理是计算出数字图像中的一点的一个邻域中的各点值的中值(中间值),并使用该中值将将该点原值代替。

能够理解为使用一个窗口沿图像移动,用窗口内全部象素灰度的中值来代替窗口中心位置的象素灰度。

消除椒盐噪声。
高斯滤波

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

通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每个像素点的值,都由其自己和邻域内的其余像素值通过加权平均后获得。

能够理解为用一个模板(或称卷积、掩模)扫描图像中的每个像素,用模板肯定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

消除高斯噪声。

均值滤波

均值滤波就是使用滤波核计算所有像素的平均值

void blur( InputArray src, OutputArray dst, Size ksize, Point anchor = Point(-1,-1), int borderType = BORDER_DEFAULT );

方框滤波

方框滤波的滤波方式和均值滤波基本相同,唯一不同的是方框滤波可选择,在所有数值加起来之后是否要求平均值,如果求平均,那么方框滤波就等价于均值滤波;如果不求平均,那么值如果超过255的话就等于255。

void boxFilter( InputArray src, OutputArray dst, int ddepth, Size ksize, Point anchor = Point(-1,-1), bool normalize = true, int borderType = BORDER_DEFAULT );

中值滤波

中值滤波就是对所有像素进行排序,取中间值

void medianBlur( InputArray src, OutputArray dst, int ksize );

高斯滤波

在均值滤波中滤波核中的值都为1,相当于所有像素都会乘以1,然后相加起来求平均。高斯滤波的滤波核中的值不全是1,与要计算的像素点的位置越接近,值会越大,越远值会越小,也就相当于一个权重矩阵

void GaussianBlur( InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY = 0, int borderType = BORDER_DEFAULT );

参数:

sigmaX:x方向的标准方差。可设置为0让系统自动计算。

sigmaY:y方向的标准方差。可设置为0让系统自动计算。

高斯模糊(高斯滤波)的原理与算法_lsh呵呵的博客-CSDN博客_高斯滤波的基本原理

高斯滤波原理剖析_fangyan的博客-CSDN博客_高斯滤波的基本原理

图像处理基础(4):高斯滤波器详解 - Brook_icv - 博客园

【OpenCV学习笔记】图像平滑处理相关推荐

  1. OpenCV学习笔记(十三):霍夫变换:HoughLines(),HoughLinesP(),HoughCircles( )

    OpenCV学习笔记(十三):霍夫变换:HoughLines(),HoughLinesP(),HoughCircles( ) 1.霍夫线变换HoughLines() OpenCV支持三种不同的霍夫线变 ...

  2. 分水岭算法java,OpenCV 学习笔记 04 深度估计与分割——GrabCut算法与分水岭算法...

    1 使用普通摄像头进行深度估计 1.1 深度估计原理 这里会用到几何学中的极几何(Epipolar Geometry),它属于立体视觉(stereo vision)几何学,立体视觉是计算机视觉的一个分 ...

  3. OpenCV 学习笔记03 boundingRect、minAreaRect、minEnclosingCircle、boxPoints、int0、circle、rectangle函数的用法...

    函数中的代码是部分代码,详细代码在最后 1 cv2.boundingRect 作用:矩形边框(boundingRect),用于计算图像一系列点的外部矩形边界. cv2.boundingRect(arr ...

  4. opencv学习笔记(二):基于肤色的人手检测

    opencv学习笔记(二):基于肤色的人手检测 原文:http://blog.csdn.net/wzmsltw/article/details/50849810 先写了人手的检测程序,下一步基于检测程 ...

  5. python做直方图-python OpenCV学习笔记实现二维直方图

    本文介绍了python OpenCV学习笔记实现二维直方图,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/dd/d0d/tutorial_py_2d ...

  6. OpenCV学习笔记大集锦

    转载自: OpenCV学习笔记大集锦 – 视觉机器人 http://www.cvrobot.net/collect-opencv-resource-learn-study-note-chinese/ ...

  7. OpenCV学习笔记(五十六)——InputArray和OutputArray的那些事core OpenCV学习笔记(五十七)——在同一窗口显示多幅图片 OpenCV学习笔记(五十八)——读《Mast

    OpenCV学习笔记(五十六)--InputArray和OutputArray的那些事core 看过OpenCV源代码的朋友,肯定都知道很多函数的接口都是InputArray或者OutputArray ...

  8. OpenCV学习笔记(五十一)——imge stitching图像拼接stitching OpenCV学习笔记(五十二)——号外:OpenCV 2.4.1 又出来了。。。。。 OpenCV学习笔记(五

    OpenCV学习笔记(五十一)--imge stitching图像拼接stitching stitching是OpenCV2.4.0一个新模块,功能是实现图像拼接,所有的相关函数都被封装在Stitch ...

  9. OpenCV学习笔记(四十六)——FAST特征点检测features2D OpenCV学习笔记(四十七)——VideoWriter生成视频流highgui OpenCV学习笔记(四十八)——PCA算

    OpenCV学习笔记(四十六)--FAST特征点检测features2D 特征点检测和匹配是计算机视觉中一个很有用的技术.在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用.这一次先介绍特征点检 ...

  10. OpenCV学习笔记(四十一)——再看基础数据结构core OpenCV学习笔记(四十二)——Mat数据操作之普通青年、文艺青年、暴力青年 OpenCV学习笔记(四十三)——存取像素值操作汇总co

    OpenCV学习笔记(四十一)--再看基础数据结构core 记得我在OpenCV学习笔记(四)--新版本的数据结构core里面讲过新版本的数据结构了,可是我再看这部分的时候,我发现我当时实在是看得太马 ...

最新文章

  1. ESP8266的一些MicroPython基础实验
  2. spring源码分析之spring-jms模块详解
  3. java 报500该怎么解决_关于servlet500错误 应该怎么解决
  4. Windows Server 2012系列之二安装AD及创建域
  5. OC-NSArray
  6. linux怎么添加头文件目录下,linux下编写c++,include的那些头文件在什么地方?
  7. pomelo获取客户端IP
  8. python顺序结构的关键字_Python1_Python的目录结构、执行顺序、__name__ == __main__
  9. 高德地图工具箱里有个“连接汽车”功能具体怎么用?
  10. py 的 第 35 天
  11. 第六届蓝桥杯--奇妙的数字和移动距离
  12. linux音频设备id,ubuntu下提取DSDT SSDT和声卡ID _ 黑苹果乐园
  13. 计算机初学者先学什么语言,计算机语言入门先学什么?
  14. mac pycharm如何打开setting
  15. 《NVMe-over-Fabrics-1_0a-2018.07.23-Ratified》阅读笔记(1)
  16. 网易有道三季报解读:转型“有道”,但依旧道阻且长
  17. 3D学到什么程度能月入过万?
  18. matlab设计滤波器的工具箱,matlab工具箱设计滤波器
  19. linux查找php文件是否存在,linux文件是否存在
  20. 显卡用电测试软件,自己动手DIY!教你如何实测显卡电压

热门文章

  1. (二十二)岁月无声 - 10
  2. 【BZOJ4209】西瓜王
  3. 传奇单机架设教程——GOM引擎登录器配置教程
  4. 一则魅族M8下歌词乱码的程序小故事
  5. OF-DPA + ONL 的 CLI 常用命令笔记
  6. python高级语言应用心得体会_Python3复习总结
  7. 3.3 SRAM和DRAM
  8. 天科大java web_痛心!失联15天,中科大博士遗体在芦苇荡被发现
  9. 用Python写一段代码,用来操作鼠标点击
  10. 淘淘商城taotao-image-server.7z文件