3

实际上是做什么的SimpleBlobDetector

它返回了一些点给我,但这些点是什么?

斑点检测器是否找到具有相似属性(包括颜色)的图像区域?

我可以检索找到的斑点的轮廓吗?我detectEx在网上的一些示例中看到了函数调用,但在 OpenCV 2.4.5 中没有看到这样的函数。现在用什么代替这个功能?

更新

以下是文档中描述 blob 检测算法的方式:

  1. 通过应用从 minThreshold(包括)到 maxThreshold(不包括)的多个阈值以及相邻阈值之间的距离 thresholdStep,将源图像转换为二值图像。
  2. 通过 findContours() 从每个二值图像中提取连通分量并计算它们的中心。
  3. 通过坐标对多个二值图像的中心进行分组。闭合中心形成一组,对应一个 blob,由 minDistBetweenBlobs 参数控制。
  4. 从这些组中,估计 blob 的最终中心及其半径,并作为关键点的位置和大小返回。

不清楚 blob 是否应该是圆形的!

4

1 回答 1

4

它返回的点是图像中斑点的中心。假设斑点是圆形的,并且大小存储为使用detect()函数获得的输出向量中的关键点的大小。您可以使用链接中指定的基于颜色的过滤来指定要查找的 blob 的颜色。设置filterByColor = true并指定您正在寻找的颜色blobColor

如果您正在寻找轮廓,则需要将过程分解为更精细的步骤。获得二值图像的第一个阈值。然后使用findContoursOpenCV 中的函数。

于 2013-06-18T12:58:12.203 回答