opencv 图像滤波(均值,方框,高斯,中值)


Posted in Python onJuly 08, 2020

为什么要使用滤波

消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没。因此一个能降低高频成分幅度的滤波器就能够减弱噪声的影响。
如下图,左图带有椒盐噪声,右图为使用中值滤波处理后的图片。

opencv 图像滤波(均值,方框,高斯,中值)

图像滤波的目的有两个:一是抽出对象的特征作为图像识别的特征模式;另一个是为适应图像处理的要求,消除图像数字化时所混入的噪声。

python +opencv讲解

均值滤波

含义
如图:如果我们想对红色点进行处理,则它新值等于周围N乘N个像素点的平均(包括自身)

opencv 图像滤波(均值,方框,高斯,中值)

用表达式表达:

opencv 图像滤波(均值,方框,高斯,中值)

扩展到对整个图像进行均值滤波

opencv 图像滤波(均值,方框,高斯,中值)

实现方法:
处理结果=cv2.blur(原始图像,核大小)

核大小:以(宽度,高度)的元祖
效果:使图像变模糊啦。能处理被椒盐攻击过的照片。

import cv2
a=cv2.imread('lenacolor.png')#
b=cv2.blur(a,(8,8))
cv2.imshow('original',a)
cv2.imshow('result',b)
cv2.waitKey(0)
cv2.destroyAllWindows()

opencv 图像滤波(均值,方框,高斯,中值)

方框滤波

实现方法:函数boxFilter
处理结果=cv2.boxFilter(原始图像,目标图像深度,核大小,normalize属性)

目标图像深度: int类型的目标图像深度,-1表示与原始图像一致
核大小:(宽度,高度)元祖
normalize:是否对目标图像进行归一化处理
normalize为true 时与均值滤波一样,为false时表示任意一个点的像素为周围像素点的和,容易发生溢出超过255

opencv 图像滤波(均值,方框,高斯,中值)

normalize=1,1为true

import cv2
a=cv2.imread('lenacolor.png')#
b=cv2.boxFilter(a,-1,(5,5),normalize=1)
cv2.imshow('original',a)
cv2.imshow('result',b)
cv2.waitKey(0)
cv2.destroyAllWindows()

结果:

opencv 图像滤波(均值,方框,高斯,中值)

normalize=0,0为false
结果中只有几个点不是白色

opencv 图像滤波(均值,方框,高斯,中值)

减少核大小为(2,2)normalize=0

opencv 图像滤波(均值,方框,高斯,中值)

高斯滤波

含义:
中心点权重高,越远越低

opencv 图像滤波(均值,方框,高斯,中值)

实现方法:GaussianBlur

处理结果=cv2.GaussianBlur(原始图像src,核函数大小ksize,sigmaX)

核函数大小ksize:(N,N)必须是奇数
sigmaX:控制x方向方差,控制权重,一般取0,它自己去计算方差。y轴方差和x一致

opencv 图像滤波(均值,方框,高斯,中值)

import cv2
a=cv2.imread('lenacolor.png')#
b=cv2.GaussianBlur(a,(3,3),0)
cv2.imshow('original',a)
cv2.imshow('result',b)
cv2.waitKey(0)
cv2.destroyAllWindows()

opencv 图像滤波(均值,方框,高斯,中值)

中值滤波

使用像素点邻域附近的像素的中值代替该点的像素值。通俗点来说,在这个像素的左边找五个像素点,右边找五个像素点,将这些像素进行排序,排序过后产生一个中值,用中间大小的值,来代替该像素的值。

中值滤波可以有效的去除斑点和椒盐噪声。但是效率低,其运算时间 为均值滤波的五倍以上。

opencv 图像滤波(均值,方框,高斯,中值)

实现方法:medianBlur
目标图像=cv2.medianBlur(原始图像,intksize)
intksize:核函数,必须为奇数.

import cv2
a=cv2.imread('lenacolor.png')#
b=cv2.medianBlur(a,5)
cv2.imshow('original',a)
cv2.imshow('result',b)
cv2.waitKey(0)
cv2.destroyAllWindows()

opencv 图像滤波(均值,方框,高斯,中值)

到此这篇关于opencv 图像滤波(均值,方框,高斯,中值)的文章就介绍到这了,更多相关opencv 图像滤波内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python的Django框架中settings文件的部署建议
May 30 Python
python实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
Python爬虫获取整个站点中的所有外部链接代码示例
Dec 26 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
Jun 11 Python
pandas求两个表格不相交的集合方法
Dec 08 Python
Python正则匹配判断手机号是否合法的方法
Dec 09 Python
Python实现网页截图(PyQT5)过程解析
Aug 12 Python
matlab中imadjust函数的作用及应用举例
Feb 27 Python
django 解决扩展自带User表遇到的问题
May 14 Python
一文读懂python Scrapy爬虫框架
Feb 24 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 Python
Python实现单例模式的5种方法
Jun 15 Python
用opencv给图片换背景色的示例代码
Jul 08 #Python
python文件及目录操作代码汇总
Jul 08 #Python
Python预测2020高考分数和录取情况
Jul 08 #Python
Python venv虚拟环境配置过程解析
Jul 08 #Python
Python如何实现自带HTTP文件传输服务
Jul 08 #Python
Python第三方包PrettyTable安装及用法解析
Jul 08 #Python
简单了解如何封装自己的Python包
Jul 08 #Python
You might like
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
javascript写的一个链表实现代码
2009/10/25 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
js自动生成对象的属性示例代码
2013/10/28 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
详解js私有作用域中创建特权方法
2016/01/25 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
使用jquery/js获取iframe父子级、同级获取元素的方法
2016/08/05 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
JS文件中加载jquery.js的实例代码
2018/05/05 jQuery
使用flow来规范javascript的变量类型
2019/09/12 Javascript
JS数组splice操作实例分析
2019/10/12 Javascript
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python33 urllib2使用方法细节讲解
2013/12/03 Python
Python的高级Git库 Gittle
2014/09/22 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
2018/03/30 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
python assert的用处示例详解
2019/04/01 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
opencv+python实现均值滤波
2020/02/19 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
美国最大的无人机经销商:DroneNerds
2018/03/20 全球购物
介绍一下Mysql的存储引擎
2015/02/12 面试题
2014国培学习感言
2014/03/05 职场文书
新闻编辑求职信
2014/07/13 职场文书
乡镇个人对照检查材料
2014/08/22 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
2015年高校就业工作总结
2015/05/04 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
运动会通讯稿50字
2015/07/20 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
python实现简易名片管理系统
2021/04/11 Python
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python
Python import模块的缓存问题解决方案
2021/06/02 Python
python pygame 开发五子棋双人对弈
2022/05/02 Python