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 域名分析工具实现代码
Jul 15 Python
python使用PyGame绘制图像并保存为图片文件的方法
Apr 24 Python
Python编程之event对象的用法实例分析
Mar 23 Python
Anaconda 离线安装 python 包的操作方法
Jun 11 Python
Python绘制的二项分布概率图示例
Aug 22 Python
python 内置函数汇总详解
Sep 16 Python
python扫描线填充算法详解
Feb 19 Python
Python词云的正确实现方法实例
May 08 Python
Python - 10行代码集2000张美女图
May 23 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
May 31 Python
用python基于appium模块开发一个自动收取能量的小助手
Sep 25 Python
Python机器学习应用之基于线性判别模型的分类篇详解
Jan 18 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
CI配置多数据库访问的方法
2016/03/28 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
基于JQUERY的多级联动代码
2012/01/24 Javascript
jquery自定义表格样式
2015/11/23 Javascript
Bootstrap表单布局
2016/07/19 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
2016/08/05 Javascript
利用jquery获取select下拉框的值
2016/11/23 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
微信小程序 JS动态修改样式的实现方法
2018/12/16 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
解决layui的input独占一行的问题
2019/09/10 Javascript
VScode格式化ESlint方法(最全最好用方法)
2019/09/10 Javascript
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
python定时检查某个进程是否已经关闭的方法
2015/05/20 Python
Python实现ping指定IP的示例
2018/06/04 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
Python 实现Windows开机运行某软件的方法
2018/10/14 Python
通过python爬虫赚钱的方法
2019/01/29 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
怎样写好自我鉴定
2013/12/04 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
学习自我鉴定
2014/02/01 职场文书
日语专业个人求职信范文
2014/02/02 职场文书
学校食品安全实施方案
2014/06/14 职场文书
借款民事起诉状范文
2015/05/19 职场文书
2016年端午节寄语
2015/12/04 职场文书
创业计划书之家政服务
2019/09/18 职场文书