我们正在尝试开发用于我们大学项目的板球的HawkEye系统。 中的HawkEye系统中使用的过程如下:从投球手的手的球在时间(不同点)的不同实例的如何识别图像中的球,然后使用3D模型(HawkEye系统)
- 图像到击球手的(球的整个飞行过程中)需要
- 在整个飞行过程中确定球在不同时间点的(x,y)坐标
- 将(x,y)坐标转换为相应的三维坐标(x,y,z)
- 建模在整个球的飞行过程中球的轨迹以及球的周围环境,的UDE场,沥青,小门,体育场
- 延长了球的轨迹来看球是否会打小门或不
到目前为止,这是我们的计划来完成这个项目:
我们将从腿部裁判的位置拍摄击球手的视频,然后在vlc播放器中以慢动作播放该视频,并同时拍摄多个球的飞行截图,我想这会照顾第1步
但是现在我们被困在步骤2中,我们遇到的问题现在就是如何在特定的情况下(从腿部拍摄的球的图像)识别和找到球的(x,y)坐标,如果我们能够找到球的(x,y)并且如果摄像机距某个参考点的距离已知,那么我们可以找到图像的深度,即z坐标,因此我们可以找出相应的(x,y,z)坐标,然后我们可以用三维使用OpenGL
我们正在努力实现它在C++
赞赏:)任何帮助
快速编辑:
我才知道,在现实的HawkEye系统6摄像机在板球场的周围进行调整,所有摄像机以60度角度分开,HawkEye可以使用4台摄像机完美地工作,但为了更好的精度,使用了2台额外的摄像机。 因为我们没有这么多的相机,我想我们将使用3台相机保持在120度的场地周围,并减少复杂性,我们将选择一个半径为5米的小场,但我们不确定在哪里放置相机以获得更准确的结果,可能的位置可以是:一个在腿边,一个在外侧,第三个在前面,但我仍然不确定哪个位置选择
这种方式称为多摄像机标定和球的认可,我认为我们应该选择的OpenCV在MATLAB因为OpenCV的
你什么都要说做了更快速的图像处理的?
我想你将不得不使用多个摄像头来正确计算出轨迹。鹰眼似乎使用4(http://en.wikipedia.org/wiki/Hawk-Eye) – 2011-04-20 10:45:53
的确。例如,方形裁判不能判断球是击球还是失去球或腿 - 他所能判断的只有身高。从投球手的末端,您可以更好地了解球门相对于检票口形成的矩形的轨迹。当然,这在一个方面也是趋于平坦的,但在判断lbw时更容易弥补的一个维度。即使如此,投球手的裁判也在使用两台摄像机:-) – 2011-04-20 10:52:32