该项目是我所在大学达姆施塔特工业大学 VR/AR 课程的一部分。该项目的目的是开发一个自动飞镖计分器应用程序,两个玩家可以玩飞镖游戏,而无需专注于计分。该应用程序使用 OpenCV 作为计算机视觉部分,使用 Pyside2 作为 GUI。
我们使用校准的网络摄像头捕获视频流并使用 OpenCV 对其进行处理,以提取板上的飞镖并跟踪玩家。
完整的检测管道如下所示:
此流程图总结了整个流程(目前仅提供德语):
您将需要:
将标记放置在飞镖周围,如下图所示,并确保它们可见。将网络摄像头放置在飞镖靶前约 1 米远且稍微偏右的位置,这样就不会妨碍投掷飞镖。
重要提示:您需要良好的照明才能获得良好的效果。只有飞镖靶正上方的照明是不好的。最佳的选择是带有扩散器的环形灯,如下所示:
我们遇到了一些问题,电路板的晃动会在检测中引起噪音。我们通过 3D 打印电路板安装座解决了这个问题:
只需克隆存储库并运行以下命令:
pip install -r requirements.txt
首先您需要校准相机。这可以通过校准脚本来完成。然后你可以启动main_with_gui.py。图形用户界面如下所示: