Image Tracking Simple Tutorial

Hey guys,

I am a rookie programming captain and it seems to me, and to the President of our club that vision tracking of the black reflective tape across the backboard of the hoops is necessary to be successful.

Unfortuantly all of the tutorials and information I have looked at seem extremely complicated. Such as: here , and here . All of this is above my mathematics level and seems way to theoretical. Can you please provide me with something more practical such as sample code, a simple tutorial, or anything else of that nature.

We plan to mount the camera on a Lazy Susan along with are launcher which can turn and aim at the hoops, if that helps.

Thanks for the help,
Sasha Sirovica

Every other year FIRST has had sample code for all 3 languages for the vision task. I don’t see any for C++ and Java yet, perhaps it is coming soon? I think last year’s C++ and Java camera example came a little bit after kickoff.

The second paper you mention describes the code released with LabVIEW. The math is pretty simple, just some ratios and a little bit of trigonometry. With an image of your target and a tape measure, you can use the NI Vision Assistant interactively to work through the paper and get comfortable with the math. Even better would be to do it with a teacher or mentor.

Greg McKaskle

The thing that makes the math more complicated is that with the circles, it became a matter of tracking something that was an ellipse (or something that was extremely close to one, close enough that the resolution of the camera didn’t really pick up a change). With the rectangles, the problem becomes tracking an (to a degree) arbitrary quadrilateral. To have accurate measures, you need to know the four corners, which is hard to do using the automated NI vision stuff (or at least I am finding it to be).

The first paper you give is really cool, but unfortunately, is an algorithm for finding rectangles in a cooridor (with clear perspective lines). They state that the general perspective-transformed-rectangle finding problem, which we are trying to do, is very hard.