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

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

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

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*

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