Skip to content

Requesting Registered RGB and Depth Images

Dylan Colli edited this page Feb 15, 2024 · 1 revision

Much of this information was taken from the Visualize Depth In Visual Image tutorial from the Boston Dynamics SDK documentation.

In these examples, I'm going to assume that we're attempting to get the registered RGB/D images from the "hand" camera.

This means that the sources for requesting the RGB and Depth images (non-registered) would look like:

sources = [
    "hand_color_image",  # visual
    "hand_depth"  # depth
]

Depth Image in Visual Frame

To get the depth image registered to the visual image, append a _in_visual_frame to the depth camera source in the image request. This would make the sources list look like:

sources = [
    "hand_color_image",
    "hand_depth_in_visual_frame"
]

Visual Image in Depth Frame

To get the visual image registered to the depth frame, append a _in_depth_frame to the visual camera source in the image request. This would make the sources list look like:

sources = [
    "hand_color_image_in_depth_frame",
    "hand_depth"
]

Actual Request Code

# Create robot object with an image client.
sdk = bosdyn.client.create_standard_sdk('image_depth_plus_visual')
robot = sdk.create_robot(options.hostname)
bosdyn.client.util.authenticate(robot)
image_client = robot.ensure_client(ImageClient.default_service_name)

sources = [
    # Fill in your image sources here
]

# Capture and save images to disk
image_responses = image_client.get_image_from_sources(sources)