OpenCV库中的腐蚀与膨胀

目录

1.腐蚀和膨胀的概念和作用

2.腐蚀和膨胀的原理和算法

3.代码示例


1.腐蚀和膨胀的概念和作用

腐蚀和膨胀是数字图像处理中常用的形态学操作。腐蚀操作可以缩小图像中物体的边界,去除小的细节或噪声,使物体变得更加細緻。膨胀操作则可以扩大图像中物体的边界,填充小的空洞或连接断裂的部分,使物体更加完整。这两种操作在图像处理中起着重要作用,常用于图像增强、边缘检测、形状分析、图像分割等领域,能够帮助改善图像质量、提取目标特征和进行进一步的图像分析处理。

2.腐蚀和膨胀的原理和算法

腐蚀(Erosion): 腐蚀操作的原理是将结构元素在图像上滑动,只有当结构元素完全与图像重叠时,中心像素值才被保留,否则被置为背景值。 

算法步骤:对于图像中的每个像素,将结构元素与其对应位置进行比较,如果结构元素完全包含在图像中,则保留中心像素值,否则将中心像素置为背景值。  腐蚀操作可以用于去除小的细节、边缘平滑和图像细化等操作。 

膨胀(Dilation): 膨胀操作的原理是将结构元素在图像上滑动,只要结构元素与图像有交集,中心像素值就被置为前景值。 

算法步骤:对于图像中的每个像素,将结构元素与其对应位置进行比较,只要结构元素与图像有交集,中心像素值就被置为前景值。 膨胀操作可以用于填充小的空洞、连接断裂的部分和增加物体的大小等操作。

3.代码示例

腐蚀:

import cv2
import numpy as np
sun = cv2.imread('sun.png')
cv2.imshow('image',sun)
cv2.waitKey(100000)
kernel = np.ones((3,3),np.uint8)  #设置kenenel大小
erosion_1 = cv2.erode(sun,kernel,iterations=5)  
cv2.imshow('Erosion',erosion_1)
cv2.waitKey(100000)

这段代码创建一个3x3的全为1的核用于腐蚀操作,并对图像进行了5次腐蚀操作 ,结果如图:

原图                                                                           腐蚀图像

膨胀:

import cv2
import numpy as np
sun = cv2.imread('sun.png')
cv2.imshow('sun',sun)
cv2.waitKey(100000)

kernel = np.ones((2,2),np.uint8)  #设置kenenel大小
sun_new = cv2.dilate(sun,kernel,iterations=10)
cv2.imshow('sun_new',sun_new)
cv2.waitKey(100000)

 这段代码创建一个2x2的全为1的核用于膨胀操作,并对图像进行了10次膨胀操作 ,结果如图:

原图                                                                       膨胀图像

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值