OpenCV实例应用

5.0图像的腐蚀应用

OpenCV实例应用_第1张图片

完整代码:

import cv2
import numpy as np


def erode():
    img=cv2.imread('./image/dige.png')
    kernel=np.ones((3,3),np.uint8)
    erosion=cv2.erode(img,kernel,iterations=1)
    erosion1=cv2.erode(img,kernel,iterations=2)
    res=np.hstack((img,erosion,erosion1))
    cv2.imshow('img', res)
    cv2.waitKey()
    cv2.destroyAllWindows()
if __name__ == '__main__':
    erode()

解析:

  • kernel = np.ones((3, 3), np.uint8):创建一个 3x3 的元素值全为 1 的矩阵作为结构元素(核),数据类型为 uint8。在腐蚀操作中,这个核会遍历图像的每个像素,将其与核覆盖区域内的像素进行操作。
  • erosion = cv2.erode(img, kernel, iterations=1):使用 cv2.erode 函数对图像 img 进行腐蚀操作。腐蚀操作会使图像中的白色区域(前景)收缩,黑色区域(背景)扩张。kernel 是之前创建的结构元素,iterations=1 表示腐蚀操作执行 1 次。
  • erosion1 = cv2.erode(img, kernel, iterations=2):与上一步类似,但这次腐蚀操作执行 2 次,使腐蚀效果更加明显。
  • res = np.hstack((img, erosion, erosion1)):使用 np.hstack 函数将原始图像 img、一次腐蚀后的图像 erosion 和两次腐蚀后的图像 erosion1 水平拼接在一起,方便对比观察不同腐蚀程度的效果。

你可能感兴趣的:(OpenCV基础全集,opencv,人工智能,计算机视觉)