javascript - 谷歌街景中一个像素离地面的高度/海拔

标签 javascript math google-maps-api-3 gis google-street-view

我正在寻找谷歌街景中每个像素离地面的高度。

enter image description here

我知道可以计算的几件事是:

  1. Pitch of a pixel

  2. Depth map of every pixel from camera

    有一个javascript library也可以获取深度图。

enter image description here

是否可以将两者放在一起计算一个像素距地面的实际高度?

最佳答案

如果我们知道相机的高度,那么这就变成了一个简单的三 Angular 函数问题。

tan(angle) = height-above-camera / depth

所以

height-above-camera = depth * tan(angle)

如果已知相机距离地面 8 英尺,那么我们可以得到像素的实际高度为

height = 8ft + depth * tan(angle)

整个计算取决于深度图的质量。

您可以利用的另一件事是假设深度图中的 block 在地面结束。然后对图像运行边缘检测。

canny edge detection

在这里,我使用了在线 Canny Edge detection这是在右侧挑选 block 的底部。一点三 Angular 应该得到高度。

如果允许交互式使用,比使用图像处理更好,让用户单击对象的底部和对象的顶部。知道底部点的间距可以计算距离。

关于javascript - 谷歌街景中一个像素离地面的高度/海拔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48219613/

相关文章:

javascript - useEffect 钩子(Hook)在初始渲染时调用,无需更改依赖项

javascript - 为什么这些 x,y 坐标在 fillRect 中起作用

计算 N 组总成本的算法

jquery - 将新行追加到表中是重复的 <tr>

javascript - 如何将 SVG 代码转换为 JavaScript 函数,为谷歌地图标记创建它

javascript - polymer :我可以用 polymer 替换原生 HTML 元素吗

javascript - 图像映射

powershell - 没有 CurrencyGroupSeparator 的舍入

javascript - 根据鼠标位置在圆上的点

javascript - 在 Google map 中加载 KmlLayers 是否成功?