Skip to content

Latest commit

 

History

History
72 lines (47 loc) · 2.74 KB

README.md

File metadata and controls

72 lines (47 loc) · 2.74 KB

imagezero_transport Travis CI Build Status

ImageZero is a fast, lossless compression algorithm for 24-bit color photographic images developed by Christopher Feck. This repository repackages it as a catkin package, has a package that provides ROS integration, and has a package that implements a ROS image_transport plugin that uses it.

The compressed size for natural, photographic color images is comparable to PNG, usually between 30% to 50% of the original size. It compresses more than 20 times faster than PNG and decompresses about twice as fast, which means it is suitable for lossless compression of real-time camera video feeds. Read the KDE Blog Post about it for some more details.

Packages

imagezero

The ImageZero image compression library, restructured into a catkin package. ImageZero is a high-performance lossless compression algorithm designed for natural photos.

imagezero_ros

A library that provides ROS integration for ImageZero. It contains methods for using ImageZero to convert between sensor_msgs/Images and sensor_msgs/CompressedImages.

imagezero_image_transport

A ROS image_transport plugin that uses ImageZero as its compression mechanism. It can be used like any other ROS image_transport by setting the image_transport param for your client node to imagezero.

Installation

The ImageZero packages have been release for the ROS Indigo, Jade, Kinetic, and Lunar distributions. You can install any of the packages like so:

sudo apt-get install ros-<distro>-<package>

Building From Source

These directions assume you have already set up a catkin workspace. See this tutorial on the ROS Wiki for help setting up a catkin workspace.

Checking out the source code (wstool)

If you're using wstool, add this repository to your wstool workspace:

wstool set imagezero --git https://github.com/swri-robotics/imagezero_transport.git

Checking out the source code (git)

If you're not using wstool, you can check out the repositories with git:

git clone https://github.com/swri-robotics/imagezero_transport.git

Installing dependencies and building

Install all of the dependencies using rosdep by running the following command from the root of your catkin workspace:

rosdep install --from-paths src --ignore-src

Build the workspace with catkin_make:

catkin_make