图像腐蚀:
- 原图中高亮区域被蚕食,效果图拥有比原图更小的高亮区域。
- 腐蚀是求局部最小值的操作。
具体操作:用一个结构元素扫描图像中的每一个像素,用结构元素中的每一个像素与其覆盖的像素做“与”操作,如果都为1,则该像素为1,否则为0。
方法调用:
cv.erode(处理图像,核结构,腐蚀次数默认为1)
图像膨胀:
- 膨胀就是使图像中高亮部分扩张,效果图拥有比原图更大的高亮区域
- 膨胀是求局部最大值的操作
具体操作:用一个结构元素扫描图像中的每一个像素,用结构元素中的每一个像素与其覆盖的像素做“与”操作,如果都为0,则该像素为0,否则为1。
方法调用:
cv.dilate(处理图像,核结构,膨胀次数默认为1)
膨胀,腐蚀代码实现:
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
# 读取图像
img0 = cv.imread("img/img3.png")
# 创建核结果
kernel = np.ones((5,5), np.uint8)
# 图像腐蚀与膨胀
# 腐蚀
erosion = cv.erode(img0,kernel)
# 膨胀
dilate = cv.dilate(img0,kernel)
fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(10, 8), dpi = 100)
axes[0].imshow(img0)
axes[0].set_title("原图")
axes[1].imshow(erosion)
axes[1].set_title("腐蚀")
axes[2].imshow(dilate)
axes[2].set_title("膨胀")
plt.show()
运行结果:
cv小白,望大佬指点