【发布时间】:2015-03-29 20:22:01
【问题描述】:
我正在使用 OpenCV 3.0 下的stereoRectifyUncalibrated() 方法进行立体视觉。
我通过以下步骤校准我的系统:
- 检测并匹配来自 2 个摄像头的图像之间的 SURF 特征点
- 将
findFundamentalMat()与匹配的配对应用 - 使用
stereoRectifyUncalibrated()获取校正单应性。
对于每个相机,我计算一个旋转矩阵如下:
R1 = cameraMatrix[0].inv()*H1*cameraMatrix[0];
要计算 3D 点,我需要获取投影矩阵,但我不知道如何估计平移向量。
我尝试了decomposeHomographyMat() 和这个解决方案https://stackoverflow.com/a/10781165/3653104,但旋转矩阵与我使用 R1 得到的不同。
当我用 R1/R2(使用initUndistortRectifyMap() 后跟remap())检查校正后的图像时,结果似乎正确(我用极线检查)。
我对视觉知识的薄弱有点迷茫。因此,如果有人可以向我解释。谢谢你:)
【问题讨论】:
标签: c++ opencv projection-matrix