I'm trying to setup a simple mjpeg stream from a webcam, and I'm finding most of the common image processing packages provide no support for CompressedImage. Why is this?
For example, neither the deprecated mjpeg_server nor recommended web_video_server nodes supported compression as input, causing them to consume massive amounts of CPU. Even basic transformation nodes like image_rotate only supports the uncompressed Image type.
I'm finding I have to write a lot of ROS nodes from scratch...just to process Jpegs. Am I missing something? Why does the ROS community eschew efficient compression? I get there's some minor loss in quality with compression, but I'm seeing a 10-fold difference in CPU consumption between the compressed and uncompressed image streams. On mobile platforms with limited resources, that's a huge problem.
Originally posted by Cerin on ROS Answers with karma: 940 on 2016-03-18
Post score: 0
Original comments
Comment by ahendrix on 2016-03-18:
Do those packages use the image_transport library? If they do, they should support compression through compressed_image_transport
Comment by ahendrix on 2016-03-18:
Have you tried requesting compressed transport by setting the ~image_transport
parameter to compressed
for each node in question?