Example #1
0
TLD::~TLD()
{
    storeCurrentData();

    if(currBB)
    {
        delete currBB;
        currBB = NULL;
    }

    if(detectorCascade)
    {
        delete detectorCascade;
        detectorCascade = NULL;
    }

    if(medianFlowTracker)
    {
        delete medianFlowTracker;
        medianFlowTracker = NULL;
    }

    if(prevBB)
    {
        delete prevBB;
        prevBB = NULL;
    }
}
Example #2
0
    TLD::~TLD() {
        storeCurrentData();
        deleteCurrentBB();

        if (detectorCascade) {
            delete detectorCascade;
            detectorCascade = NULL;
        }
    }
Example #3
0
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();
}
Example #4
0
TLD::~TLD()
{
    storeCurrentData();

    if(currBB)
    {
        delete currBB;
        currBB = NULL;
    }

    if(detectorCascade)
    {
        delete detectorCascade;
        detectorCascade = NULL;
    }

    if(medianFlowTracker)
    {
        delete medianFlowTracker;
        medianFlowTracker = NULL;
    }

    if(prevBB)
    {
        delete prevBB;
        prevBB = NULL;
    }

	//*************for Image Warping...************
	if(hull) {
		delete hull;
		hull = NULL;
	}
	if(imBlurred) {
		delete imBlurred;
		imBlurred = NULL;
	}
	if(ppHolder) {
		delete ppHolder;
		ppHolder = NULL;
	}
}
Example #5
0
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();

}
Example #6
0
    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();
    }
Example #7
0
TLD::~TLD() {
	storeCurrentData();
	if(_img_posterios)cvReleaseImage(&_img_posterios);
	delete detectorCascade;
	delete medianFlowTracker;
}