Subversion Repositories seema-scanner

Rev

Rev 207 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 jakw 1
#ifndef CODEC_H
2
#define CODEC_H
3
 
4
#include <vector>
5
#include <opencv2/opencv.hpp>
41 jakw 6
#include "SMCalibrationParameters.h"
4 jakw 7
 
36 jakw 8
// Base class for all Algorithms
9
class Algorithm {
4 jakw 10
    public:
70 jakw 11
        Algorithm(unsigned int _screenCols, unsigned int _screenRows) : N(0), screenCols(_screenCols), screenRows(_screenRows){}
41 jakw 12
    virtual ~Algorithm(){}
4 jakw 13
        unsigned int getNPatterns(){return N;}
41 jakw 14
        int getscreenCols(){return screenCols;}
15
        int getscreenRows(){return screenRows;}
4 jakw 16
        // Encoding
17
        virtual cv::Mat getEncodingPattern(unsigned int depth) = 0;
41 jakw 18
        // Matching
245 jakw 19
        virtual void get3DPoints(const SMCalibrationParameters &calibration, const std::vector<cv::Mat>& frames0, const std::vector<cv::Mat>& frames1, std::vector<cv::Point3f>& Q, std::vector<cv::Vec3f>& color) = 0;
4 jakw 20
    protected:
21
        unsigned int N;
22
        unsigned int screenCols, screenRows;
23
};
24
 
25
 
26
#endif // CODEC_H