2014-09-02 101 views
0

背景扣除。 MOG和MOG2原来是无用的,因为他们认为第一帧是背景。绘制检测到的物体OpenCV?

所以我做了逐帧减法。像这样
enter image description here

我的问题是现在只绘制检测到的物体白色。
顺便说一句,我没有尝试内置的FindContours()方法&在图像中获得了成千上万的轮廓。

回答

2

对于findContours()您可能会误导您。该方法假定二进制图像作为输入,如果它不是十分二进制的,则将非零像素视为1,而不管它是哪种颜色或灰度。​​

因此,您的图像几乎是二元化的,您可以观察黑白区域。黑色区域被视为背景,非黑色区域(非零)被视为前景像素区域。 findContours()没有做任何事情比“标记”连贯的前景像素(是区域)多或少。所以你得到一个向量列表(每个检测区域的一个点向量)。

为了检测整个总线对象,你可能要查找的:convexHull 这是(如果我没有记错)vertrices名单也描述所有(先前发现的)区域内的区域。因此,您可能需要先减去异常值(如街道或影像底部的阴影)。

也很有趣:convexityDefects 和:approxPolyDP