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网络编程学习笔记(四):域名系统
Jun 09 Python
Perl中著名的Schwartzian转换问题解决实现
Jun 02 Python
python获取元素在数组中索引号的方法
Jul 15 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
Nov 02 Python
python3中numpy函数tile的用法详解
Dec 04 Python
Python调用Windows命令打印文件
Feb 07 Python
python 两个一样的字符串用==结果为false问题的解决
Mar 12 Python
Windows10+anacond+GPU+pytorch安装详细过程
Mar 24 Python
深入理解Python变量的数据类型和存储
Feb 01 Python
Django项目如何正确配置日志(logging)
Apr 29 Python
Python人工智能之混合高斯模型运动目标检测详解分析
Nov 07 Python
yolov5返回坐标的方法实例
Mar 17 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
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
PHP命名空间与自动加载类详解
2018/09/04 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
IE bug table元素的innerHTML
2010/01/11 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
React实践之Tree组件的使用方法
2017/09/30 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
解决vue同一slot在组件中渲染多次的问题
2018/09/06 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
Angular6使用forRoot() 注册单一实例服务问题
2019/08/27 Javascript
vue实现移动端省市区选择
2019/09/27 Javascript
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
Javascript实现关闭广告效果
2021/01/29 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
django限制匿名用户访问及重定向的方法实例
2018/02/07 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
如何使用Python实现自动化水军评论
2019/06/26 Python
基于Python实现人脸自动戴口罩系统
2020/02/06 Python
python第三方库学习笔记
2020/02/07 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
Python稀疏矩阵及参数保存代码实现
2020/04/18 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
环保倡议书300字
2014/05/15 职场文书
七夕活动策划方案
2014/08/16 职场文书
党员四风剖析材料
2014/08/27 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
无保留意见审计报告
2015/06/05 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
TS 类型兼容教程示例详解
2022/09/23 Javascript