如何计算翻译矩阵?

问题描述 投票:0回答:1

我有2D图像数据,具有纬度和经度的相应摄像机位置。我想将像素坐标转换为3D世界坐标。我可以访问固有的校准参数和偏航,俯仰和滚转。使用偏航,俯仰和滚动我可以导出旋转矩阵,但我没有得到如何计算平移矩阵。当我正在处理数据集时,我无法访问相机。请帮我推导翻译矩阵。

opencv image-processing computer-vision camera-calibration 3d-reconstruction
1个回答
0
投票

如果您没有相机相对于地面的高度(AGL或ASL)或其他方式来解决图像中的比例(例如,通过在图像中识别已知大小的物体,例如航拍图像中的足球场)。

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

有很多开源库可以帮助您以各种语言进行操作(例如GeographicLib)

编辑添加建议:

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

然后继续将光线与椭球相交,如this answer所述。

© www.soinside.com 2019 - 2024. All rights reserved.