OpenCV

From Wikipedia, the free encyclopedia

Jump to: navigation, search
OpenCV
Design by original by Intel, and now it is on sourceforge.net for everyone
Latest release 1.1 pre / 2008-10-15; 177 days ago
Operating system Cross-platform
Type Library
License BSD license
Website http://opencvlibrary.sourceforge.net/

OpenCV is a computer vision library originally developed by Intel. It is free for commercial and research use under a BSD license. The library is cross-platform, and runs on Windows, Mac OS X, Linux, PSP, VCRT (Real-Time OS on Smart camera) and other embedded devices. It focuses mainly on real-time image processing, as such, if it finds Intel's Integrated Performance Primitives on the system, it will use these commercial optimized routines to accelerate itself.

Released under the terms of the BSD license, OpenCV is open source software.

Contents

[edit] History

Officially launched in 1999, the OpenCV project was initially an Intel Research initiative to advance CPU-intensive applications, part of a series of projects including real-time ray tracing and 3D display walls. The main contributors to the project included Intel’s Performance Library Team, as well as a number of optimization experts in Intel Russia. In the early days of OpenCV, the goals of the project were described as

  • Advance vision research by providing not only open but also optimized code for basic vision infrastructure. No more reinventing the wheel.
  • Disseminate vision knowledge by providing a common infrastructure that developers could build on, so that code would be more readily readable and transferable.
  • Advance vision-based commercial applications by making portable, performance-optimized code available for free—with a license that did not require commercial applications to be open or free themselves.

The first alpha version of OpenCV was released to the public at the IEEE Conference on Computer Vision and Pattern Recognition in 2000, and five betas were released between 2001 and 2005. The first 1.0 version was released in 2006. In mid 2008, OpenCV obtained corporate support from Willow Garage,[1] and is now again under active development. A version 1.1 "pre-release" was released in October 2008, and a book by two authors of OpenCV published by O'Reilly went on the market that same month (see Learning OpenCV: Computer Vision with the OpenCV Library).

[edit] Applications

OpenCV's application areas include:

To support some of the above areas, OpenCV includes a statistical machine learning library that contains:

[edit] Programming language

The library is mainly written in C, which makes it portable to some specific platforms such as Digital signal processor. But wrappers for languages such as C# and Python have been developed to encourage adoption by a wider audience.

[edit] Successful applications

  • OpenCV was of key use in the vision system of Stanley, the winning entry to the 2005 DARPA Grand Challenge race.
  • OpenCV is widely used in video surveillance systems.[2]
  • OpenCV is used for foundation classes within the PlayMotion VisionSDK, a computer vision library specifically tailored to the needs of human-scale videogame and entertainment design.
  • OpenCV is the key tool in the software SwisTrack, an open source multi-agent tracking tool.
  • OpenCV has been optimized for the Cell microprocessor. The company that did the port claims a single Playstation 3 running Linux, with only 6 of the 8 SPUs in a full Cell BE, achieves up to 27x the performance of an Intel Core2Duo 2.4 GHz. [3]

[edit] OS Support

OpenCV runs under Linux, Mac OS and Windows. The user can get official releases from sourceforge, or take the current snapshot under SVN from there. OpenCV now uses CMake.

[edit] Windows prerequisites

The DirectShow SDK is required to build some camera input-related parts of OpenCV on Windows. This SDK is found in the Samples\Multimedia\DirectShow\BaseClasses subdirectory of the Microsoft Platform SDK, which must be built prior to the building of OpenCV.

[edit] References

[edit] External links

[edit] See Also

  • VxL, an alternative library written in C++.
Personal tools