图像处理基础:图像膨胀、腐蚀、开闭运算及梯度运算的Python实现

博客介绍了图像处理的作用,可改善图像质量、提取目标特征。重点阐述图像形态学的四种基本操作,包括图像膨胀、腐蚀、开运算、闭运算和梯度运算,详细讲解各操作的基本概念,并展示了相应函数代码,有助于掌握图像处理基本技能。

目录

一、为什么要进行图像处理?

二、图像形态学的四种基本操作

1、图像膨胀

1.1、基本概念

1.2、膨胀函数代码展示

2、图像腐蚀

2.1、基本概念

2.2、腐蚀函数代码展示

3、图像开运算

3.1、基本概念

3.2、开运算函数代码展示

4、图像闭运算

4.1、基本概念

4.2、闭运算函数代码展示

5、图像梯度运算

5.1、基本概念

5.2、梯度运算函数代码展示

三、总结


一、为什么要进行图像处理?

图像处理可以通过增强、复原、几何变换、代数运算、滤波处理等技术,对受到污染、干扰等因素影响产生的低清晰度、变形等图像质量问题进行有效的改善,以达到人眼主观满意或较满意的效果。而且图像处理可以通过边缘检测、图像分割、纹理分析等技术,提取图像中目标的某些特征,以便于计算机分析或机器人识别。

二、图像形态学的四种基本操作

1、图像膨胀
1.1、基本概念

图像膨胀类似于“领域扩张”,是一种基本的形态学运算,主要用来寻找图像中的极大区域。这种运算将图像的高亮区域或白色部分进行扩张,使得运行结果图比原图的高亮区域更大。其运算符是“⊕”,可以通过定义的结构元素或卷积核与原始图像进行卷积操作实现。在二值图像中,膨胀运算可以用“与”运算来实现。具体来说,就是用结构元素扫描图像的每一个像素,如果结构元素覆盖的区域中至少有一个像素值为1,则将该像素的值设为1。这样,图像中的高亮区域就会扩大,实现了膨胀的效果。需要注意的是,膨胀运算并不改变原始图像中像素值为0的区域。原图膨胀结果如下图所示:

原图像:

结构元素:

膨胀后结果:

1.2、膨胀函数代码展示

膨胀函数:

cv2.dilate(img, kernel, iteration)
  • img:需要进行膨胀操作的原始图像。
  • kernel:用于膨胀操作的结构元素或卷积核。
  • iteration:可选参数,表示膨胀操作的迭代次数。如果指定了这个参数,那么膨胀操作将会重复执行指定次数。

实际案例展示:

wenzi = cv2.imread('wenzi.png')#读取原图像
cv2.imshow('src',wenzi)
cv2.waitKey(100000)

kernel = np.ones((2,2),np.uint8)  #设置kenenel大小
wenzi_new = cv2.dilate(wenzi,kernel,iterations=2) #膨胀操作
cv2.imshow('wenzi_new',wenzi_new)
cv2.waitKey(100000)

原图:

膨胀后图像:

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值