Quantcast
Channel: Satya Mallick | LearnOpenCV
Browsing all 92 articles
Browse latest View live

Why does OpenCV use BGR color format ?

One of the elements of good design is the principle of least astonishment ( a.k.a principle of least surprise). A good intuitive design makes the user not think. When you see a handle on a door, you...

View Article


Facial Landmark Detection

Who sees the human face correctly: the photographer, the mirror, or the painter? — Pablo Picasso If Picasso was alive today, he would have definitely added one more professional to that list — a...

View Article


OpenCV (C++ vs Python) vs MATLAB for Computer Vision

We often confuse our tools for our craft. Tools help you practice your craft, but they do not make you a good craftsman. A good craftsman has many different tools in her pocket, and she judiciously...

View Article

Delaunay Triangulation and Voronoi Diagram using OpenCV ( C++ / Python )

In a previous post I had discussed two libraries for facial landmark detection, and had pointed to several interesting applications like Face Morphing, Face Replacement etc. that use facial landmarks....

View Article

How to find frame rate or frames per second (fps) in OpenCV ( Python / C++ ) ?

In OpenCV the class VideoCapture handles reading videos and grabbing frames from connected cameras. There is a lot of information you can find about the video file you are playing by using the...

View Article


Filling holes in an image using OpenCV ( Python / C++ )

In this tutorial we will learn how to fill holes in a binary image. Consider the image on the left in Figure 1. Let’s say we want to find a binary mask that separates the coin from the background as...

View Article

Homography Examples using OpenCV ( Python / C ++ )

The Tower of Babel, according to a mythical tale in the Bible, was humans’ first engineering disaster. The project had all the great qualities of having a clear mission, lots of man power, no time...

View Article

NVIDIA DIGITS 3 on EC2

So you have heard a lot about Deep Learning and Convolutional Neural Network, and you want to quickly try it out. But before you dive into the theory you want to get your hands dirty. And you don’t...

View Article


Deep Learning Example using NVIDIA DIGITS 3 on EC2

In my previous post I provided step by step instructions on how to install NVIDIA DIGITS 3 on Amazon EC2. In this post, we are going to use an Amazon Machine Image (AMI) that I have configured for...

View Article


Face Morph Using OpenCV — C++ / Python

  In this tutorial we will learn how to morph one face into another using OpenCV. I have chosen to use the photos of the top three American Presidential candidates, but this is not a political post and...

View Article

Face Swap using OpenCV ( C++ / Python )

In this tutorial we will learn how to swap out a face in one image with a completely different face using OpenCV and DLib in C++ and Python. To understand the description below better, download the C++...

View Article

Average Face : OpenCV ( C++ / Python ) Tutorial

In this tutorial we will learn how to create an average face using OpenCV ( C++ / Python ). Most people would agree that the woman in Figure 1 is pretty. Can you guess her ethnicity ? Why is her skin...

View Article

Warp one triangle to another using OpenCV ( C++ / Python )

In this tutorial we will see how to warp a single triangle in an image to another triangle in a different image. In computer graphics people deal with warping triangles all the time because any 3D...

View Article


Speeding up Dlib’s Facial Landmark Detector

In this tutorial I will explore a few ways to speed up Dlib’s Facial Landmark Detector. Dlib’s Facial Landmark Detector Dlib has a very good implementation of a very fast facial landmark detector. I...

View Article

Rotation Matrix To Euler Angles

In this post I will share code for converting a 3×3 rotation matrix to Euler angles and vice-versa. 3D rotations matrices can make your head spin. I know it is a bad pun but truth can sometimes be very...

View Article


Configuring Qt for OpenCV on OSX

In this tutorial we will learn how to configure Qt to use OpenCV. Although the tutorial is targeted for OSX users, you can modify my suggestions for use in Linux and Windows. I assume you have a...

View Article

Approximate Focal Length for Webcams and Cell Phone Cameras

In this post I will explain how to find a crude approximation to the focal length of a webcam or cell phone camera ( i.e. fixed focal length cameras ) if calibration is not an option or if you are too...

View Article


Head Pose Estimation using OpenCV and Dlib

In this tutorial we will learn how to estimate the pose of a human head in a photo using OpenCV and Dlib. In many applications, we need to know how the head is tilted with respect to a camera. In a...

View Article

Image Recognition and Object Detection : Part 1

This is a multipart post on image recognition and object detection. In this part, we will briefly explain image recognition using traditional computer vision techniques. I refer to techniques that are...

View Article

Histogram of Oriented Gradients

In this post, we will learn the details of the Histogram of Oriented Gradients (HOG) feature descriptor. We will learn what is under the hood and how this descriptor is calculated internally by OpenCV,...

View Article
Browsing all 92 articles
Browse latest View live