图像膨胀和腐蚀

图解

原理及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 实现图像形态学操作 膨胀和腐蚀 开闭运算 形态学梯度 顶帽和黑帽相关推荐

  1. 图像形态学变换 膨胀和腐蚀 开闭运算 边缘检测 opencv实现

    一. 官方文档: dilate(膨胀): 函数原型 ↑ 参数说明 ↑ cv.erode(腐蚀)的使用和其类似. 二. 实验:膨胀和腐蚀 # Writer : wojianxinygcl@163.com ...

  2. Open_CV形态学运算专题 (腐蚀膨胀、开闭运算、梯度运算、顶帽运算黑帽运算 )【Python-Open_CV系列(十)】

      Open_CV形态学运算专题 之 腐蚀&膨胀.开&闭运算.梯度运算.顶帽运算黑帽运算               [Python-Open_CV系列(十)]   文章目录 1. 腐 ...

  3. 【图像处理】——Python OpenCV实现形态学膨胀、腐蚀开闭操作(可以用于图像滤波、图像分割等)

    转载博客请注明详细地址,谢谢 本文讲了形态学基本操作膨胀腐蚀开闭操作的原理 本文讲解了用OpenCV-Python实现形态学操作 目录 一.形态学简述 1.简介 2.一些基本定义 3.结构元素 (1) ...

  4. 【opencv学习】【形态学】【腐蚀与膨胀】【开运算与闭运算】【礼帽和黑帽】

    一:膨胀和腐蚀 原始图像如下: hw.png hw_inv.png 如下展示代码: import numpy as np import random import cv2 import matplot ...

  5. python+OpenCv笔记(七):图像的形态学操作(腐蚀与膨胀、开闭运算、礼帽与黑帽)

    一.腐蚀与膨胀 腐蚀就是原图中高亮的部分被蚕食,效果图拥有比原图更小的高亮区域. 腐蚀的作用是:消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点. 膨胀就是使原图中高亮的部分扩张,效果图拥有比 ...

  6. C语言二值图的腐蚀膨胀及开闭运算

    (M2C系列)C语言二值图的形态学腐蚀膨胀及开闭运算 一.结构元 二.腐蚀 三.膨胀 四.开闭运算 五.其他 by HPC_ZY 由于剧情,需要纯C(不用三方库)实现图像算法.但作为一名MATLAB老 ...

  7. OpenCV与图像处理学习六——图像形态学操作:腐蚀、膨胀、开、闭运算、形态学梯度、顶帽和黑帽

    OpenCV与图像处理学习六--图像形态学操作:腐蚀.膨胀.开.闭运算.形态学梯度.顶帽和黑帽 四.图像形态学操作 4.1 腐蚀和膨胀 4.1.1 图像腐蚀 4.1.2 图像膨胀 4.2 开运算与闭运 ...

  8. OpenCV 形态学操作之腐蚀与膨胀,开运算与闭运算,顶帽与黑帽,图像梯度运算相关知识点回顾

    Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧.本篇博客是这个系列的第 45 篇. 该系列文章导航参考:https://blog.csdn.net/hihell/categ ...

  9. [图像形态学操作]——腐蚀和膨胀、开闭运算、黑帽礼帽

    形态学转换是基于图像形状的一些简单操作,它通常在二进制图像上执行.腐蚀和膨胀是两个基本的形态学运算符.然后它的变体形式如:开运算.闭运算.礼帽黑帽等. 一.连通性 在图像学当中,图像的最小单位是像素, ...

最新文章

  1. Invoker 2019CCPC秦皇岛站I题 简单DP
  2. 开启一个新的spyder窗口
  3. word2vec模型评估_特征工程(下)—特征评估
  4. 就是要你懂 Java 中 volatile 关键字实现原理
  5. 借百度爸爸下蛋的好看搜索框
  6. treegrid.bootstrap使用说明
  7. mysql插入性能测试
  8. 利用openmp实现矩阵相乘_MP116:线性代数补习班(4):矩阵的张量积
  9. 风变Python8编程时,两大思维模式
  10. floodlight路由机制分析
  11. GD32F407RTC备份寄存器BKP的使用
  12. 健康生活 - 四季水果参考
  13. InstallShield2015创建安装包
  14. Excel 日期时间格式讲解
  15. Tilera--100核cpu
  16. 不同范数下的余弦定理_平行四边形的认识视频
  17. 解决phpstudy的mysql secure_file_priv 为null
  18. centos php安装 pecl,pecl是什么?如何在centos下安装pecl?
  19. canal deployer+canal adapter自动同步MySQL数据到ElasticSearch
  20. IT面试:三十六计(10)入职前准备

热门文章

  1. python表白代码-如何用Python代码向心爱的姑娘花式表白?
  2. 如何系统的自学python-应该怎样系统的学习Python标准库?
  3. 前端js获取本项目的项目根地址
  4. net472无法建立到信任_是否还会信任,那个曾经背叛过自己的人
  5. php url参数用–,php获取URL各部分参数
  6. 最简单的视音频播放示例1:总述
  7. Centos查看已经安装的软件或者包
  8. OpenWHO课程 Introduction to COVID-19: methods for detection, prevention, response and control 小抄
  9. 【POJ3349】Snowflake Snow Snowflakes(哈希表判重,维护一个集合)
  10. 电机编码器调零步骤_什么是无刷直流电机换向的最有效方法?