What is it?

OpenCV is an image processing library developed by Intel specifically for their processors. It makes use of both the multimedia and streaming SIMD extensions (MMX and SSE) that Intel have introduced into their Pentium range, resulting in image manipulation speeds of up to 25fps. The library can be implemented using either C or Python and comes with twenty sample programs to play with, just to give you an idea of what's available.

On the down side, there is very little documentation on the web and there aren't many examples available. However, there's a Yahoo group with 20,000 or so members and a Wiki. These, combined with a little patience and a penchant for problem-solving, are just about enough to get you started.


What does it do?

A far better question turns out to be "what doesn't it do?". OpenCV has over 400 different functions covering 28 areas of computer vision research, and as such is incredibly flexible. It is also is open-source, and has a submissions process that goes like this:

Because of this, and the fact that OpenCV has been around since 2001, most well-known algorithms are now supported. A full list of functions can be found on the sites linked to above, but for an overview there's this page on Intel's website.

The best way to learn about OpenCV is to look at the sample code, as once you see how it's implemented you can catch onto the rest without too many problems. The sample programs are located in whatever directory you installed OpenCV from, under /samples/c or /samples/python.

Wondering what they do?