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.
Browse by category
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Â
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Â
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
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.
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.
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 [...]
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 [...]
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 [...]

