OpenCV

OpenCV
OpenCV
OpenCV Logo with text.png
Original author(s) Intel Corporation
Stable release 2.3.1 / August 17, 2011; 3 months ago (2011-08-17)
Operating system Cross-platform
Type Library
License BSD license
Website opencv.willowgarage.com/wiki/

OpenCV (Open Source Computer Vision Library) is a library of programming functions mainly aimed at real time computer vision, developed by Intel and now supported by Willow Garage. It is free for use under the open source BSD license. The library is cross-platform. It focuses mainly on real-time image processing. If the library finds Intel's Integrated Performance Primitives on the system, it will use these proprietary optimized routines to accelerate itself.

Contents

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 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, and is now again under active development. A version 1.1 "pre-release" was released in October 2008.

The second major release of the OpenCV was on October 2009. OpenCV 2 includes major changes to the C++ interface, aiming at easier, more type-safe patterns, new functions, and better implementations for existing ones in terms of performance (especially on multi-core systems). Official releases now occur every 6 months.[1]

Applications

openFrameworks running the OpenCV add-on example.

OpenCV's application areas include:

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

Programming language

The library was originally written in C[2] and this C interface makes OpenCV portable to some specific platforms such as digital signal processors. Wrappers for languages such as C#, Python,[3] Ruby and Java (using JavaCV[4]) have been developed to encourage adoption by a wider audience.

However, since version 2.0, OpenCV includes both its traditional C interface as well as a new C++ interface,[5] that seeks to reduce the number of lines of code necessary to code up vision functionality as well as reduce common programming errors such as memory leaks that can arise when using OpenCV in C. Most of the new developments and algorithms in OpenCV are now developed in the C++ interface. Unfortunately, it is much more difficult to provide wrappers in other languages to C++ code as opposed to C code; therefore the other language wrappers are generally lacking some of the newer OpenCV 2.0 features. A CUDA-based GPU interface has been in progress since September 2010.[6]

OS support

OpenCV runs on Android,[7] Maemo,[8] FreeBSD, OpenBSD, iOS,[9] Linux, Mac OS and Windows. The user can get official releases from SourceForge, or take the current snapshot under SVN from there. OpenCV uses CMake.

Windows prerequisites

The BaseClasses from 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 (or DirectX SDK 8.0 to 9.0c / DirectX Media SDK prior to 6.0), which must be built prior to the building of OpenCV.

See also

  • AForge.NET, a computer vision library for the Common Language Runtime (.NET Framework and Mono).
  • ROS (Robot Operating System) OpenCV is used as the primary vision package in ROS.
  • VXL, an alternative library written in C++.
  • Integrating Vision Toolkit (IVT), a fast and easy-to-use C++ library with optional interface to the OpenCV.

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • OpenCV — Тип компьютерное зрение Автор …   Википедия

  • OpenCV — Entwickler Intel, Willow Garage Aktuelle Version 2.3.1 (August 2011) …   Deutsch Wikipedia

  • Opencv — ist eine quelloffene Programmbibliothek von Intel. Sie ist für die Programmiersprachen C und C++ geschrieben und enthält Algorithmen für die Bildverarbeitung und maschinelles Sehen. Im September 2006 wurde die Version 1.0 herausgegeben. Die… …   Deutsch Wikipedia

  • OpenCV — Dernière version 2.3.1 (17 aout& …   Wikipédia en Français

  • OpenCV — Plantilla:Wikify OpenCV Desarrollador Intel Corporation http://opencv.willowga …   Wikipedia Español

  • k-Means-Algorithmus — Ein k Means Algorithmus ist ein Verfahren zur Clusteranalyse. Dabei wird aus einer Menge von ähnlichen Objekten eine vorher bekannte Anzahl von k Gruppen gebildet. Der Algorithmus ist eine der am häufigsten verwendeten Techniken zur Gruppierung… …   Deutsch Wikipedia

  • Motion Tracking using Java — Motion tracking is the process of locating a moving object (or several ones) in time. An algorithm analyses the video frames and outputs the location of moving targets within the video frame. Libraries to Implement Motion tracking OpenCV It’s a… …   Wikipedia

  • Integrating Vision Toolkit — Entwickler Pedram Azad et al., Karlsruher Institut für Technologie (KIT) Aktuelle Version 1.3.14 (16. August 2011) Betriebssystem plattformunabhängig Programmier­sprache …   Deutsch Wikipedia

  • Méthode de Viola et Jones — Un exemple de détection de visage par la méthode de Viola et Jones. La méthode de Viola et Jones est une méthode de détection d objet dans une image numérique, proposée par les chercheurs Paul Viola et …   Wikipédia en Français

  • Support-Vector-Machine — Eine Support Vector Machine [səˈpɔːt ˈvektə məˈʃiːn] (SVM, die Übersetzung aus dem Englischen, „Stützvektormaschine“ oder Stützvektormethode, ist nicht gebräuchlich) ist ein Klassifikator (vgl. Klassifizierung). Eine Support Vector Machine… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”