给定一张灰度图像如下:
可以看到里面有三个连通区域。我们希望把这三个区域拆分开来进行进一步的分析,代码如下:
import cv2
import numpy as np
image = cv2.imread('pred.png', cv2.IMREAD_GRAYSCALE)
num_labels, labels, stats, centroids = cv2.connectedComponentsWithStats(image)
for i in range(1, num_labels):
new_image = np.zeros(image.shape)
new_image[labels == i] = 255
cv2.imwrite(str(i) + '.png', new_image)
结果如下。连通区域1:
连通区域2:
连通区域3: