Skip to content

ROS image_transport implementation of a fast, lossless compression library for 24-bit color images

License

Notifications You must be signed in to change notification settings

StarskyRobotics/imagezero_transport

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

ROS image_transport implementation of a fast, lossless compression library for 24-bit color images

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 94.6%
  • CMake 5.4%