【OpenCV-Python】:形态学操作之开运算与闭运算

本文介绍基于OpenCV的图像处理技术中的开运算和闭运算。开运算是先进行腐蚀处理再进行膨胀处理,主要用于消除细小物体、分离紧邻物体及平滑大物体边界;闭运算是先膨胀后腐蚀,用于填充物体内部空洞、消除噪声并连接邻近物体。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

✨博客主页:王乐予🎈
✨年轻人要:Living for the moment(活在当下)!💪
🏆推荐专栏:【图像处理】【千锤百炼Python】【深度学习】【排序算法

😺一、引言

【OpenCV-Python】:形态学操作之腐蚀与膨胀中介绍了形态学处理的两个基本操作:腐蚀与膨胀,本节带来基于这两个基本操作的其他形态学处理——开运算和闭运算。
请添加图片描述

😺二、开运算

🐶2.1 什么是开运算

先腐蚀后膨胀的操作称为开运算。

作用:消除细小物体、在窄区域分离物体、平滑大物体边界等。

🐶2.2 程序编写及结果可视化

使用函数:dst = cv2.morphologyEx(src,cv2.MORPH_OPEN,kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]])

函数中的参数——cv2.MORPH_OPEN决定开闭运算。

import cv2
import numpy as np


ori = cv2.imread(r"C:\Users\Lenovo\Desktop\original.jpg")

k = np.ones((10, 10), np.uint8)

opening = cv2.morphologyEx(ori, cv2.MORPH_OPEN,k)       # 开运算

cv2.imshow("original", ori)
cv2.imshow("opening", opening)
cv2.imwrite(r'C:\Users\Lenovo\Desktop\opening.jpg', opening)
cv2.waitKey()

下图为程序执行的结果,可以看到两块白色区域的中间结合部被断掉了!
在这里插入图片描述

😺三、闭运算

🐶3.1 什么是闭运算

先膨胀后腐蚀的操作称为闭运算。

作用:填充物体空洞、消除噪声、连接邻近物体、平滑边界等。

🐶3.2 程序编写及结果可视化

import cv2
import numpy as np


ori = cv2.imread(r"C:\Users\Lenovo\Desktop\original.jpg")

k1 = np.ones((8, 8), np.uint8)
k2 = np.ones((15, 15), np.uint8)

closing1 = cv2.morphologyEx(ori, cv2.MORPH_CLOSE, k1)
closing2 = cv2.morphologyEx(ori, cv2.MORPH_CLOSE, k2)

cv2.imshow("original", ori)
cv2.imshow("closing1", closing1)
cv2.imshow("closing2", closing2)
cv2.imwrite(r'C:\Users\Lenovo\Desktop\closing1.jpg', closing1)
cv2.imwrite(r'C:\Users\Lenovo\Desktop\closing2.jpg', closing2)
cv2.waitKey()

下图为程序执行的结果,可以看到图中很多空心区域都进行了填充!

在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王乐予

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值