Mercurial Hosting > traffic-intelligence
diff c/feature-based-tracking.cpp @ 278:f21ef87f98f1
resolved issue 2 and problem with negative nframes parameter
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Fri, 14 Dec 2012 01:01:55 -0500 |
parents | 2d34060db2e9 |
children | 68861b52a319 |
line wrap: on
line diff
--- a/c/feature-based-tracking.cpp Fri Dec 14 01:01:26 2012 -0500 +++ b/c/feature-based-tracking.cpp Fri Dec 14 01:01:55 2012 -0500 @@ -125,17 +125,22 @@ int key = '?'; unsigned int savedFeatureId=0; - Mat frame, currentFrameBW, previousFrameBW; + Mat frame = Mat::zeros(1, 1, CV_8UC1), currentFrameBW, previousFrameBW; - unsigned int lastFrameNum = params.frame1+nFrames; + unsigned int lastFrameNum = nFrames; if (params.nFrames > 0) - lastFrameNum = MIN(params.frame1+params.nFrames, nFrames); + lastFrameNum = MIN(params.frame1+static_cast<unsigned int>(params.nFrames), nFrames); - capture.set(CV_CAP_PROP_POS_FRAMES, params.frame1); + //capture.set(CV_CAP_PROP_POS_FRAMES, params.frame1); for (unsigned int frameNum = params.frame1; (frameNum < lastFrameNum) && !::interruptionKey(key); frameNum++) { capture >> frame; + + if (frame.empty() || frame.size() != videoSize) + break; + if (frameNum%50 ==0) cout << "frame " << frameNum << endl; + //capture.get(CV_CAP_PROP_POS_FRAMES) << " " << prevPts.size() << endl; // int emptyFrameNum = 0;