Как заставить ROS compressed_image_transport использовать libturbojpeg для сжатия jpeg?

В моем Jetson Xavier доступна библиотека "libjpegturbo". Как я могу заставить плагин compressed_image_transport использовать библиотеку turbojpeg для хорошего уровня сжатия.

Ниже приведен снимок ldconfig..

1 ответ

Решение

Проверка реализации compressed_publisher.cpp на GitHub показывает, что сжатие выполняется с использованием imencode OpenCV:

cv::imencode(".jpg", cv_ptr->image, compressed.data, params)

OpenCV может использовать libjpegturbo только путем сборки OpenCV из исходного кода для включения libjpeg-turbo в OpenCV. Это описано в этом руководстве.

Другой вариант (возможно, намного более простой) - реализовать собственный плагин для транспортировки изображений. Поэтому вы можете ориентироваться на уже существующий.

Другие вопросы по тегам