void TLD::processImage(Mat img) { storeCurrentData(); Mat grey_frame; cvtColor( img,grey_frame, CV_RGB2GRAY ); currImg = grey_frame; // Store new image , right after storeCurrentData(); if(trackerEnabled) { medianFlowTracker->track(prevImg, currImg, prevBB); } if(detectorEnabled && (!alternating || medianFlowTracker->trackerBB == NULL)) { detectorCascade->detect(grey_frame); } fuseHypotheses(); learn(); }
void TLD::processImage(const Mat &img) { storeCurrentData(); Mat grey_frame; cvtColor(img, grey_frame, CV_RGB2GRAY); currImg = grey_frame; // Store new image , right after storeCurrentData(); #ifdef USE_HTLD memMgr->moveCurFrameToGPU(grey_frame.data, true, true); #endif if(trackerEnabled) { #ifndef USE_HTLD medianFlowTracker->track(prevImg, currImg, prevBB); #else medianFlowTracker->track(prevImg, currImg, prevBB, hTLDMaster->getTLDObject(tldObjId)->getFastTrStr()); #endif } if(detectorEnabled && (!alternating || medianFlowTracker->trackerBB == NULL)) { #ifndef USE_HTLD detectorCascade->detect(grey_frame); #else detectorCascade->detect(grey_frame, hTLDMaster->getTLDObject(tldObjId)->getFastDetStr(), false); #endif } fuseHypotheses(); learn(); }
void TLD::processImage(cv::Mat& img) { if (!tracker) { return; } storeCurrentData(); Mat grayFrame; cvtColor(img, grayFrame, CV_BGR2GRAY); currImg = grayFrame; // Store new image , right after storeCurrentData(); if (trackerEnabled && runTracker) { isTrackerValid = tracker->update(img, trackerBB); if (!isTrackerValid) { runTracker = false; } } if (detectorEnabled && (!alternating || !isTrackerValid)) { detectorCascade->detect(grayFrame); } fuseHypotheses(img); learn(); }