开运算和闭运算是将腐蚀和膨胀按照一定的次序进行处理。 但这两者并不是可逆的,即先开后闭并不能得到原来的图像。

  1. 开运算

开运算是先腐蚀后膨胀,其作用是:分离物体,消除小区域。特点:消除噪点,去除小的干扰块,而不影响原来的图像。

  1. 闭运算

闭运算与开运算相反,是先膨胀后腐蚀,作用是消除/“闭合”物体里面的孔洞,特点:可以填充闭合区域。

cv.morphologyEx(img, op, kernel)
  • img: 要处理的图像
  • op: 处理方式:若进行开运算,则设为cv.MORPH_OPEN,若进行闭运算,则设为cv.MORPH_CLOSE
  • Kernel: 核结构
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt# 1 读取图像
img1 = cv.imread("./1.png")
img2 = cv.imread("./2.png")# 2 创建核结构
kernel = np.ones((10, 10), np.uint8)# 3 图像的开闭运算
cvOpen = cv.morphologyEx(img1, cv.MORPH_OPEN, kernel)  # 开运算
cvClose = cv.morphologyEx(img2, cv.MORPH_CLOSE, kernel)  # 闭运算# 4 图像展示
fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(10, 8))
axes[0, 0].imshow(img1[:, :, ::-1])
axes[0, 0].set_title("原图")
axes[0, 1].imshow(cvOpen[:, :, ::-1])
axes[0, 1].set_title("开运算结果")
axes[1, 0].imshow(img1[:, :, ::-1])
axes[1, 0].set_title("原图")
axes[1, 1].imshow(cvClose[:, :, ::-1])
axes[1, 1].set_title("闭运算结果")
plt.show()

OpenCV 开闭运算相关推荐

  1. Opencv开闭运算去除反光噪声

    开运算: #include<opencv2/opencv.hpp> #include<iostream> #include<math.h>using namespa ...

  2. opencv 腐蚀 matlab,Opencv3编程入门笔记(4)腐蚀、膨胀、开闭运算、漫水填充、金字塔、阈值化、霍夫变换...

    19      腐蚀erode.膨胀dilate 腐蚀和膨胀是针对图像中的白色部分(高亮部分)而言的,不是黑色的.除了输入输出图像外,还需传入模板算子element,opencv中有三种可以选择:矩形 ...

  3. OpenCV学习笔记(八):形态学morpholgy(2):开/闭运算,形态学梯度、顶帽/黑帽morphologyEx()

    OpenCV学习笔记(八):形态学morpholgy(2):开.闭运算,形态学梯度.顶帽.黑帽:morphologyEx() 数学形态学(Mathematical morphology) 是一门建立在 ...

  4. OpenCV精进之路(三):图像处理——形态学滤波(膨胀、腐蚀、开闭运算)

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

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

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

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

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

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

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

  8. 07 -- OpenCV学习—开闭运算

    1.开闭运算 开运算和闭运算是将腐蚀和膨胀按照一定的次序进行处理.但这两者并不是可逆的,即先开后闭并不能得到原来的图像. 开运算 开运算是先腐蚀后膨胀,其作用是:分离物体,消除小区域.特点:消除噪点, ...

  9. OpenCV基本操作(开闭运算)

    一. 基础铺垫 图像的开闭运算是在图像膨胀腐蚀的基础上得到的,图像膨胀腐蚀可参考:膨胀与腐蚀 通俗理解:膨胀即"增肥", 腐蚀即"减肥". 二. 开闭运算 开运 ...

最新文章

  1. Go中协程间通信的方式Sync.Cond
  2. ACR2010_依那西普改善RA患者骨代谢
  3. 视觉SLAM学习--视觉定位比赛(CVPR2020)
  4. 计算机网络全部实验,计算机网络综合实验
  5. python实现表格分析与建模_python实现数据分析与建模
  6. Perl文档操作选项
  7. 液化气调压阀爆炸及使用问题分析
  8. web项目接到请求之后执行sql特别慢_小米开源!SQL优化工具,人工智能帮你 Rewrite...
  9. Dubbo场景场景配置用法详解
  10. Ubuntu把iso写入U盘
  11. go 的基本数据类型
  12. 正则表达式与文件格式处理-Linux(笔记)
  13. Android 通过AlarmClock设置系统闹钟
  14. [转]XPO 条件相关类
  15. [Games 101] Lecture 13-16 Ray Tracing
  16. clipboard剪切板
  17. 【华人学者风采】梁应敞 电子科技大学
  18. httpclient Post请求 参数用des加密
  19. 全球与中国高尔夫旅游市场现状及未来发展趋势
  20. Java多线程模拟实现LOL中薇恩、死歌、剑圣的操作

热门文章

  1. 【网络编程】——connect函数遇见EINTR的处理
  2. 第四讲 deque
  3. “后 PC”时代,应用为王
  4. 鸿蒙正式推送时间,鸿蒙系统现已正式推送,更新名单也随之出炉,包括荣耀手机!...
  5. 64位 atol c linux_C 库函数
  6. HTML table 标签的 frame 属性
  7. 出现次数超过一半的数字
  8. 引导界面(四)仿人人网V5.9.2最新版引导界面
  9. 关于面向对象的的设计原则的使用
  10. 一个完整的DS1302时钟在STM32上的应用实例