opencv笔记—图像腐蚀,膨胀

图像腐蚀:

  • 原图中高亮区域被蚕食,效果图拥有比原图更小的高亮区域。
  • 腐蚀是求局部最小值的操作。

具体操作:用一个结构元素扫描图像中的每一个像素,用结构元素中的每一个像素与其覆盖的像素做“与”操作,如果都为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小白,望大佬指点

猜你喜欢

转载自blog.csdn.net/weixin_45666249/article/details/114991397