What is OpenCV?

OpenCV is the leading open source library for computer vision, image processing and machine learning, and now features GPU acceleration for real-time operation.

OpenCV is released under a BSD license and hence it’s free for both academic and commercial use. It has C++, C, Python and Java interfaces and supports Windows, Linux, Mac OS, iOS and Android. OpenCV was designed for computational efficiency and with a strong focus on real-time applications. Written in optimized C/C++, the library can take advantage of multi-core processing. Adopted all around the world, OpenCV has more than 47 thousand people of user community and estimated number of downloads exceeding 6 million. Usage ranges from interactive art, to mines inspection, stitching maps on the web or through advanced robotics.

www.shervinemami.info/blobs.html

OpenCV Applications

OpenCV is being used for a very wide range of applications which include:

  • Street view image stitching
  • Automated inspection and surveillance
  • Robot and driver-less car navigation and control
  • Medical image analysis
  • Video/image search and retrieval
  • Movies - 3D structure from motion
  • Interactive art installations

OpenCV Functionality

  • Image/video I/O, processing, display (core, imgproc, highgui)
  • Object/feature detection (objdetect, features2d, nonfree)
  • Geometry-based monocular or stereo computer vision (calib3d, stitching, videostab)
  • Computational photography (photo, video, superres)
  • Machine learning & clustering (ml, flann)
  • CUDA  acceleration (gpu)

GPU Acceleration

Over 250 functions have been ported to use CUDA delivering 5x to 100x speed up. Find out more about these on the GPU acceleration project home page.

References