如何使用Python OpenCV ConnectedComponents函数获取图像?
在查找一些过去的问题时,我只能找到如何以不同颜色着色连接对象的方法(我测试了它并且有效,但我不知道标签是如何工作的)
这些先前回答的问题的参考:Stackoverflow问题48303309和Stackoverflow问题46441893 使用以下代码,我可以获得着色输出。
在查找一些过去的问题时,我只能找到如何以不同颜色着色连接对象的方法(我测试了它并且有效,但我不知道标签是如何工作的)
这些先前回答的问题的参考:Stackoverflow问题48303309和Stackoverflow问题46441893 使用以下代码,我可以获得着色输出。
import cv2
import numpy as np
img = cv2.imread('eGaIy.jpg', 0)
img = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)[1] # ensure binary
ret, labels = cv2.connectedComponents(img)
# Map component labels to hue val
label_hue = np.uint8(179*labels/np.max(labels))
blank_ch = 255*np.ones_like(label_hue)
labeled_img = cv2.merge([label_hue, blank_ch, blank_ch])
# cvt to BGR for display
labeled_img = cv2.cvtColor(labeled_img, cv2.COLOR_HSV2BGR)
# set bg label to black
labeled_img[label_hue==0] = 0
cv2.imshow('labeled.png', labeled_img)
cv2.waitKey()
我是否有办法从这张图片中将连接的对象剥离出来?
所以输出应该是从原始图片中得到多个图像。
contours=cv2.findContours(...)[1]
改为contours=cv2.findContours(...)[0]
。 - Scott