Mercurial Hosting > traffic-intelligence
comparison 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 |
comparison
equal
deleted
inserted
replaced
277:21f14fadd098 | 278:f21ef87f98f1 |
---|---|
123 HOGDescriptor hog; | 123 HOGDescriptor hog; |
124 hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector()); | 124 hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector()); |
125 | 125 |
126 int key = '?'; | 126 int key = '?'; |
127 unsigned int savedFeatureId=0; | 127 unsigned int savedFeatureId=0; |
128 Mat frame, currentFrameBW, previousFrameBW; | 128 Mat frame = Mat::zeros(1, 1, CV_8UC1), currentFrameBW, previousFrameBW; |
129 | 129 |
130 unsigned int lastFrameNum = params.frame1+nFrames; | 130 unsigned int lastFrameNum = nFrames; |
131 if (params.nFrames > 0) | 131 if (params.nFrames > 0) |
132 lastFrameNum = MIN(params.frame1+params.nFrames, nFrames); | 132 lastFrameNum = MIN(params.frame1+static_cast<unsigned int>(params.nFrames), nFrames); |
133 | 133 |
134 capture.set(CV_CAP_PROP_POS_FRAMES, params.frame1); | 134 //capture.set(CV_CAP_PROP_POS_FRAMES, params.frame1); |
135 for (unsigned int frameNum = params.frame1; (frameNum < lastFrameNum) && !::interruptionKey(key); frameNum++) { | 135 for (unsigned int frameNum = params.frame1; (frameNum < lastFrameNum) && !::interruptionKey(key); frameNum++) { |
136 capture >> frame; | 136 capture >> frame; |
137 | |
138 if (frame.empty() || frame.size() != videoSize) | |
139 break; | |
140 | |
137 if (frameNum%50 ==0) | 141 if (frameNum%50 ==0) |
138 cout << "frame " << frameNum << endl; | 142 cout << "frame " << frameNum << endl; |
143 | |
139 //capture.get(CV_CAP_PROP_POS_FRAMES) << " " << prevPts.size() << endl; | 144 //capture.get(CV_CAP_PROP_POS_FRAMES) << " " << prevPts.size() << endl; |
140 | 145 |
141 // int emptyFrameNum = 0; | 146 // int emptyFrameNum = 0; |
142 // while (frame.empty()) { | 147 // while (frame.empty()) { |
143 // cerr << "empty frame " << emptyFrameNum << " " << capture.get(CV_CAP_PROP_POS_FRAMES)<< endl; | 148 // cerr << "empty frame " << emptyFrameNum << " " << capture.get(CV_CAP_PROP_POS_FRAMES)<< endl; |