红外激光识别银幕不同射击点的方法及系统
技术领域
本发明涉及图像识别技术领域,尤其涉及基于PLC控制的红外激光识别银幕不同射击点的方法及系统。
背景技术
随着多媒体技术,计算机技术以及大银幕显示技术等的快速发展,大银幕射击游戏越来越受人们欢迎,从而引发人们对银幕射击点识别技术的研究。
现有的银幕多射击点识别技术,是把枪固定在某一平台上,然后通过定位器与屏幕之间的角度去分析射击点在银幕的位置,通过不同角度可以知道多个射击点的位置。然而,在实际游戏过程中,由于枪受到外力作用,定位器经常容易发生损坏。另外,由于定位器之间的计算角度存在较大误差,实际射击点与游戏屏幕射击点就出现较大偏差。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供基于PLC控制的红外激光识别银幕不同射击点的方法及系统,旨在解决现有基于PLC控制的红外激光识别银幕不同射击点的中游戏枪位置固定,而且定位器容易损坏,射击点识别不准确的问题。
为了达到上述目的,本发明采取了以下技术方案:
一种基于PLC控制的红外激光识别银幕不同射击点的方法,其中,所述方法包括:
A、游戏枪接收用户指令,向游戏屏幕发射预定波长的光线;
B、摄影设备获取游戏屏幕的每一个视频帧;
C、获取所述特定波长的光线在视频帧中形成的光点的位置以识别游戏枪射击位置。
所述的基于PLC控制的红外激光识别银幕不同射击点的方法,其中,步骤A具体包括:游戏枪接收用户指令,以大于等于预设的间隔时间向游戏屏幕发射预定波长的光线,其中,所述预设的间隔时间具体为使同一视频帧中至多出现一把游戏枪发射的预定波长的光线。
所述的基于PLC控制的红外激光识别银幕不同射击点的方法,其中,所述游戏枪为多把,所述步骤A具体为:
多把游戏枪接收用户指令,以大于等于1.2到1.8个视频帧的间隔时间轮流向游戏屏幕发射预定波长的光线。
所述的基于PLC控制的红外激光识别银幕不同射击点的方法,其中,所述步骤C具体包括:
C1、在摄影设备中设置一滤光片,滤除非预定波长的光线;
C2、获取只显示预定波长光线的所形成光点的视频帧;
C3、计算所述光点在游戏屏幕的位置来识别游戏枪的射击位置。
所述的基于PLC控制的红外激光识别银幕不同射击点的方法,其中,所述预定波长的光线具体为红外激光。
一种基于PLC控制的红外激光识别银幕不同射击点的系统,其中,所述系统包括:
发射控制模块,用于控制游戏枪接收用户指令,向游戏屏幕发射预定波长的光线;
获取控制模块,用于控制摄影设备获取游戏屏幕的每一个视频帧;
识别模块,用于获取所述特定波长的光线在视频帧中形成的光点的位置以识别游戏枪射击位置。
所述的基于PLC控制的红外激光识别银幕不同射击点的系统,其中,发射控制模块包括发送控制单元,用于控制游戏枪接收用户指令,以大于等于预设的间隔时间向游戏屏幕发射预定波长的光线;所述预设的间隔时间具体为使同一视频帧中至多出现一把游戏枪发射的预定波长的光线。
所述的基于PLC控制的红外激光识别银幕不同射击点的系统,其中,所述游戏枪为多把,发射控制模块还用于,控制多把游戏枪接收用户指令,以大于等于1.2到1.8个视频帧的间隔时间轮流向游戏屏幕发射预定波长的光线。
所述的基于PLC控制的红外激光识别银幕不同射击点的系统,其中,所述摄像设备具体包括一用于滤除非预定波长光线的滤光片,所述识别模块具体包括视频帧获取单元,用于获取只显示预定波长光线所形成的光点的视频帧,计算单元,用于计算所述点在游戏屏幕的位置来识别游戏枪的射击位置。
所述的基于PLC控制的红外激光识别银幕不同射击点的系统,其中,所述预定波长的光线具体为红外激光。
有益效果:本发明提供的基于PLC控制的红外激光识别银幕不同射击点的方法及系统,当游戏者持枪对准银幕进行射击时,通过摄像机抓拍银幕形成图像帧,利用软件对图像帧进行图像处理,由于摄像机中的滤光片会把除了枪中特定波长激光外的其他光线过滤掉,抓拍回来的图像帧就能很简单的识别出枪射击在银幕上的位置,由PLC控制不同枪的轮流发射时间(1.5个视屏帧)并保证同一时间内只允许一把枪射击并记下该枪的编号,从而知道银幕上的点是由该枪射击造成的。本发明通过获取游戏枪发射的光线打在屏幕上的位置,来识别对应游戏枪的射击位置,使游戏枪能够随意移动,有效的提高了识别准确率,设备可靠性强,不易损坏,结构简单,制作成本低。即本发明识别点准确率高,枪是自由移动的,不易损坏,结构简单,制作成本低,适合于推广使用。
附图说明
图1为本发明具体实施例的基于PLC控制的红外激光识别银幕不同射击点的方法的流程图。
图2为本发明具体实施例的基于PLC控制的红外激光识别银幕不同射击点的系统的结构框图。
图3为本发明具体实施例的基于PLC控制的红外激光识别银幕不同射击点的方法中并未存在预定波长光线形成的光点的视频帧图像。
图4为本发明具体实施例的基于PLC控制的红外激光识别银幕不同射击点的方法中预定波长光线在视频帧中形成的光点的图像。
图5为本发明具体实施例的基于PLC控制的红外激光识别银幕不同射击点的方法的摄影设备与游戏屏幕的位置关系示意图。
具体实施方式
本发明提供基于PLC控制的红外激光识别银幕不同射击点的方法及系统。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明的基于PLC控制的红外激光识别银幕不同射击点的方法的具体实施例。所述方法包括:
S100、游戏枪接收用户指令,向游戏屏幕发射预定波长的光线;
较佳地,通过游戏枪接收用户指令,以大于等于预设的间隔时间向游戏屏幕发射预定波长的光线。
游戏枪接收到用户指令后,判断此时与上一次发射之间的间隔时间是否大于等于预设的间隔时间,若是,则向游戏屏幕发射所述预定波长的光线,若否,则不发射。所述预设的间隔时间可以通过具备相应功能的PLC进行控制。
所述预定波长的光线可以是单一波长的光线,也可以使在一定波长范围内的光线。较佳的是,所述光线可以采用能量较高的,容易识别,不容易散射或者指向性较强的光线,例如,红外激光,绿色激光等。所述红外激光可以使用红色激光发射器生成。
S200、摄影设备获取游戏屏幕的每一个视频帧。
所述摄影设备可以是任何能够获取游戏屏幕图像的视频帧的设备,例如,摄像机,照相机等。
S300、通过获取所述特定波长的光线在视频帧中的位置识别游戏枪射击位置。
将摄影设备获取的视频帧传输到具备控制分析功能的功能模块中,分析所述特定波长的光线在视频帧中的位置,并据此相应的计算出对应的所述特定波长的光线打在游戏屏幕位置,从而确定游戏枪的射击位置,并将该位置信息传输到游戏设备中,供游戏设备进行其他后端操作。
较佳的是,所述预设的间隔时间具体为使同一视频帧中至多出现一把游戏枪发射的预定波长的光线。
上述间隔时间保证在同一视频帧中,每次最多出现一把游戏枪发射的光线,使视频帧中的识别点降低为1个,能够有效的降低对视频帧图像处理的计算量,极大的方便了对预定波长光线的识别。同时,一般游戏播放的帧率标准都在24帧/s。因此,实际上每把游戏枪发射之间的间隔时间也会非常短,不会在用户进行游戏时造成停顿,不流畅的感觉。
具体的,当所述游戏枪设置为多把时,多把游戏枪接收用户指令,以1.2到1.8个视频帧的间隔时间轮流向游戏屏幕发射预定波长的光线,较佳的,将间隔时间设置为1.5个视频帧。上述间隔时间的设置能够增强识别方法运行的稳定性,较好的保证了在一个视频帧中只会出现一把游戏枪发射光线所形成的光点。当然,为实现对不同游戏枪发射光线的识别,需要将每把游戏枪与对应视频帧对应。例如,具有编号为1,2,3的三把游戏枪,PLC控制不同编号的枪以间隔时间(例如1.5个视屏帧)接收用户指令轮流发射,并保证同一时间内只允许一把枪发射激光。在发射激光的同时,PLC记住该枪的编号。当摄影设备拍摄游戏屏幕并识别到游戏屏幕上的射击点时,把射击点与PLC中枪的编号进行一一对应,从而识别了对游戏枪射击位置的识别。
具体的,步骤S300具体包括:首先,在摄影设备中设置一滤光片,滤除非预定波长的光线。然后,获取只显示预定波长光线打在视频帧中所形成的光点的视频帧。最后,通过计算所述点在游戏屏幕的位置来识别游戏枪的射击位置。
当然,若视频帧中并未存在预定波长光线形成的光点,则表示此时没有游戏枪进行射击,无需进行射击位置识别。
如图3所示,为视频帧中并未存在预定波长光线形成的光点的视频帧图像。如图4所示则为预定波长光线在视频帧中形成的光点的图像。图3及图4所示均为经过图像处理后的灰度图。
上述设置滤光片的滤除其他背景光线的方法,可以使最终获得的视频帧为黑白两色的图像,避免了视频帧图像背景对识别结果的影响,进一步简化了视频帧图像识别的运算量,有效的提高了运算的速度,并且能够具有很高的识别准确率。当然,也可以采用软件的方法实现,例如,采用图像掩膜的方式。
在完成所述光点位置的识别后,通过相应的计算,得出最后的游戏枪在游戏屏幕中的射击位置。较佳的是,如图5所示,将摄影设备200正对游戏屏幕10设置,使视频帧画面与游戏屏幕具备确定的对应关系,简化最终的位置运算过程。
本发明还提供了一种基于PLC控制的红外激光识别银幕不同射击点的系统。如图2所示,为本发明所述系统的具体实施例。所述系统包括:放映游戏画面的游戏屏幕10,发射预定波长的光线的游戏枪100,获取游戏屏幕10每一视屏帧的摄影设备200;
所述系统还包括:
发射控制模块300,用于控制游戏枪接收用户指令,向游戏屏幕发射预定波长的光线。
获取控制模块310,用于控制摄影设备获取游戏屏幕的每一个视频帧。
识别模块400,用于获取所述特定波长的光线在视频帧中形成的光点的位置以识别游戏枪射击位置。具体如上所述。较佳的,所述预定波长的光线具体为红外激光。
具体的,发射控制模块包括发送控制单元,用于控制游戏枪接收用户指令,以大于等于预设的间隔时间向游戏屏幕发射预定波长的光线;所述预设的间隔时间具体为使同一视频帧中至多出现一把游戏枪发射的预定波长的光线。具体如上所述。
较佳的是,所述游戏枪为多把,发射控制模块还用于,控制多把游戏枪以1.2到1.8个视频帧的间隔时间轮流向游戏屏幕发射预定波长的光线。具体如上所述。
更具体的,所述摄像设备具体包括一用于滤除非预定波长光线的滤光片,所述识别模块具体包括视频帧获取单元,用于获取只显示预定波长光线打在游戏屏幕中的点的视频帧,计算单元,用于计算所述点在游戏屏幕的位置来识别游戏枪的射击位置。具体如上所述。
综上所述,本发明提供的基于PLC控制的红外激光识别银幕不同射击点的方法及系统,当游戏者持枪对准银幕进行射击时,通过摄影设备拍摄银幕获取视频帧,对视频帧进行图像处理及识别。采用在摄像机中设置滤光片,把除了枪中特定波长激光外的其他光线过滤掉,令能简单的识别出枪射击在银幕上的位置。由PLC控制不同枪的轮流发射时间并保证同一时间内只允许一把枪射击并记下该枪的编号,从而知道银幕上的点是由该枪射击造成的。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及本发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。