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

4 vues (au cours des 30 derniers jours)
Maurice Kasprowsky
Maurice Kasprowsky le 25 Août 2020
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?

Réponses (1)

Qu Cao
Qu Cao le 1 Mar 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), :);

Catégories

En savoir plus sur Computer Vision Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by