eigen跟踪MILTracker代码分析
【摘要】 调用跟踪方法再Main.cpp中:
while (vot_io.getNextImage(frameOrig) == 1){
resize(frameOrig, frame, Size(conf.frameWidth, conf.frameHeight));
tracker.Track(frame); 跟踪方法:
Tracker.cpp
void Tracker:...
调用跟踪方法再Main.cpp中: while (vot_io.getNextImage(frameOrig) == 1){ resize(frameOrig, frame, Size(conf.frameWidth, conf.frameHeight)); tracker.Track(frame); 跟踪方法: Tracker.cpp void Tracker::Track(const cv::Mat& frame) { 耗时操作: m_pLearner->Eval(sample, scores); Eval 中fvs.size()有时为2850,循环估计,耗时 void LaRank::Eval(const MultiSample& sample, std::vector<double>& results) { const FloatRect& centre(sample.GetRects()[0]); vector<VectorXd> fvs; double tt = (double)cvGetTickCount(); const_cast<Features&>(m_features).Eval(sample, fvs); results.resize(fvs.size()); // 算法过程 tt = (double)cvGetTickCount() - tt; printf( "run time1 = %fms fvs.size:%d\n", tt/(cvGetTickFrequency()*1000),fvs.size() ); for (int i = 0; i < (int)fvs.size(); ++i) { // express y in coord frame of centre sample FloatRect y(sample.GetRects()[i]); y.Translate(-centre.XMin(), -centre.YMin()); results[i] = Evaluate(fvs[i], y); if(i%200==0){ tt = (double)cvGetTickCount() - tt; printf( "run time%d = %fms\n",i, tt/(cvGetTickFrequency()*1000) ); } } // 算法过程 // tt = (double)cvGetTickCount() - tt; // printf( "run time2 = %fms\n", tt/(cvGetTickFrequency()*1000) ); }
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/60469407
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)