Bootloader on STM32F0


Besides all techniques created until today, every software developed can have bugs. Computer software nowadays can be easily updated to a new versions to fix all those bugs and it doesn’t take anything more than a few mouse clicks.  Embedded software ou bare bone firmware can have bugs too, but update to new versions is not always that simple as in computers software. Continue reading Bootloader on STM32F0

Camera Calibration – Part I

In the last few years we could notice that camera’s quality has been improved, its price has decreased at a point where we can find them almost everywhere. Most smart phones, if not all, have one or even two cameras. Youtube, Netflix, Flickr, Instagram are among the most popular websites around the world. At the same time, microprocessors became more powerful and cheaper in the way that programs can process image and video in real time.
Continue reading Camera Calibration – Part I

Histogram equalization


In the last post I explained briefly what are histograms and today I’ll continue a little more and show how it can be useful to process images. Some examples of how histograms can be used are: image enhancement, texture classification, image segmentation, etc. In this post I’ll cover the most common use for histogram which is histogram equalization. Continue reading Histogram equalization

Image Histogram

Hello there,
Today I’ll cover a simple subject, image histogram. What is a histogram? Histogram is a graphical representation of a set of data separated in differents classes. It is represented by vertical bars where the base represents the class and the height represents the frequency/quantity of how many times it happened. Yes, it seems to be more complicated when we try to explain something really easy. Look at the figure 1 below Continue reading Image Histogram

Installing SimpleCV + Ubuntu


Today it’s a small tutorial to install SimpleCV in Ubuntu. SimpleCV is a opensource framework for computer vision application development. It’s not a replacement for OpenCV, indeed it uses OpenCV as others libraries. As they say in their website: This is computer vision made easy.  Continue reading Installing SimpleCV + Ubuntu

Installing OpenCV 2.4.9 + QT5 in Ubuntu


Today is a small how to install OpenCV + QT5 in linux Ubuntu. For those who doesn’t know what is OpenCV, you can check here. Briefly OpenCV is a library for real time image processing created by Intel. It’s free for use under BSD license. Continue reading Installing OpenCV 2.4.9 + QT5 in Ubuntu

Baye’s theorem

Hello there!

More than 6 months from last post, for a good reason. We had our third kid and now, time is more than ever a scarce resource. So, let’s stop talking and go direct to the point!

Today I’ll explain a little about Baye’s theorem and why it’s important to know it.  Baye’s theorem is named after, Thomas Bayes an English statistician. This theorem is a solution to solve a problem of inverse conditional probability. I’ll give you an example to have a better understanding:

Continue reading Baye’s theorem

Test Driven Development – Unity + Microchip


Today I’ll explain a little bit about unit tests, test driven development (TDD) and how to set up an environment to be able to use TDD concepts in Microchip microcontrollers. Continue reading Test Driven Development – Unity + Microchip

Undefined Behavior in C compilers – What?

Hello people,

In this post I’d like to share one topic that is very important mainly for those which uses optimization in their C compiler. It’s very known that the C compiler was created having in mind to be a powerful language and able to generate efficient code. Continue reading Undefined Behavior in C compilers – What?

Vector quantization

  Hello there! In this post, as promised, I’ll explain a little about vector quantization. I’ll try to explain more how it works and not focus in the math, ok?

So, what’s the main idea behind vector quantization? The idea is pretty simple. Continue reading Vector quantization