I'm not sure this is a full answer but...
You can use a lot of OpenCV image manipulation features by way of the recently-released
GRIP. I've been playing with this and it's really slick. Powerful, easy to use, and written in Java so it will run on a DS, RoboRio, or other onboard processor. It can output to NetworkTables, which puts the data in easy reach of any Python program.
Another similar option is
RoboRealm. Every team gets a code for a free license (see your TIMS). It's also easy and powerful, writes to NetworkTables and even lets you run Python code right inside the app. We did exactly that with an Axis in the 2014 game to identify the hot goal during autonomous. The only downside is it's a PC-only app, so you'll need to do processing on your DS or similar onboard computer.
Hope that helps.