Reputation: 113
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?
Upvotes: 10
Views: 5475
Reputation: 41765
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
.
Upvotes: 14