annotate include/InputFrameListModule.h @ 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
400
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
1 #ifndef INPUT_FRAME_LIST_MODULE_H
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
2 #define INPUT_FRAME_LIST_MODULE_H
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
3
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
4 #include "InputFrameProviderIface.h"
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
5 #include <string>
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
6 #include <vector>
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
7
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
8 class InputFrameListModule : public InputFrameProviderIface
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
9 {
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
10 public:
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
11 InputFrameListModule(const std::string& basePath,const std::string& pictureList);
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
12 ~InputFrameListModule();
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
13
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
14
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
15
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
16 bool getNextFrame(cv::Mat&);
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
17 unsigned int getNbFrames();
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
18 bool isOpen() const { return mInit;}
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
19 void setFrameNumber(const int& frameNumber) {} // does nothing for now
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
20
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
21 virtual const cv::Size& getSize() const { return mSize;}
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
22 private:
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
23 void loadFileList(const std::string& path);
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
24 std::vector<std::string> mFileList;
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
25 unsigned int mCurrentIdx;
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
26 bool mInit;
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
27 std::string mBasePath;
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
28 cv::Mat mCurrentFrame;
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
29 cv::Size mSize;
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
30
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
31 };
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
32
7ef1071e3cc3 clean up of input classes for list of images and video files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 399
diff changeset
33 #endif