OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 1859|回复: 1

cv2.stereoRectify返回的projection matrix P1的值看起来怪怪的

[复制链接]
发表于 2019-8-30 18:14:54 | 显示全部楼层 |阅读模式
本帖最后由 april_zhao425 于 2019-8-30 18:18 编辑

1.分别对两个相机进行标定ret1, cameraMatrix1, distCoeffs1, rvecs1, tvecs1 = cv2.calibrateCamera(obj_points, img_left_points,image_size, K, None,flags=cv2.CALIB_USE_INTRINSIC_GUESS+cv2.CALIB_FIX_PRINCIPAL_POINT)
ret2, cameraMatrix2, distCoeffs2, rvecs2, tvecs2 = cv2.calibrateCamera(obj_points, img_right_points,image_size2, K, None,flags=cv2.CALIB_USE_INTRINSIC_GUESS+cv2.CALIB_FIX_PRINCIPAL_POINT)


2.双目标定
stereocalib_criteria = (cv2.TERM_CRITERIA_MAX_ITER + cv2.TERM_CRITERIA_EPS, 100, 1e-5)
stereocalib_flags =cv2.CALIB_FIX_INTRINSIC
stereocalib_retval, cameraMatrixL, distCoeffsL, cameraMatrixR, distCoeffsR, R, T, E, F = cv2.stereoCalibrate(obj_points,img_left_points, img_right_points, cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2, image_size,criteria=stereocalib_criteria, flags=stereocalib_flags)


3.立体矫正
R1, R2, P1, P2, Q, validPixROI1, validPixROI2 = cv2.stereoRectify(cameraMatrixL, distCoeffsL,cameraMatrixR, distCoeffsR,image_size, R, T, flags=cv2.CALIB_ZERO_DISPARITY, alpha=0)


4.最后P1的值是
[[ 23.94124645   0.         858.44723517   0.        ]              
[  0.          23.94124645 340.67619807   0.        ]              
[  0.           0.           1.           0.        ]]
这也差太多了吧,大家帮忙看看我哪个地方是错了吗?
还有就是不同版本的opencv,计算出来的结果都不一样,这是怎么回事?大家有遇到同样的问题吗?




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-3-29 00:05 , Processed in 0.010021 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表