Ask Your Question

CvBlobTrackerAuto Memory Use

asked 2013-01-31 00:44:00 -0500

I am using the CvBlobTrackerAuto class to detect moving blobs in a video. For now I am running on an Intel PC with both MS Windows and Linux. My hope is to be able to port this to a Linux embedded system, but I see a potential problem with the amount of memory that is being allocated.

For a 720x480 image, 335 MB of memory is allocated on first call of CvBlobTrackerAuto.process(IplImage *pImg, IplImage pMask). An HD image can allocate almost 2 GB. This amount of memory may not be available on an embedded system. Even if that much memory was available, I'd rather not allocate that much to a single process, as this takes away from memory available to the rest of the system.

I plan to work with a smaller version of the full size image, which should be sufficient for detecting blobs, but even 1/4 of the image size still leaves me with a large chunk of memory to allocate.

Does anyone know of any other options or ideas for reducing my memory footprint in the CvBlobTrackerAuto class? If not, perhaps another approach to detecting blobs in a memory-restricted system?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2013-03-14 11:20:52 -0500

Claudio Carbone gravatar image

updated 2013-03-14 11:21:18 -0500

By using the cvBlobs library you could do it yourself using just the memory you need.

We developed our own blob tracking algo this way.

edit flag offensive delete link more

Question Tools


Asked: 2013-01-31 00:44:00 -0500

Seen: 285 times

Last updated: Mar 14 '13