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多进程操作实例
Nov 21 Python
转换科学计数法的数值字符串为decimal类型的方法
Jul 16 Python
python中的turtle库函数简单使用教程
Jul 23 Python
对python 多个分隔符split 的实例详解
Dec 20 Python
对django中foreignkey的简单使用详解
Jul 28 Python
Python字符串格式化输出代码实例
Nov 22 Python
Python tkinter实现图片标注功能(完整代码)
Dec 08 Python
Python networkx包的实现
Feb 14 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
Apr 24 Python
python基于爬虫+django,打造个性化API接口
Jan 21 Python
python机器学习创建基于规则聊天机器人过程示例详解
Nov 02 Python
在Python 中将类对象序列化为JSON
Apr 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
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
PHP中number_format()函数的用法讲解
2019/04/08 PHP
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
由JavaScript技术实现的web小游戏(不含网游)
2010/06/12 Javascript
node.js操作mongoDB数据库示例分享
2014/11/26 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
js跨域资源共享 基础篇
2016/07/02 Javascript
浅析如何利用JavaScript进行语音识别
2016/10/27 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
Vue.js实现数据响应的方法
2018/08/13 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
Vue路由切换页面不更新问题解决方案
2020/07/10 Javascript
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
什么是Python变量作用域
2020/06/03 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
python 用pandas实现数据透视表功能
2020/12/21 Python
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
中国领先的汽车保养服务平台:途虎养车
2019/10/18 全球购物
锐步英国官网:Reebok英国
2019/11/29 全球购物
size?荷兰官方网站:英国高级运动鞋精品店
2020/07/24 全球购物
我的网上商城创业计划书
2013/12/26 职场文书
新驾驶员个人自我评价
2014/01/03 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
个人评语大全
2014/05/04 职场文书
青春奉献演讲稿
2014/05/08 职场文书
党的群众路线教育实践活动个人对照检查材料(医生)
2014/11/05 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
python中redis包操作数据库的教程
2022/04/19 Python