调用跟踪方法再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) ); }
eigen跟踪MILTracker代码分析
最新推荐文章于 2023-08-08 12:53:08 发布