目录

1. 介绍

2. 代码实现

2.1 开运算

2.2 闭运算


1. 介绍

膨胀和腐蚀操作都会有一个通病,就是会改变原目标的大小

开运算:先对目标腐蚀在膨胀

开运算能够平滑物体的轮廓、断开狭窄的狭颈、消除细长的突出物等等

开运算的一些理解:先腐蚀在膨胀,可以保证目标大致的形状不变

  • 改变的部分,是由于腐蚀操作可能会让某些目标消失,这样该目标就不能通过膨胀还原
  • 所以开运算后的图像是 原图的子集
  • 根据几何解释,所以对同一幅图像重复开运算结果是相同的

闭运算:先膨胀在腐蚀

闭运算能够弥合狭窄的断裂和细长的沟壑、消除小孔、填补轮廓中的缝隙等等

闭运算:先膨胀在腐蚀

  • 原图 是 闭运算图像后的子集
  • 根据几何解释,所以对同一幅图像重复闭运算结果是相同的
  • 增加的部分,是由于膨胀操作可能会让目标之间产生连接,这样该目标就不能通过腐蚀还原

Tip : 看开、闭运算的作用,主要看第一次操作是膨胀还是腐蚀,因为第一次占的是主导作用,而第二次的膨胀腐蚀操作只是还原目标

2. 代码实现

2.1 开运算

代码为:

这里iteration 代表open运算的迭代次数。

这里是先进行五次腐蚀,然后再五次膨胀

而不是重复五次开运算,因为重复开运算结果是不变的

import cv2
import numpy as npimg = cv2.imread('./img.png',0)kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(3,3))  # 获取矩形结构元
dst = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel,iterations=5)cv2.imshow('img',np.hstack((img,dst)))
cv2.waitKey()
cv2.destroyAllWindows()

处理结果为:

可以发现毛刺被处理掉了,这里因为腐蚀会将这种毛刺消去,然后膨胀将主要的前景还原

2.2 闭运算

代码为:

import cv2
import numpy as npimg = cv2.imread('./img.png',0)kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))  # 获取矩形结构元
dst = cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel,iterations=3)cv2.imshow('img',np.hstack((img,dst)))
cv2.waitKey()
cv2.destroyAllWindows()

处理结果为:

膨胀的操作会将内部的孔洞填充,然后闭运算将目标的大小还原

形态学 - 开运算和闭运算相关推荐

  1. 《OpenCV3编程入门》学习笔记6 图像处理(四)形态学滤波(2):开运算、闭运算、形态学梯度、顶帽、黑帽

    6.4 形态学滤波(2):开运算.闭运算.形态学梯度.顶帽.黑帽 高级形态学变换,基于腐蚀与膨胀,利用morphologyEx函数实现 6.4.1 开运算 1.腐蚀后膨胀的过程,数学表达式:dst=o ...

  2. 形态学处理:膨胀、腐蚀、开运算、闭运算、形态学梯度、顶帽、黑帽

    形态学处理 一 膨胀 二 腐蚀 三 开运算 四 闭运算 五 形态学梯度 六 顶帽 七 黑帽 形态学处理 一 膨胀  代码: #include <opencv2/core/core.hpp> ...

  3. 图像形态学概要-腐蚀、膨胀、开运算、闭运算、形态学梯度(形态学边缘提取)、顶帽操作、黑帽操作

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 图像形态学中两种最基本的操作就是对图形的腐蚀和膨 ...

  4. 计算机视觉开源库OpenCV形态学morphologyEx函数之开运算和闭运算

    数学形态学操作可以分为二值形态学和灰度形态学,灰度形态学由二值形态学扩展而来.数学形态学有2个基本的运算,即腐蚀和膨胀,而腐蚀和膨胀通过结合又形成了开运算和闭运算. 开运算就是先腐蚀再膨胀 kerne ...

  5. [Python图像处理] 九.形态学之图像开运算、闭运算、梯度运算

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  6. 开运算和闭运算_OpenCV计算机视觉学习(5)——形态学处理(腐蚀膨胀,开闭运算,礼帽黑帽,边缘检测)...

    Fly-AI竞赛服务平台 flyai.com 在开始学习之前推荐大家可以多在FlyAI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力.FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站 ...

  7. 形态学滤波:(1)腐蚀与膨胀 (2)开运算,闭运算,形态学梯度,顶帽,黑帽...

    一.形态学概述 图像处理中的形态学一般指的是数学形态学. 数学形态学是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论.其基本运算包括:二值腐蚀和膨胀,二值开闭运算,骨架抽 ...

  8. 【OpenCV入门教程之十一】 形态学图像处理(二):开运算、闭运算、形态学梯度、顶帽、黑帽合辑

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/23184547 作者:毛星云(浅墨) ...

  9. 形态学操作之腐蚀、膨胀、开运算、闭运算、梯度运算、顶帽和黑帽

    1.腐蚀和膨胀 图像的腐蚀和膨胀实际上是用某种形状的窗去遍历图像中的每一个像素,并用这个形状中的最大值或最小值做为锚点的值.若取的是最小值,则是腐蚀操作,若取的是最大值,则是膨胀操作.这里某种形状可以 ...

  10. ITK 形态学中的开运算和闭运算 腐蚀 膨胀

    一. 图像形态学处理 -- 膨胀和腐蚀 腐蚀在二值图像的基础上做"收缩"或"细化"操作; 膨胀在二值图像的基础上做"加长"或"变粗 ...

最新文章

  1. 爆改100多元卡西欧,可测速、测温、测海拔,一点不输智能运动表
  2. 对Extjs中store的多种操作
  3. 在Windows 7 Media Center中创建音乐播放列表
  4. Java泛型教程–示例类,接口,方法,通配符等
  5. 小程序学习(2):vs code 安装插件
  6. 吴恩达深度学习 —— 3.7 为什么需要非线性激活函数
  7. asm 查看 数据文件 修改 时间_ASM磁盘组ORA15042故障处理案例一:NORMAL磁盘组下失败组离线后ORA15042报错的处理...
  8. 一次数据分析的全过程
  9. Tomcat(Install)
  10. mediacodec编解码少帧问题
  11. 机器学习的偏差-方差分解
  12. leetcode-896-单调数列
  13. R语言批量生成CaseWhen的解决方案
  14. springboot 配置 P6spy
  15. 电路中的输入输出阻抗以及阻抗匹配
  16. 青少儿科学小实验:水的表面张力
  17. 李彦宏“泼水门”:舆论的狂欢,还是魏则西的葬歌?
  18. 阿昆的Java学习日记Day2
  19. 衣橱管理APP——《衣橱管家》页面设计
  20. 写代码也要讲规矩——SLA

热门文章

  1. c语言同时代表数字和字符,C语言实现将字符和数字串到一起
  2. steam搬砖,项目要怎么做。
  3. c语言设计系统,C语言教学系统设计
  4. 重定向fputc函数实现printf串口发送
  5. python小功能,实现每天给自己发送一封天气预报
  6. JRedis的get错误
  7. 树莓派 安装c语言,树莓派安装OSMC打造家庭影院
  8. SAR图像的干涉相位 matlab_时空双缝干涉
  9. linux板卡支持USB键盘,让linux2.6.24内核在开发板支持usb鼠标
  10. Android 开机流程解析