十二、计算机视觉-开运算与闭运算

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


一、基础概念

学过前面2节在看开运算和闭运算就比较简单了

开运算:是先进行腐蚀操作,然后进行膨胀操作的组合

闭运算:是先进行膨胀操作,然后进行腐蚀操作的组合

关于腐蚀和膨胀的概念和原理这里就不重复了,可以返回看前面2节。

二、使用开运算闭运算

可能有人有这个疑问,我们都有腐蚀和膨胀了,为什么还要开运算闭运算呢?

主要有以下几个原因:

1.简单易用: 开运算和闭运算是图像处理中常用的操作,它们已经在形态学操作中被广泛使用,因此具有更高的可重用性和易用性。

2.减少代码量: 直接使用腐蚀和膨胀需要编写更多的代码来实现同样的效果,而开运算和闭运算能够以更简洁的方式实现相同的功能。

3.参数控制: 开运算和闭运算的参数更容易理解和控制。例如,使用结构元素的大小和形状可以轻松调整开运算和闭运算的效果,而直接使用腐蚀和膨胀需要手动调整更多参数。

4.性能优化: 开运算和闭运算在实现上可能会进行一些优化,以提高执行效率。这些优化可能包括对结构元素进行预处理或优化算法实现,从而提高性能。

我们之前2节讲到 当我们图像存在一些杂点或者线条我们可以通过腐蚀操作去掉,腐蚀过后我们的字变细了 可以在用膨胀变粗,在这里我们可以直接用开运算进行操作

python 复制代码
import cv2
import numpy as np

# 读取图像
image = cv2.imread('yunfeng.jpg', 0)  # 以灰度模式读取图像

# 定义结构元素
kernel = np.ones((5, 5), np.uint8)  # 定义一个5x5的全1矩阵作为结构元素

# 开运算
opening = cv2.morphologyEx(image, cv2.MORPH_OPEN, kernel)

# 显示原始图像、开运算结果和闭运算结果
cv2.imshow('Original', image)
cv2.imshow('Opening', opening)
cv2.waitKey(0)
cv2.destroyAllWindows()

上面代码可以实现和之前一样的效果。

既然开运算是腐蚀加膨胀,我们之前2节已经知道他的用途了,那闭运算膨胀加腐蚀是什么作用呢?

闭运算主要有以下几个用途:

1.去除小的空洞和噪声: 闭运算能够填充和平滑物体内部的小空洞,这对于处理一些形状不规则的物体或者包含噪声的图像是非常有用的。在闭运算中,先进行膨胀操作会将物体的边缘向外扩展,填充小的空洞,然后进行腐蚀操作使得填充的区域不会过度扩展。

2.平滑物体边界: 闭运算可以平滑物体的边界,使得物体的形状更加连续和光滑。这对于一些需要对物体边界进行精确分割或者检测的场景是非常有用的,例如医学图像分析或者工业质检中的缺陷检测。

3.图像修复和恢复: 闭运算可以修复图像中一些受损的区域或者恢复被损坏的物体。通过填充物体内部的空洞和平滑物体边界,可以对图像进行修复和恢复,使得图像更加完整和清晰。

闭运算代码如下:

python 复制代码
import cv2
import numpy as np

# 读取图像
image = cv2.imread('image.jpg', 0)  # 以灰度模式读取图像

# 定义结构元素
kernel = np.ones((5, 5), np.uint8)  # 定义一个5x5的全1矩阵作为结构元素

# 闭运算
closing = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel)

# 显示原始图像、开运算结果和闭运算结果
cv2.imshow('Original', image)
cv2.imshow('Closing', closing)
cv2.waitKey(0)
cv2.destroyAllWindows()
相关推荐
Sim time28 分钟前
用AI从0开始量化交易-Anaconda环境(env)和缓存(pkg)更改储存位置
人工智能·python·conda
知识趣动34 分钟前
AI入门启航:看见知识库的运行原理
人工智能
灵声讯37 分钟前
开天社交大模型从7B到32B:趣丸科技如何以“情感浓度”破局AI社交体验
人工智能·科技·语言模型
struggle202543 分钟前
torchmd-net开源程序是训练神经网络潜力
c++·人工智能·python·深度学习·神经网络
夜松云1 小时前
GoogLeNet:图像分类神经网络的深度剖析与实践
图像处理·人工智能·神经网络·分类·数据挖掘·卷积神经网络·分类算法
alex88861 小时前
电子制造智能化转型:MES如何解决工艺复杂、质量追溯与供应链协同
人工智能·科技·5g·云计算·社交电子·能源·制造
mubei-1231 小时前
深度学习的可解释性——SketchXAI:人类草图可解释性初探
人工智能·深度学习·可解释性
mailangduoduo1 小时前
基于双层注意力重加权 LSTM 的中文长文本谣言检测模型
人工智能·自然语言处理·文本分类·循环神经网络·长短期记忆网络
爆改模型2 小时前
【 CVPR2025】计算机视觉|CEM : 模型逆向工程?条件熵最大化来啦!
人工智能·计算机视觉
华科易迅2 小时前
人工智能学习57-TF训练
人工智能·学习·人工智能学习57-tf训练