Home | History | Annotate | Download | only in src
      1 #ifndef FISHEYE_INTERNAL_H
      2 #define FISHEYE_INTERNAL_H
      3 #include "precomp.hpp"
      4 
      5 namespace cv { namespace internal {
      6 
      7 struct CV_EXPORTS IntrinsicParams
      8 {
      9     Vec2d f;
     10     Vec2d c;
     11     Vec4d k;
     12     double alpha;
     13     std::vector<int> isEstimate;
     14 
     15     IntrinsicParams();
     16     IntrinsicParams(Vec2d f, Vec2d c, Vec4d k, double alpha = 0);
     17     IntrinsicParams operator+(const Mat& a);
     18     IntrinsicParams& operator =(const Mat& a);
     19     void Init(const cv::Vec2d& f, const cv::Vec2d& c, const cv::Vec4d& k = Vec4d(0,0,0,0), const double& alpha = 0);
     20 };
     21 
     22 void projectPoints(cv::InputArray objectPoints, cv::OutputArray imagePoints,
     23                    cv::InputArray _rvec,cv::InputArray _tvec,
     24                    const IntrinsicParams& param, cv::OutputArray jacobian);
     25 
     26 void ComputeExtrinsicRefine(const Mat& imagePoints, const Mat& objectPoints, Mat& rvec,
     27                             Mat&  tvec, Mat& J, const int MaxIter,
     28                             const IntrinsicParams& param, const double thresh_cond);
     29 CV_EXPORTS Mat ComputeHomography(Mat m, Mat M);
     30 
     31 CV_EXPORTS Mat NormalizePixels(const Mat& imagePoints, const IntrinsicParams& param);
     32 
     33 void InitExtrinsics(const Mat& _imagePoints, const Mat& _objectPoints, const IntrinsicParams& param, Mat& omckk, Mat& Tckk);
     34 
     35 void CalibrateExtrinsics(InputArrayOfArrays objectPoints, InputArrayOfArrays imagePoints,
     36                          const IntrinsicParams& param, const int check_cond,
     37                          const double thresh_cond, InputOutputArray omc, InputOutputArray Tc);
     38 
     39 void ComputeJacobians(InputArrayOfArrays objectPoints, InputArrayOfArrays imagePoints,
     40                       const IntrinsicParams& param,  InputArray omc, InputArray Tc,
     41                       const int& check_cond, const double& thresh_cond, Mat& JJ2_inv, Mat& ex3);
     42 
     43 CV_EXPORTS void  EstimateUncertainties(InputArrayOfArrays objectPoints, InputArrayOfArrays imagePoints,
     44                            const IntrinsicParams& params, InputArray omc, InputArray Tc,
     45                            IntrinsicParams& errors, Vec2d& std_err, double thresh_cond, int check_cond, double& rms);
     46 
     47 void dAB(cv::InputArray A, InputArray B, OutputArray dABdA, OutputArray dABdB);
     48 
     49 void JRodriguesMatlab(const Mat& src, Mat& dst);
     50 
     51 void compose_motion(InputArray _om1, InputArray _T1, InputArray _om2, InputArray _T2,
     52                     Mat& om3, Mat& T3, Mat& dom3dom1, Mat& dom3dT1, Mat& dom3dom2,
     53                     Mat& dom3dT2, Mat& dT3dom1, Mat& dT3dT1, Mat& dT3dom2, Mat& dT3dT2);
     54 
     55 double median(const Mat& row);
     56 
     57 Vec3d median3d(InputArray m);
     58 
     59 }}
     60 
     61 #endif
     62