视频中的箭头识别

时间:2014-05-27 21:08:51

标签: opencv surf vision template-matching

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

我的问题是使用哪种方法。我将选项缩小到模板匹配或SURF。模板匹配很好,因为它是旋转独立的,因此它可以确定左右箭头之间。但是,由于机器人将移动,模板箭头的大小可能不等于视频源的大小,导致没有匹配。

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

任何人都可以建议我可以用于此计划的方法。

提前感谢您提供任何帮助

P.S我将使用OpenCV进行实施。

1 个答案:

答案 0 :(得分:2)

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

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

enter image description here