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 相关文章推荐
用不到50行的Python代码构建最小的区块链
Nov 16 Python
python实现列表中由数值查到索引的方法
Jun 27 Python
python修改文件内容的3种方法详解
Nov 15 Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 Python
python 实现提取log文件中的关键句子,并进行统计分析
Dec 24 Python
利用python绘制数据曲线图的实现
Apr 09 Python
TensorFlow使用Graph的基本操作的实现
Apr 22 Python
Python3爬虫里关于Splash负载均衡配置详解
Jul 10 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
Sep 03 Python
Python如何急速下载第三方库详解
Nov 02 Python
selenium携带cookies模拟登陆CSDN的实现
Jan 19 Python
关于探究python中sys.argv时遇到的问题详解
Feb 23 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
Windows下的PHP5.0详解
2006/11/18 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
php 使用mpdf实现指定字段配置字体样式的方法
2019/07/29 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
jquery 屏蔽一个区域内的所有元素,禁止输入
2009/10/22 Javascript
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
一行代码告别document.getElementById
2012/06/01 Javascript
jquery ajax提交整个表单元素的快捷办法
2013/03/27 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
Html中 IFrame的用法及注意点
2016/12/22 Javascript
Angular路由简单学习
2016/12/26 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
JavaScript中this关键字用法实例分析
2018/08/24 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
python判断字符串是否包含子字符串的方法
2015/03/24 Python
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
实习单位推荐信范文
2013/11/27 职场文书
《登鹳雀楼》教学反思
2014/04/09 职场文书
2016应届毕业生自荐信范文
2016/01/28 职场文书
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server