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

K-Nearest Neighbours: Classify (recognize) things

Recognizing things is a common problem in machine learning. Even in the SuDoKu Solver demo, we require a mechanism to identify digits in the SuDoKu grid. To do this, we’ll use a simple algorithm called K-Nearest. It’s one of the simplest machine learning algorithms. The results aren’t going to be robust, but we’ll get some […]

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

Obstacle avoidance with the Bug-1 algorithm

Obstacle avoidance is an indispensable behavior in mobile robots. If a robot has no sensors, it’s a blind robot. If it has proximity sensors but still it keeps hitting whatever comes in its way, then it’s a ‘’brainless’’ robot. Imagine an ant or any insect walking on the ground. The insect is heading towards a […]

Read more