Transforming 2D image coordinates to 3D world coordinates

66 views (last 30 days)
Hey, I'm trying to convrte from 2d image to 3d real world coordinates. The image I attached has the opposite ratio, from 3D to 2D does anyone know how to make the relationship I am looking for?

Answers (2)

Matt J
Matt J on 10 May 2022
Edited: Matt J on 10 May 2022
The inversion is not unique, but if you don't care which of the infinite choices there are for the 3D point, one possibility is,
X3d=pinv(P)*[x;y;1];
X3d=X3d(1:3)/X3d(4)
  2 Comments
Matt J
Matt J on 11 May 2022
Edited: Matt J on 11 May 2022
Yes, that was clear, and that is what I have given you.
However, it is a many-to-one inverse problem. There are many 3D points that correspond to the same image pixel, and my solution represents one of an infinite number of choices.

Sign in to comment.


Matt J
Matt J on 11 May 2022
Edited: Matt J on 11 May 2022
If you have pixel coordinates of a 3D point imaged by two cameras, you can use the triangulate command to triangulate the 3D locations,

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!