c++ - 从纬度和经度计算屏幕位置

标签 c++ latitude-longitude map-projections

我在一座高层建筑(例如 10 层楼高)上安装了一台摄像机,用于观察某个区域。视频屏幕流式显示在我的笔记本电脑上。

如果我知道一座建筑物的纬度/经度,我如何计算出什么位置(以像素为单位)我可以在我的显示视频上标出一个十字来指示建筑物的位置?

最佳答案

您要找的是Augmented Reality .

您需要知道相机的焦点是/是一项非常重要的任务。我多年前为一个专业的索尼 DVCAM 系统写了一篇文章,该系统使用从 Numerical Recipes 中提取的误差扩散。书。这需要很长时间来设置和校准,但一旦校准,焦距就固定了。

现代系统使用半立方体系统,其中软件知道立方体的大小,因此可以推断出相机的焦距、视野和其他方面。同样不是一个微不足道的操作,但比我的方法快得多。我读了一篇加拿大人的论文,他在希腊 IIRC 的照片中有一辆虚拟坦克驶过物体。那是在 2001 年,如果我忘记了这篇论文的名字,请原谅我。

您必须考虑的另一个方面是您拥有的相机的角度和方向。当您知道相机的 GPS 时,您需要知道方向。你可以获得便宜的电子罗盘,它会给你最好的猜测方向,但你需要的是一个 IMU。它们的范围从用于 Arduino 的几英镑到用于工业的数千英镑不等。由于您将地球的引力和旋转作为常量,您可以从施加在 IMU 轴上的应变推断出它的方向。

当时困难的想法现在可能很常见。你最好的选择是阅读关于 Augmented Reality 的一些论文。 .

关于c++ - 从纬度和经度计算屏幕位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37402941/

相关文章:

c++ - 为什么复制 const shared_ptr& 不会违反 const-ness?

c++ - 关闭时出现访问冲突错误

c++ - 为什么当创建锁的进程被杀死时,文件上的锁没有被删除?

python - 列之间的计算(经度/纬度)非常慢

c# - 两个坐标之间的地理中点

r - 将极地立体投影转换为R中的经纬度网格

c++ - 为什么在 C++ 中 pow(10,5) = 9,999

java - 如何使用经度和纬度获取地址

d3.js 单击并应用缩放和平移将位于目标分区内的点分布到触发的分割

r - 使用 R 的 Proj4 重投影