Ask Your Question
0

Transposing movement points between a perspective camera and a mercator (isomorphic) map view

asked 2016-09-19 17:04:02 -0600

jlebensold gravatar image

I’m wrestling with a question about whether I can take a perspective camera with movement points and transpose them onto a mercator map. I don't know if this is even possible without a 3D camera. As far as I can tell, a homography transformation could work, or a distance calculation for the points in the picture:

image description

Can I map the tracking XY coordinates to a mercator view of the same street corner, assuming I can calculate the distance to the point by determining the height of the camera relative to the street corner and the focus point of the lens?

C:\fakepath\map.jpg

I'm looking for a general purpose strategy and/or algorithm that can serve as a starting point.

edit retag flag offensive close merge delete

Comments

"Can I map the XY coordinates to a mercator view assuming distance?" Of course. Assuming distance. Which is a very large assumption. I don't think you have enough information here to do that. You need a depth camera, a moving camera, or knowledge about the geometry of the scene to project your points onto.

Tetragramm gravatar imageTetragramm ( 2016-09-19 17:38:04 -0600 )edit

Would it be based on this formula? http://photo.stackexchange.com/questi...

jlebensold gravatar imagejlebensold ( 2016-09-20 03:20:50 -0600 )edit

1 answer

Sort by » oldest newest most voted
1

answered 2016-09-20 03:58:18 -0600

kbarni gravatar image

Assuming that the camera is fixed and known, and the pedestrians are walking on a flat plane, you can get the transformation matrix (and the positions of the objects) without complex calculations on the camera parameters.

The findhomography function will give you the transformation matrix from the image plane to another coordinate system.

Define two matrices of type Point2f: src contains some points in the image (pixel coordinates) and dst the geographical coordinates of the corresponding points. The function returns the H transformation matrix, so that :

C = H x P

where P is the coordinate of a pixel and C is the corresponding geographical coordinate.

Note, that this is valid only for the ground plane, so you have to detect the feet of pedestrians or the tyres of the cars. In the example image, if you check the head of the pedestrian, it will be considered too be on the sidewalk (near the pole), but its feet will give its correct position on the bike lane.

More information about findhomography: http://docs.opencv.org/2.4/modules/ca...

edit flag offensive delete link more

Comments

This is very helpful! Thank you for pointing me in the right direction. I'll investigate this further.

jlebensold gravatar imagejlebensold ( 2016-09-20 04:13:12 -0600 )edit

Did you figure this out? I am facing with similar problem

Nicolet gravatar imageNicolet ( 2017-07-30 06:03:29 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2016-09-19 17:03:19 -0600

Seen: 450 times

Last updated: Sep 20 '16