opencv 图像腐蚀和图像膨胀的实现


Posted in Python onJuly 07, 2020

语言:python+opencv

为什么使用图像腐蚀和图像膨胀

如图,使用图像腐蚀进行去噪,但是为压缩噪声。
对腐蚀过的图像,进行膨胀处理,可以去除噪声,并保持原样形状。

opencv 图像腐蚀和图像膨胀的实现

图像腐蚀

腐蚀主要针对的是二值图像,如只有0和1两个值,
两个输入对象:1原始二值图像,2卷积核
使用卷积核遍历原始二值图像,如果卷积核对应的元素值均为1,其值才为1,否则为0。如图,红色为卷积核。

opencv 图像腐蚀和图像膨胀的实现

腐蚀后的结果示意图见下面,效果是将边缘抹掉一部分。

opencv 图像腐蚀和图像膨胀的实现

使用方法:erode 中文翻译:侵蚀

处理结果=cv2.erode(原始图像src,卷积核kernel,迭代次数iterations)

卷积核kernel:一般为正方形数组

如:k=np.ones((5,5),np.uint8)

迭代次数iterations:腐蚀次数,默认1

import cv2
import numpy as np
o=cv2.imread("erode.bmp",cv2.IMREAD_UNCHANGED)
k=np.ones((5,5),np.uint8)
r=cv2.erode(o,k,iterations=10)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

opencv 图像腐蚀和图像膨胀的实现

图像膨胀

图像腐蚀的逆操作。
针对的是二值图像
输入两个参数:二值图像,卷积核。

opencv 图像腐蚀和图像膨胀的实现

使用卷积核对二值图像进行遍历,卷积核对应的图像像素点只要有一个为1,则值为1,否则为0.

opencv 图像腐蚀和图像膨胀的实现

使用方法:dilate
结果=cv2.dilate(二值图像src,卷积核k,迭代次数itreations)
卷积核 正方形数组:如np.ones((5,5),np.uint8)

import cv2
import numpy as np
o=cv2.imread("dilation.bmp",cv2.IMREAD_UNCHANGED)
k=np.ones((5,5),np.uint8)
r=cv2.dilate(o,k,iterations=1)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

opencv 图像腐蚀和图像膨胀的实现

到此这篇关于opencv 图像腐蚀和图像膨胀的实现的文章就介绍到这了,更多相关opencv 图像腐蚀和图像膨胀内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python编写的com组件发生R6034错误的原因与解决办法
Apr 01 Python
python二叉树遍历的实现方法
Nov 21 Python
在Python中使用模块的教程
Apr 27 Python
Python遍历目录中的所有文件的方法
Jul 08 Python
Python基于Floyd算法求解最短路径距离问题实例详解
May 16 Python
Python实现拷贝/删除文件夹的方法详解
Aug 29 Python
Django密码系统实现过程详解
Jul 19 Python
Python表达式的优先级详解
Feb 18 Python
Python 列表推导式需要注意的地方
Oct 23 Python
在pycharm创建scrapy项目的实现步骤
Dec 01 Python
python pyg2plot的原理知识点总结
Feb 28 Python
写好Python代码的几条重要技巧
May 21 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
Jul 07 #Python
浅析Python __name__ 是什么
Jul 07 #Python
Pytorch上下采样函数--interpolate用法
Jul 07 #Python
pytorch随机采样操作SubsetRandomSampler()
Jul 07 #Python
pytorch加载自己的图像数据集实例
Jul 07 #Python
keras实现VGG16 CIFAR10数据集方式
Jul 07 #Python
使用darknet框架的imagenet数据分类预训练操作
Jul 07 #Python
You might like
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
十天学会php(2)
2006/10/09 PHP
利用PHP动态生成VRML网页
2006/10/09 PHP
php 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
event.srcElement 用法笔记e.target
2009/12/18 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
react路由配置方式详解
2017/08/07 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
python实现批量获取指定文件夹下的所有文件的厂商信息
2014/09/28 Python
Python中使用Inotify监控文件实例
2015/02/14 Python
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
详解python做UI界面的方法
2019/02/27 Python
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
烹调加工管理制度
2014/02/04 职场文书
广告业务员岗位职责
2014/02/06 职场文书
初中军训感想300字
2014/03/05 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
结婚当天新郎保证书
2015/05/08 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android
Python语言内置数据类型
2022/02/24 Python
Android studio 简单计算器的编写
2022/05/20 Java/Android