I plan to start experimenting with blobs as a C++ user, with some experience at cv::Mat’s from the OpenCV.
Now the question is, which blobs library should I use if at all?
I have seen these alternatives so far:
- cvBlobs (on google code) — that is a c library really, working with IplImage so it needs serious adaptation to c++.
- CvBlobsLib (on willowgarage opencv webpage) — that looks like a c++ library but has quite bad docs with plenty of stuff left unexplained and barely any code example.
- I have seen cv::findContours, cv::moments and cv::drawContours in the OpenCV 2.4.3 library.
What do you suggest as an expert? My pressing issue: what will the new OpenCV not cover of cvBlobs on google code?
Here is the link for the follow-up question on this subject, where I ask about SimpleBlobDetector. You might be interested.
You should use the
SimpleBlobDetectorclass in OpenCV 2.4. You pretty much create an object of typeSimpleBlobDetectorand then call thedetect(cv::Mat input, vector<cv::KeyPoint> keypoints, cv::Mat mask)function with a cv::Mat image as input, an empty vector for keypoints, and another cv::Mat as an optional mask for a specific area of the image to look for keypoints in.Note that the cv::Mat object has taken over image and matrix storage duty for all of the formerly separate image and matrix classes in the earlier releases of OpenCV.