python opencv连通域分割后彩色显示

def showConnectedComponents(binary_img):

    w, h = binary_img.shape
    color = []
    color.append((0, 0, 0))
    img_color = np.zeros((w, h, 3), dtype=np.uint8)
    retval, labels, stats, centroids = cv2.connectedComponentsWithStats(binary_img)
    for num in range(1,retval):
        color_b = random.randint(0, 255)
        color_g = random.randint(0, 255)
        color_r = random.randint(0, 255)
        color.append((color_b, color_g, color_r))
    for x in range(w):
        for y in range(h):
            lable = labels[x,y]
            img_color[x,y,:] = color[int(lable)]
    imshow("img_color",img_color)
    # cv2.waitKey(0)

你可能感兴趣的:(python)