Jetson Nano ROS2 Image Publisher Efficient Way


Im using ROS2 and i need to publish two camera images. These are CSI Cameras.

But when i use python and opencv the cpu usage is 40% for 1 camera. It is huge!
Is there any way to publish images in jetson nano without using so much cpu?

  • I will send these images to do stereo image calibration package. So, I must change the topic names.
  • Images should be at least 480 * 640
  • And I need at least 40 FPS with 20% cpu usage max.

Is it possible?

Hi @muhammedsezer12, you could try using the video_source node from the ros_deep_learning package found here:

The node is written in C++ and uses CUDA for the color conversion.


Hi, Finally I tried this.
this is my result.
As I know it should consume much less cpu, im I right?
or are these values normal?

I think my jetson consumes much more than needed i dont know why.
thanks in advance.
Only one camera used. only video source launched.

I don’t have CPU usage numbers to quote you on, but understand that ROS image transport has a certain amount of overhead. Perhaps others in the community may have some further suggestions.