OpenCV中SimpleBlobDetector的minRepeatability参数有什么用?

时间:2015-10-06 15:14:18

标签: opencv

OpenCV中的minRepeatability中有SimpleBlobDetector个参数。这个参数有什么用?如果我将它从1变为20,那将如何影响blob检测?

1 个答案:

答案 0 :(得分:7)

相关代码位于blobdetector.cpp

.Where(Function(s) s.Length >= 72) _函数(使用detect的唯一函数):

  1. 在灰度图像上找到不同阈值(从minRepeatabilityminThreshold maxThreshold)的blob中心
  2. 如果在不同的阈值(在thresholdStep内)找到相同的斑点中心,则它(基本上)会增加该斑点的计数器。
  3. 如果每个blob的计数器是> = minDistBetweenBlobs,那么它稳定 blob,并产生minRepeatability,否则blob将被丢弃。
  4. 因此KeyPoint是blob在灰度图像上的不同阈值稳定的方式。

    默认值为:

    minRepeatability

    thresholdStep = 10; minThreshold = 50; maxThreshold = 220; minRepeatability = 2; minDistBetweenBlobs = 10; 的最大有效值为:minRepeatability,或者每个blob都将被丢弃。最小有效值为1,表示将保留所有blob并提供(maxThreshold - minThreshold) / thresholdStep