2

我想创建一个程序,可以识别视频源中的箭头并确定它们指向的方向(左或右)。我的目标是将这个程序与 arduino 机器人一起使用,以确定机器人应该移动的方向。

我的问题是使用哪种方法。我已将选择范围缩小到模板匹配或 SURF。模板匹配很好,因为它与旋转无关,因此可以确定左右箭头。但是,由于机器人将移动,模板箭头的大小可能不等于视频源的大小,从而导致不匹配。

SURF 解决了这个问题,但它是旋转不变的。这意味着左箭头和右箭头将被视为同一事物。

谁能建议我可以用于该程序的方法。

提前感谢您的帮助

PS 我将使用 OpenCV 来实现。

4

1 回答 1

2

我设法通过使用精明的边缘检测和 HoughLinesP 解决了这个问题。该系统运行良好,但旋转范围有限,无法正确检测方向(约 15 度)。

基本上我首先执行颜色检测来检测箭头,然后使用 houghlinesp 找到它的轮廓。在这些行中,我消除了所有水平或垂直的行,只留下尖端的行,如红色所示。然后我使用每条线的端点来确定方向。

在此处输入图像描述

于 2014-05-30T01:53:35.463 回答