Pixy (CMUcam5) info ....
The Pixy (CMUcam5) is a fully programmable embedded computer vision sensor. The main processor is the NXP LPC4330 32bit dual core ARM processor connected to an OmniVision 9715 image sensor. The following video gives a great overview of the Pixy's capabilities ....
Pixy uses a hue-based color filtering algorithm to detect objects. Most of us are familiar with RGB (red, green, and blue) to represent colors. Pixy calculates the hue and saturation of each RGB pixel from the image sensor and uses these as the primary filtering parameters. The hue of an object remains largely unchanged with changes in lighting and exposure. Changes in lighting and exposure can have a frustrating effect on color filtering algorithms, causing them to break. Pixy's filtering algorithm is robust when it comes to lighting and exposure changes and significantly better than previous versions of the CMUcam. More info on the hue-saturation-value (HSV) co-ordinate system can be found at Wikipedia whilst a good online RGB to HSV conversion tool is available at RapidTables.
Pixy remembers up to 7 different color signatures, which means that if you have 7 different objects with unique colors, Pixy's color filtering algorithm will have no problem identifying them. Pixy can find literally hundreds of objects at a time. It uses a connected components algorithm to determine where one object begins and another ends. Pixy then compiles the sizes and locations of each object and reports them through one of its interfaces (e.g. SPI).
Pixy is fast. The dual core ARM processor is able to process an entire 640x400 image frame every 1/50th of a second (20 ms). This means that you get a complete update of all detected objects' positions every 20 ms. At this rate, tracking the path of falling/bouncing ball is possible. (A ball traveling at 30 mph moves less than a foot in 20ms)
Pixy supports mutliple interfaces. The output data is available through one of serval interfaces: UART, SPI, I2C, digtial out or analog out. So your Arduino or other microcontroller can talk easily with Pixy and still have plenty of CPU available for other tasks.
It's possible to hook up multiple Pixys to your microcontroller -- for example, a robot with 4 Pixys and 360 degrees of sensing. Or use Pixy without a microcontroller and use the digital or analog outputs to trigger events, switches, servos, etc.
PixyMon is an application that runs on your PC or Mac. It allows you to see what Pixy sees, either as raw or processed video. It also allows you to configure your Pixy, set the output port and manage color signatures. PixyMon communicates with Pixy over a standard mini USB cable.
PixyMon is great for debugging your application. You can plug a USB cable into the back of Pixy and run PixyMon and then see what Pixy sees while it is hooked to your Arduino or other microcontroller -- no need to unplug anything. PixyMon is open source, like everything else. It's written using the Qt framework.
© Copyright 2004-2017 Tribotix. All Rights Reserved.