- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个立体对,照片 1:http://savepic.org/1671682.jpg照片2:http://savepic.org/1667586.jpg
每张图片都有坐标系。如何使用 OpenCV 库在此系统中找到 A 点的坐标。很高兴看到示例代码。我在 opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html 上寻找过它,但没有找到(或不理解 :))
最佳答案
您的“立体”图像很好。你已经完成的是解决对应问题:在两张图片中你都指出了点“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 相关的像素索引。
关于OpenCV + 摄影测量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5900577/
根据维基百科: Rephotography is the act of repeat photography of the same site, with a time lag between the
我是一名优秀的程序员,十分优秀!