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 相关文章推荐
pyqt4教程之实现windows窗口小示例分享
Mar 07 Python
python爬虫入门教程--正则表达式完全指南(五)
May 25 Python
Python+request+unittest实现接口测试框架集成实例
Mar 16 Python
win10下tensorflow和matplotlib安装教程
Sep 19 Python
使用python Fabric动态修改远程机器hosts的方法
Oct 26 Python
对Python的多进程锁的使用方法详解
Feb 18 Python
pyqt5移动鼠标显示坐标的方法
Jun 21 Python
Python如何计算语句执行时间
Nov 22 Python
python应用Axes3D绘图(批量梯度下降算法)
Mar 25 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
使用OpenCV对车道进行实时检测的实现示例代码
Jun 19 Python
Python+MySQL随机试卷及答案生成程序的示例代码
Feb 01 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
文章推荐系统(三)
2006/10/09 PHP
用文本文件制作留言板提示(下)
2006/10/09 PHP
php at(@)符号的用法简介
2009/07/11 PHP
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
jQuery.extend 函数的详细用法
2012/06/27 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
KnockoutJS 3.X API 第四章之click绑定
2016/10/10 Javascript
Centos7 中安装 Node.js v4.4.4
2016/11/03 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
jQuery属性选择器用法实例分析
2019/06/28 jQuery
详解node和ES6的模块导出与导入
2020/02/19 Javascript
[01:39:42]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python实现向ppt文件里插入新幻灯片页面的方法
2015/04/28 Python
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
2019/07/19 Python
python将print输出的信息保留到日志文件中
2019/09/27 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
django 数据库 get_or_create函数返回值是tuple的问题
2020/05/15 Python
利用CSS3 动画 绘画 圆形动态时钟
2018/03/20 HTML / CSS
css3实现圆锥渐变conic-gradient效果
2020/02/12 HTML / CSS
日本运动品牌美津浓官方购物网站:MIZUNO SHOP
2016/08/21 全球购物
PHP开发的一般流程
2013/08/13 面试题
输入N,打印N*N矩阵
2012/02/20 面试题
会计应聘求职信范文
2013/12/17 职场文书
公司开业庆典主持词
2014/03/21 职场文书
活动总结格式范文
2014/04/26 职场文书
学习党代会心得体会
2014/09/05 职场文书
群众路线教育实践活动实施方案
2014/10/31 职场文书
当你找不到方向的时候,不妨读读刘备的一生
2019/08/05 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL