- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试学习如何使用 openCV 和 python 进行 3D 和立体相机校准。使用 8x6 棋盘(7x5 内角)的 3 个相机 View ,我能够使 cv.calibrateCamera()
正常工作,但当我使用 cv2 时完全卡住了。步骤之一是找到棋盘角。 cv.findChessboardCorners()
将角点作为点列表返回,而 cv2 使用 numpy 数组,并将点作为 (35,1,2) numpy 数组返回。 cv2.calibrateCamera() 的参数是 object_points
、image_points
和 image_size
。我在 (3,35,3)
numpy 数组中提供对象点,在 (3,35,2)
numpy 数组中提供图像点。图片大小为(1632, 1224)
。谁能告诉我问题出在哪里?我得到的错误不是很有用:
Traceback (most recent call last):
File "H:/pyCV/locv_book/ch11/calCamera2a.py", line 46, in <module>
cv2.calibrateCamera(opts,ipts,size)
error: ..\..\..\src\opencv\modules\calib3d\src\calibration.cpp:3173: error: (-215) ni >= 0
最佳答案
点需要是float32,矩阵形式(N,2)和(N,3)。您可以通过这种方式转换为 float32:
points32 = np.array(points,dtype=np.float32)
关于python - cv2.cameraCalibration 使用 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12772950/
在this opencv article , 当调用 calibrateCamera() 时图像大小反转(注意 gray.shape[::-1]) ret, mtx, dist, rvecs, tve
我想使用 opencv Cameracalibration 函数 (calibrateCamera()) 来校准我的相机。 根据opencv document , 我的棋盘至少要拍 10 张。 但是当
我正在尝试学习如何使用 openCV 和 python 进行 3D 和立体相机校准。使用 8x6 棋盘(7x5 内角)的 3 个相机 View ,我能够使 cv.calibrateCamera() 正
我是一名优秀的程序员,十分优秀!