我是 OpenCV 的新手。我想从事一个跟踪齿轮转速的小项目(通过使用网络摄像头)。但是,直到现在,我都不知道如何处理这个问题。发布的图片显示了一台包含两个“大”齿轮的机器。我只对左侧的齿轮感兴趣(我突出显示的红线)。
我的计划是:
提取感兴趣的齿轮区域。
屏蔽所有不相关的区域。因此,蒙版图像仅显示左侧齿轮 (ROI)。
.....
问题是,如何定位/提取/屏蔽 ROI 和屏蔽?。
我通过一些关于 的例子cvMatchTemplate(),但它不支持旋转和缩放。由于使用网络摄像头,捕获的图像可能会缩放或旋转。cvfindcontour()将提取图像中的所有轮廓而不是 ROI。
如果您以前知道齿轮,您可以使用它的图片通过 SIFT、SURF、FAST 或任何角检测算法提取关键点。然后做如下操作:
1- 在每一帧上应用 FAST 来检测关键点。
2- 从这些关键点中提取 SIFT 描述符
3- 将场景中检测到的点与您之前从图像中提取的点进行匹配。您可以为此使用 FLANN 匹配器。
4- 这些匹配将在场景中定义一个包含您正在寻找的装备的区域。
这并非微不足道,因此您需要在 OpenCV 文档中查找有关使用所有这些功能的信息。
| 归档时间: |
|
| 查看次数: |
1103 次 |
| 最近记录: |