首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在图像中绘制运动物体的轨迹(跟踪路径)- Opencv?

如何在图像中绘制运动物体的轨迹(跟踪路径)- Opencv?
EN

Stack Overflow用户
提问于 2014-04-30 11:57:17
回答 2查看 8.6K关注 0票数 0

如何绘制图像中的轨迹(跟踪路径)- Opencv?

我知道运动物体( x,y)的坐标,每一个帧都在更新新的(x,y)坐标。

现在,如何为最后20帧或N个帧绘制目标的轨迹路径。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-30 12:34:18

代码语言:javascript
复制
cv::Mat imageToDraw; //this is your image to draw, don't forget to load it
std::vector<cv::Point> pointsInLast20Frames; //fill this vector with points, they should be ordered
cv::Scalar color(0, 0, 255); //red
for(int i = 0; i < pointsInLast20Frames.size() - 1; ++i)
{
   cv::line(imageToDraw, pointsInLast20Frames[i], pointsInLast20Frames[i+1], color);
}
票数 4
EN

Stack Overflow用户

发布于 2014-04-30 13:00:08

经过与协调者的长期斗争,我的代码..跟踪N个帧数

代码语言:javascript
复制
    int nTrackCount = 0;

    int nTrackFrames = 20;      
    vector<Rect> boundRect1( nTrackFrames );

    Detect_Object(frame)
    {    

         if ( nTrackCount < nTrackFrames )
        {
            boundRect1[nTrackCount].x = PredictKP.x;
            boundRect1[nTrackCount].y = PredictKP.y;
        }
        nTrackCount++;

        for ( int iTrack = 0; iTrack < nTrackCount ; iTrack++)
        {
            Point Pt;
            Pt.x = boundRect1[iTrack].x;
            Pt.y = boundRect1[iTrack].y;
// Drawing Cross ( X ) for tracking 
            drawCross(frame, Pt, Scalar(255, 255, 255), 5); // Corrected                                
       }
       if(nTrackCount ==nTrackFrames)
        nTrackCount = 0;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23387459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档