Limelight 2 - How do you process only a portion of what the camera sees (think blinders on a horse)


#1

With this years field, there are an abundance of vision targets spaced closely together. Using a limelight2, is there a way to mask out the edges of the screen so that the image being processed is essentially the center third of the screen. A solid example or walk through would be very beneficial as our team is new to vision processing.


#2

I haven’t had any experience with limelight, but I used to do this with openCV by duplicating the image, cropping it, processing that, then laying over the results on top of the original image

Maybe there are options like that in limelight


#3

This is actually a great reason to create a custom vision pipeline for your limelight using GRIP. Its really easy and I suggest you implement a ‘mask’ step to use a custom image to block out any parts of the image that you want to. Check the documentation starting here:

http://docs.limelightvision.io/en/latest/grip_software.html

You will have to download a customized version of GRIP which has the necessary export functionality from the limelight website:

https://limelightvision.io/pages/downloads

Upon re-reading your message, masking may or may not be a good idea in your case. Masking out part of the image is often useful if part of your robot is in the image and causes reflections that you want to ignore. In your case, I think you should experiment with the different contour sorting and filtering options. Some people create separate pipelines that bias to the ‘left-most’, closest to center target or the ‘right-most’ target. Another strategy is to use “closest” and then your job is to point the robot “close enough” that the target you want is the closest one to your cross-hair.


#4

A simple physical mask might be the easiest option. Just mount a piece of cardboard with a hole in front of your camera.


#5

This is actually a great reason to create a custom vision pipeline for your limelight using GRIP. Its really easy and I suggest you implement a ‘mask’ step to use a custom image to block out any parts of the image that you want to.

Has anyone been successful with this? We followed the steps for getting a GRIP pipeline into the Limelight, but it’s silently ignoring the new pipeline. When we change the Limelight’s “Pipeline Type” to “GRIP”, it refuses to take, and just flips back to “Limelight Standard”.


#6

Take a look at 2019.6.1. We have confirmed that Grip functionality is restored with this hotfix.