OpenCV 3 - BlobTrackerAuto equivalent? [closed]

asked 2016-01-20 06:22:35 -0600

cdahms gravatar image

In OpenCV, is there still available a set of functions or an object to track blobs from one frame to the next in a video file (or from a webcam stream)? I'm looking for something similar to BlobTrackerAuto from OpenCV 1.x. It seems this was moved to the legacy directories in late OpenCV 2.x and has been removed from OpenCV 3.x entirely.

To clarify, I'm looking for something that assigns an ID number (or similar) to each blob and then tracks each blob from one frame to the next, and provides a data structure (list or vector or similar) that can be iterated through and the ID checked.

All the functionality in OpenCV 3.x seems to either return an image with blobs, or tracks keypoints from one frame to the next. I'm looking for something that tracks blobs, not the keypoints on the edges of the blobs.

I am aware I could do some sort of special OpenCV 3 compile to include the legacy code, but I'm not interested in going backwards in terms of OpenCV code/versions.

Yes, I realize I could code this functionality myself without too much difficulty, but before I go ahead with this I figured I would ask here in the event that somebody has more information on this topic.

So here are my questions at this point:

-In OpenCV 3.x, is there an equivalent to BlobTrackerAuto or similar?

-Does anybody know if the OpenCV organization has plans to re-include similar functionality in a future OpenCV release?

-Is there any official word or post somewhere from the OpenCV organization on the decision to remove BlobTrackerAuto in OpenCV 3.x without providing an updated equivalent? This seems to be a strange decision

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by sturkmen
close date 2020-12-06 16:06:59.010069

Comments

OpenCV 1.x is ancient, in the meantime there has been a complete tracking API that was generated, which can be called on whatever set of points you want, thus also on the centers of blobs. Have a look here.

StevenPuttemans gravatar imageStevenPuttemans ( 2016-01-20 06:28:42 -0600 )edit

Thanks for the link. I took a look through those and found most to be in opencv_contrib.

When I tried to use them, I get red underlines in Visual Studio on the "#include <opencv2 tracking.hpp="">" line and any related lines thereafter. Do I need to do a custom compile and include opencv_contrib? I'm using OpenCV 3.1.0 with the pre-compiled binaries.

If a custom compile necessary, can you provide a brief explanation or link clarifying the decision to include some content in opencv_contrib? Does this mean these are experimental and not finalized at this time?

cdahms gravatar imagecdahms ( 2016-01-20 06:54:36 -0600 )edit

Sorry, I found this page

https://github.com/Itseez/opencv_contrib

which answers my own dumb question. It looks like the functionality I'm looking for will be re-introduced at a later time, but is not currently included in OpenCV as of 3.1, so I will dive into coding this myself.

cdahms gravatar imagecdahms ( 2016-01-20 06:59:22 -0600 )edit
1

The contributed repository contains experimental modules, where you are not sure if they are stable and if someone is up for maintaining them. Once they mature they head to the core library. As to the tracker part, it is fully working so why implement it yourself?

StevenPuttemans gravatar imageStevenPuttemans ( 2016-01-20 07:21:18 -0600 )edit