使用python和opencv绘制检测到的对象的轮廓

时间:2014-12-22 19:44:32

标签: python opencv background-subtraction

我正在使用opencv2.4.10与python,我试图绘制一些移动对象的轮廓。不幸的是我无法弄清楚我做错了什么。

首先,我使用opencv(cv2.BackgroundSubtractorMOG2)中的Background Subtractor。它工作正常,我可以看到我的移动物体与背景分离。

分离后我使用cv2.FindContours方法。它也工作正常,我可以打印contorus作为数字列表。

但是,当我尝试在原始图像帧上绘制轮廓时,会发生错误。

    cv2.drawContours(frame, contours, 1, (0, 255, 0), 3)
    cv2.error: ..\..\..\..\opencv\modules\imgproc\src\contours.cpp:1810: error: (-215) 0 <= contourIdx && contourIdx < (int)last in function cv::drawContours

你能评论一下这个问题吗?

1 个答案:

答案 0 :(得分:0)

从错误消息中我们可以获得必须满足的条件:0 <= contourIdx&amp;&amp; contourIdx < (int)last

关注第二部分contourIdx < (int)last,我猜你可能正试图绘制一个只有一个或零个轮廓的列表的第二个轮廓。