Computer vision with OpenCV

I recently began working on a project that requires a computer to recognize objects from a video feed.

Computers can do many things more efficiently than humans, but currently, seeing things is not one of them. Discriminating arbitrary objects from a background and one another, identifying objects, and tracking movement, for instance, are things we animals can do without thinking, but computers still have great difficulty doing quickly, if at all. Many object recognition algorithms have been invented; but none of them are great, the good ones are not fast, and the fast ones are not good. I anticipate the field of computer vision will continue be fertile ground for Ph. D. theses for the next 20 years, at which point advances in computing power will allow brute force to overcome inefficiency. The OpenCV library provides a set of primitives and functions for computer vision, and should be the starting point for any aspiring computer vision-ary.

Unfortunately, OpenCV is very much a work-in-progress, as is computer vision. It provides C,  C++, and Python bindings. The main API was recently changed from C to C++, but most existing documentation refers to the C API, which uses different functions. The online documentation is limited, and the OpenCV “user manual” is an O’Reilly book that is woefully out of date. A couple of sites I have found useful, recent OpenCV information at are AI Shack and Computer Vision Talks.

This entry was posted in Undifferentiated Goo and tagged , , . Bookmark the permalink.

Comments are closed.