Skip to content
ROS image_transport implementation of a fast, lossless compression library for 24-bit color images
Branch: master
Clone or download
Pull request Compare This branch is 26 commits ahead of cfeck:master.
Latest commit cbcd67a Sep 29, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
imagezero 0.2.4 Sep 29, 2017
imagezero_image_transport 0.2.4 Sep 29, 2017
imagezero_ros 0.2.4 Sep 29, 2017
.gitignore Add documentation; build on Lunar (#12) Sep 29, 2017
.travis.yml Add documentation; build on Lunar (#12) Sep 29, 2017
LICENSE Add a LICENSE; more README cleanup Sep 30, 2016
README.md Clean up the README file (#13) Sep 29, 2017

README.md

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
You can’t perform that action at this time.