Rosbags-image is the pure python library for interacting with image or compressed image messages and it aims to provide the same functionality as cv_bridge. It is part of the larger Rosbags ecosystem.
Rosbags-image does not have any dependencies on the ROS software stacks and can be used on its own or alongside ROS1 or ROS2.
Rosbags-image is published on PyPI and does not have any special dependencies. Simply install with pip:
pip install rosbags-image
Convert sensor_msgs/msg/Image message into OpenCV image:
from rosbags.image import message_to_cvimage
# msg is rosbags Image or CompressedImage message instance
msg = ...
# get opencv image without any conversions
img = message_to_cvimage(msg)
# get opencv image and convert to bgr8 color space
img = message_to_cvimage(msg, 'bgr8')
Read the documentation for further information.
Thank you for considering to contribute to rosbags-image.
To submit issues or create merge requests please follow the instructions provided in the contribution guide.
By contributing to rosbags-image you accept and agree to the terms and conditions laid out in there.
Clone the repository and setup your local checkout:
git clone https://gitlab.com/ternaris/rosbags-image.git cd rosbags-image python -m venv venv . venv/bin/activate pip install -r requirements-dev.txt pip install -e .
This creates a new virtual environment with the necessary python dependencies and installs rosbags-image in editable mode. The rosbags-image code base uses pytest as its test runner, run the test suite by simply invoking:
pytest
To build the documentation from its source run sphinx-build:
sphinx-build -a docs public
The entry point to the local documentation build should be available under public/index.html
.
Professional support is available from Ternaris.