Browse by category

Scanning QR Codes

These days, you can see QR codes almost everywhere. You see them at stores, on products, on screens. So one day, I was curious how the gears are put together to read QR codes. I ended up reading the ISO/IEC 18004 standard.

Read more

Implementing Canny Edges from scratch

Here’s an interesting article – we’ll implement canny edges. We won’t use any prepackaged functions. I’ll be using OpenCV for this article, but I’m sure translating it to some other 

Read more

The Canny Edge Detector

A lot of people consider the Canny Edge Detector the ultimate edge detector. You get clean, thin edges that are well connected to nearby edges. If you use some image processing package, you probably get a function 

Read more

Image Moments

An Image moment is a number calculated using a certain formula. Understand what that formula means might be hard at first. In fact, I got a lot of questions about moments

Read more

A super fast thresholding technique

In computer vision, thresholding is probably the most basic operation. It needs to go through every single pixel of every single frame to detect objects. If you can make it efficient, you’ll have CPU time to do other stuff.

Read more

The Sobel and Laplacian Edge Detectors

Detecting edges is one of the fundamental operations you can do in image processing. It helps you reduce the amount of data (pixels) to process and maintains the “structural” aspect of the image.

Read more

K-Nearest Neighbors in OpenCV

K-Nearest Neighbors is a very simple machine learning algorithm. And OpenCV comes with it built in! In this post, we’ll use a freely available dataset (of handwritten digits), train a K-Nearest algorithm, and then use it to recognize digits. We will be using a few file operations (fopen, fread, etc). If you’re not familiar with […]

Read more

SuDoKu Grabber with OpenCV

Here’s an interesting project that I’ll be taking your over the next few days. We’ll create an app that can recognize a SuDoKu puzzle from a picture taken by a camera (maybe on a phone).

Read more

Image Convolutions in OpenCV

Convolutions are a very important tool for anyone interested in signal processing. Image Convolutions is a simpler method to do convolutions on images. And they have a lot of uses too. So of course, OpenCV does have a way to do image convolutions easily and super efficiently! OpenCV’s Convolution Function The C++ convolution function The […]

Read more

Fast connected components labeling

Labeling connected components in an image is a common operation. But the original algorithm proposed is slow. It works fine if the image is small. But as the image becomes larger, the algorithm slows down really fast. Recently, a few researchers find a simple solution to this. Image that previously took hundreds of seconds would […]

Read more