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自动化测试之连接几组测试包实例
Sep 28 Python
RC4文件加密的python实现方法
Jun 30 Python
详解在Python程序中解析并修改XML内容的方法
Nov 16 Python
python使用标准库根据进程名如何获取进程的pid详解
Oct 31 Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
python 实现求解字符串集的最长公共前缀方法
Jul 20 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
Mar 28 Python
Python request post上传文件常见要点
Nov 20 Python
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
Jun 05 Python
Python pyecharts案例超市4年数据可视化分析
Aug 14 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
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
2014/11/22 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
2017/02/24 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
js对象的构造和继承实现代码
2010/12/05 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
javascript中局部变量和全局变量的区别详解
2015/02/27 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
2016/10/30 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
python文件和目录操作函数小结
2014/07/11 Python
python实现文本文件合并
2015/12/29 Python
Python正则表达式使用经典实例
2016/06/21 Python
Python实现Kmeans聚类算法
2020/06/10 Python
python如何把嵌套列表转变成普通列表
2018/03/20 Python
django Serializer序列化使用方法详解
2018/10/16 Python
Python排序函数的使用方法详解
2020/12/11 Python
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
环境工程大学生自荐信
2013/10/21 职场文书
师范生实习自我鉴定
2013/11/01 职场文书
大学生优秀团员事迹材料
2014/01/30 职场文书
火车的故事教学反思
2014/02/11 职场文书
市场总经理岗位职责
2014/04/11 职场文书
个人四风问题整改措施
2014/10/24 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
幼儿教师师德培训心得体会
2016/01/09 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python