一种中长跑运动的计时方法
技术领域
本发明涉及运动计时技术领域,具体是一种中长跑运动的计时方法。
背景技术
在长跑等运动中,以前通常会采用人工掐表的方式进行计圈计时,后来逐步利用射频技术来实现计时,即每个人携带一个具有射频功能线圈的标识,通过在终点线上识别该标识来计算出圈数和计时。这样的计时方式非常不方便,不仅需要跑步人员携带标识而影响跑步运动,而且通常需要在终点线上安装各种能够识别跑步人员标识的射频设备,安装麻烦且工作比较繁琐,不利于方便快捷的计时。
发明内容
针对现有技术的不足,本发明的目的提供一种中长跑运动的计时方法,其能够解决跑步运动中方便快捷计时的问题;
实现本发明的目的的技术方案为:一种中长跑运动的计时方法,包括依次进行的如下步骤:
步骤1:预设颜色标识,建立颜色标识与运动员的一一映射关系,以及建立与颜色标识对应的掩膜;
步骤2:获得包括颜色标识的至少一帧图像;
步骤3:对每一帧图像进行预处理,预处理后的图像只保留包含对应颜色标识所在的区域,并识别出包含对应颜色标识所在区域的所有轮廓,得到处理图像;
步骤4:计算处理图像的轮廓面积,并与预设的轮廓大小进行比较,忽略小于预设的轮廓大小的轮廓,若所述包含对应颜色标识所在区域的所有轮廓均小于预设的轮廓大小,则删除对应的处理图像,剩余的处理图像作为有效图像,有效图像中的轮廓称之为有效轮廓,有效轮廓即为大于等于预设的轮廓大小的轮廓;
步骤5:识别出所有的有效图像的有效轮廓的凸包,并得到凸包的角点,计算出各角点在二维坐标系下的横坐标值;
步骤6:按有效图像的帧时间依次比较每一张有效图像的最左端的角点的横坐标与中轴线的横坐标的大小,其中,颜色标识为j对应的运动员的第i张有效图像Fi,j的最左端的角点的横坐标为Xi,j,中轴线的横坐标为X中,当Xi,j≤X中且Xi-1,j>X中,则将有效图像Fi,j视为颜色标识为j对应的运动员到达或超过终点线后所拍摄到的第一帧图像,并将有效图像Fi,j的帧时间作为颜色标识为j对应的运动员当前的计时成绩;
并将满足Xi,j≤X中且Xi-1,j>X中的有效图像Fi,j记为计时帧图像,每出现一张计时帧图像则将K进行加1,K的初始值为0;
步骤7:接收预设的N值,N表示运动员需要完成的全程圈数,当K=N时,则最终运动员到达终点线的时间T按公式①计算:
T=TN------①
其中,TN表示最后一张计时帧图像的帧时间,并结束处理。
进一步地,所述预处理包括依次进行的如下步骤:
对帧图像的尺寸进行缩小,缩小后的帧图像的尺寸记为M×N(M和N均为正整数);
将缩小后的帧图像按顺序依次与每一个掩膜做位与运算,直至得到包含对应颜色标识所在的区域的帧图像,并将颜色标识所在区域的轮廓识别出来,或与所有掩膜均做完位与运算后仍未得到包含对应颜色标识所在的区域的帧图像,则将该帧图像删除;
进行腐蚀处理;
进行膨胀处理,并得到预处理后的处理图像。
进一步地,对所述帧图像的尺寸进行缩小一半。
进一步地,所述获得包括携带有颜色标识的运动员和终点线的至少一帧图像,具体实现过程包括如下步骤:
将摄像头设置在终点线的正上方,并使得摄像头拍摄终点线前后距离相同,使得终点线位于帧图像的正中位置。
进一步地,所述摄像头拍摄终点线前后距离≤5米。
本发明的有益效果为:本发明可以使长跑的计时工作非常方便地进行,计时更方便,节省了大量的人力物力;通过颜色标识可以测试大量运动员同时进行跑步的计时,并且不会因为乱道问题而不能进行计时,准确度也大大提高,还可以同时保存测试的视频资料,使得测试可以复查以保证测试的公平、公正与公开。
附图说明
图1为实施例一的流程图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
如图1所示,一种中长跑运动的计时方法,包括依次进行的如下步骤:
步骤1:预设至少一个的颜色标识,并对每一个颜色标识建立RGB数组以及RGB数组的上限和下限,例如红色下限为(0,0,200)和上限为(90,90,255),建立RGB数组的上限和下限,目的在于让计算机对颜色标识建立掩膜,以更准确识别出颜色标识。同时,将各颜色标识与运动员建立一一映射关系,以使得通过颜色标识识别出运动员。颜色标识设置多少种,也就意味着计算机可以识别出多少个运动员,这在大量运动员比赛的场景中,具有非常重要的意义,既方便又不会因为运动员乱道(例如运动员原本在6号跑道,到达终点线时则在1号跑道,即视为乱道)而不能准确对该运动员进行计时。
所述颜色标识可以是运动员穿着有颜色的衣服或携带有颜色的标志物(例如印有颜色的号码牌),从而可以通过计算机视觉识别到该颜色标识从而识别出运动员。颜色标识包括各种能被计算机识别出的颜色,优选为不透明的纯色,例如纯红色或纯绿色或纯黄色等,从而将颜色标识与运动员建立一一映射关系,以使得每一个颜色标识唯一识别一个运动员,例如红色代表①号运动员,蓝色代表②号运动员等。或者直接采用编号进行识别运动员,或者采用编号、颜色和运动员建立三者之间的一一映射关系来识别运动员。
步骤2:开启摄像头对运动员携带有颜色标识的标志物进行拍摄视频或拍摄图像,读取视频中的图像或直接获取拍摄图像,得到包含颜色标识的帧图像,也即帧图像中包括有颜色标识。为了保证摄像头能够拍摄到到运动员经过终点线上的帧图像,摄像头接收到起跑开始信号后,开始拍摄,因此拍摄帧图像的起始时间与起跑开始的时间是同步开始的。
为了能够拍摄到运动员到达终点线的合适的图像(到达终点线的图像可能为运动员接近终点线或刚好经过终点线或刚离开终点线的图像),为此:
在终点线的跑道一侧竖直设置支撑杆,支撑杆上设置摄像头,摄像头设置在终点线的正上方,确保摄像头能够拍摄到终点线前后各5米(该距离可根据摄像头及实际需求进行调整)以内的范围,即摄像头正对焦于终点线,使得摄像头拍摄到终点线的前后距离是相同的,从而保证拍摄到的帧图像中,终点线正好位于帧图像的正中位置;同时能够覆盖整个跑道宽度范围,通常整个跑道的宽度在10米左右,摄像头能够拍摄跑道的左右10米(覆盖跑道宽度)、终点线的前后各5米以内的范围(确保能够有效捕捉到运动员到达终点线前、刚好到达终点线及到达终点线后的图像)。
通常摄像头拍摄的视频的帧率为30帧/秒,按照普通人跑步的最快速度为10米/秒计算,每帧之间的距离不大于0.3米。
以摄像头高度为3米,能够拍摄终点线前后各3米的距离来计算,摄像头能拍摄到选手胸部、肩部的距离大约在终点线前后1.5米以内;以普通人最快的速度计算,能拍摄到其身着背心的画面大约有1.5/0.3=5帧画面,也即运动员每跑完一圈能够得到包含颜色标识的有效图像有不少于5帧图像,因此采用普通的摄像头完全能够拍摄到一个运动员正常跑步时的图像,也即能够拍摄到运动员到达终点线或接近终点线前后的运动员运动的图像,并识别出运动员的颜色标识。当然如果采用帧率更高的摄像头,则能够拍摄到更多的帧画面。
由于前后两帧画面的时间差为0.033秒,因此计时的误差也在0.033秒以内,这样计时的精准度完全能够满足一般的体育运动体测的要求。
步骤3:对帧图像进行预处理,得到处理图像,预处理依次包括:
缩小帧图像,将原始的帧图像的尺寸缩小一半,缩小后的帧图像的尺寸记为M×N(M和N均为正整数),通过对原始的帧图像进行缩小处理,可以有效减小计算量。例如,通常原始的帧图像的尺寸为1920*1080,帧图像缩小后的尺寸为960*540。
将缩小后的帧图像与掩膜做位与运算,通过位与运算,可以将帧图像中不含掩膜的区域屏蔽掉,也就是将帧图像中的背景区域去掉,而只保留颜色标识所在的区域,并识别出包含对应颜色标识所在区域的所有轮廓,并将没有包含颜色标识的帧图像舍弃掉,因此,经过与掩膜做位与运算处理得到的帧图像均为包含颜色标识的帧图像。如果没有包含颜色标识的帧图像,这是由于运动员未在摄像头的拍摄范围内,摄像头未拍摄到颜色标识,通过位与运算后可以将所有没有没有包含颜色标识的帧图像识别出来并删除掉。
然后进行腐蚀处理。
然后进行膨胀处理,从而得到预处理后的处理图像。
步骤4:计算处理图像的轮廓面积,并与预设的轮廓大小进行比较,轮廓大小可以是图像轮廓的面积或长宽的尺寸或像素或其他,如果小于预设的轮廓大小,则忽略小于预设的轮廓大小的轮廓,也即舍弃小于预设轮廓大小的轮廓,若所述包含对应颜色标识所在区域的所有轮廓均小于预设的轮廓大小,则删除对应的处理图像,剩余的处理图像作为有效图像,有效图像中的轮廓称之为有效轮廓,有效轮廓即为大于等于预设的轮廓大小的轮廓,经过本步骤处理后得到有效图像。
有时,运动员的鞋服的颜色可能与颜色标识的颜色相同,例如运动员穿着的裤子或鞋的颜色与颜色标识的颜色相同,而鞋服的颜色可能被摄像头拍摄到而被误认为颜色标识而带来计时成绩的误判。针对这种情况,通过预设的轮廓大小可以将即使与颜色标识的颜色相同的颜色也可以剔除,从而使得有效图像只保留真正为颜色标识的帧图像。
步骤5:识别出所有的有效图像中轮廓的凸包,得到凸包的角点,并计算出各角点在二维坐标系下的横坐标值,当然纵坐标值也可以计算出,但并非必需,本实施例以有效图像的最左下角的点作为坐标原点。
步骤6:按有效图像的帧时间(也即是该帧图像的拍摄时间)依次比较每一张有效图像的最左端的角点的横坐标与中轴线(也即终点线)的横坐标的大小,其中,颜色标识为j对应的运动员的第i张有效图像Fi,j的最左端的角点的横坐标为Xi,j,中轴线的横坐标为X中。由于有效图像的尺寸是固定的,即横坐标的最大值是固定的,而中轴线也即终点线在有效图像中的位置也是固定的,且中轴线的横坐标为有效图像的尺寸的一半,即为横坐标的最大值的一半;当Xi,j≤X中且Xi-1,j>X中,则将有效图像Fi,j视为颜色标识为j对应的运动员到达或超过终点线后所拍摄到的第一帧图像,并将有效图像Fi,j的帧时间作为颜色标识为j对应的运动员当前的计时成绩;
并将满足Xi,j≤X中且Xi-1,j>X中的有效图像Fi,j记为计时帧图像,每出现一张计时帧图像则将K进行加1,K的初始值为0;
步骤7:当K=N时,N表示运动员需要完成的全程圈数,也即需要经过终点线的次数,N值提前预设,则最终计算得到的到达终点线的时间为第K张计时帧图像的帧时间,也即是将最后一张计时帧图像的帧时间TN作为最终的计时成绩T,即T=TN。计算得到T值,则结束处理。
例如,运动员需要跑完2000米,一个标准跑道全程为400米,则需要跑5次才能跑完全程,即N=5。此时,终点线即为起点线,忽略运动员在起点线刚开始起跑的拍摄图像,因为摄像头开始拍摄与起跑开始信号是同步的,而通常运动员也是在获得起跑开始信号后立即起跑的,因此可以忽略运动员刚开始即在终点线的情况。若不忽略运动员在起点线开始起跑时候的拍摄图像,则N=6。
在忽略运动员在起点线刚开始起跑的拍摄图像的情况下(即N=5):
当运动员第一次经过终点线,被摄像头拍摄到5个帧画面,分别记为第一帧画面至第五帧画面,经过上述步骤处理后,得到5张有效图像,即得到第一张有效图像至第五张有效图像,假设第三张有效图像的最左端的角点的横坐标小于等于中轴线的横坐标,且第二张有效图像的最左端的角点的横坐标大于中轴线的横坐标,则将第三张有效图像的帧时间作为当前运动员的计时成绩(即跑完第一圈的计时成绩),即第三张有效图像为计时帧图像,此时K=1;
同样的,当运动第二经过终点线,也被摄像头拍摄到5个帧画面,分别记为第六帧画面至第十帧画面,经过上述步骤处理后,得到5张有效图像,即得到第六张有效图像至第十张有效图像,假设第七张有效图像为计时帧图像,则将第七张有效图像的帧时间作为当前运动员的计时成绩(即跑完第二圈的计时成绩),此时K进行加1,得到K=2;依次类推,当运动员第五次经过终点线(即实际上运动员已跑完全程),也被摄像头拍摄到5个帧画面,并假设第二十三张有效图像的帧时间作为当前运动员的计时成绩,即第二十三张有效图像为计时帧图像,此时得到K=5,因此,该运动员最终的计时成绩T=TN=第二十三张有效图像的帧时间(此时,N=5)。
最左端的角点也即代表运动员身体最前端,即最先到达终点线的身体部位,这是跟拍摄的角度有关,运动员从摄像头的右侧进入摄像头的拍摄范围,则最左端的角点代表运动员身体最前端,即最先到达终点线的身体部位,反之,如果运动员从摄像头的左侧进入摄像头的拍摄范围,则最右端的角点代表运动员身体最前端,即最先到达终点线的身体部位。最左端的角点的横坐标值范围由步骤3缩小后的帧图像的尺寸有关,例如本实施例中,缩小后的帧图像的尺寸为960*540,则最左端的角点的横坐标值范围为0-960,由于摄像头处于终点线的正上方,因此拍摄到的图像,终点线应该正好位于图像的正中位置,即帧图像的横向尺寸(即960)的一半(960/2=480)代表了中轴线,也即终点线的横坐标值正好为横向尺寸的一半。
本说明书所公开的实施例只是对本发明单方面特征的一个例证,本发明的保护范围不限于此实施例,其他任何功能等效的实施例均落入本发明的保护范围内。对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。