What is OpenCV?

OpenCV is an open source C++ library for image processing and computer vision, originally developed by Intel and now supported by Willow Garage. 
It is free for both commercial and non-commercial use. Therefore it is not mandatory for your OpenCV applications to be open or free.
It is a library of many inbuilt functions mainly aimed at real time image processing. Now it has several hundreds of image processing and computer vision algorithms which make developing advanced computer vision applications easy and efficient.
If you are having any troubles with installing OpenCV or configure your Visual Studio IDE for OpenCV, please refer to Installing and Configuring with Visual Studio.

Key Features
  • Optimized for real time image processing & computer vision applications
  • Primary interface of OpenCV is in C++
  • There are also C, Python and JAVA full interfaces
  • OpenCV applications run on Windows, Android, Linux, Mac and iOS
  • Optimized for Intel processors

OpenCV Modules

OpenCV has a modular structure. The main modules of OpenCV are listed below. I have provided some links which are pointing to some example lessons under each module.
  •  core                  
This is the basic module of OpenCV. It includes basic data structures (e.g.- Mat data structure) and basic image processing functions. This module is also extensively used by other modules like highgui, etc.

  • highgui
This module provides simple user interface capabilities, several image and video codecs, image and video capturing capabilities, manipulating image windows, handling track bars and mouse events  and etc. If you want more advanced UI capabilities, you have to use UI frameworks like Qt, WinForms, etc.
e.g. - Load & Display Image, Capture Video from File or Camera, Write Image & Video to File

  • imgproc
This module includes basic image processing algorithms including image filtering, image transformations, color space conversions and etc.

  •  video
This is a video analysis module which includes object tracking algorithms, background subtraction algorithms and etc.

  • objdetect
This includes object detection and recognition algorithms for standard objects. 

OpenCV is now extensively used for developing advanced image processing and computer vision applications. It has been a tool for students, engineers and researchers in every nook and corner of the world.

Next Tutorial : Installing & Configuring with Visual Studio

No comments:

Post a Comment