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:
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.
Blob stands for Binary Large Object and refers to the connected pixel in the binary image. The term "Large" focuses on the object of a specific size, and that other "small" binary objects are usually noise.
In computer vision, blob detection methods are aimed at detecting regions in a digital image that differ in properties, such as brightness or color, compared to surrounding regions.
The method of analyzing an image that has undergone binarization processing is called "blob analysis". A blob refers to a lump. Blob analysis is image processing's most basic method for analyzing the shape features of an object, such as the presence, number, area, position, length, and direction of lumps.
It loads the image in BGR format.
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.
You should take a look at the new opencvblobslib. It has great features like multi core support.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With