我正在使用 OpenCV 3.0 下的stereoRectifyUncalibrated()
方法开展立体视觉。
我使用以下步骤校准我的系统:
findFundamentalMat()
stereoRectifyUncalibrated()
。对于每个摄像机,我按如下方式计算旋转矩阵:
R1 = cameraMatrix[0].inv()*H1*cameraMatrix[0];
要计算3D点,我需要得到投影矩阵,但我不知道如何估计平移向量。
我尝试decomposeHomographyMat()
和此解决方案https://stackoverflow.com/a/10781165/3653104但旋转矩阵与我从R1获得的旋转矩阵不同。
当我使用R1 / R2检查已校正的图像时(使用initUndistortRectifyMap()
后跟remap()
),结果似乎正确(我使用极线检查)。
由于我对视力的认识不足,我有点失落。因此,如果有人可以向我解释。谢谢:))
答案 0 :(得分:0)
您提供的链接中的代码(https://stackoverflow.com/a/10781165/3653104)不会计算相机的旋转但是3x4姿势。
姿势的最后一列是你的翻译矢量