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.
The ImageZero image compression library, restructured into a catkin package. ImageZero is a high-performance lossless compression algorithm designed for natural photos.
A library that provides ROS integration for ImageZero. It contains methods for
using ImageZero to convert between
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
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: