Sending Images from Axis Camera to SmartDashboard

Hey all,

I’ve recently been working with vision processing to find reflector tape and pickup the ball autonomously. I’ve so far been able to create a mask of what I need and now I’m moving on to the actual detection (circles and rectangles). However before I start this I would like to see the masks (edited images) on the dashboard. How can I make an image from my program (or cRIO) display on the SmartDashboard?

Thanks,

Evan

SD and Network tables isn’t really intended for large or complex elements. This means that sending a modified image doesn’t really work out.

There are two suggestions for getting the display on the dashboard.

  1. Rather than ship the mask, do the calculations of the interesting elements. Describe those by using a rectangle, circle, or lines. These can be transmitted via SD and annotated on the image.
  2. Open your own TCP port or socket and send the binary mask using read and writes.

Greg McKaskle

Thanks for the answer. I can understand how an image may be rather complex to send. Are you saying in the first option that you can layer something over the Axis image feed on the SmartDashboard like a circle and if so how?

Thanks,

Evan

I’m not sure what capabilities for annotation are available for the SD video, but I was assuming that you could draw on top of the video feed.

For the LV dashboard, there are functions to overlay a rect, circle, line, text, or a bitmap. You can string these together to make more sophisticated annotations. This is what the example code does to help understand the aspect ratio and rectangular scores of each masked particle.

The annotations are a good way to view the data. But the core part is to communicate the more interpreted and compact version of the data – the geometric shape rather than the mask.

Greg McKaskle

Thanks so much. That helps a lot in the decision making for our team. We only have two programmers (myself and one that knows some Labview). Now we have good reason to create our dashboard in Labview.

Thanks,

Evan

At the moment, you can’t do this, but our next major milestone (currently working on the “videocore” branch) is exactly what you want. No ETA at the moment unfortunatly, and its more likely to appear next year. This year you can get around it by making a custom control though.