BLOB Analysis in Image Processing

BLOB Analysis, which stands for “Binary Large Object Analysis”, is a crucial topic in image processing and computer vision. It involves the grouping of pixels in an image based on connectivity and shared properties, such as intensity or color. A key component of BLOB extraction is Connected Component Analysis (CCA) [1], which refers to the process of identifying and labeling connected components in a binary image. In this post, I will discuss CCA and how to extract objects from an image.

Read More

Introduction to Linear Programming

I’ve always been fascinated by making things work efficiently, especially in designing control systems. One area that I want to talk about to day is Linear Programming (LP), which is a key aspect of optimization theory. Optimization techniques are widely used in control systems such as Linear Quadratic Regulator (LQR) and Model Predictive Control (MPC).

Read More

Parameter Passing in C and C++

When writing functions in C and C++, we often need to pass information into the function to perform specific tasks. This process is known as parameter passing.

Read More

Building Your Own Drone - IMU Measurements - Part 3

To maintain stability in the air, Unmanned Aerial Vehicles (UAVs) such as drones rely on sensor fusion, a process that combines data from multiple sensors, including gyroscopes and accelerometers. This enables the UAV to better understand its environment and adjust accordingly

Read More

Building Your Own Drone - Sensors - Part 2

Creating a drone from scratch is both a challenging and rewarding exercise. In this post, I’ll guide you through the essential components you’ll need, with a particular focus on selecting the right hardware and developing your own flight controller softare using STM32 microcontrollers.

Read More

Building Your Own Drone - Batteries - Part 1

When selecting a battery for electronic devices, it’s essential to understand how to interpret the information provided on various battery types. Let’s explore this with an example of buying a battery for a drone.

Read More

Installing the Nlopt Library for C++ using vcpkg

Vcpkg is an open-source cross-platform package manager developed by Microsoft. It simplifies the process of acquiring and managing libraries for C and C++ development. This tool helps developers download and install the necessary libraries for their projects, making it easier to set up and maintain the development environment.

Read More

Getting started with Boost library for C++

Boost is a collection of libraries for the C++ programming language that provides support for various tasks and structures, including linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions, and unit testing.

Read More

Getting Started with Eigen Library in C++

Eigen is a C++ template library designed for linear algebra, offering functionalities for matrix and vector operations, numerical solvers, and related algorithms. In this guide, I will explain how to set up the Eigen library for Visual Studio on Windows and Visual Studio Code on Linux (Ubuntu).

Read More