Subversion Repositories seema-scanner

Rev

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

#ifndef SMTYPES_H
#define SMTYPES_H

#include <opencv2/opencv.hpp>

struct CalibrationSet {
    cv::Mat frame0;
    cv::Mat frame1;
    float rotationAngle;
    bool checked;
    bool success;
    cv::Mat frame0Result;
    cv::Mat frame1Result;
    CalibrationSet(): frame0(cv::Mat()), frame1(cv::Mat()), rotationAngle(-1), checked(false), success(false){}
};

struct CalibrationParameters {
    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

    CalibrationParameters() : 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){}
};

struct FrameSequence {
    std::vector<cv::Mat> frames0;
    std::vector<cv::Mat> frames1;
    std::string codecID;
    float rotationAngle;
    FrameSequence(): frames0(cv::Mat()), frames1(cv::Mat()), codecID(""), rotationAngle(-1){}
};

#endif // SMTYPES_H