Subversion Repositories seema-scanner

Rev

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

Rev Author Line No. Line
9 jakw 1
 
27 jakw 2
#ifndef SMReconstructionWorker_H
3
#define SMReconstructionWorker_H
9 jakw 4
 
25 jakw 5
#include "SMTypes.h"
27 jakw 6
#include "SMCalibrationParameters.h"
41 jakw 7
#include "Algorithm.h"
25 jakw 8
 
9 jakw 9
#include <QObject>
10
#include <QTime>
11
 
25 jakw 12
#include <opencv2/opencv.hpp>
9 jakw 13
#include <pcl/point_cloud.h>
14
#include <pcl/point_types.h>
15
 
27 jakw 16
class SMReconstructionWorker : public QObject {
9 jakw 17
    Q_OBJECT
18
 
19
    public:
27 jakw 20
        SMReconstructionWorker(){}
21
        ~SMReconstructionWorker(){}
9 jakw 22
    public slots:
207 flgw 23
        void reconstructPointCloud(const SMFrameSequence &frameSequence);
24
        void reconstructPointClouds(const std::vector<SMFrameSequence> &frameSequences);
9 jakw 25
    signals:
42 jakw 26
        void newPointCloud(SMPointCloud pointCloud);
207 flgw 27
        void error(const QString err);
27 jakw 28
        void done();
9 jakw 29
    private:
208 flgw 30
        void triangulate(const std::vector<cv::Point2f>& q0,
31
                         const std::vector<cv::Point2f>& q1,
32
                         std::vector<cv::Point3f> &Q);
25 jakw 33
 
27 jakw 34
    private:
35
        SMCalibrationParameters calibration;
9 jakw 36
        QTime time;
41 jakw 37
        Algorithm *algorithm;
27 jakw 38
        cv::Mat lensMap0Horz, lensMap0Vert, lensMap1Horz, lensMap1Vert;
9 jakw 39
};
40
 
41
#endif