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 相关文章推荐
35个Python编程小技巧
Apr 01 Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 Python
django基础之数据库操作方法(详解)
May 24 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
Jun 04 Python
PyQt5通信机制 信号与槽详解
Aug 07 Python
wxPython绘图模块wxPyPlot实现数据可视化
Nov 19 Python
Python内置数据类型list各方法的性能测试过程解析
Jan 07 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
Apr 22 Python
如何写python的配置文件
Jun 07 Python
基于Python3读写INI配置文件过程解析
Jul 23 Python
Python爬虫实现selenium处理iframe作用域问题
Jan 27 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 XML操作类DOMDocument
2009/12/16 PHP
php 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
学习php笔记 字符串处理
2010/10/19 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
FireFox浏览器使用Javascript上传大文件
2013/10/30 PHP
生成随机字符串和验证码的类的PHP实例
2013/12/24 PHP
浅谈PHP接收POST数据方式
2015/06/05 PHP
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
Extjs在exlipse中设置自动提示的方法
2010/04/07 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
jquery 使用点滴函数代码
2011/05/20 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
Node.js 使用AngularJS的方法示例
2018/05/11 Javascript
小程序清理本地缓存的方法
2018/08/17 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
2020/10/29 Javascript
python使用post提交数据到远程url的方法
2015/04/29 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
python实现感知机线性分类模型示例代码
2019/06/02 Python
python super函数使用方法详解
2020/02/14 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
python解包用法详解
2021/02/17 Python
html5中为audio标签增加停止按钮动作实现方法
2013/01/04 HTML / CSS
戴尔新西兰官网:Dell New Zealand
2020/01/07 全球购物
大学毕业生简单自荐信
2013/11/05 职场文书
人事部主管岗位职责
2013/12/26 职场文书
国际贸易实训报告
2014/11/05 职场文书
交警失职检讨书
2015/01/26 职场文书
外出培训学习心得体会
2016/01/18 职场文书
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python