Monocular Image Processing
Last updated
Last updated
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.
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
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)