如何计算平移矩阵?



我有2D图像数据,其中包含纬度和经度中各自的相机位置。我想将像素坐标转换为 3D 世界坐标。 我可以访问固有校准参数和偏航、俯仰和横滚。使用偏航、俯仰和滚动,我可以推导出旋转矩阵,但我不知道如何计算平移矩阵。由于我正在处理数据集,因此我无法实际访问相机。请帮助我推导出翻译矩阵。

如果您没有相机相对于地面的高度(AGL 或 ASL)或其他从图像中解析比例的方法(例如,通过在图像中识别已知大小的物体,例如航拍图像中的足球场),则根本无法完成。

假设您可以解析比例,下一个问题是您可以(或想要)对地形进行建模的精度如何。对于第一次近似,您可以使用标准大地椭球体(例如 WGS-84)。为了获得更高的精度 - 特别是对于从较低高度拍摄的图像 - 您需要使用 DTM 并将其注册到图像中。无论哪种方式,这都是一个标准的反向投影问题:您计算从相机中心到像素的光线,将其转换为世界坐标,然后与椭球体或DTM相交。

有很多开源库可以用各种语言(例如GeographicLib)帮助您做到这一点。

已编辑以添加建议:

在 ECEF 中表达您的相机位置。 在ECEF中转换来自相机的光线,同时考虑相机旋转。您可以使用库(例如 nVector)进行这两种转换。

然后按照本答案中的解释,将射线与椭球体相交。

相关内容

  • 没有找到相关文章

最新更新