【发布时间】:2016-12-13 09:22:44
【问题描述】:
我正在使用calibrateCamera 函数。
如何使用两个标志?我想同时使用CALIB_USE_INTRINSIC_GUESS 和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 and cv2.CALIB_FIX_PRINCIPAL_POINT))
我得到错误:
OpenCV 错误:cvCalibrateCamera2 文件 D:\Build\OpenCV\opencv-3.1.0\modules\calib3d\src\calibration.cpp 中的参数错误(对于非平面校准装置,必须指定初始内在矩阵),第 1440 行 回溯(最近一次通话最后): 文件“C:/Bdrive/AlgoSurg intern/DLT/CamCalTrial2.py”,第 109 行,在 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) 对于非平面校准装置,必须在函数中指定初始内在矩阵cvCalibrateCamera2
要么语法错误,要么我遗漏了什么?
【问题讨论】: