Subversion Repositories seema-scanner

Rev

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

#ifndef SMCALIBRATIONPARAMETERS_H
#define SMCALIBRATIONPARAMETERS_H

#include <QObject>
#include <QDataStream>
#include <QMetaType>
#include <opencv2/opencv.hpp>

class SMCalibrationParameters{

    public:

        SMCalibrationParameters() : frameHeight(0), frameWidth(0),
                                  K0(1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0), k0(0.0), cam0_error(0.0),
                                  K1(1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0), k1(0.0), cam1_error(0.0),
                                  R1(1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0), T1(0.0), stereo_error(0.0){

            qRegisterMetaType<SMCalibrationParameters>("SMCalibrationParameters");
            qRegisterMetaTypeStreamOperators<SMCalibrationParameters>("SMCalibrationParameters");
        }

        ~SMCalibrationParameters(){}

        unsigned int frameHeight;
        unsigned int frameWidth;

        cv::Matx33f K0; // intrinsic camera matrix
        cv::Vec<float, 5> k0; // distortion coefficients
        double cam0_error; // overall reprojection error

        cv::Matx33f K1;
        cv::Vec<float, 5> k1;
        double cam1_error;

        double stereo_error; // stereo calibration reprojection error

        cv::Matx33f R1; // extrinsic rotation matrix
        cv::Vec3f   T1; // extrinsic translation vector

        void print();
};

QDataStream& operator>>(QDataStream& in, SMCalibrationParameters& data);
QDataStream& operator<<(QDataStream& out, const SMCalibrationParameters& data);

Q_DECLARE_METATYPE(SMCalibrationParameters)


#endif // SMCALIBRATIONPARAMETERS_H