Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Height/Elevation of a pixel from ground in Google Street View

I am looking to find the height of every pixel from ground in the google street view.

enter image description here

Couple of things I know can be calculated are:

  1. Pitch of a pixel

  2. Depth map of every pixel from camera

    There is a javascript library to fetch depth map too.

enter image description here

Is it possible to put the two together to calculate actual height of a pixel from ground?

like image 345
Shaunak Avatar asked Jan 12 '18 04:01

Shaunak


People also ask

How do you measure height on Google Street View?

Click the tab for what you want to measure. On the map, hover over a spot and click a starting point for your measurement. Then, hover over another spot and click an end point. The measurement will show up in the "Ruler" window.

What is Street View pixels?

Street View Containers For optimum display of images, we recommend a minimum size of 200 pixels by 200 pixels.


1 Answers

If we know the height of the camera then this becomes a simple matter of trigonometry.

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

so

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

If the camera is known to be 8ft above ground then we can get the actual height of a pixel as

height = 8ft + depth * tan(angle)

The whole calculation depends on the quality of the depth map.

Another thing you could exploit is assuming the blocks in the depth map end at ground level. Then run an edge detection on the image.

canny edge detection

Here I've used an online Canny Edge detection which is picking out the base of the block on the right-hand side. A bit of trig should get the height.

Better than using image processing if you allow interactive use, get the user to click on the base of the object and the top of the object. Knowing the pitch of the point at the base allows the distance to be calculated.

like image 64
Salix alba Avatar answered Sep 28 '22 22:09

Salix alba