每张图片中都有坐标系。如何使用OpenCV库在此系统中找到A点的坐标。很高兴看到示例代码。 我在opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html上找了它,但还没找到(或者还没有理解:))
答案 0 :(得分:4)
你的“立体声”图片很好。您已经完成的工作是解决通信问题:在两个图像中,您都指出了点'A'。这意味着您知道哪个像素对应于另外的标记点'A'。
您想要做的是三角测量您的相机。您只能通过首先校准相机来完成此操作。这已经在OpenCV内了。 http://docs.opencv.org/doc/tutorials/calib3d/camera_calibration/camera_calibration.html http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html
这为您提供了每个矢量的精确矢量/光线,以及光线通过的光学中心。此外,您需要立体声校准。这确定了每个摄像机相互之间的方向和位置。
从那时起,您的三角测量很简单,知道点'A'的两个图像中的像素位置。
因此,您在太空中有2个位置,并且这些位置有2个光线。这些光线的交叉点是你的3D答案。
请注意,在练习中,光线永远不会完全相交(3D中很少有2条线),所以你需要近似。使用opencv函数triangulatePoints(),使用立体声校准的输入和与标签A相关的像素索引。
答案 1 :(得分:-1)
首先,这并不是真正的立体声对。一个漂亮的立体声对需要有60%-80%的重叠,通常是图像之间的小旋转差异。即使这对由于极大的kappa旋转而具有必要的BASE成为良好的立体对,因此产生的极线图像将毫无用处。
其次,您应该看看OpenCV支持的相机校准和共线性方程
答案 2 :(得分:-2)
你需要了解数学。
如果页面不够,那么你应该看一下opencv book - 它专门用了几章。然后有很多教科书更详细地介绍它