diff --git a/modules/ccalib/include/opencv2/multiCameraCalibration.hpp b/modules/ccalib/include/opencv2/multiCameraCalibration.hpp index fc6ad0e8d..850ffbcc8 100644 --- a/modules/ccalib/include/opencv2/multiCameraCalibration.hpp +++ b/modules/ccalib/include/opencv2/multiCameraCalibration.hpp @@ -46,8 +46,15 @@ #include "opencv2/omnidir.hpp" #include #include + +/** @defgroup mulcalib Multiple cameras calibration toolbox +*/ + using namespace cv; +//! @addtogroup mulcalib +//! @{ + #define HEAD -1 #define INVALID -2 @@ -200,4 +207,5 @@ private: std::vector > _omEachCamera, _tEachCamera; }; +//! @} #endif \ No newline at end of file diff --git a/modules/ccalib/include/opencv2/omnidir.hpp b/modules/ccalib/include/opencv2/omnidir.hpp index 3298bb04b..4d0ad9f6b 100644 --- a/modules/ccalib/include/opencv2/omnidir.hpp +++ b/modules/ccalib/include/opencv2/omnidir.hpp @@ -41,10 +41,15 @@ #ifndef __OPENCV_OMNIDIR_HPP__ #define __OPENCV_OMNIDIR_HPP__ +/** @defgroup omnidir Omnidirectional camera calibration +*/ namespace cv { namespace omnidir { + //! @addtogroup omnidir + //! @{ + enum { CALIB_USE_GUESS = 1, CALIB_FIX_SKEW = 2, @@ -221,9 +226,12 @@ namespace omnidir @param numDisparities The parameter 'numDisparities' in StereoSGBM, see StereoSGBM for details. @param SADWindowSize The parameter 'SADWindowSize' in StereoSGBM, see StereoSGBM for details. @param disparity Disparity map generated by stereo matching - @param pointCloud Point cloud of 3D reconstruction, with type CV_64FC3 + @param image1Rec Rectified image of the first image + @param image2Rec rectified image of the second image @param newSize Image size of rectified image, see omnidir::undistortImage @param Knew New camera matrix of rectified image, see omnidir::undistortImage + @param pointCloud Point cloud of 3D reconstruction, with type CV_64FC3 + @param pointType Point cloud type, it can be XYZRGB or XYZ */ CV_EXPORTS_W void stereoReconstruct(InputArray image1, InputArray image2, InputArray K1, InputArray D1, InputArray xi1, InputArray K2, InputArray D2, InputArray xi2, InputArray R, InputArray T, int flag, int numDisparities, int SADWindowSize, @@ -293,6 +301,7 @@ namespace internal //void dAB(InputArray A, InputArray B, OutputArray dABdA, OutputArray dABdB); } // internal +//! @} } // omnidir diff --git a/modules/ccalib/include/opencv2/randomPatten.hpp b/modules/ccalib/include/opencv2/randomPatten.hpp index 0e7297f8e..9d76ab261 100644 --- a/modules/ccalib/include/opencv2/randomPatten.hpp +++ b/modules/ccalib/include/opencv2/randomPatten.hpp @@ -45,6 +45,9 @@ #include "opencv2/features2d.hpp" #include "opencv2/highgui.hpp" +/** @defgroup ranPattern Random pattern calibration pattern +*/ + using namespace cv; /** @brief Class for finding features points and corresponding 3D in world coordinate of a "random" pattern, which can be to be used in calibration. It is useful when pattern is @@ -56,6 +59,10 @@ Please refer to paper Calibration Toolbox Using A Feature Descriptor-Based Calibration Pattern", in IROS 2013. */ + +//! @addtogroup ranPattern +//! @{ + class CV_EXPORTS randomPatternCornerFinder { public: @@ -164,5 +171,6 @@ private: int _imageWidth, _imageHeight; }; +//! @} #endif \ No newline at end of file diff --git a/modules/ccalib/src/omnidir.cpp b/modules/ccalib/src/omnidir.cpp index d6951095f..b4bda4ff7 100644 --- a/modules/ccalib/src/omnidir.cpp +++ b/modules/ccalib/src/omnidir.cpp @@ -764,7 +764,7 @@ void cv::omnidir::internal::initializeStereoCalibration(InputOutputArrayOfArrays const Size& size1, const Size& size2, OutputArray om, OutputArray T, OutputArrayOfArrays omL, OutputArrayOfArrays tL, OutputArray K1, OutputArray D1, OutputArray K2, OutputArray D2, double &xi1, double &xi2, int flags, OutputArray idx) { - int n = objectPoints.total(); + int n = (int)objectPoints.total(); Mat idx1, idx2; Matx33d _K1, _K2; Matx14d _D1, _D2; @@ -1620,15 +1620,13 @@ void cv::omnidir::stereoReconstruct(InputArray image1, InputArray image2, InputA } } } - int nPoints = 0; + if (pointType == XYZ) { - nPoints = (int)_pointCloud.size(); Mat(_pointCloud).convertTo(pointCloud, CV_MAKE_TYPE(CV_32F, 3)); } else if (pointType == XYZRGB) { - nPoints = (int)_pointCloudColor.size(); Mat(_pointCloudColor).convertTo(pointCloud, CV_MAKE_TYPE(CV_32F, 6)); } }