Rev 24 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
/*
*
SLStudio - Platform for Real-Time Structured Light
(c) 2013 -- 2014 Jakob Wilm, DTU, Kgs.Lyngby, Denmark
*
*/
#ifndef SMTriangulationWorker_H
#define SMTriangulationWorker_H
#include <QObject>
#include <QTime>
#include "SMCalibrationParams.h"
#include "Triangulator.h"
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
class SMTriangulationWorker : public QObject {
Q_OBJECT
public:
SMTriangulationWorker(unsigned int _frameWidth, unsigned int _frameHeight) : frameWidth(_frameWidth), frameHeight(_frameHeight), writeToDisk(false){}
~SMTriangulationWorker();
public slots:
void setup();
void triangulatePointCloud(cv::Mat up, cv::Mat vp, cv::Mat mask, cv::Mat shading);
signals:
void imshow(const char* windowName, cv::Mat mat, unsigned int x, unsigned int y);
void newPointCloud(pcl::PointCloud<pcl::PointXYZRGB>::Ptr pointCloud);
void error(QString err);
//void finished();
private:
unsigned int frameWidth, frameHeight;
bool writeToDisk;
SMCalibrationParams *calibration;
Triangulator *triangulator;
QTime time;
};
#endif