2016-08-07 26 views
0

私はcalibrateCamera関数を使用しています。2つのフラグを使用するときのエラーOpenCvのcalibrateCamera関数

どのように2つのフラグを使用しますか?私はCALIB_USE_INTRINSIC_GUESSCALIB_FIX_PRINCIPAL_POINTを一緒に使いたいですが、私は構文がわかりません。私は最初のフラグを使用すると、コードが細かい動作しますが、私は次のコードを使用して2つのフラグを使用する場合:

a,camMatrix, c, rvec, tvec = cv2.calibrateCamera([obj_points], [img_points], size, camera_matrix, dist_coefs, flags=(cv2.CALIB_USE_INTRINSIC_GUESS and cv2.CALIB_FIX_PRINCIPAL_POINT)) 

を私はエラーを取得:

OpenCV Error: Bad argument (For non-planar calibration rigs the initial intrinsic matrix must be specified) in cvCalibrateCamera2, file D:\Build\OpenCV\opencv-3.1.0\modules\calib3d\src\calibration.cpp, line 1440 Traceback (most recent call last): File "C:/Bdrive/AlgoSurg intern/DLT/CamCalTrial2.py", line 109, in a,camMatrix, c, rvec, tvec = cv2.calibrateCamera([obj_points], [img_points], size, camera_matrix, dist_coefs, flags=(cv2.CALIB_USE_INTRINSIC_GUESS and cv2.CALIB_FIX_PRINCIPAL_POINT)) cv2.error: D:\Build\OpenCV\opencv-3.1.0\modules\calib3d\src\calibration.cpp:1440: error: (-5) For non-planar calibration rigs the initial intrinsic matrix must be specified in function cvCalibrateCamera2

構文が間違っていますか、多分私は行方不明のものがありますか?

答えて

1

あなたは、このようにそれを行う必要があります:

a,camMatrix, c, rvec, tvec = cv2.calibrateCamera([obj_points], [img_points], size, camera_matrix, dist_coefs, flags=(cv2.CALIB_USE_INTRINSIC_GUESS + cv2.CALIB_FIX_PRINCIPAL_POINT)) 

をとフラグ周りの括弧は必要ありませんので、これは同様に許容可能である:

a,camMatrix, c, rvec, tvec = cv2.calibrateCamera([obj_points], [img_points], size, camera_matrix, dist_coefs, flags=cv2.CALIB_USE_INTRINSIC_GUESS + cv2.CALIB_FIX_PRINCIPAL_POINT) 
関連する問題