我正在使用CV2查找不同的元素(在我的情况下,是黑色背景上的白色小圆圈),并使用以下命令获取其统计信息和边框:
grey_img = cv2.imread(file_path, cv2.IMREAD_GRAYSCALE)
img = np.array(grey_img)
connectivity = 8
output = cv2.connectedComponentsWithStats(img, connectivity, cv2.CV_32S)
然后,我使用cv2.CC_STAT
属性来获取信息。
但是,我还需要找到轮廓以获取其他信息,例如边缘长度,所以我使用以下内容:
ret, thresh = cv2.threshold(img, 127, 255, 0)
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE)
第一步中找到的组件列表与第二步中找到的轮廓列表的顺序不同,所以我不知道如何将两者连接起来,例如,我可以获取每个组件的位置轮廓(通过使用cv2.CC_STAT
属性)。
我该如何实现?预先感谢!