enabled gst
[profile/ivi/opencv.git] / apps / traincascade / imagestorage.h
1 #ifndef _OPENCV_IMAGESTORAGE_H_
2 #define _OPENCV_IMAGESTORAGE_H_
3
4
5 class CvCascadeImageReader
6 {
7 public:
8     bool create( const std::string _posFilename, const std::string _negFilename, cv::Size _winSize );
9     void restart() { posReader.restart(); }
10     bool getNeg(cv::Mat &_img) { return negReader.get( _img ); }
11     bool getPos(cv::Mat &_img) { return posReader.get( _img ); }
12
13 private:
14     class PosReader
15     {
16     public:
17         PosReader();
18         virtual ~PosReader();
19         bool create( const std::string _filename );
20         bool get( cv::Mat &_img );
21         void restart();
22
23         short* vec;
24         FILE*  file;
25         int    count;
26         int    vecSize;
27         int    last;
28         int    base;
29     } posReader;
30
31     class NegReader
32     {
33     public:
34         NegReader();
35         bool create( const std::string _filename, cv::Size _winSize );
36         bool get( cv::Mat& _img );
37         bool nextImg();
38
39         cv::Mat     src, img;
40         std::vector<std::string> imgFilenames;
41         cv::Point   offset, point;
42         float   scale;
43         float   scaleFactor;
44         float   stepFactor;
45         size_t  last, round;
46         cv::Size    winSize;
47     } negReader;
48 };
49
50 #endif