Mercurial Hosting > traffic-intelligence
comparison c/feature-based-tracking.cpp @ 400:7ef1071e3cc3
clean up of input classes for list of images and video files
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Mon, 29 Jul 2013 18:06:55 -0400 |
parents | c389fae9689a |
children | b829ebdc18e6 |
comparison
equal
deleted
inserted
replaced
399:c389fae9689a | 400:7ef1071e3cc3 |
---|---|
80 Size window = Size(params.windowSize, params.windowSize); | 80 Size window = Size(params.windowSize, params.windowSize); |
81 | 81 |
82 // BruteForceMatcher<Hamming> descMatcher; | 82 // BruteForceMatcher<Hamming> descMatcher; |
83 // vector<DMatch> matches; | 83 // vector<DMatch> matches; |
84 | 84 |
85 InputFrameProviderIface* capture = nullptr; | 85 InputFrameProviderIface* capture = 0; |
86 if(!params.listFilename.empty() && !params.folderData.empty()) | 86 if(!params.listFilename.empty() && !params.folderData.empty()) |
87 capture = new InputFrameListModule(params.folderData, params.listFilename); | 87 capture = new InputFrameListModule(params.folderData, params.listFilename); |
88 else if(!params.videoFilename.empty()) | 88 else if(!params.videoFilename.empty()) |
89 capture = new InputVideoFileModule(params.videoFilename); | 89 capture = new InputVideoFileModule(params.videoFilename); |
90 else | 90 else |
91 cout << "No valid input parameters"; | 91 cout << "No valid input parameters"; |
92 | 92 |
93 if(!capture->isOpen()) | 93 if(!capture->isOpen()) { |
94 { | 94 cout << "Video filename " << params.videoFilename << " could not be opened. Exiting." << endl; |
95 cout << "Video filename " << params.videoFilename << " could not be opened. Exiting." << endl; | 95 exit(0); |
96 exit(0); | |
97 } | 96 } |
98 | 97 |
99 Size videoSize = capture->getSize(); | 98 Size videoSize = capture->getSize(); |
100 unsigned int nFrames = capture->getNbFrames(); | 99 unsigned int nFrames = capture->getNbFrames(); |
101 cout << "Video " << params.videoFilename << | 100 cout << "Video " << params.videoFilename << |
134 | 133 |
135 unsigned int lastFrameNum = nFrames; | 134 unsigned int lastFrameNum = nFrames; |
136 if (params.nFrames > 0) | 135 if (params.nFrames > 0) |
137 lastFrameNum = MIN(params.frame1+static_cast<unsigned int>(params.nFrames), nFrames); | 136 lastFrameNum = MIN(params.frame1+static_cast<unsigned int>(params.nFrames), nFrames); |
138 | 137 |
139 //capture.set(CV_CAP_PROP_POS_FRAMES, params.frame1); | 138 capture->setFrameNumber(params.frame1); |
140 for (unsigned int frameNum = params.frame1; (frameNum < lastFrameNum) && !::interruptionKey(key); frameNum++) { | 139 for (unsigned int frameNum = params.frame1; (frameNum < lastFrameNum) && !::interruptionKey(key); frameNum++) { |
141 bool success = capture->getNextFrame(frame); | 140 bool success = capture->getNextFrame(frame); |
142 | 141 |
143 if (!success || frame.empty() || frame.size() != videoSize) | 142 if (!success || frame.empty() || frame.size() != videoSize) |
144 break; | 143 break; |