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.
- 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.
- 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.
- 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.
- Feature Matching with FLANN
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Creating a face detection API with Python and OpenCV (in just 5 minutes)
This is a step-by-step OpenCV tutorial on detecting faces in images.
- Quick-and-dirty Automatic Face Replacement with Python and OpenCV
If you don’t have a Photoshop or abilities to work with a graphics editor, this tutorial reveals how to detect faces in an image and swapping them from one face box into the location of another.
- Switching Eds: Face swapping with Python, dlib, and OpenCV
OpenCV is an astounding computer vision tool – and here Matthew Earl shows you how to automatically detect, rotate, scale, and translate an image with a face and blend the facial features with a second image with a face.
- Smile Recognition Using OpenCV and scikit-learn
Learn how to recognize if a subject captured by a live webcam is smiling or not using just OpenCV.
- Android eye detection and tracking with OpenCV
Considering the improved performances of OpenCV on Android, Ilya Kowalski shows us how to make an eye detection and template matching application on Android.
- Build a Face Detector on OS X Using OpenCV and C++
Here’s a quick way to create a face detector application that’ll work great on OS X and made with OpenCV and C++.
- Build a Face Detection App Using Node.js and OpenCV
This tutorial covers only how to detect faces in an image, which is just a part of a facial recognition application.
- 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.
- Delaunay Triangulation and Voronoi Diagram using OpenCV ( C++ / Python )
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.
- 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
- Loading an image in OpenCV
The reason for this tutorial is to use plugins for loading in OpenCV formats like JPEG, JPEG 2000, TIFF files and PNG.
- Refining the Hough Transform with CAMSHIFT
When you use a circle center position area of an object in an image, the circular object holds details about the object like its color distribution. This tutorial shows you how to use the CAMSHIFT algorithm to track the circular object.
- Blurring image using OpenCV
Python and C++ code to blur an image with OpenCV.
- Building a Pokedex in Python: OpenCV and Perspective Warping (Step 5 of 6)
In this tutorial, you will learn how to obtain a “birds-eye-view” of an object in OpenCV. The object is a Pokemon character from the Game Boy video game device developed and manufactured by Nintendo.
- OpenCV panorama stitching
Improve the look of your photos by performing image stitching and panorama construction using Python and OpenCV.
- OpenCV Demos
This quick tutorial will show how to analyse an image and extract the text from an image.