Google街景中地面像素的高度/高度

Sha*_*nak 7 javascript gis math google-maps-api-3 google-street-view

我希望在谷歌街景中找到地面上每个像素的高度.

在此输入图像描述

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

  1. 一个像素的间距

  2. 来自相机的每个像素的深度图

    还有一个javascript库来获取深度图.

在此输入图像描述

有可能把两者放在一起计算一个像素的实际高度吗?

Sal*_*lba 4

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

tan(angle) = height-above-camera / depth
Run Code Online (Sandbox Code Playgroud)

所以

height-above-camera = depth * tan(angle)
Run Code Online (Sandbox Code Playgroud)

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

height = 8ft + depth * tan(angle)
Run Code Online (Sandbox Code Playgroud)

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

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

精明的边缘检测

在这里,我使用了在线Canny Edge 检测,它会挑选出右侧块的底部。一点三角应该可以得到高度。

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