image_pipeline: camera_calibration | image_proc | image_rotate | image_view | stereo_image_proc | stereo_msgs

Stack Summary

image_pipeline fills the gap between getting raw images from a camera driver and higher-level vision processing.

Overview

The image_pipeline stack is designed to process raw camera images into useful inputs to vision algorithms: rectified mono/color images, stereo disparity images, and stereo point clouds. Components include:

  • Calibration: Cameras must be calibrated in order to relate the images they produce to the three-dimensional world. The camera_calibration package provides tools to calibrate monocular and stereo cameras in your ROS system. A CameraInfo wiki page provides a detailed description of the parameters used by the pipeline.

  • 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.

  • Stereo processing: The stereo_image_proc node performs the duties of image_proc for a pair of cameras co-calibrated for stereo vision. It also uses stereo processing to produce disparity images and point clouds.

  • Visualization: The image_view package provides a lightweight alternative to rviz for viewing an image topic. It also includes a stereo_view tool for viewing stereo pairs and disparity images.

Hardware Requirements

The image pipeline will work with any conforming ROS camera driver node. Camera drivers maintained by Willow Garage live in the camera_drivers stack. The minimal requirements for such a node are:

Generic camera node

Published Topics

image_raw (sensor_msgs/Image)
  • The unprocessed image data.
camera_info (sensor_msgs/CameraInfo)
  • Contains the camera calibration (if calibrated) and extra data about the camera configuration.

Services

set_camera_info (sensor_msgs/SetCameraInfo)

Camera drivers normally have parameters (exposure, gain, etc.) that you can configure at runtime. stereo_image_proc has runtime-configurable stereo processing parameters of its own. The reconfigure_gui in dynamic_reconfigure is useful for tweaking your configuration to get best results.

Report a Bug

Use trac to report bugs or request features

Wiki: image_pipeline (last edited 2010-04-15 22:31:38 by konolige)