Rev 207 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#ifndef SMReconstructionWorker_H
#define SMReconstructionWorker_H
#include "SMTypes.h"
#include "SMCalibrationParameters.h"
#include "Algorithm.h"
#include <QObject>
#include <QTime>
#include <opencv2/opencv.hpp>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
class SMReconstructionWorker : public QObject {
Q_OBJECT
public:
SMReconstructionWorker(){}
~SMReconstructionWorker(){}
public slots:
void setup();
void reconstructPointCloud(const SMFrameSequence &frameSequence);
void reconstructPointClouds(const std::vector<SMFrameSequence> &frameSequences);
signals:
void newPointCloud(SMPointCloud pointCloud);
void error(const QString err);
void done();
private:
void triangulate(const std::vector<cv::Point2f>& q0,
const std::vector<cv::Point2f>& q1,
std::vector<cv::Point3f> &Q);
private:
SMCalibrationParameters calibration;
QTime time;
Algorithm *algorithm;
cv::Mat lensMap0Horz, lensMap0Vert, lensMap1Horz, lensMap1Vert;
};
#endif