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统计文件中去重后uuid个数的方法
Jul 30 Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
Jan 24 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
Sep 11 Python
python flask实现分页的示例代码
Aug 02 Python
PyQt5笔记之弹出窗口大全
Jun 20 Python
Python 列表去重去除空字符的例子
Jul 20 Python
Python遍历字典方式就实例详解
Dec 28 Python
Python自动采集微信联系人的实现示例
Feb 28 Python
浅析python标准库中的glob
Mar 13 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
May 03 Python
Python通过len函数返回对象长度
Oct 22 Python
python字典的元素访问实例详解
Jul 21 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+java实现自动新闻滚动窗口
2006/10/09 PHP
PHP文本操作类
2006/11/25 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
php 启动报错如何解决
2014/01/17 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
2019/04/12 PHP
php实例化一个类的具体方法
2019/09/19 PHP
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
javascript数组的使用
2013/03/28 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
js实现简单秒表走动的时钟特效
2020/03/25 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
AngularJS实现表单验证功能
2017/01/09 Javascript
js DOM的事件常见操作实例详解
2019/12/16 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
2020/11/04 Javascript
Vue中ref和$refs的介绍以及使用方法示例
2021/01/11 Vue.js
Python内置函数之filter map reduce介绍
2014/11/30 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
Django Web开发中django-debug-toolbar的配置以及使用
2018/05/06 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
pytorch forward两个参数实例
2020/01/17 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
2020/04/17 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
pycharm 的Structure界面设置操作
2021/02/05 Python
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
优秀食品类广告词
2014/03/19 职场文书
解除同居协议书
2015/01/29 职场文书
课题研究阶段性总结
2015/08/13 职场文书