Subversion Repositories seema-scanner

Rev

Rev 4 | Rev 36 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4 Rev 27
Line 1... Line 1...
1
#ifndef CODEC_H
1
#ifndef CODEC_H
2
#define CODEC_H
2
#define CODEC_H
3
 
3
 
4
#include <vector>
4
#include <vector>
5
#include <opencv2/opencv.hpp>
5
#include <opencv2/opencv.hpp>
-
 
6
#include "SMTypes.h"
6
 
7
 
7
enum CodecDir {CodecDirNone = 0,
8
enum CodecDir {CodecDirNone = 0,
8
               CodecDirHorizontal = 1 << 0,
9
               CodecDirHorizontal = 1 << 0,
9
               CodecDirVertical = 1 << 1,
10
               CodecDirVertical = 1 << 1,
10
               CodecDirBoth = CodecDirHorizontal | CodecDirVertical};
11
               CodecDirBoth = CodecDirHorizontal | CodecDirVertical};
Line 24... Line 25...
24
        CodecDir dir;
25
        CodecDir dir;
25
};
26
};
26
 
27
 
27
class Decoder {
28
class Decoder {
28
    public:
29
    public:
29
        Decoder(unsigned int _screenCols, unsigned int _screenRows, CodecDir _dir = CodecDirHorizontal) : N(0), screenCols(_screenCols), screenRows(_screenRows),  dir(_dir){}
-
 
30
        unsigned int getNPatterns(){return N;}
30
        Decoder(CodecDir _dir = CodecDirHorizontal) : dir(_dir){}
31
        CodecDir getDir(){return dir;}
31
        CodecDir getDir(){return dir;}
32
        // Decoding
32
        // Decoding
33
        virtual void setFrame(unsigned int depth, const cv::Mat frame) = 0;
-
 
34
        virtual void decodeFrames(cv::Mat &up, cv::Mat &vp, cv::Mat &mask, cv::Mat &shading) = 0;
33
        virtual void decodeFrames(const std::vector<cv::Mat> frames, cv::Mat &up, cv::Mat &vp, cv::Mat &mask, cv::Mat &shading) = 0;
35
        virtual ~Decoder(){}
34
        virtual ~Decoder(){}
36
    protected:
35
    protected:
37
        unsigned int N;
-
 
38
        unsigned int screenCols, screenRows;
-
 
39
        CodecDir dir;
36
        CodecDir dir;
40
};
37
};
41
 
38
 
42
#endif // CODEC_H
39
#endif // CODEC_H