首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >增强现实应用中屏幕上纬度、经度的转换

增强现实应用中屏幕上纬度、经度的转换
EN

Stack Overflow用户
提问于 2013-05-22 11:09:55
回答 2查看 4.7K关注 0票数 3

这是我在这个论坛上的第一篇文章,我在编程方面很新。我想要建立一个应用程序,我可以看到确切的地方,一些gps-值在我的电话。我知道很多应用程序,比如junaio、mixare和其他应用程序,但是它们只显示对象的方向,而且它们不太准确(他们没有目标将其投射到屏幕上的确切位置)--所以我想自己构建它。我用android编程,但我认为在iPhone上也是一样的。

我遵循了dabhaid建议的步骤:

有三个步骤。 1)用传感器确定你的位置和方向。 2)通过确定已知GPS坐标的相对位置和方位,如大圆距和大方位,将GPS坐标空间转换为平面坐标空间。(使用此方案,您的设备停留在坐标空间的原点) 3)做一个透视投影projection,找出物体在你的显示器(好的,你的相机传感器)的平面上应该出现的位置,这样你就可以增加它们了。

步骤1:轻松,我有gps-位置和我的移动设备的所有方向(x,y,z)。对于进一步的改进,我可以使用一些算法来平滑这个值(平均,低滤波器,随便什么)。

步骤2:我不知道,平面坐标空间到底意味着什么。我有一些不同的方法来转换我的gps坐标空间。其中一个是ECEF (以地球为中心),其中0,0,0是地球的中心。不知怎么的,这对我来说不太好,因为一个轴的每一个小小的变化,都会导致另两个轴的变化。所以,如果我改变高度,所有的三轴都会改变。我不知道在这个坐标系下我是否能遵循第三步。在第2步中提到:使用haversine -这将给我距离点,但我没有从它得到x,y,z。我是否必须用计算x,y(方位(α)+距离(低音))?

步骤3:这个方法看起来真的很酷!如果我有来自Step 2的坐标空间,我可以使用维基百科上的公式计算d_x、d_y、d_z。但在这一步之后,我还没有完成,因为我只是有坐标和投影在我的屏幕上,我只需要两个坐标?维基百科的文本是通过计算b_x,b_y来继续的,他们使用e_x,e_y,e_z,这是查看者相对于显示面->的位置,如何从我的移动设备中获得这些值?(android/ios)。维基百科提出的另一种方法是:用维基百科上提到的公式计算b_x,b_y by。在这个公式中,他们使用s_x,s_y,这是屏幕大小,r_x,r_y,这是记录表面的大小。再说一遍,我如何从我的移动设备获得录音表面?

我在网上找不到任何东西。在android/ios上似乎从来没有人实现过透视投影.

非常感谢你所有的回答!此外,链接到有用的网站会有帮助!

EN

回答 2

Stack Overflow用户

发布于 2013-05-25 08:07:32

我认为您可以在另一个线程中找到许多答案:Transform GPS-Points to Screen-Points with Perspective Projection in Android

希望能帮上忙,再见!

票数 2
EN

Stack Overflow用户

发布于 2013-06-19 08:54:20

这是我在这个问题上做的一个简单的解决方案。

A: Mapping GPS locations on the camera preview in Android

希望能帮上忙。:D

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16690229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档