Monocular Image Processing

For image processing we can make use of the image_pipeline packages: https://github.com/ros-perception/image_pipeline

Monocular processing (image processing on single camera)

Monocular processing: The raw image stream can be piped through the image_proc node to remove camera distortion. The node also performs color interpolation for Bayer pattern color cameras.

Diagram showing image_proc node processing raw image from image_driver_node

In image_proc package, it contains Composable Nodes. Similar to Nodelets in ROS1, composable Nodes is a concept introduced in ROS 2 to provide a more flexible and scalable approach to building robotic systems. It allows nodes to be composed into a graph of interconnected components. Image_proc contains composable nodes for the tasks of debayering and rectification. This allows image_proc functions to be easily combined with other composable nodes, for example camera drivers or higher-level vision processing.

In fact, the image_proc launch file loads one debayer composable node and two rectify composable nodes as shown in the launch file below.

For more info: http://wiki.ros.org/image_proc

image_proc launch file

Inside this image_proc launch file, it runs the two nodes below, 1. Debayer - Takes a raw camera stream and publishes monochrome and color versions of it. If the raw images are Bayer pattern, it debayers using bilinear interpolation. Subscribes to: /image_raw Publishes: /image_mono (monochrome image) /image_color (color unrectified image) 2. Rectify - Takes an unrectified image stream and its associated calibration parameters, and produces rectified images. Subscribes to: /image_mono (Unrectified image stream) /camera_info (Camera metadata) Publishes: /image_rect (Rectified image)

Last updated