¿Cómo puedo convertir coordenadas 3D del mundo a coordenadas 2D de imagen y viceversa?
Last updated: August 13, 2026
El SDK ZED proporciona información registrada de profundidad y RGB. El píxel de coordenadas (u,v) del mapa de profundidad contiene el valor de profundidad del píxel de coordenadas (u,v) de la imagen RGB.
El SDK ZED también proporciona la nube de puntos, que ofrece información 3D y RGB para cada píxel (u,v).
¿Cuáles son las fórmulas para obtener las coordenadas 3D de un píxel de imagen?
Dadas las coordenadas 2D (u,v) de un píxel, podemos calcular las coordenadas 3D (X,Y,Z) en el marco de referencia de la imagen (Z hacia delante, X hacia la derecha, Y hacia abajo) utilizando las siguientes fórmulas:
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)
¿Cuáles son las fórmulas para obtener las coordenadas de píxel de una coordenada 3D?
Dadas las coordenadas 3D (X,Y,Z) en el marco de referencia de la imagen (Z hacia delante, X hacia la derecha, Y hacia abajo) es posible calcular las coordenadas 2D (u,v) del píxel correspondiente utilizando las siguientes fórmulas:
u = ( X / Z ) * f_x + c_x
v = ( Y / Z ) * f_y + c_y
¿Qué son f_x, f_y, c_x, y c_y?
Son los parámetros intrínsecos de la cámara obtenidos mediante el procedimiento de calibración de la cámara, utilizando el modelo de cámara "estenopeica":
- (f_x, f_y): distancias focales en unidades de píxel
- (c_x, c_y): coordenadas del punto principal
Están disponibles en tiempo de ejecución en la estructura de datos CameraParameters (C++, Python) del SDK ZED.