gpt4 book ai didi

algorithm - 如何从 LSD 线检测器生成的此类数据中获取相机位置?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:45:29 25 4
gpt4 key购买 nike

例如我有 such image这种带坐标的线。如何(使用什么算法)生成某种简单的 3d 场景,这意味着获取从相机到我们面对的墙壁的相对距离?

最佳答案

起点:http://en.wikipedia.org/wiki/Pinhole_camera_model以及其中一本引用书:Richard Hartley 和 Andrew Zisserman (2003)。计算机视觉中的多 View 几何。剑桥大学出版社。

对于 C++ 中的实现:http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html

一个非常简单的方法:请注意,这只是为了解释一般原则。

假设您知道现实世界中墙壁(瓷砖?)上的网格的测量值,您可以校准相机,从而获得内在外在相机参数;从这些参数中,您可以获得相机在真实世界场景中的位置(相机中心)。

例如,您可以将 XYZ 引用框架的原点放在右垂直墙与面向相机的墙相交的上角,然后在现实世界中测量 XYZ 引用框架中每个瓷砖角的坐标,因此你有一组 3D 点(我们称它们为 objectPoints),这些点的度量单位是毫米(或英寸)。

3D 点不能在同一平面上。

然后你需要在图像上找到相同的点,你会得到一组二维点,这些点的“度量单位”是像素(我们称它们为imagePoints)。

3D - 2D 对应是算法的输入,它为您提供相机参数(参见例如 http://en.wikipedia.org/wiki/Camera_resectioning 或 OpenCV 函数 calibrateCamera http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html#cv-calibratecameraobjectPoints 作为第一个参数,以 imagePoints 作为第二个参数)

从相机参数中,您可以获得相机中心,即相机与 XYZ 引用系 (0,0,0) 之间的距离。

关于algorithm - 如何从 LSD 线检测器生成的此类数据中获取相机位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3678224/

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