Subversion Repositories seema-scanner

Rev

Rev 25 | Rev 36 | Go to most recent revision | 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"
7
#include "Codec.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:
27 jakw 23
        void setup();
24
        void reconstructPointCloud(SMFrameSequence frameSequence);
25
        void reconstructPointClouds(std::vector<SMFrameSequence> frameSequences);
9 jakw 26
    signals:
27
        void newPointCloud(pcl::PointCloud<pcl::PointXYZRGB>::Ptr pointCloud);
28
        void error(QString err);
27 jakw 29
        void done();
9 jakw 30
    private:
27 jakw 31
        void triangulateFromUp(cv::Mat up0, cv::Mat mask0,cv::Mat up1, cv::Mat mask1,cv::Mat &xyz);
32
        void triangulateFromVp(cv::Mat vp0, cv::Mat mask0, cv::Mat vp1, cv::Mat mask1, cv::Mat &xyz);
33
        void triangulateFromUpVp(cv::Mat up0, cv::Mat vp0, cv::Mat mask0, cv::Mat up1, cv::Mat vp1, cv::Mat mask1, cv::Mat &xyz);
25 jakw 34
 
27 jakw 35
    private:
36
        SMCalibrationParameters calibration;
37
        CodecDir dir;
9 jakw 38
        QTime time;
27 jakw 39
        Decoder *decoder;
40
        cv::Mat lensMap0Horz, lensMap0Vert, lensMap1Horz, lensMap1Vert;
9 jakw 41
};
42
 
43
#endif