【问题标题】:Google street view: Alternative way to getting street view data谷歌街景:获取街景数据的替代方法
【发布时间】:2016-08-01 20:26:38
【问题描述】:

一段时间以来,我一直在尝试从 Google 街景中获取数据。出于研究目的,我需要能够估计某个特定地图位置的天空区域。这就是为什么我需要估计球面视图,我认为使用谷歌街景是个好主意。我真正需要的是给定一个 3d 方向,我应该能够分辨出这个方向上像素的颜色。

我想出的是以下内容。我正在使用Google Street View Image API 下载 6 张图像以将它们用作立方体纹理(特别是我提交了 6 个带有参数的查询:

(heading, pitch) = {(0, 0), (90, 0), (180, 0), (270, 0), (0, 90), (0, -90)}

当我将这 6 个图像映射到一个立方体时,我得到以下内容:

问题是似乎有一些数字错误并且角不匹配。我知道如何解决它,但复杂性增加了很多。

我还查看了 JavaScript API,但找不到从那里访问数据的方法。官方指南页面上提到了UV贴图

但这似乎只针对用户生成的内容。

我错过了什么吗?有没有其他方法可以做到这一点?

【问题讨论】:

  • 你只发布了一张图片...你能告诉我你收到的其他 5 张图片吗?
  • @SariAlalem 措辞有误。对此感到抱歉
  • 您是否尝试了 360 度视频片段? youtube上有一大堆球形框架:youtube.com/channel/UCzuqhhs6NWbgTzMuM09WKDQ

标签: google-street-view


【解决方案1】:

基本上你想做谷歌已经在做的事情,但你需要它的 3d 表示。

使用下面的方法(并不容易),你可以获得更好的结果,但并不完美。基本理论是这样的:

  1. 获取图像列表(6 个或更多,有些使用 8 个;6 个用于水平视图,2 个用于顶部和底部)。
  2. 使用您喜欢的方法将图像拼接在一起,您可以找到拼接图像的帮助here
  3. 拼接后你会得到一个单一的图像,这将是你的纹理
  4. 构建 3D 形状(球体、六边形或圆柱体)
  5. 将纹理应用到 3D 形状
  6. 继续试验:a) 已下载图像。 b) 缝合。 c) 纹理映射。以获得更好的结果

这是(可能)谷歌遵循的过程,以便您可以在他们的服务中看到 360 度视图,并且您需要执行相同操作才能在代码中获得 3D 表示,但它不会是完美的,因为你得到的图像不是谷歌拍摄的原始图像(这使得它们更难拼接)。

阅读更多关于它的信息herehere

【讨论】:

  • 感谢您的建议。当我提到:“我知道如何解决它”时,这正是我的想法。问题是我已经用这种方法试验了一段时间,但没有得到好的结果。我一直在寻找更简单的方法。如果没有其他回应,我会奖励你的努力。
  • 再想一想,如果您只想要像素的颜色,则不需要将其映射到 3D 形状...只需使用最终拼接的图像像素
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-26
相关资源
最近更新 更多