十一、计算机视觉-膨胀操作

文章目录


前言

上节我们学习了腐蚀操作,本节我们讲一下膨胀操作,膨胀和腐蚀实际上是相反的操作。上节我们把云峰这2个字周围没用的像素去掉了,但是云峰这2个字也变细了,如果我们想在变粗一点 我们就可以用膨胀操作,所以腐蚀和膨胀可以配合使用来达到我们要的效果。

有了上节的讲解,本节就不讲太细了,原理和腐蚀都差不多,如果不明白的,可以返回上节在看一下。


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是膨胀

膨胀操作的主要目的是增加或加强图像中的前景区域。在膨胀操作中,结构元素(也称为卷积核)与图像中的像素进行比较,如果结构元素覆盖的任何一个像素是前景像素(白色像素),则中心像素被置为前景像素;否则,中心像素保持为背景像素(黑色像素)。

膨胀操作的过程是通过结构元素滑动在图像上,与图像中的每个像素进行比较,并根据比较结果更新图像中的像素值。与腐蚀操作类似,膨胀操作也可以应用多次以增强其效果。

二、膨胀操作的实现

1.引入库

代码如下(示例):

python 复制代码
import cv2
import numpy as np

# 读取图像
image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)

# 定义结构元素
kernel = np.ones((5,5),np.uint8)

# 执行膨胀操作
dilated_image = cv2.dilate(image, kernel, iterations=1)

# 显示原始图像和膨胀后的图像
cv2.imshow('Original ', image)
cv2.imshow('Dilated', dilated_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

主要的方法是dilate,上面的代码和前面的腐蚀差不多,同样也是有卷积核核迭代次数。

三、膨胀的原理

上节我们讲到腐蚀操作我们说:腐蚀操作实际上是方格(卷积核)在图像上滑动,并且方格与重叠的图像区域的每个像素进行逐个比较假设我们方格移动到上方图像的一个杂点上 这个杂点可能包含多个像素,我们方格对这个杂点每个像素都要比较, 方格覆盖其中一个像素 ,方格覆盖的区域有黑色,那当前这个点就会被腐蚀掉。如果方格覆盖范围全是白色,那就不会腐蚀。

而膨胀刚好与之相反,膨胀是当这个方格内如果有白色 那这个像素就变成白色也就是膨胀。

如图:

假如我箭头指向的这个像素是黑色,当我卷积核中心移动到这个像素的时候,检测周围有白色像素,那我箭头的这个点就会变成白色,这样操作下来是不是我的这个区域的白色的杂点就会变得更大了?也就实现了膨胀的操作了。


相关推荐
2603_954708314 分钟前
微能网协调控制箱突破传统微电网架构瓶颈
大数据·数据库·人工智能·架构·能源
俊哥V7 分钟前
每日 AI 研究简报 · 2026-10-17
人工智能·ai
打工仔折腾 AI13 分钟前
让时序预测真正参与决策:TimechoAI 工程化落地与管线设计实践
人工智能·后端·python·算法·机器学习·性能优化
智圣新创0115 分钟前
教育数字化合规背景下 智圣新创高校一表通建设全国低内耗落地指引
大数据·人工智能
Light6018 分钟前
企业自建 AI 智能体,成本差 8 倍还是 46 倍?
java·人工智能·算法·知识图谱·rag·ai agent 上下文·token 成本
炽橙超真云20 分钟前
「人工智能+制造」五类场景如何确定优先级?四个判断维度与三类场景落地实践
人工智能·ai·工业智能·制造业转型·工业ai
能源革命22 分钟前
AI日报 2026-10-17
人工智能
IT_陈寒30 分钟前
一文搞懂React的核心概念
前端·人工智能·后端
“AI国潮设计-小江”32 分钟前
《【AIGC实战】Python+SDXL批量生成“猫咪英歌舞蛋挞”IP,附保持角色一致性的代码逻辑》
开发语言·人工智能·python·prompt·aigc
艾莉丝努力练剑40 分钟前
【AI大模型接入SDK】ChatServer HTTP接口模块实现总览
网络·c++·人工智能·网络协议·学习·http·架构