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获取android设备的GPS信息脚本分享
Mar 06 Python
Python本地与全局命名空间用法实例
Jun 16 Python
Python实现的文本简单可逆加密算法示例
May 18 Python
python实现本地图片转存并重命名的示例代码
Oct 27 Python
使用Py2Exe for Python3创建自己的exe程序示例
Oct 31 Python
python os.fork() 循环输出方法
Aug 08 Python
python同步windows和linux文件
Aug 29 Python
Python列表切片常用操作实例解析
Dec 16 Python
Django DRF路由与扩展功能的实现
Jun 03 Python
keras多显卡训练方式
Jun 10 Python
python GUI计算器的实现
Oct 09 Python
python xlsxwriter模块的使用
Dec 24 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实现上传图片文件代码
2015/07/19 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
PHP获取用户客户端真实IP的解决方案
2016/10/10 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
JQuery 前台切换网站的样式实现
2009/06/22 Javascript
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
JQuery验证工具类搜集整理
2013/01/16 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
ES6新增数据结构WeakSet的用法详解
2017/08/07 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
2018/02/27 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
2018/08/27 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
2019/03/08 Javascript
vue将文件/图片批量打包下载zip的教程
2020/10/21 Javascript
vue 使用饿了么UI仿写teambition的筛选功能
2021/03/01 Vue.js
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
python实现测试工具(二)——简单的ui测试工具
2020/10/19 Python
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
法学函授自我鉴定
2014/02/06 职场文书
2014国庆节标语口号
2014/09/19 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
2014年实习班主任工作总结
2014/11/08 职场文书
管辖权异议上诉状
2015/05/23 职场文书
高中同学会致辞
2015/08/01 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫