这是我必须找到图像轮廓的代码:
contour, heir= cv2.findContours(hmg,cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
我想找到一个轮廓区域
cv2.contourArea(contour)
但这需要MAT数据类型,而不是轮廓 vector 类型
如何转换轮廓以便执行此操作?
最佳答案
contour
对象实际上是图像中找到的所有轮廓的列表,每个轮廓的格式正确。像contours
这样的名称可能更合适,但这不是必需的。
您的帖子采用了奇异的轮廓;由于过滤噪声,这种情况很少发生,但是您可以通过按降序区域排序来选择轮廓:
contours, heir= cv2.findContours(hmg,cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
contours = sorted(contours, key=cv2.contourArea, reverse=True)
print(cv2.contourArea(contours[0]))
关于python - 如何从轮廓矢量转换为MAT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56248172/