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求解平方根的方法
Mar 11 Python
python实现数据写入excel表格
Mar 25 Python
Python发送http请求解析返回json的实例
Mar 26 Python
Django中反向生成models.py的实例讲解
May 30 Python
使用anaconda的pip安装第三方python包的操作步骤
Jun 11 Python
Python面向对象程序设计之继承与多继承用法分析
Jul 13 Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
Oct 17 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
Feb 25 Python
拿来就用!Python批量合并PDF的示例代码
Aug 10 Python
python利用google翻译方法实例(翻译字幕文件)
Sep 21 Python
python 写一个水果忍者游戏
Jan 13 Python
python Protobuf定义消息类型知识点讲解
Mar 02 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采用原生query实现关联查询left join实例
2014/12/02 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
PHP常用算法和数据结构示例(必看篇)
2017/03/15 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
window.onload 加载完毕的问题及解决方案(下)
2009/07/09 Javascript
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
python爬虫之urllib3的使用示例
2018/07/09 Python
Python3.7实现中控考勤机自动连接
2018/08/28 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
通过实例解析python创建进程常用方法
2020/06/19 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
canvas进阶之如何画出平滑的曲线
2018/10/15 HTML / CSS
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
博柏利美国官方网站:Burberry美国
2020/11/19 全球购物
Ejb技术面试题
2015/04/29 面试题
揭牌仪式主持词
2014/03/19 职场文书
2015年校长新年寄语
2014/12/08 职场文书
2015年党总支工作总结
2015/05/25 职场文书
2015年幼师个人工作总结
2015/10/15 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
Nginx+Tomcat负载均衡多实例详解
2022/04/11 Servers
zabbix配置nginx监控的实现
2022/05/25 Servers