opencv 形态学变换(开运算,闭运算,梯度运算)


Posted in Python onJuly 07, 2020

形态学里把腐蚀和膨胀单独拿了出来,其他操作(保括膨胀和腐蚀的组合操作)都叫形态学变换。
opencv里有包:cv2.morphologyEx()
morphology :译文 形态学
使用python +opencv讲解

开运算

开运算:对图像先进行腐蚀,然后对腐蚀后的图进行膨胀

opencv 形态学变换(开运算,闭运算,梯度运算)

opencv 形态学变换(开运算,闭运算,梯度运算)

morphologyEx
运算结果=cv2.morphologyEx(源图像img,cv2.MORPH_OPEN,卷积核k)
cv2.MORPH_OPEN:开运算

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

opencv 形态学变换(开运算,闭运算,梯度运算)

闭运算

对图像进行先膨胀,再腐蚀。
有助于关闭前景物体上的小孔,或者小黑点。

opencv 形态学变换(开运算,闭运算,梯度运算)

morphologyEx
运算结果=cv2.morphologyEx(源图像img,cv2.MORPH_CLOSE,卷积核k)
cv2.MORPH_CLOSE:闭运算

合理选择卷积核大小,太小了无法去除前景图的黑点

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

opencv 形态学变换(开运算,闭运算,梯度运算)

梯度运算

对二值图像分别进行膨胀和腐蚀操作。
然后膨胀图像-腐蚀图像=结果
(像素相减)0-0=0,1-1=0,1-0=1

opencv 形态学变换(开运算,闭运算,梯度运算)

运算结果=cv2.morphologyEx(源图像img,cv2.MORPH_GRADIENT,卷积核k)
cv2.MORPH_GRADIENT:闭运算

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

opencv 形态学变换(开运算,闭运算,梯度运算)

到此这篇关于opencv 形态学变换(开运算,闭运算,梯度运算)的文章就介绍到这了,更多相关opencv 形态学变换内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python新手在作用域方面经常容易碰到的问题
Apr 03 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
Mar 02 Python
详解python异步编程之asyncio(百万并发)
Jul 07 Python
python3.x实现base64加密和解密
Mar 28 Python
在Pycharm中使用GitHub的方法步骤
Jun 13 Python
用sqlalchemy构建Django连接池的实例
Aug 29 Python
Python切图九宫格的实现方法
Oct 10 Python
8段用于数据清洗Python代码(小结)
Oct 31 Python
使用TensorFlow搭建一个全连接神经网络教程
Feb 06 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
Mar 02 Python
python 提高开发效率的5个小技巧
Oct 19 Python
python如何修改文件时间属性
Feb 05 Python
解决pytorch 交叉熵损失输出为负数的问题
Jul 07 #Python
Python基于httpx模块实现发送请求
Jul 07 #Python
opencv 图像腐蚀和图像膨胀的实现
Jul 07 #Python
Pytorch损失函数nn.NLLLoss2d()用法说明
Jul 07 #Python
浅析Python __name__ 是什么
Jul 07 #Python
Pytorch上下采样函数--interpolate用法
Jul 07 #Python
pytorch随机采样操作SubsetRandomSampler()
Jul 07 #Python
You might like
php桌面中心(四) 数据显示
2007/03/11 PHP
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
PHP实现验证码校验功能
2017/11/16 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
2019/04/10 PHP
判断控件是否已加载完成的代码
2010/02/24 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
jQuery关于导航条背景切换效果实现示例
2013/09/04 Javascript
js实现数字每三位加逗号的方法
2015/02/05 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
这15个Vue指令,让你的项目开发爽到爆
2019/10/11 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
[14:50]2018DOTA2亚洲邀请赛开幕式
2018/04/03 DOTA
使用python加密自己的密码
2015/08/04 Python
python3使用scrapy生成csv文件代码示例
2017/12/28 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
python脚本调用iftop 统计业务应用流量的思路详解
2019/10/11 Python
python跨文件使用全局变量的实现
2020/11/17 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
求职简历中自我评价
2014/01/28 职场文书
个人党性剖析材料
2014/02/03 职场文书
高中生操行评语
2014/04/25 职场文书
应急处置方案
2014/06/16 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
关于公司年会的开幕词
2016/03/04 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书
Python matplotlib可视化之绘制韦恩图
2022/02/24 Python