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

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

blRectangle — A simple Rectangle class in c++ with useful functions

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

Introduction This is part of my on going effort to publish all the mathematical tools that I have developed and used over the years. In this article, I present a simple rectangle class, which is very useful when dealing with images or graphics in general. As with the rest of…

Continue reading

blCaptureDevice — A simple data structure to handle video sources in OpenCV

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

Introduction When it comes to OpenCV, dealing with images and videos means dealing with finicky pointers.  This, as could be attested by all who have played with OpenCV before, can quickly lead to “out of memory” and other obscure error messages that the library loves so much to spit at you.…

Continue reading

blImage — An image data structure based on shared_ptr and IplImage*

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

Introduction Back in the good old days of OpenCV 1.1 and earlier, the main image structure used throughout their algorithms was IplImage. Playing with IplImage requires skillful manipulation of data in memory, and thus makes it very difficult for beginners to play.  Even experts run into the dreaded memory leaks caused by…

Continue reading