Trabajo con la biblioteca RealSense2 en Python
La biblioteca RealSense2 es una API de código abierto que permite a los desarrolladores acceder a los sensores de profundidad y RGB de las cámaras Intel RealSense. Esta biblioteca está disponible para una variedad de lenguajes de programación, incluido Python.
En este tutorial, aprenderemos a trabajar con la biblioteca RealSense2 en Python. Comenzaremos instalando la biblioteca y luego veremos cómo usarla para capturar imágenes de profundidad y RGB.
Instalación
La biblioteca RealSense2 está disponible en el repositorio de Python Package Index (PyPI). Para instalarla, ejecute el siguiente comando en su terminal:
pip install pyrealsense2
Captura de imágenes
Una vez que la biblioteca esté instalada, podemos comenzar a capturar imágenes. Para hacer esto, primero necesitamos crear una instancia de la clase Pipeline
. Esta clase representa el flujo de datos de la cámara.
import pyrealsense2 as rs
pipeline = rs.pipeline()
Ahora podemos configurar la cámara. Por ejemplo, podemos configurar la resolución de las imágenes y el modo de captura.
config = rs.config()
config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
pipeline.start(config)
Una vez que la cámara esté configurada, podemos comenzar a capturar imágenes. Para hacer esto, usamos el método wait_for_frames()
para esperar a que haya nuevos datos disponibles.
for i in range(10):
# Captura una imagen de profundidad
depth_frame = pipeline.wait_for_frames().get_depth_frame()
# Captura una imagen RGB
color_frame = pipeline.wait_for_frames().get_color_frame()
# Muestra las imágenes
print(depth_frame)
print(color_frame)
Este código capturará diez imágenes de profundidad y RGB. Las imágenes se mostrarán en la salida del terminal.
Ejemplo completo
El siguiente código es un ejemplo completo de cómo usar la biblioteca RealSense2 en Python. Este código capturará imágenes de profundidad y RGB y las mostrará en una ventana.
import pyrealsense2 as rs
import cv2
def main():
# Crea una instancia de la clase Pipeline
pipeline = rs.pipeline()
# Configura la cámara
config = rs.config()
config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
# Inicia la cámara
pipeline.start(config)
# Bucle infinito para capturar imágenes
while True:
# Captura una imagen de profundidad
depth_frame = pipeline.wait_for_frames().get_depth_frame()
# Captura una imagen RGB
color_frame = pipeline.wait_for_frames().get_color_frame()
# Convierte las imágenes a formatos de NumPy
depth_image = np.asanyarray(depth_frame.get_data())
color_image = np.asanyarray(color_frame.get_data())
# Muestra las imágenes
cv2.imshow("Depth Image", depth_image)
cv2.imshow("Color Image", color_image)
# Espera a que se presione una tecla
key = cv2.waitKey(1)
# Termina el programa si se presiona la tecla ESC
if key == 27:
break
# Detiene la cámara
pipeline.stop()
if __name__ == "__main__":
main()
Para ejecutar este código, primero debe instalar la biblioteca OpenCV. Luego, puede ejecutar el código con el siguiente comando:
python realsense2_example.py
Este código abrirá una ventana que mostrará imágenes de profundidad y RGB. Puede usar las teclas de flecha para mover la cámara.
**