OpenCV is usually the first option to consider when we talk about computer vision. However, this open-source library is focused on real-time image processing and definitely extremely hard to master. For instance, the applications are not always intuitive, and it’s not always clear when to use what API and how to use the algorithms effectively. In fact, if you plan to use the OpenCV library to achieve something and you have never done before, it usually takes time until you get the first application.

However, you don’t need to search through thousands OpenCV features and extension to solve every computer vision problem. You can use professional tutorials which provide excellent information, and of course, can save you a lot of time.

Two years ago we had presented a hand-picked collection of OpenCV tutorials for detecting and recognizing hand gestures. Now it’s time for a fresh list of OpenCV learning materials. This article provides professional OpenCV tutorials aiming to help you get quickly computer vision skills and improve the quality of your applications.

Tracking and Detection

Ball Tracking / Detection using OpenCV

With a very little effort, you can start learning OpenCV with a simple application such as a ball tracking and detection.



With a very little effort, you can start learning OpenCV with a simple application such as a ball tracking and detection. Creating your own Haar Cascade OpenCV Python Tutorial

Tracking a certain object in OpenCV is quite a challenge because it is needed to work with two images. In one image you have the object and in another image is the object you wish to detect. This tutorial is an excellent resource to track any object you want.



Tracking a certain object in OpenCV is quite a challenge because it is needed to work with two images. In one image you have the object and in another image is the object you wish to detect. This tutorial is an excellent resource to track any object you want. Tutorial: Real-Time Object Tracking Using OpenCV

In this video tutorial, the user Kyle Hounslow shows you how to build a real-time application to track a ball. Download the code for free here.



In this video tutorial, the user Kyle Hounslow shows you how to build a real-time application to track a ball. Download the code for free here. Pedestrian Detection OpenCV

The techniques below will show you how to detect and track humans in images and video streams. This application is useful for pedestrian detection and pedestrian traffic counts.



Object Detection

Feature Matching with FLANN

This feature matching tutorial shows a quite easy way to perform a quick and efficient matching in OpenCV.



This feature matching tutorial shows a quite easy way to perform a quick and efficient matching in OpenCV. SIFT: Introduction

This is the first part of a main tutorial divided into seven parts. In this one you’ll find an introduction to the Scale Invariant Feature Transform (SIFT) algorithm. Continuing with the second part, you’ll discover how to match features across different images when you have images of different scales and rotations.



This is the first part of a main tutorial divided into seven parts. In this one you’ll find an introduction to the Scale Invariant Feature Transform (SIFT) algorithm. Continuing with the second part, you’ll discover how to match features across different images when you have images of different scales and rotations. Scanning QR Codes (part 1)

This tutorial will show you how to create a QR code reader from scratch in OpenCV. The tutorial is divided into two parts. In the first part (I) are some explanations about the QR code, while in the second part (II) is the code that identifies a QR code in any image you give to it.



This tutorial will show you how to create a QR code reader from scratch in OpenCV. The tutorial is divided into two parts. In the first part (I) are some explanations about the QR code, while in the second part (II) is the code that identifies a QR code in any image you give to it. Using OpenCV and Akaze for Mobile App and Game Testing

Here’s how to make a mobile game testing application with image recognition. This can be done with the Accelerated-KAZE (AKAZE) algorithm and the OpenCV library. The AKAZE algorithm is used to find matching keypoints between two images and to save them to a JSON file. The second step is to use the OpenCV Java bindings to process the JSON file to find the homography of the wanted image in a screenshot.



Here’s how to make a mobile game testing application with image recognition. This can be done with the Accelerated-KAZE (AKAZE) algorithm and the OpenCV library. The AKAZE algorithm is used to find matching keypoints between two images and to save them to a JSON file. The second step is to use the OpenCV Java bindings to process the JSON file to find the homography of the wanted image in a screenshot. Light Detection OpenCV

How many times you wanted to check from a distance the status of your electric device? Sure, there are many ways, but with OpenCV you have even more options to determine if the oven is ON or OFF.



How many times you wanted to check from a distance the status of your electric device? Sure, there are many ways, but with OpenCV you have even more options to determine if the oven is ON or OFF. Encapsulate OpenCV 3.1 as Android AAR

You need four key elements to grab and solve a Sudoku puzzle. Without even thinking, you can solve a Sudoku puzzle using your Android smartphone, OpenCV, JavaFX and Scala.



You need four key elements to grab and solve a Sudoku puzzle. Without even thinking, you can solve a Sudoku puzzle using your Android smartphone, OpenCV, JavaFX and Scala. Detecting machine-readable zones in passport images

This tutorial is about detecting Machine-readable Zones (MRZs) in passport scans using processing techniques such as thresholding, gradients, morphological operations, and contour properties.



This tutorial is about detecting Machine-readable Zones (MRZs) in passport scans using processing techniques such as thresholding, gradients, morphological operations, and contour properties. Skin Detection: A Step-by-Step Example using Python and OpenCV

In this OpenCV tutorial, we’re going to learn how to detect skin in images using computer vision. This detecting application has some limits and works only for a range of pixel intensities that are considered skin. Under different lighting conditions, the algorithm may have different results.



Face Detection

Edge Detection

Using OpenCV with Raspberry Pi 2 Camera

In this tutorial you’ll learn two things – the first part explains how to setup the Raspberry Pi 2 camera to work with OpenCV and the second part shows you the algorithm for contour detection.



In this tutorial you’ll learn two things – the first part explains how to setup the Raspberry Pi 2 camera to work with OpenCV and the second part shows you the algorithm for contour detection. Delaunay Triangulation and Voronoi Diagram using OpenCV ( C++ / Python )

Learn how to apply Delaunay triangulation and Voronoi diagrams in OpenCV.



Learn how to apply Delaunay triangulation and Voronoi diagrams in OpenCV. Computer Vision to Delight and Amuse

This tutorial will show on how to score a Christmas Tree based on uniformity of lights, the shape of the tree, and colors used.



OpenCV Video Editing

OpenCV video editing tutorial

While OpenCV has so many features to do some video editing, this area is less used by the programmers. From this tutorial, you can learn how to read frames from a webcam and how to modify an existing video.



While OpenCV has so many features to do some video editing, this area is less used by the programmers. From this tutorial, you can learn how to read frames from a webcam and how to modify an existing video. Multiple cameras with the Raspberry Pi and OpenCV

This tutorial includes two parts that will show you how to attach and access multiple cameras with your Raspberry Pi and make a motion detection application with these cameras.



Image Editing and Processing