Opencv 如何在上一帧中已经存在轮廓的情况下在下一帧中绘制轮廓(矩形)

Opencv 如何在上一帧中已经存在轮廓的情况下在下一帧中绘制轮廓(矩形),opencv,Opencv,我正在使用opencv库进行图像处理项目。我希望跟踪球的运动,以便下一帧hi照亮球在所有前一帧中的位置。您可能希望将历史记录保存在容器中,std::deque是一种可能的解决方案: std::deque<Rect> history; const int HISTORY_SIZE = 10; std::查看历史记录; const int HISTORY_SIZE=10; 要绘制历史记录,只需在运行循环中对其进行迭代: Rect curr = yourTrackingAlgorith

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

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

std::deque<Rect> history;
const int HISTORY_SIZE = 10;
std::查看历史记录;
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();
}
Rect curr=yourTrackingAlgorithm();
历史。推前(curr);
对于(int i=0;ihistory\u size)
{
历史;
}

有很多教程解释如何在图像中识别球形对象。到目前为止你试过什么了吗?ball只是一个例子。当我们使用可用的运动跟踪算法时,它会执行当前帧到上一帧,然后hi仅照亮其当前位置。但是我怎样才能在所有之前的画面中显示它的位置呢?我仍然不清楚如何使用这个功能。你能用这个函数共享任何一个代码吗。