OpenCV

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

OpenCV
180px
Original author(s) Intel Corporation, Willow Garage, Itseez[1]
Initial release June 2000; 24 years ago (2000-06)
Stable release 3.1 / 21 December 2015; 9 years ago (2015-12-21)
Preview release 3.0.0 Beta / 11 November 2014; 10 years ago (2014-11-11)
Written in C/C++
Operating system Cross-platform
Type Library
License BSD license
Website opencv.org,
sourceforge.net/projects/opencvlibrary/

OpenCV (Open Source Computer Vision) is a library of programming functions mainly aimed at real-time computer vision, originally developed by Intel's research center in Nizhny Novgorod (Russia), later supported by Willow Garage and now maintained by Itseez.[1] The library is cross-platform and free for use under the open-source BSD license.

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 a number of optimization experts in Intel Russia, as well as Intel’s Performance Library Team. In the early days of OpenCV, the goals of the project were described[2] 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 six months[3] and development is now done by an independent Russian team supported by commercial corporations.

In August 2012, support for OpenCV was taken over by a non-profit foundation OpenCV.org, which maintains a developer[4] and user site.[5]

Applications

File:OfxOpenCV.png
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

OpenCV is written in C++ and its primary interface is in C++, but it still retains a less comprehensive though extensive older C interface. There are bindings in Python, Java and MATLAB/OCTAVE. The API for these interfaces can be found in the online documentation.[6] Wrappers in other languages such as C#, Perl,[7] Ch,[8] and Ruby have been developed to encourage adoption by a wider audience.

All of the new developments and algorithms in OpenCV are now developed in the C++ interface.

Hardware Acceleration

If the library finds Intel's Integrated Performance Primitives on the system, it will use these proprietary optimized routines to accelerate itself.

A CUDA-based GPU interface has been in progress since September 2010.[9]

An OpenCL-based GPU interface has been in progress since October 2012,[10] documentation for version 2.4.9.0 can be found at docs.opencv.org.[11]

OS support

OpenCV runs on a variety of platforms. Desktop: Windows, Linux, OS X, FreeBSD, NetBSD, OpenBSD; Mobile: Android, iOS, Maemo,[12] BlackBerry 10.[13] The user can get official releases from SourceForge or take the latest sources from GitHub.[14] OpenCV uses CMake.

See also

References

  1. 1.0 1.1 Itseez leads the development of the renowned computer vision library OpenCV. http://itseez.com
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. OpenCV change logs: http://code.opencv.org/projects/opencv/wiki/ChangeLog
  4. OpenCV Developer Site: http://code.opencv.org
  5. OpenCV User Site: http://opencv.org/
  6. OpenCV C interface: http://docs.opencv.org
  7. CPAN: http://search.cpan.org/~yuta/Cv-0.29/
  8. Ch OpenCV: http://www.softintegration.com/products/thirdparty/opencv/
  9. Cuda GPU port: http://opencv.org/platforms/cuda.html
  10. OpenCL Announcement: http://opencv.org/opencv-v2-4-3rc-is-under-way.html
  11. OpenCL-accelerated Computer Vision API Reference: http://docs.opencv.org/modules/ocl/doc/ocl.html
  12. Maemo port: https://garage.maemo.org/projects/opencv
  13. BlackBerry 10 (partial port): https://github.com/blackberry/OpenCV
  14. https://github.com/Itseez/opencv

External links