I want to process a PAL or NTSC video signal and pick up colors, like green, orange, blue and red. Is there any way to decode RGB from NTSC/PAL easily, and then detect these colours? I'm looking for a small and cheap solution. The end goal is to build up an array of pixels matching a colour, then filter this to decode shapes and locate targets on a camera.
\$\begingroup\$ The only way I know how is to capture the color image in a frame grabber and process it with tools like opencv. \$\endgroup\$– kennyFeb 1, 2011 at 22:23
You're probably best off using a dedicated chip to do the decoding. A quick trip to Farnell's website showed a few of these under CODECs/encoders/decoders, with digital output selected. This type of chip forms the front end of frame grabbers and some displays, with chips like Brooktree bt848 recording the data to memory.
That search found devices from Maxim, Texas Instruments, Analog Devices and Philips (NXP brand, apparently now bought by Trident who don't publish the datasheet).
It's possible you can build a lower cost alternative using the same analog circuitry an old TV would; a comb filter to separate into Y and C components. Digital comb filters are apparently patented. Intersil AN9644 might be one document to read.
\$\begingroup\$ Ugh! I hate companies who don't publish datasheets. They can be sure I won't design in their part. Thanks for this, I'm leaning towards the TI or the Maxim part, more towards TI at the moment. \$\endgroup\$– Thomas OFeb 7, 2011 at 1:27
Use Raspberry Pi with a supported frame grabber and extract needed info with OpenCV library. Alternatively, if you can use onboard camera instead of external video signal, you can use AVRCAM for up to 8 objects 30fps color tracking.