How to get 3D world coordinates from 2D image coordinates?

4 visualizaciones (últimos 30 días)
Maurice Kasprowsky
Maurice Kasprowsky el 25 de Ag. de 2020
Respondida: Qu Cao el 1 de Mzo. de 2022
I calibrated my cameras, took stereo images, rectified them, created a disparity map and used "reconstructSecene" to create a point cloud. I then used "getpts" to get the image coordinates for my point of interest from the left image (should I use the rectified or non-rectified version of the image?). Now I want to use the image coordinates to query the 3D coordinates. What code would I use to achieve that?

Respuestas (1)

Qu Cao
Qu Cao el 1 de Mzo. de 2022
You should use the rectified stereo images. The disparityMap computed from disparitySGM should have the same size as your stereo image (left or right), M-by-N. The output xyzPoints of reconstructScene is of size M-by-N-by-3. So, if you get the 2-D image coordinates [u, v], you can query the corresponding 3-D point using something like:
point3d = xyzPoints(round(v), round(u), :);

Categorías

Más información sobre Computer Vision Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by