从图上,我们明显能看出,左侧的是正常的图。右侧是膨胀后的图,变胖了。底部是腐蚀后的图,变瘦了。
import cv2
import numpy as np
# 1. 读取图片(灰度图)
img = cv2.imread("test.png", 0)
# 2. 定义核大小(越大效果越强)
kernel = np.ones((3, 3), np.uint8)
# 3. 腐蚀:白色变小,消除噪点
erode_img = cv2.erode(img, kernel, iterations=1)
# 4. 膨胀:白色变大,填充缺口
dilate_img = cv2.dilate(img, kernel, iterations=1)
# 显示效果
cv2.imshow("original", img)
cv2.imshow("erode 腐蚀", erode_img)
cv2.imshow("dilate 膨胀", dilate_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)
kernel:结构元素,常用 (3,3)、(5,5)iterations:迭代次数,越大效果越强

全部评论