Introduction


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


Tutorials


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.