问题
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.
回答1:
You should use the SimpleBlobDetector class in OpenCV 2.4. You pretty much create an object of type SimpleBlobDetector
and then call the detect(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.
回答2:
You should take a look at the new opencvblobslib. It has great features like multi core support.
来源:https://stackoverflow.com/questions/13530054/blobs-with-opencv-which-library-is-best