如何从轮廓向量转换为 MAT?

How can I convert from contour vector to MAT?

这是我必须找到图像轮廓的代码:

contour, heir= cv2.findContours(hmg,cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

我想用

求等高线的面积
cv2.contourArea(contour)

但这需要 MAT 数据类型,而不是等高线向量类型

如何转换轮廓才能做到这一点?

contour 对象实际上是在图像中找到的所有轮廓的列表,每个轮廓都采用正确的格式。像 contours 这样的名字可能更合适,但那是 non-essential.

你的post呈现出单一的轮廓;由于过滤噪音,这种情况很少见,但您可以通过按降序区域排序来挑选出轮廓:

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]))