在OpenCV的SimpleBlobDetector
中有一个minRepeatability
参数。这个参数有什么用。如果我将它从 1 变为 20,它会如何影响 blob 检测?
最佳答案
相关代码在blobdetector.cpp中.
detect
函数(唯一使用minRepeatability
的函数):
- 在灰度图像上找到不同阈值(从
minThreshold
到maxThreshold
和thresholdStep
)的 Blob 中心 - 如果在不同的阈值(在
minDistBetweenBlobs
内)找到相同的 blob 中心,则它(基本上)增加该 blob 的计数器。 - 如果每个 blob 的计数器 >=
minRepeatability
,则它是一个稳定 blob,并生成一个KeyPoint
,否则该 blob 是丢弃。
minRepeatability
是 Blob 在灰度图像上跨不同阈值时稳定的方式。
默认值为:
thresholdStep = 10;
minThreshold = 50;
maxThreshold = 220;
minRepeatability = 2;
minDistBetweenBlobs = 10;
minRepeatability
的最大有效值为:(maxThreshold - minThreshold)/thresholdStep
,否则每个 blob 都将被丢弃。最小有效值为 1,这意味着将保留所有 blob 并提供一个 KeyPoint
。
关于opencv - OpenCV 中 SimpleBlobDetector 的 minRepeatability 参数有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32973537/