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

时间:2019-05-22 01:26:52

标签: python python-3.x opencv contour mat

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

for i < len(in) {
    inCopy := make([]string, len(in))
    copy(inCopy, in)
    in = inCopy
    // ...
}

我想找到轮廓区域

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

但是需要MAT数据类型,而不是轮廓矢量类型

如何转换轮廓以便可以这样做?

1 个答案:

答案 0 :(得分:1)

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