opencv 实现图像形态学操作 膨胀和腐蚀 开闭运算 形态学梯度 顶帽和黑帽
图像膨胀和腐蚀
图解
原理及python实现
更多内容:图像膨胀和腐蚀原理及python实现
opencv中膨胀和腐蚀函数
dilation = cv.dilate(img, kernel) # 膨胀
erosion = cv.erode(img, kernel) # 腐蚀
实验
import cv2 as cv
import numpy as npimg = cv.imread('j.png')
img = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
ret,th = cv.threshold(img,0,255,cv.THRESH_BINARY+cv.THRESH_OTSU)
# 参数1:源图;参数2:核大小;参数3:腐蚀次数
erode1 = cv.erode(th,(3,3),10) # 腐蚀
dilate1 = cv.dilate(th,(3,3),10) # 扩张result = np.hstack((th,erode1,dilate1))cv.imshow('result',result)
cv.waitKey(0)
cv.destroyAllWindows()
输出结果类似于上图
cv.erode() 函数参数2:kernel讲解
这个核也叫结构元素,因为形态学操作其实也是应用卷积来实现的。结构元素可以是矩形/椭圆/十字形,可以用cv.getStructuringElement()来生成不同形状的结构元素,比如:
kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 5)) # 矩形结构
kernel = cv.getStructuringElement(cv.MORPH_ELLIPSE, (5, 5)) # 椭圆结构
kernel = cv.getStructuringElement(cv.MORPH_CROSS, (5, 5)) # 十字形结构
图像开闭运算
原理
开运算:先腐蚀,再膨胀。有效消除物体外的白色噪声。
闭运算:先膨胀,后腐蚀。有效消除物体内的黑色噪声。
python实现
更多内容:图像开闭运算原理及python实现
matlab实现
更多内容:图像开闭运算原理及matlab实现
实验
import cv2 as cv
import numpy as npimg = cv.imread('paojie_g.jpg',0)
ret,th = cv.threshold(img,0,255,cv.THRESH_BINARY+cv.THRESH_OTSU)kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 5)) # 定义结构元素opening = cv.morphologyEx(th, cv.MORPH_OPEN, kernel) # 开运算
closing = cv.morphologyEx(th, cv.MORPH_CLOSE, kernel) # 闭运算result = np.hstack((th,opening,closing))cv.imshow('result',result)
cv.waitKey(0)
cv.destroyAllWindows()
实验结果
形态学梯度
定义
形态学梯度:膨胀图减去腐蚀图,dilation - erosion,这样会得到物体的轮廓:
其它形态学运算
顶帽:原图减去开运算后的图:src - opening
tophat = cv.morphologyEx(img, cv.MORPH_TOPHAT, kernel)
黑帽:闭运算后的图减去原图:closing - src
blackhat = cv.morphologyEx(img, cv.MORPH_BLACKHAT, kernel)
opencv 实现图像形态学操作 膨胀和腐蚀 开闭运算 形态学梯度 顶帽和黑帽相关推荐
- 图像形态学变换 膨胀和腐蚀 开闭运算 边缘检测 opencv实现
一. 官方文档: dilate(膨胀): 函数原型 ↑ 参数说明 ↑ cv.erode(腐蚀)的使用和其类似. 二. 实验:膨胀和腐蚀 # Writer : wojianxinygcl@163.com ...
- Open_CV形态学运算专题 (腐蚀膨胀、开闭运算、梯度运算、顶帽运算黑帽运算 )【Python-Open_CV系列(十)】
Open_CV形态学运算专题 之 腐蚀&膨胀.开&闭运算.梯度运算.顶帽运算黑帽运算 [Python-Open_CV系列(十)] 文章目录 1. 腐 ...
- 【图像处理】——Python OpenCV实现形态学膨胀、腐蚀开闭操作(可以用于图像滤波、图像分割等)
转载博客请注明详细地址,谢谢 本文讲了形态学基本操作膨胀腐蚀开闭操作的原理 本文讲解了用OpenCV-Python实现形态学操作 目录 一.形态学简述 1.简介 2.一些基本定义 3.结构元素 (1) ...
- 【opencv学习】【形态学】【腐蚀与膨胀】【开运算与闭运算】【礼帽和黑帽】
一:膨胀和腐蚀 原始图像如下: hw.png hw_inv.png 如下展示代码: import numpy as np import random import cv2 import matplot ...
- python+OpenCv笔记(七):图像的形态学操作(腐蚀与膨胀、开闭运算、礼帽与黑帽)
一.腐蚀与膨胀 腐蚀就是原图中高亮的部分被蚕食,效果图拥有比原图更小的高亮区域. 腐蚀的作用是:消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点. 膨胀就是使原图中高亮的部分扩张,效果图拥有比 ...
- C语言二值图的腐蚀膨胀及开闭运算
(M2C系列)C语言二值图的形态学腐蚀膨胀及开闭运算 一.结构元 二.腐蚀 三.膨胀 四.开闭运算 五.其他 by HPC_ZY 由于剧情,需要纯C(不用三方库)实现图像算法.但作为一名MATLAB老 ...
- OpenCV与图像处理学习六——图像形态学操作:腐蚀、膨胀、开、闭运算、形态学梯度、顶帽和黑帽
OpenCV与图像处理学习六--图像形态学操作:腐蚀.膨胀.开.闭运算.形态学梯度.顶帽和黑帽 四.图像形态学操作 4.1 腐蚀和膨胀 4.1.1 图像腐蚀 4.1.2 图像膨胀 4.2 开运算与闭运 ...
- OpenCV 形态学操作之腐蚀与膨胀,开运算与闭运算,顶帽与黑帽,图像梯度运算相关知识点回顾
Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧.本篇博客是这个系列的第 45 篇. 该系列文章导航参考:https://blog.csdn.net/hihell/categ ...
- [图像形态学操作]——腐蚀和膨胀、开闭运算、黑帽礼帽
形态学转换是基于图像形状的一些简单操作,它通常在二进制图像上执行.腐蚀和膨胀是两个基本的形态学运算符.然后它的变体形式如:开运算.闭运算.礼帽黑帽等. 一.连通性 在图像学当中,图像的最小单位是像素, ...
最新文章
- Invoker 2019CCPC秦皇岛站I题 简单DP
- 开启一个新的spyder窗口
- word2vec模型评估_特征工程(下)—特征评估
- 就是要你懂 Java 中 volatile 关键字实现原理
- 借百度爸爸下蛋的好看搜索框
- treegrid.bootstrap使用说明
- mysql插入性能测试
- 利用openmp实现矩阵相乘_MP116:线性代数补习班(4):矩阵的张量积
- 风变Python8编程时,两大思维模式
- floodlight路由机制分析
- GD32F407RTC备份寄存器BKP的使用
- 健康生活 - 四季水果参考
- InstallShield2015创建安装包
- Excel 日期时间格式讲解
- Tilera--100核cpu
- 不同范数下的余弦定理_平行四边形的认识视频
- 解决phpstudy的mysql secure_file_priv 为null
- centos php安装 pecl,pecl是什么?如何在centos下安装pecl?
- canal deployer+canal adapter自动同步MySQL数据到ElasticSearch
- IT面试:三十六计(10)入职前准备
热门文章
- python表白代码-如何用Python代码向心爱的姑娘花式表白?
- 如何系统的自学python-应该怎样系统的学习Python标准库?
- 前端js获取本项目的项目根地址
- net472无法建立到信任_是否还会信任,那个曾经背叛过自己的人
- php url参数用–,php获取URL各部分参数
- 最简单的视音频播放示例1:总述
- Centos查看已经安装的软件或者包
- OpenWHO课程 Introduction to COVID-19: methods for detection, prevention, response and control 小抄
- 【POJ3349】Snowflake Snow Snowflakes(哈希表判重,维护一个集合)
- 电机编码器调零步骤_什么是无刷直流电机换向的最有效方法?