42#ifndef __OPENCV_MULTICAMERACALIBRATION_HPP__ 
   43#define __OPENCV_MULTICAMERACALIBRATION_HPP__ 
   45#include "opencv2/ccalib/randpattern.hpp" 
   46#include "opencv2/ccalib/omnidir.hpp" 
   50namespace cv { 
namespace multicalib {
 
  133        float patternHeight, 
int verbose = 0, 
int showExtration = 0, 
int nMiniMatches = 20, 
int flags = 0,
 
  149    double optimizeExtrinsics();
 
  157    void writeParameters(
const std::string& filename);
 
  160    std::vector<std::string> readStringList();
 
  162    int getPhotoVertex(
int timestamp);
 
  164    void graphTraverse(
const Mat& G, 
int begin, std::vector<int>& order, std::vector<int>& pre);
 
  166    void findRowNonZero(
const Mat& row, 
Mat& idx);
 
  168    void computeJacobianExtrinsic(
const Mat& extrinsicParams, 
Mat& JTJ_inv, 
Mat& JTE);
 
  170    void computePhotoCameraJacobian(
const Mat& rvecPhoto, 
const Mat& tvecPhoto, 
const Mat& rvecCamera,
 
  171        const Mat& tvecCamera, 
Mat& rvecTran, 
Mat& tvecTran, 
const Mat& objectPoints, 
const Mat& imagePoints, 
const Mat& K,
 
  172        const Mat& distort, 
const Mat& xi, 
Mat& jacobianPhoto, 
Mat& jacobianCamera, 
Mat& E);
 
  174    void compose_motion(InputArray _om1, InputArray _T1, InputArray _om2, InputArray _T2, 
Mat& om3, 
Mat& T3, 
Mat& dom3dom1,
 
  177    void JRodriguesMatlab(
const Mat& src, 
Mat& dst);
 
  180    double computeProjectError(
Mat& parameters);
 
  182    void vector2parameters(
const Mat& parameters, std::vector<Vec3f>& rvecVertex, std::vector<Vec3f>& tvecVertexs);
 
  183    void parameters2vector(
const std::vector<Vec3f>& rvecVertex, 
const std::vector<Vec3f>& tvecVertex, 
Mat& parameters);
 
  191    float _patternWidth, _patternHeight;
 
  193    std::string _filename;
 
  199    std::vector<edge> _edgeList;
 
  200    std::vector<vertex> _vertexList;
 
  201    std::vector<std::vector<cv::Mat> > _objectPointsForEachCamera;
 
  202    std::vector<std::vector<cv::Mat> > _imagePointsForEachCamera;
 
  203    std::vector<cv::Mat> _cameraMatrix;
 
  204    std::vector<cv::Mat> _distortCoeffs;
 
  205    std::vector<cv::Mat> _xi;
 
  206    std::vector<std::vector<Mat> > _omEachCamera, _tEachCamera;
 
This type is very similar to InputArray except that it is used for input/output and output function p...
Definition: mat.hpp:295
 
static CV_WRAP Ptr< AKAZE > create(AKAZE::DescriptorType descriptor_type=AKAZE::DESCRIPTOR_MLDB, int descriptor_size=0, int descriptor_channels=3, float threshold=0.001f, int nOctaves=4, int nOctaveLayers=4, KAZE::DiffusivityType diffusivity=KAZE::DIFF_PM_G2)
The AKAZE constructor
 
static CV_WRAP Ptr< DescriptorMatcher > create(const String &descriptorMatcherType)
Creates a descriptor matcher of a given type with the default parameters (using default constructor).
 
n-dimensional dense array class
Definition: mat.hpp:802
 
static MatExpr eye(int rows, int cols, int type)
Returns an identity matrix of the specified size and type.
 
The class defining termination criteria for iterative algorithms.
Definition: core/types.hpp:853
 
@ EPS
the desired accuracy or change in parameters at which the iterative algorithm stops
Definition: core/types.hpp:862
 
@ COUNT
the maximum number of iterations or elements to compute
Definition: core/types.hpp:860
 
Class for multiple camera calibration that supports pinhole camera and omnidirection camera....
Definition: multicalib.hpp:73
 
CV_EXPORTS_W void transform(InputArray src, OutputArray dst, InputArray m)
Performs the matrix transformation of every array element.
 
"black box" representation of the file storage associated with a file on disk.
Definition: aruco.hpp:75
 
Definition: cvstd_wrapper.hpp:74
 
Definition: multicalib.hpp:83
 
Definition: multicalib.hpp:99