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破解斗地主残局详解
Jun 30 Python
python列表list保留顺序去重的实例
Dec 14 Python
python顺序执行多个py文件的方法
Jun 29 Python
Python叠加两幅栅格图像的实现方法
Jul 05 Python
Python交互式图形编程的实现
Jul 25 Python
Python 调用 Outlook 发送邮件过程解析
Aug 08 Python
python multiprocessing模块用法及原理介绍
Aug 20 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
Oct 10 Python
pymysql 插入数据 转义处理方式
Mar 02 Python
解决pycharm不能自动补全第三方库的函数和属性问题
Mar 12 Python
python列表的逆序遍历实现
Apr 20 Python
Pygame如何使用精灵和碰撞检测
Nov 17 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
广播爱好者需要了解的天线知识
2021/03/01 无线电
推荐一些非常不错的javascript学习资源站点
2007/08/29 Javascript
jQuery的each终止或跳过示例代码
2013/12/12 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
2016/05/28 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
vue跨域解决方法
2017/10/15 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
2018/06/29 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
Python实现从url中提取域名的几种方法
2014/09/26 Python
python与php实现分割文件代码
2017/03/06 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
Python 绘图库 Matplotlib 入门教程
2018/04/19 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
python中几种自动微分库解析
2019/08/29 Python
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
JD Sports西班牙:英国领先的运动服装公司
2020/01/06 全球购物
商场消防管理制度
2014/01/12 职场文书
模具专业求职信
2014/06/26 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
艺术节开幕词
2015/01/28 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python