blRigidBodyAPI — A simple rigid body API in c++

This entry is part 1 of 1 in the series blRigidBodyAPI -- BarbatoLabs Rigid Body API

Introduction Rigid body dynamics is the body of knowledge that deals with the motion of rigid, non-flexible bodies. As it turns out, there are many things that look rigid in our daily human experiences. Because of that, there are literally hundreds of rigid body APIs for c++ out there, commercial…

Continue reading

blTexture — Load an IplImage into an opengl texture and create webcam and video textures using the blImageAPI

This entry is part 8 of 17 in the series blImageAPI -- BarbatoLabs Image API

Introduction Today I introduce a simple class that will help us load IplImage images into opengl textures. This simple class, as I will continue to show you in later posts, provides us with a very easy and powerful method to intermix images, videos and 3d graphics. In the end, you’ll…

Continue reading

blMatrix3d — A simple 3×3 matrix in c++

This entry is part 6 of 6 in the series blMathAPI -- BarbatoLabs Math API

Introduction As I have mentioned in most of my articles, over the years, I have developed many mathematical tools that I have used time over time. In this article, I present a simple 3×3 matrix class, which I use in many applications, from machine vision to physics simulation, to 3d graphics.…

Continue reading

blMemStorage — A simple data structure to wrap OpenCV’s CvMemStorage with shared_ptr

This entry is part 7 of 17 in the series blImageAPI -- BarbatoLabs Image API

Introduction As part of the blImageAPI series that we’re running, in this short article, we present a simple data structure used to wrap OpenCV’s CvMemStorage with boost::shared_ptr. The use of boost::shared_ptr allows for automatic garbage collection and lets us check the validity of pointers, which will save us from those horrific opencv…

Continue reading

blImageAPI — Convert an opencv image from RGB to HSV color space no matter what the depth is

This entry is part 6 of 17 in the series blImageAPI -- BarbatoLabs Image API

Introduction When we start playing with images, dealing with colors becomes an inevitibility. Over the past hundreds of years, different ways to look at colors have evolved in the form of color spaces. These color spaces help us conceptualize colors in advantageous ways. In this article I present a couple…

Continue reading

Using sfml library within QTCreator in windows

This is a quick post to show how to use the sfml library within our beloved QTCreator. The sfml library is a very clean, cross-platform and easy to use library for windowing, opengl, networking, audio and more. Check it out it’s really good. It turns out it’s really easy to…

Continue reading

blImageAPI — Take the negative of an opencv image, no matter what the depth is

This entry is part 5 of 17 in the series blImageAPI -- BarbatoLabs Image API

Introduction I have created the blImageAPI to make life easier when it comes to programming images and videos. In this article I present a couple of functions that make it a snap to take the negative of an image, no matter what its depth or number of channels are. In…

Continue reading

blImageAPI — separate an opencv image into its individual channels

This entry is part 4 of 17 in the series blImageAPI -- BarbatoLabs Image API

Introduction I have created the blImageAPI to make life easier when it comes to programming images and videos. In this article I present a couple of functions that make it a snap to play with image channels. In the end, you’ll be able to do the following: How do I…

Continue reading