图像形态学操作(连通性、腐蚀、膨胀)

相关概念

图像形态学操作(连通性、腐蚀、膨胀)_第1张图片
图像形态学操作(连通性、腐蚀、膨胀)_第2张图片
图像形态学操作(连通性、腐蚀、膨胀)_第3张图片
图像形态学操作(连通性、腐蚀、膨胀)_第4张图片

形态学操作-腐蚀

图像形态学操作(连通性、腐蚀、膨胀)_第5张图片
图像形态学操作(连通性、腐蚀、膨胀)_第6张图片

参数:

  • img: 要处理的图像
  • kernal :核结构
  • iteration :腐蚀的次数,默认是1

形态学操作-膨胀

图像形态学操作(连通性、腐蚀、膨胀)_第7张图片
参数:

  • img : 要处理的图像
  • kernal : 核结构
  • iteration : 膨胀的次数,默认为1
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

from pylab import mpl

mpl.rcParams['font.sans-serif'] = ['SimHei']
#读取图像
img = cv.imread("lena.png")

#创建核结构

kernal = np.ones((5,5),np.uint8)

#图像的腐蚀和膨胀
erosion = cv.erode(img,kernal)  #腐蚀

dilate = cv.dilate(img,kernal)

#图像的显示
#使用 Matplotlib 库创建一个包含 1 行 3 列的子图网格(Grid),并设置整个图形的大小为 5x4 英寸,分辨率为 100 dpi
fig,axes = plt.subplots(nrows=1,ncols=3,figsize=(5,4),dpi=100)
axes[0].imshow(img[:,:,::-1])
axes[0].set_title("原图")

axes[1].imshow(erosion[:,:,::-1])
axes[1].set_title("腐蚀后结果")

axes[2].imshow(dilate[:,:,::-1])
axes[2].set_title("膨胀后结果")
plt .show()

结果展示

图像形态学操作(连通性、腐蚀、膨胀)_第8张图片

你可能感兴趣的:(OpenCV从入门到精通,opencv,计算机视觉,python)