腐蚀/膨胀操作大多只用于二值图像,
腐蚀操作
cv2.erode(src, kernel, iteration)
参数说明:src表示的是输入图片,kernel表示的是方框的大小,iteration表示迭代的次数
腐蚀操作原理:结构元kernel方框,比如(3, 3),在图像中不断的平移,在这个9方框中,哪一种颜色所占的比重大,9个方格中将都是这种颜色
膨胀操作
cv2.dilate(src, kernel, iteration)
参数说明: src表示输入的图片, kernel表示方框的大小, iteration表示迭代的次数
膨胀操作原理:结构元kernel,在图像上进行从左到右,从上到下的平移,如果方框中存在白色,那么这个方框内所有的颜色都是白色
import cv2
#数值计算的包
import numpy as np
# 1.读入图片
img = cv2.imread('ge.png')
cv2.imshow('original', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
#数值计算
""" np.ones函数的作用是创建一个具有指定形状和数据类型的数组,并且将所有元素初始化为1。
方框的大小为5x5 """
kernel = np.ones((5, 5), np.uint8)
# 2.进行腐蚀操作,去除边缘毛躁
erosion = cv2.erode(img, kernel, iterations=1)
cv2.imshow('erosion', erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 3. 进行膨胀操作
dilate = cv2.dilate(erosion, kernel, iterations=1)
cv2.imshow('dilate', dilate)
cv2.waitKey(0)
cv2.destroyAllWindows()