【问题标题】:Mapping GPS locations on the camera preview in Android在 Android 中的相机预览上映射 GPS 位置
【发布时间】:2013-03-09 07:21:46
【问题描述】:

伙计们, 当我在我周围移动相机时,我需要在相机预览中显示位置(例如餐厅、剧院、银行等)。我知道如何获取位置(例如从foursquare 或谷歌地图),我也知道如何打开相机预览。我只是不知道如何将这两者联系起来。我用谷歌搜索了它,但没有得到有用的帖子,可能是因为我的英语不好。

所以各位,我需要你们的帮助,如果你们知道任何关于这个问题的帖子,请善意地评论它。

提前致谢。

编辑:实时相机预览

-------------------------------------------------- ----------------------------
|剧院                            |
| |
|银行                                                                              |
|餐厅        |
| |
| |
| |
| |
| |
------------------------------------------------------------ -------------------------------------------


请原谅我的声望不到 10,所以不能上传图片。
希望这将有助于理解我的问题。

【问题讨论】:

  • 不清楚您要做什么。请更具描述性,以便我们提供帮助。
  • 我想构建一个 android 应用程序,当用户启动应用程序时,它会打开相机预览并在他/她移动相机时显示他/她周围的位置(银行、餐馆等)。我只是想向他/她展示他/她周围的地方。

标签: android augmented-reality


【解决方案1】:

我在 Android 上也做过类似的事情。假设您要在预览时打印的内容称为目标。

您肯定知道这些目标的坐标是什么,包括纬度经度和高度。假设这些坐标分别是 tx、ty 和 tz,设备的当前位置是 x、y 和 z。

基于摄影测量中的共线性方程,目标的屏幕坐标(sx,sy)为:


sx = f*{[m11(x-tx)+m12(y-ty)+m13(z-tz)]/[m31(x-tx)+m32(y-ty)+m33(z- tz)]}

sy = f*{[m21(x-tx)+m22(y-ty)+m23(z-tz)]/[m31(x-tx)+m32(y-ty)+m33(z- tz)]}


其中 f 是焦距,m11 ~ m33 是基于设备方向的旋转矩阵中的值。屏幕坐标必须应用仿射变换才能将它们转换为屏幕列和行以供打印使用。

这是我试图做的,但我发现应用自动对焦后焦距从未改变。所以我用另一种方式来做。

  1. 获取设备的屏幕尺寸(或预览尺寸)以及相机水平和垂直角度。
  2. 计算设备与目标之间的方位角和倾角。
  3. 根据这些角度和屏幕尺寸插入屏幕坐标。
  4. 在屏幕上打印目标。我设置了一组图像视图和文本视图来做同样的事情。

对于这些目标的实时更新,尝试在 onSensorChanged() 中更新它们

希望这些帮助。 :)

【讨论】:

  • 你能举个例子吗?
  • 所以它或多或少是数学计算。有趣的。我将深入研究这一点并回复您,尽管现在我们拥有像增强现实这样的高级模块,它也为此提供了解决方案。
【解决方案2】:

常见问题解答清楚地表明您不应该问范围很广的问题。您要问的不是“如何链接它们”,因为您需要的绝不是一个简短且可回答的问题。

但我可以推荐你购买这本书,它的解释非常好,可以引导读者完成你想要做的事情:http://www.apress.com/9781430239451

不要忘记下载作者提供的几个源项目。从那里开始,如果您在更具体的问题上需要帮助,请开始一个新的简洁问题。

祝你有美好的一天。

【讨论】:

    【解决方案3】:

    您可能正在寻找 SurfaceView。我自己并没有大量使用它,但我知道这就是 ZXing 条码扫描仪将图像叠加在相机预览上的方式。查看开发者指南:

    http://developer.android.com/reference/android/view/SurfaceView.html

    还有真实应用的 ZXing 源代码:

    https://code.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/CaptureActivity.java

    【讨论】:

      猜你喜欢
      • 2013-03-12
      • 2020-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多