Subversion Repositories seema-scanner

Rev

Rev 208 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 208 Rev 225
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();
-
 
24
        void reconstructPointCloud(const SMFrameSequence &frameSequence);
23
        void reconstructPointCloud(const SMFrameSequence &frameSequence);
25
        void reconstructPointClouds(const std::vector<SMFrameSequence> &frameSequences);
24
        void reconstructPointClouds(const std::vector<SMFrameSequence> &frameSequences);
26
    signals:
25
    signals:
27
        void newPointCloud(SMPointCloud pointCloud);
26
        void newPointCloud(SMPointCloud pointCloud);
28
        void error(const QString err);
27
        void error(const QString err);
29
        void done();
28
        void done();
30
    private:
29
    private:
31
        void triangulate(const std::vector<cv::Point2f>& q0,
30
        void triangulate(const std::vector<cv::Point2f>& q0,
32
                         const std::vector<cv::Point2f>& q1,
31
                         const std::vector<cv::Point2f>& q1,
33
                         std::vector<cv::Point3f> &Q);
32
                         std::vector<cv::Point3f> &Q);
34
 
33
 
35
    private:
34
    private:
36
        SMCalibrationParameters calibration;
35
        SMCalibrationParameters calibration;
37
        QTime time;
36
        QTime time;
38
        Algorithm *algorithm;
37
        Algorithm *algorithm;
39
        cv::Mat lensMap0Horz, lensMap0Vert, lensMap1Horz, lensMap1Vert;
38
        cv::Mat lensMap0Horz, lensMap0Vert, lensMap1Horz, lensMap1Vert;
40
};
39
};
41
 
40
 
42
#endif
41
#endif
43
 
42