-2

我是 OpenCV 的新手。我想从事一个小项目来跟踪齿轮的旋转速度(通过使用网络摄像头)。但是,直到现在,我不知道如何处理这个问题。发布的图片显示了一台包含两个“大”齿轮的机器。我只对左侧的齿轮感兴趣(我突出显示的红线)。

关联

我的计划是:

  1. 提取感兴趣的齿轮区域。

  2. 屏蔽所有不相关的区域。因此,蒙版图像仅显示左侧齿轮 (ROI)。

  3. ......

    问题是,如何定位/提取/屏蔽 ROI 和屏蔽?
    我通过一些关于 的示例cvMatchTemplate(),但它不支持旋转和缩放。由于使用网络摄像头,捕获的图像可能会缩放或旋转。cvfindcontour()将提取图像中的所有轮廓而不是 ROI。

4

1 回答 1

5

如果您以前知道齿轮,您可以使用它的图片通过 SIFT、SURF、FAST 或任何角点检测算法提取关键点。然后执行以下操作:

1- 在每一帧上应用 FAST 来检测关键点。

2- 从这些关键点中提取 SIFT 描述符

3-将场景中检测到的点与您之前从图像中提取的点匹配。您可以为此使用 FLANN 匹配器。

4- 这些匹配将定义场景中包含您正在寻找的装备的区域。

这不是微不足道的,因此您需要在 OpenCV 文档中查找有关使用所有这些功能的信息。

于 2012-08-22T07:39:49.970 回答