Subversion Repositories seema-scanner

Rev

Rev 207 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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