There is a minRepeatability
parameter in SimpleBlobDetector
in OpenCV. What is the use of this parameter. How will it affect blob detection if I vary it from 1 to, say, 20?
simpleBlobDetector implements a simple algorithm for extracting blobs an Image object. A blob is a region in an image that differs in properties (e.g. brightness, color) from surrounding regions.
In Image processing, blob detection refers to modules that are aimed at detecting points and/or regions in the image that differ in properties like brightness or color compared to the surrounding.
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. There are three processes regarding BLOB analysis.
The relevant code is in blobdetector.cpp.
The detect
function (the only one using minRepeatability
):
minThreshold
to maxThreshold
with thresholdStep
) on the grayscale imageminDistBetweenBlobs
), then it (basically) increases a counter for that blob. minRepeatability
, then it's a stable blob, and produces a KeyPoint
, otherwise the blob is discarded.So minRepeatability
is how a blob is stable across different thresholds on the grayscale image.
Default values are:
thresholdStep = 10;
minThreshold = 50;
maxThreshold = 220;
minRepeatability = 2;
minDistBetweenBlobs = 10;
The max valid value for minRepeatability
is then: (maxThreshold - minThreshold) / thresholdStep
, or every blob will be discarded. The minimum valid value is 1, meaning that all blobs will be kept and provide a KeyPoint
.
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