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中 ? : 三元表达式的使用介绍
Oct 09 Python
在主机商的共享服务器上部署Django站点的方法
Jul 22 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
Nov 15 Python
python查询mysql,返回json的实例
Mar 26 Python
python使用代理ip访问网站的实例
May 07 Python
python文件拆分与重组实例
Dec 10 Python
对Python多线程读写文件加锁的实例详解
Jan 14 Python
关于Python作用域自学总结
Jun 10 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
Aug 13 Python
Python浮点数四舍五入问题的分析与解决方法
Nov 19 Python
tensorflow实现测试时读取任意指定的check point的网络参数
Jan 21 Python
django xadmin 管理器常用显示设置方式
Mar 11 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与C#分别格式化文件大小的代码
2011/05/14 PHP
PHP实现数据四舍五入的方法小结【4种方法】
2019/03/27 PHP
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
jquery处理json数据实例分析
2014/06/03 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
2015/05/12 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
JS中判断null的方法分析
2016/11/21 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
原生js实现中奖信息无间隙滚动效果
2017/01/18 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
实例讲解javascript实现异步图片上传方法
2017/12/05 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
2017/12/27 Javascript
angular6.x中ngTemplateOutlet指令的使用示例
2018/08/09 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
jQuery实现飞机大战小游戏
2020/07/05 jQuery
jQuery实现雪花飘落效果
2020/08/02 jQuery
Python利用QQ邮箱发送邮件的实现方法(分享)
2017/06/09 Python
Python进程间通信之共享内存详解
2017/10/30 Python
Python中交换两个元素的实现方法
2018/06/29 Python
idea创建springMVC框架和配置小文件的教程图解
2018/09/18 Python
python 实现return返回多个值
2019/11/19 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
Ibatis如何使用动态表名
2015/07/12 面试题
环境科学专业大学生自荐信格式
2013/09/21 职场文书
美术教师自我鉴定
2014/02/12 职场文书
企业标语大全
2014/07/01 职场文书
学前教育专业求职信
2014/09/02 职场文书
2014年村委会工作总结
2014/11/24 职场文书
2016银行招聘自荐信
2016/01/28 职场文书
详解Python 3.10 中的新功能和变化
2021/04/28 Python
javascript之Object.assign()的痛点分析
2022/03/03 Javascript