• Martin Ueding's avatar
    Add example data types for calibrateCamera call · 9e297628
    Martin Ueding authored
    It took me a while to figure out what was meant with
    
        OpenCV Error: Assertion failed (i < 0) in getMat
    
    While searching for this error message I found [a list of error
    messages](https://adventuresandwhathaveyou.wordpress.com/2014/03/14/opencv-error-messages-suck/)
    which also explained what the problem was: The data type for `rvecs` was
    not a simple `cv::Mat` but a `std::vector<cv::Mat>`.
    
    After I fixed that, I got the next error message:
    
        OpenCV Error: Assertion failed (ni > 0 && ni == ni1) in
        collectCalibrationData, file
        /build/buildd/opencv-2.4.9+dfsg/modules/calib3d/src/calibration.cpp,
        line 3193
    
    The problem here was that my data type for the `objectPoints` was just
    `vector<Vec3f>` and not `vector<vector<Vec3f>>`.
    
    In order to save other people the time looking for this, I added
    explicit examples of the needed data types into the documentation of the
    function. I had to re-read the current version a couple of times until I
    can read the needed levels of `vector<>`. Having this example would have
    really helped me there.
    
    Conflicts:
    	modules/calib3d/include/opencv2/calib3d.hpp
    9e297628
Name
Last commit
Last update
..
pics Loading commit data...
calib3d.rst Loading commit data...
camera_calibration_and_3d_reconstruction.rst Loading commit data...