import os import cv2 import numpy as np import pyarrow as pa import pyrealsense2 as rs from dora import Node IMAGE_WIDTH = int(os.getenv("IMAGE_WIDTH", "640")) IMAGE_HEIGHT = int(os.getenv("IMAGE_HEIGHT", "480")) FPS = 30 CAMERA_ID = os.getenv("CAMERA_ID") print("camera ID:", CAMERA_ID) pipe = rs.pipeline() config = rs.config() config.enable_device(CAMERA_ID) config.enable_stream(rs.stream.color, IMAGE_WIDTH, IMAGE_HEIGHT, rs.format.bgr8, FPS) profile = pipe.start(config) node = Node() for event in node: frames = pipe.wait_for_frames() color_frame = frames.get_color_frame() color_images = np.asanyarray(color_frame.get_data()) node.send_output("image", pa.array(color_images.ravel())) cv2.imshow(CAMERA_ID, color_images) if cv2.waitKey(1) & 0xFF == ord("q"): break