我在一座高层建筑(例如 10 层楼高)上安装了一台摄像机,用于观察某个区域。视频屏幕流式显示在我的笔记本电脑上。
如果我知道一座建筑物的纬度/经度,我如何计算出什么位置(以像素为单位)我可以在我的显示视频上标出一个十字来指示建筑物的位置?
最佳答案
您要找的是Augmented Reality .
您需要知道相机的焦点是/是一项非常重要的任务。我多年前为一个专业的索尼 DVCAM 系统写了一篇文章,该系统使用从 Numerical Recipes 中提取的误差扩散。书。这需要很长时间来设置和校准,但一旦校准,焦距就固定了。
现代系统使用半立方体系统,其中软件知道立方体的大小,因此可以推断出相机的焦距、视野和其他方面。同样不是一个微不足道的操作,但比我的方法快得多。我读了一篇加拿大人的论文,他在希腊 IIRC 的照片中有一辆虚拟坦克驶过物体。那是在 2001 年,如果我忘记了这篇论文的名字,请原谅我。
您必须考虑的另一个方面是您拥有的相机的角度和方向。当您知道相机的 GPS 时,您需要知道方向。你可以获得便宜的电子罗盘,它会给你最好的猜测方向,但你需要的是一个 IMU。它们的范围从用于 Arduino 的几英镑到用于工业的数千英镑不等。由于您将地球的引力和旋转作为常量,您可以从施加在 IMU 轴上的应变推断出它的方向。
当时困难的想法现在可能很常见。你最好的选择是阅读关于 Augmented Reality 的一些论文。 .
关于c++ - 从纬度和经度计算屏幕位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37402941/