原图
划分区域后的图
import numpy as np
import cv2
import matplotlib.pyplot as plt
img = cv2.imread(r"train001.png", 0)#-1 cv2.IMREAD_UNCHANGED表示带有a通道 0表示灰度图cv2.IMREAD_GRAYSCALE 1表示三通道图cv2.IMREAD_COLOR 这里图片为灰度图,-1时读取得到的
#读取图片时尽量对单通道操作
retval, connections = cv2.connectedComponents(img) #retval连通区域数量 connections连通区域,这里为前景 connection显示为图片后每个连通区域都有不同的颜色 图像上每一像素的标记,用数字1、2、3…表示(不同的数字表示不同的连通域)
plt.imshow(connections,cmap='gray')
plt.savefig("connections.png")
a = []
for j in range(1, retval):
j_c = connections.copy()
j_c[j_c != j] = 0
j_c[j_c != 0] = 255
j_c = j_