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使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
Python中返回字典键的值的values()方法使用
May 22 Python
Python的Django框架中消息通知的计数器实现教程
Jun 13 Python
Python3.遍历某文件夹提取特定文件名的实例
Apr 26 Python
python3.4+pycharm 环境安装及使用方法
Jun 13 Python
Python常用模块sys,os,time,random功能与用法实例分析
Jan 07 Python
Python图片处理模块PIL操作方法(pillow)
Apr 07 Python
解决Jupyter无法导入已安装的 module问题
Apr 17 Python
Python实现ElGamal加密算法的示例代码
Jun 19 Python
如何使用 Python 读取文件和照片的创建日期
Sep 05 Python
python中绕过反爬虫的方法总结
Nov 25 Python
Python爬虫之爬取最新更新的小说网站
May 06 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
星际争霸任务指南——神族
2020/03/04 星际争霸
php使用标签替换的方式生成静态页面
2015/05/21 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
2019/10/20 PHP
javascript中对对层的控制
2006/12/29 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
jQuery实现模拟marquee标签效果
2015/07/14 Javascript
jquery validate表单验证插件
2016/09/06 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
浅谈原型对象的常用开发模式
2017/07/22 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
2017/11/15 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
Vue分页效果与购物车功能
2019/12/13 Javascript
Nodejs + Websocket 指定发送及群聊的实现
2020/01/09 NodeJs
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
python3使用SMTP发送HTML格式邮件
2018/06/19 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
Python3标准库glob文件名模式匹配的问题
2020/03/13 Python
python raise的基本使用
2020/09/10 Python
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
火车的故事教学反思
2014/02/11 职场文书
办公室主任竞聘演讲稿
2014/05/15 职场文书
2014年党总支工作总结
2014/12/18 职场文书
财务统计员岗位职责
2015/04/14 职场文书
酒店员工管理制度
2015/08/05 职场文书
2016年万圣节家长开放日活动总结
2016/04/05 职场文书
2019交通安全宣传标语集锦!
2019/06/28 职场文书
宪法宣传标语100条
2019/10/15 职场文书
聊聊JS ES6中的解构
2021/04/29 Javascript
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android
原生JS实现分页
2022/04/19 Javascript
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS
Python创建SQL数据库流程逐步讲解
2022/09/23 Python