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


  1. nice one.very helpful for beginner to understand each line of code.thnk u

  2. thank u it helped a lot

  3. Muito bom! Obrigado!

    Very good! Thanks!

  4. Very much thanks..!!! your blog helped me a lot to understand OPENCV...!!! Keep up your Good Work..!!!

  5. Hey Guys!
    Learn openCV from begining with video tutorials...from what is open cv, installation, to face tracking and openCV and then its application with Embedded Electronics
    use this CODE for 90% discount- opencv90
    or use this link -https://www.udemy.com/learn-open-cv-with-microsoft-visual-c/?couponCode=opencv90

  6. you're heaven sent

  7. Very good Article ! Keep up your Good Work Thanks!

  8. submityourlink-Find latest happening information links, News live updates, Business news, Poltical news, Sports News, Education news, Health and Lifestyle, Travel, Automobile

  9. A big big thanks to you.
    Awesome job. Keep working on such nice tutorials for beginner.

  10. Hey you can find some of the interesting examples here:

  11. Nice article and information about OpenCV and its features.

  12. what i can say about this post!! amazing really

  13. very good information on opencv

  14. Thanks so much for sharing. I got relavant information from your post.