🧊
Resources
Socials
  • 📙Welcome!
  • ⚙️ROS
    • Beginner's Guide to ROS
      • Prerequisites
        • 💻Ubuntu Setup - Windows Subsystem for Linux (WSL)
        • 💻Ubuntu Setup - Dual Booting (For Windows)
        • 💻Ubuntu Setup - VM on MacOS M1
      • ROS Installation
        • Installation Guide [ROS2 Humble]
      • ROS Concepts
      • ROS Tools/Utils
        • Working with ROS 1/2 Bags
      • Robotics Fundamentals
        • Domains of Robotics Software
          • Perception
          • Localisation
          • Navigation
          • Controls
          • Simulation
        • Fundamental Concepts
          • Rotations (and Quaternion)
          • Coordinate Frames
          • Rigid Body Transformations (3D)
          • Basic Control Theory
          • Image Processing (with OpenCV)
    • Perception
      • Camera
        • [WSL2] Enabling USB Camera Access
        • Image Common
        • Camera Driver
        • Camera Calibration
        • Stereo Vision Concept
        • Image Pipeline
          • Monocular Image Processing
          • Disparity and Depth Image for Stereo Vision
      • LiDAR
        • Working with PointCloud2 Data
Powered by GitBook
On this page
  1. ROS
  2. Perception
  3. Camera
  4. Image Pipeline

Monocular Image Processing

PreviousImage PipelineNextDisparity and Depth Image for Stereo Vision

Last updated 10 months ago

For image processing we can make use of the image_pipeline packages:

Monocular processing (image processing on single camera)

Monocular processing: The raw image stream can be piped through the 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.

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)

For more info:

⚙️
http://wiki.ros.org/image_proc
https://github.com/ros-perception/image_pipeline
image_proc
image_proc launch file