在 Google 街景中距地面的 Height/Elevation 个像素
Height/Elevation of a pixel from ground in Google Street View
我想找到 google 街景中每个像素距地面的高度。
我知道可以计算的几件事是:
Pitch of a pixel
Depth map of every pixel from camera
还有一个javascript library可以获取深度图。
是否可以将两者放在一起计算一个像素离地面的实际高度?
如果我们知道相机的高度,那么这就变成了一个简单的三角函数问题。
tan(angle) = height-above-camera / depth
所以
height-above-camera = depth * tan(angle)
如果已知相机距离地面 8 英尺,那么我们可以得到一个像素的实际高度
height = 8ft + depth * tan(angle)
整个计算取决于深度图的质量。
您可以利用的另一件事是假设深度图中的块在地面结束。然后 运行 对图像进行边缘检测。
这里我使用了一个在线的Canny Edge detection,它正在挑选右侧方块的底部。一点三角应该得到高度。
如果允许交互式使用,比使用图像处理更好,让用户单击对象的底部和对象的顶部。知道底部点的间距可以计算距离。
我想找到 google 街景中每个像素距地面的高度。
我知道可以计算的几件事是:
Pitch of a pixel
Depth map of every pixel from camera
还有一个javascript library可以获取深度图。
是否可以将两者放在一起计算一个像素离地面的实际高度?
如果我们知道相机的高度,那么这就变成了一个简单的三角函数问题。
tan(angle) = height-above-camera / depth
所以
height-above-camera = depth * tan(angle)
如果已知相机距离地面 8 英尺,那么我们可以得到一个像素的实际高度
height = 8ft + depth * tan(angle)
整个计算取决于深度图的质量。
您可以利用的另一件事是假设深度图中的块在地面结束。然后 运行 对图像进行边缘检测。
这里我使用了一个在线的Canny Edge detection,它正在挑选右侧方块的底部。一点三角应该得到高度。
如果允许交互式使用,比使用图像处理更好,让用户单击对象的底部和对象的顶部。知道底部点的间距可以计算距离。