fixed calibrateCamera API (ticket #1143)
authorVadim Pisarevsky <no@email>
Fri, 17 Jun 2011 21:21:01 +0000 (21:21 +0000)
committerVadim Pisarevsky <no@email>
Fri, 17 Jun 2011 21:21:01 +0000 (21:21 +0000)
modules/calib3d/include/opencv2/calib3d/calib3d.hpp
modules/calib3d/src/calibration.cpp
samples/python2/calibrate.py

index 9e800ab..83361bd 100644 (file)
@@ -562,7 +562,7 @@ CV_EXPORTS_W double calibrateCamera( InputArrayOfArrays objectPoints,
                                      Size imageSize,
                                      CV_IN_OUT InputOutputArray cameraMatrix,
                                      CV_IN_OUT InputOutputArray distCoeffs,
-                                     OutputArray rvecs, OutputArray tvecs,
+                                     OutputArrayOfArrays rvecs, OutputArrayOfArrays tvecs,
                                      int flags=0 );
 
 //! computes several useful camera characteristics from the camera matrix, camera frame resolution and the physical sensor size.
index 5c18977..a35aa7d 100644 (file)
@@ -3351,7 +3351,7 @@ cv::Mat cv::initCameraMatrix2D( InputArrayOfArrays objectPoints,
 double cv::calibrateCamera( InputArrayOfArrays _objectPoints,
                             InputArrayOfArrays _imagePoints,
                             Size imageSize, InputOutputArray _cameraMatrix, InputOutputArray _distCoeffs,
-                            OutputArray _rvecs, OutputArray _tvecs, int flags )
+                            OutputArrayOfArrays _rvecs, OutputArrayOfArrays _tvecs, int flags )
 {
     int rtype = CV_64F;
     Mat cameraMatrix = _cameraMatrix.getMat();
index 485ec3a..584ed39 100644 (file)
@@ -51,7 +51,8 @@ if __name__ == '__main__':
     camera_matrix = np.zeros((3, 3))\r
     dist_coefs = np.zeros(4)\r
     img_n = len(img_points)\r
-    rvecs = [np.zeros(3) for i in xrange(img_n)]\r
-    tvecs = [np.zeros(3) for i in xrange(img_n)]\r
-    rms = cv2.calibrateCamera(obj_points, img_points, (w, h), camera_matrix, dist_coefs) #, rvecs, tvecs)\r
-    print rms\r
+    rms, camera_matrix, dist_coefs, rvecs, tvecs = cv2.calibrateCamera(obj_points, img_points, (w, h), camera_matrix, dist_coefs)\r
+    print "RMS:", rms\r
+    print "camera matrix: ", camera_matrix\r
+    print "distortion coefficients: ", dist_coefs\r
+\r