gpt4 book ai didi

python - 从两个2D框架获取3D坐标

转载 作者:太空宇宙 更新时间:2023-11-03 23:13:17 24 4
gpt4 key购买 nike

我在网上找不到我的问题的正确答案,所以我在这里问假设我们得到了两张从不同角度拍摄的同一地点的二维照片我选择了一组点(边缘检测),找到了它们之间的对应关系(哪个点在其他照片上)现在我需要找出这些点在3D中的世界坐标。
在过去的5个小时里,我读了很多关于它的文章,但是我仍然不明白我应该遵循什么步骤我尝试使用应用于基本矩阵和每帧上两组点的函数来估计相机的运动当我知道旋转矩阵和平移矩阵(返回recoverPose时)时,我不明白它给了我什么为了达到我的目标我应该做什么?
我也知道我相机的校准矩阵(我使用KITTI数据集)我读过但还是不明白。
这是单目视觉。

最佳答案

如果您的相机有cameraMatrixdistCoeffs向量(可能是从calibrateCamera()函数获得的),并且您还有相机两个位置的旋转矩阵R和平移向量T,则可以使用stereoRectify()来获得投影矩阵请参见OpenCV documentation on this function因为在你的情况下它是同一个摄像头,所以我想应该把相同的cameraMatrixdistCoeffs传给第一个和第二个摄像头。
然后,使用trinangulatePoints()中获得的投影矩阵对于由两个图像平面中的二维坐标定义的给定点集,它以[X, Y, Z, W]格式重建齐次坐标中的真实点若要获取三维坐标,请将前三个坐标除以W
或者,正如文档所指出的,如果您使用视差矩阵而不是两个点向量来表示立体数据,则可以使用reprojectImageTo3D()来达到等效效果尽管它采用了从Q获得的重投影矩阵stereoRectify()

关于python - 从两个2D框架获取3D坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45017927/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com