1,概念及原理:
膨胀(Dilating) (或)
(1)将图像 A 与任意形状的内核 (B),通常为正方形或圆形,进行卷积。
(2)内核 B 有一个可定义的 锚点, 通常定义为内核中心点。
(3)进行膨胀操作时,将内核 B 划过图像A,将内核 B 覆盖区域的最大相素值提取,并代替锚点位置的相素。显然,这一最大化操作将会导致图像中的亮区开始”扩展” (因此有了术语膨胀 dilation )。
以3*3的内核为例:

腐蚀(Eroding) (与)
(1)腐蚀在形态学操作家族里是膨胀操作的孪生姐妹。它提取的是内核覆盖下的相素最小值。
(2)进行腐蚀操作时,将内核 B 划过图像,将内核 B 覆盖区域的最小相素值提取,并代替锚点位置的相素。

值得注意的是:腐蚀和膨胀是对白色部分(高亮部分)而言的,不是黑色部分。 膨胀就是图像中的高亮部分进行膨胀,“邻域扩张”,效果图拥有比原图更大的高亮区域。腐蚀就是原图中高亮部分被腐蚀,“邻域被蚕食”,效果图拥有比原图更小的高亮区域。

源代码:

import cv2 as cv
import numpy as npdef erode_demo(image):# print(image.shape)gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)#cv.imshow("binary", binary)kernel = cv.getStructuringElement(cv.MORPH_RECT, (15, 15))#定义结构元素的形状和大小dst = cv.erode(binary, kernel)#腐蚀操作cv.imshow("erode_demo", dst)def dilate_demo(image):#print(image.shape)gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)#cv.imshow("binary", binary)kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 5))#定义结构元素的形状和大小dst = cv.dilate(binary, kernel)#膨胀操作cv.imshow("dilate_demo", dst)src = cv.imread("F:/images/test01.png")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
erode_demo(src)
dilate_demo(src)cv.waitKey(0)cv.destroyAllWindows()

运行结果:


OpenCV+python:膨胀和腐蚀相关推荐

  1. opencv之膨胀、腐蚀

    1 膨胀 功能 寻找图像中的局部极大值,将图像中的高亮区域进行扩张,运行出来的结果比原图的高亮区域更多. 参数 src: 输入矩阵 kernel: 卷积核 dts: 输出矩阵 anchor: 卷积核矩 ...

  2. 基于OpenCV的膨胀和腐蚀

    本博客讲解形态雪中的膨胀和腐蚀操作.使用的函数为:         cv::erode cv::dilate 形态学操作 简而言之:一组基于形状的图像处理的操作.形态学运算对输入图像应用astruct ...

  3. python 腐蚀膨胀_opencv+python 膨胀与腐蚀

    原理: 对二值图像进行操作. 腐蚀和膨胀是最基本的形态学运算. 腐蚀和膨胀是针对白色部分(高亮部分)而言的. 膨胀就是对图像高亮部分进行"领域扩张",效果图拥有比原图更大的高亮区域 ...

  4. OpenCV中膨胀和腐蚀结构元素的创建

    CreateStructuringElementEx:IplConvKernel* cvCreateStructuringElementEx( int cols, int rows, int anch ...

  5. opencv 实现图像形态学操作 膨胀和腐蚀 开闭运算 形态学梯度 顶帽和黑帽

    图像膨胀和腐蚀 图解 原理及python实现 更多内容:图像膨胀和腐蚀原理及python实现 opencv中膨胀和腐蚀函数 dilation = cv.dilate(img, kernel) # 膨胀 ...

  6. opencv进阶学习笔记13:图像形态学操作大全(膨胀,腐蚀,开闭,黑帽,顶帽,梯度)python版

    基础版学习笔记: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 基础版形态学: opencv学 ...

  7. opencv python 图像形态学操作/图像腐蚀/图像膨胀/开运算/闭运算/顶帽/黑帽

    Morphological Transformations 1图像腐蚀 腐蚀的基本思想:侵蚀前景物体的边界(总是试图保持前景为白色):内核在图像中滑动(如在2D卷积中).只有当内核下的所有像素都是1时 ...

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

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

  9. OpenCV(六)形态学操作1--基础:膨胀与腐蚀(回调函数)

    目录 形态学通用API:morphologyEx 一.基础理论 1.邻接关系 (1)四邻接: (2)D邻接: (3) 八邻接: 2.连通性 (1)四连通: (2)八连通: (3)m连通: 3.形态学基 ...

  10. python腐蚀膨胀代码_OpenCV+python实现膨胀和腐蚀的示例

    1,概念及原理: 膨胀(Dilating) (或) (1)将图像 A 与任意形状的内核 (B),通常为正方形或圆形,进行卷积. (2)内核 B 有一个可定义的 锚点, 通常定义为内核中心点. (3)进 ...

最新文章

  1. 搭建网站必不可少的知识3
  2. 区块链开源实现 hyperledger fabric 概念与原理
  3. 成本直降50%,下一代网关震撼发布
  4. WebService事务处理
  5. 前端学习(3323):高级设计说闭包
  6. 【原创】如何写一个框架:步骤(下)
  7. 软件工程第一次作业2018
  8. 接口做的好怎么形容_匠品美缝知识之接口美缝如何做?
  9. 【BZOJ 1038】 1038: [ZJOI2008]瞭望塔
  10. java点击按钮发出声音_响应触发按钮声音onKeyPress问题
  11. linux set命令例子,学习一个 Linux 命令:declare/typeset 命令
  12. 研究生综合英语unit4 前四段
  13. 有些人二十几岁就提前退休了,凭什么?
  14. CIC-IDS数据集特征介绍
  15. java bigdecimal 开方_JAVA BigDecimal使用牛顿迭代法计算平方根(开方)
  16. 直播平台软件开发都使用了什么协议呢?
  17. 开源风控系统radar部署
  18. 1000瓶毒药,小白鼠测毒问题
  19. python返回上一个交易日
  20. 找出11-999间的回文数m,m方,m三次方均为回文

热门文章

  1. centos使用镜像源轻松配置golang+vscode的方法
  2. 【Kubernetes】如何使用Kubeadm部署K8S集群
  3. 2022-2028年中国商业综合体行业市场前瞻与投资规划分析报告
  4. Linux shell 学习笔记(11)— 理解输入和输出(标准输入、输出、错误以及临时重定向和永久重定向)
  5. python重难点之装饰器详解
  6. java 解释型和编译型
  7. 写好 Python 代码的几条原则
  8. python实现glove,gensim.word2vec模型训练实例
  9. 命名实体识别训练集汇总(一直更新)
  10. FuzzyCMeans算法