如何使用前一帧中已存在的轮廓在下一帧上绘制轮廓(矩形)

时间:2012-12-24 11:17:14

标签: opencv

我正在使用opencv库进行图像处理项目。我想跟踪球的运动,以便下一帧在所有之前的帧中点亮球的位置。

1 个答案:

答案 0 :(得分:0)

您可能希望将历史记录保存在容器中,std::deque是一种可能的解决方案:

std::deque<Rect> history;
const int HISTORY_SIZE = 10;

要绘制历史记录,只需在运行循环中迭代它:

Rect curr = yourTrackingAlgorithm();
history.push_front(curr);

for (int i = 0; i < history.size(); i++)
{
    drawRectangle(history[i]);
}
if (history.size() > HISTORY_SIZE)
{
    history.pop_back();
}