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 27 Python
Python selenium 三种等待方式解读
Sep 15 Python
利用python爬取散文网的文章实例教程
Jun 18 Python
Python实现的简单模板引擎功能示例
Sep 02 Python
python实现移位加密和解密
Mar 22 Python
用python打印1~20的整数实例讲解
Jul 01 Python
执行Python程序时模块报错问题
Mar 26 Python
使用jupyter notebook直接打开.md格式的文件
Apr 10 Python
Python网页解析器使用实例详解
May 30 Python
keras和tensorflow使用fit_generator 批次训练操作
Jul 03 Python
基于python爬取链家二手房信息代码示例
Oct 21 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
Jan 08 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的中问验证码
2006/11/25 PHP
15种PHP Encoder的比较
2007/04/17 PHP
php产生随机数的两种方法实例代码 输出随机IP
2011/04/08 PHP
php把session写入数据库示例
2014/02/26 PHP
PHP框架Swoole定时器Timer特性分析
2014/08/19 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
2009/12/02 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
jQuery实现手机自定义弹出输入框
2016/06/13 Javascript
ajax异步请求详解
2017/01/06 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
js实现文件上传功能 后台使用MultipartFile
2018/09/08 Javascript
详解写好JS条件语句的5条守则
2019/02/28 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
python difflib模块示例讲解
2017/09/13 Python
python实现名片管理系统项目
2019/04/26 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
Python尾递归优化实现代码及原理详解
2020/10/09 Python
Django基于Models定制Admin后台实现过程解析
2020/11/11 Python
非常震撼的纯CSS3人物行走动画
2016/02/24 HTML / CSS
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
阿迪达斯荷兰官方网站:adidas荷兰
2018/03/16 全球购物
2014年村计划生育工作总结
2014/11/14 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
物流业务员岗位职责
2015/04/03 职场文书
毕业班工作总结
2015/08/10 职场文书
总结Pyinstaller打包的高级用法
2021/06/28 Python
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫