Come posso convertire le coordinate 3D del mondo in coordinate 2D dell'immagine e viceversa?
Last updated: August 13, 2026
Lo ZED SDK fornisce informazioni registrate sulla profondità e sui dati RGB. Il pixel con coordinate (u,v) della mappa di profondità contiene il valore di profondità del pixel con coordinate (u,v) dell'immagine RGB.
Lo ZED SDK fornisce anche la nuvola di punti, offrendo informazioni 3D e RGB per ogni pixel (u,v).
Quali sono le formule per ottenere le coordinate 3D di un pixel dell'immagine?
Date le coordinate 2D (u,v) di un pixel, possiamo calcolare le coordinate 3D (X,Y,Z) nel sistema di riferimento dell'immagine (Z in avanti, X a destra, Y in basso) utilizzando le seguenti formule:
Z = depth value of the pixel (u,v) from the depth map
X = (( u - c_x) * Z) / (f_x)
Y = (( v - c_y) * Z) / (f_y)
Quali sono le formule per ottenere le coordinate del pixel a partire da una coordinata 3D?
Date le coordinate 3D (X,Y,Z) nel sistema di riferimento dell'immagine (Z in avanti, X a destra, Y in basso) è possibile calcolare le coordinate 2D (u,v) del pixel corrispondente utilizzando le seguenti formule:
u = ( X / Z ) * f_x + c_x
v = ( Y / Z ) * f_y + c_y
Che cosa sono f_x, f_y, c_x, e c_y?
Sono i parametri intrinseci della fotocamera ottenuti con la procedura di calibrazione della fotocamera, utilizzando il modello di fotocamera "a foro stenopeico":
- (f_x, f_y): lunghezze focali in pixel
- (c_x, c_y): coordinate del punto principale
Sono disponibili a runtime nella struttura dati CameraParameters (C++, Python) dello ZED SDK.