Sending images over network tables

As the question states, how do we send images over network tables? We have written a short script that allows are robot to track game objects, we just don’t know how to send the processed images over network tables. Also, being a rookie team we don’t really know much about the bandwidth rules, is their anything we should note?

There are some bandwidth rules in place. Also don’t send images over NetworkTables just make a server hosting the image like the Limelight does. Also why do you want the image on your RoboRIO? Try to do everything on an external device and send the output to the RoboRIO.

You are limited to 4 Megabits (might be Mibibits, but they are fairly close) per second of bandwidth this year. See R60B and the accompanying blue box.

I do know that network tables were not intended for video streams. I would imagine a similar issue for large (relative to numbers and such) files.

You could try putting the images directly into the deploy folder in your project, which will store the images in the roboRIO. Then you can store the deploy folder’s path with File deploy = Filesystem.getDeployDirectory();, which will be a regular JDK File object. You can get your images from there.

1 Like

We want the image on our camera so that we don’t have to have another camera connected to the rio for the driver

You don’t.

NetworkTables is for sending small bits of data, and is not real-time (latencies are as high as 100ms). Use CameraServer instead.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.