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中的lstrip()方法使用简介
May 19 Python
Python实现的简单算术游戏实例
May 26 Python
python cx_Oracle的基础使用方法(连接和增删改查)
Nov 19 Python
Python实现简易过滤删除数字的方法小结
Jan 09 Python
PYTHON实现SIGN签名的过程解析
Oct 28 Python
pygame实现成语填空游戏
Oct 29 Python
python 实现turtle画图并导出图片格式的文件
Dec 07 Python
Python时间差中seconds和total_seconds的区别详解
Dec 26 Python
Python使用循环神经网络解决文本分类问题的方法详解
Jan 16 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
Apr 08 Python
python实现IOU计算案例
Apr 12 Python
Python PIL按比例裁剪图片
May 11 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
一个SQL管理员的web接口
2006/10/09 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
详解HTTP Cookie状态管理机制
2016/01/14 PHP
joomla组件开发入门教程
2016/05/04 PHP
简单实现PHP留言板功能
2016/12/21 PHP
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
JS常用正则表达式总结
2013/11/12 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
微信企业号开发之微信考勤百度地图定位
2015/09/11 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
jquery.validate使用详解
2016/06/02 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
bootstrapvalidator之API学习教程
2017/06/29 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
详解javascript 正则表达式之分组与前瞻匹配
2018/05/30 Javascript
JQuery获取元素尺寸、位置及页面滚动事件应用示例
2019/05/14 jQuery
从0搭建vue-cli4脚手架
2020/06/17 Javascript
JavaScript中展开运算符及应用的实例代码
2021/01/14 Javascript
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
用Pygal绘制直方图代码示例
2017/12/07 Python
python requests使用socks5的例子
2019/07/25 Python
python @propert装饰器使用方法原理解析
2019/12/25 Python
基于python图像处理API的使用示例
2020/04/03 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
详解Python中的Lock和Rlock
2021/01/26 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
CSS3的first-child选择器实战攻略
2016/04/28 HTML / CSS
2014年民主评议党员工作总结
2014/12/02 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
新兵入伍决心书
2015/09/22 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
微信小程序实现聊天室功能
2021/06/14 Javascript
Python 中 Shutil 模块详情
2021/11/11 Python