ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

That functionality isn't built in. The raspicam_node reads the image data from the buffer, builds the image message, and publishes it in the section after line 266 of rospicam_node.cpp. You could insert some image processing there if you build the package from source, but I recommend writing your own node to process the output and publish the results to a new topic as you mentioned. raspicam_node has some configurable parameters (see Usage and reconfigure_callback() on line 569), but if you want to do computer vision-type tasks, that's generally outside the scope of a driver node. Let the driver node do its job and have a separate node do the image processing. That way, the node responsibilities stay modular, and the architecture stays flexible. If you decide to use different hardware later, you can just swap out the driver node and reuse the same image processing node. If the processing is too intensive (and your application allows it), you can just run that node on your computer instead of on the Pi. You may have valid reasons for doing it differently, though. Feel free to elaborate or ask questions, and we can discuss how best to achieve your goals.

That functionality isn't built in. The raspicam_node reads the image data from the buffer, builds the image message, and publishes it in the section after line 266 of rospicam_node.cppraspicam_node.cpp. You could insert some image processing there if you build the package from source, but I recommend writing your own node to process the output and publish the results to a new topic as you mentioned. raspicam_node has some configurable parameters (see Usage and reconfigure_callback() on line 569), but if you want to do computer vision-type tasks, that's generally outside the scope of a driver node. Let the driver node do its job and have a separate node do the image processing. That way, the node responsibilities stay modular, and the architecture stays flexible. If you decide to use different hardware later, you can just swap out the driver node and reuse the same image processing node. If the processing is too intensive (and your application allows it), you can just run that node on your computer instead of on the Pi. You may have valid reasons for doing it differently, though. Feel free to elaborate or ask questions, and we can discuss how best to achieve your goals.