In this tutorial, you will be introduced to the basic functions and usages of the OpenCV library. All the tutorials consist of OpenCV C++ example programs in order to make you understand and try it on your computer easily. Before starting this tutorial, let me give you a brief introduction to image processing and computer vision for which OpenCV was build.

Image processing is the process of manipulating pixel data in order to make it suitable for computer vision applications or to make it suitable to present it to humans. For example, changing brightness or contrast  is a image processing task which make the image visually pleasing for humans or suitable for further processing for a certain computer vision application.

Computer vision which go beyond image processing, helps to obtain relevant information from images and make decisions based on that information. In other words, computer vision is making the computer see as humans do. Basic steps for a typical computer vision application as follows.
  1. Image acquisition
  2. Image manipulation
  3. Obtaining relevant information
  4. Decision making

What is OpenCV ?

OpenCV Logo
OpenCV Logo

OpenCV is an open source C++ library for image processing and computer vision, originally developed by Intel, later supported by Willow Garage and and is now maintained by Itseez. It is free for both commercial and non-commercial use. Therefore you can use the OpenCV library even for your commercial applications. It is a library mainly aimed at real time processing. Now it has several hundreds of inbuilt functions which implement image processing and computer vision algorithms which make developing advanced computer vision applications easy and efficient.

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


Although OpenCV is a powerful tool which can be used to develop complex image processing and computer vision applications, the documentation of OpenCV is not enough for a newbie to learn OpenCV by himself/herself. And there are few tutorials which can be found on OpenCV for beginners in the internet. Therefore, I decided to prepare this tutorial from the very basic concepts of image processing and computer vision providing simple examples of OpenCV C++ programs with illustrations. I have tested all example programs in this tutorial with OpenCV 3.3.1 and Microsoft Visual Studio 2015.

Here is the entire list of tutorials which will walk you through the basics of OpenCV with simple example programs.


  1. It is very helpful for newbies..great work.

  2. Anyone, can you explain Image text Extraction Using OpenCV 4 in c++???

  3. What about face recognition?

  4. Thanks for Sharing This Article.It is very so much valuable content. I hope these Commenting lists will help to my website
    blockchain online training
    best blockchain online training
    top blockchain online training

  5. indeed, there are a few toturials and I couldn`t found simpler then yours.
    Thanks a lot.


  6. very nice blogs!!! i have to learning for lot of information for this sites...Sharing for wonderful information. Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing

    Horizontal Asymptote
    utsa blackboard
    Special Right Triangles
    Perfect Square Trinomial Formula
    anesthesia technician course syllabus
    What are the Scientific Reasons for Choosing Printed Books
    favourite fruit mango
    bds full form
    how to make your essay longer

  7. Hello friends.
    I am not at all a professional, and what I would like to do is quite simple :
    A program written with Excel VBA calling a dll written with Visual C++, calling some basics OpenCV subroutines.
    For practical reasons, as I want this system to run easily on various friends machines (on some of them, the system is protected, and it is impossible to install an OpenCV World dll in C:\Windows as usual), I would like the OpenCV subs to be included statically inside my own dll.
    Would it be possible to explain how to do this ?
    Many thanks.