Subversion Repositories seema-scanner

Rev

Rev 24 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
9 jakw 1
 
24 jakw 2
#ifndef SMTriangulator_H
3
#define SMTriangulator_H
9 jakw 4
 
25 jakw 5
#include "SMTypes.h"
6
 
9 jakw 7
#include <QObject>
8
#include <QTime>
9
 
25 jakw 10
#include <opencv2/opencv.hpp>
9 jakw 11
#include <pcl/point_cloud.h>
12
#include <pcl/point_types.h>
13
 
24 jakw 14
class SMTriangulator : public QObject {
9 jakw 15
    Q_OBJECT
16
 
17
    public:
25 jakw 18
        SMTriangulator();
24 jakw 19
        ~SMTriangulator();
20
        void triangulateFromUp(cv::Mat &up, cv::Mat &xyz);
21
        void triangulateFromVp(cv::Mat &vp, cv::Mat &xyz);
22
        void triangulateFromUpVp(cv::Mat &up, cv::Mat &vp, cv::Mat &xyz);
23
        void triangulate(cv::Mat &up, cv::Mat &vp, cv::Mat &mask, cv::Mat &shading, cv::Mat &pointCloud);
24
 
9 jakw 25
    public slots:
26
        void triangulatePointCloud(cv::Mat up, cv::Mat vp, cv::Mat mask, cv::Mat shading);
27
    signals:
28
        void imshow(const char* windowName, cv::Mat mat, unsigned int x, unsigned int y);
29
        void newPointCloud(pcl::PointCloud<pcl::PointXYZRGB>::Ptr pointCloud);
30
        void error(QString err);
31
        //void finished();
32
    private:
25 jakw 33
        CalibrationParameters calibration;
34
 
9 jakw 35
        QTime time;
25 jakw 36
 
24 jakw 37
        cv::Mat determinantTensor;
38
        cv::Mat uc, vc;
39
        cv::Mat lensMap1, lensMap2;
9 jakw 40
};
41
 
42
#endif