我正在寻找谷歌街景中每个像素距地面的高度。
我知道可以计算的几件事是:
像素间距 https://stackoverflow.com/questions/21591462/get-heading-and-pitch-from-pixels-on-street-view
-
相机每个像素的深度图 https://medium.com/@nocomputer/creating-point-clouds-with-google-street-view-185faad9d4ee
有一个JavaScript 库 https://github.com/proog128/GSVPanoDepth.js也获取深度图。
是否可以将两者放在一起来计算像素距地面的实际高度?
如果我们知道相机的高度,那么这就变成了一个简单的三角学问题。
tan(angle) = height-above-camera / depth
so
height-above-camera = depth * tan(angle)
如果已知相机距地面 8 英尺,那么我们可以得到像素的实际高度:
height = 8ft + depth * tan(angle)
整个计算取决于深度图的质量。
您可以利用的另一件事是假设深度图中的块在地面结束。然后对图像运行边缘检测。
这里我用的是网上的Canny 边缘检测 http://bigwww.epfl.ch/demo/ip/demos/01-edgeDetector/它正在挑选右侧块的底部。一点三角应该可以得到高度。
如果允许交互式使用,让用户单击对象的底部和对象的顶部,则比使用图像处理更好。知道底部点的节距可以计算距离。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)