给出200个斑点的图像,我想检索10个最大的斑点:
因此,我使用了 connectedComponentsWithStats 函数,并按其区域( CC_STAT_AREA )对统计信息进行了排序。但似乎统计数据已排序,相应的标签丢失了匹配项:
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
_, labels, stats, _ = cv2.connectedComponentsWithStats(gray, connectivity=4)
indexes_group = np.argsort(stats[:, cv2.CC_STAT_AREA])
stats = stats[indexes_group]
for component_id, stat in enumerate(stats):
single_component = (labels == component_id).astype(np.uint8) * 255
cv2.imwrite("blob" +str(component_id)r+".png",single_component)
有人可以请我更深入地解释我,我应该采取什么步骤来修正代码?
谢谢!