一种屏幕射击游戏定位方法、存储介质及装置与流程

文档序号:16600014发布日期:2019-01-14 20:14阅读:439来源:国知局
一种屏幕射击游戏定位方法、存储介质及装置与流程

本发明涉及游戏设备技术领域,尤其涉及一种屏幕射击游戏定位方法、存储介质及装置。



背景技术:

随着计算机多媒体信息产业的发展,大银幕射击游戏越来越为人所欢迎。现有的大银幕射击游戏多为枪上附灯,通过相机捕捉灯打在银幕上的光斑,通过识别出光斑在相机中的位置,进而换算出光斑在游戏屏幕中的位置。但是,当用户倾斜一定角度射击时,枪上附着的摄像头会以相同的倾斜角度拍摄目标图像,此时射击点定位不准,计算偏差较大;当多把枪同时射击时,光斑相似难以识别,计算误差较大,射击点定位不准,用户体验效果不佳;另外,体感枪也是一种较为熟知的射击游戏,它使用陀螺仪校准定位,而陀螺仪在解算姿态时存在漂移和电磁干扰的问题,同样会定位不准。针对传统的屏幕射击游戏无法满足倾斜角度射击和多用户同时射击的需要的现状,引发了人们对银幕射击点识别技术的研究。

因此,现有技术还有待于改进和发展。



技术实现要素:

鉴于上述现有技术的不足,本发明的目的在于提供一种屏幕射击游戏定位方法、存储介质及装置,旨在解决现有技术中屏幕射击游戏倾斜射击时定位不准的问题。

本发明的技术方案如下:

一种屏幕射击游戏定位方法,其中,包括步骤:

预先在屏幕上建立物理坐标系,标记若干个二维码,并为每个二维码建立一个自定义坐标系,同时为设置在光枪头上的摄像头的画面建立相机坐标系;

在光枪射击的同时,控制摄像头拍摄当前场景以获得相机图像,识别相机图像中的二维码,且选取其中一个二维码为最优码,并识别最优码各角点与相机图像中心点的相机坐标,以及最优码各角点在屏幕上的自定义坐标与物理坐标;

基于最优码各角点的自定义坐标及最优码各角点的相机坐标,得到最优码的自定义坐标系与相机坐标系之间的变换矩阵;

根据所述变换矩阵,将相机图像中心点的相机坐标变换为屏幕上对应的射击点的自定义坐标;根据最优码的自定义坐标和物理坐标的关系,由射击点的自定义坐标点推算出射击点的物理坐标。

所述的屏幕射击游戏定位方法,其中,所述二维码以肉眼不可见的红外线光点标记。

所述的屏幕射击游戏定位方法,其中,所述自定义坐标系、物理坐标系及相机坐标系均为直角坐标系。

所述的屏幕射击游戏定位方法,其中,通过opencv检测识别相机图像中的二维码及其四个角点的相机坐标。

所述的屏幕射击游戏定位方法,其中,选取其中一个二维码为最优码,具体包括:

当识别出唯一的二维码时,此二维码即为最优码;当识别出非唯一的二维码时,选取距离相机图像中心点最近的二维码为最优码。

所述的屏幕射击游戏定位方法,其中,当未识别出相机图像中的二维码时,则判断射击无效。

所述的屏幕射击游戏定位方法,其中,所述若干个二维码均匀标记在屏幕上,且屏幕的四个顶角必有一个二维码。

所述的屏幕射击游戏定位方法,其中,还包括步骤,根据屏幕的物理坐标和游戏坐标之间的线性关系,由射击点在屏幕上的物理坐标,计算求出射击点在游戏界面中的游戏坐标。

一种存储介质,其上存储有多条指令,其中,所述指令适合由处理器加载并执行如上所述的屏幕射击游戏定位方法。

一种屏幕射击游戏定位装置,其中,包括:

摄像头,设置于光枪头上;

处理器,适于实现各指令;以及

存储介质,适于存储多条指令,所述所述指令适合由处理器加载并执行如上所述的屏幕射击游戏定位方法。

有益效果:本发明通过预先在屏幕上建立物理坐标系,标记若干个二维码,并为每个二维码建立自定义坐标系,且为摄像头画面建立相机坐标系。在光枪射击时对屏幕进行拍照,获取图像中一个二维码为最优码,及最优码各角点在相机图像中的相机坐标,根据最优码各角点在其对应的自定义坐标系下的坐标及最优码各角点在拍摄的相机图像中的相机坐标的变换关系,得到一透视变换矩阵。基于此矩阵,得到相机图像中心点在屏幕上对应的射击点的自定义坐标,根据最优码的自定义坐标和物理坐标的关系,由屏幕上射击点的自定义坐标推算出射击点的物理坐标,从而解决了现有技术中屏幕射击游戏倾斜射击时定位不准的问题。

附图说明

图1为本发明所述屏幕射击游戏定位方法较佳实施例的流程图。

图2为本发明所述屏幕射击游戏定位装置的结构示意图。

具体实施方式

本发明提供一种屏幕射击游戏定位方法、存储介质及装置,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

一种屏幕射击游戏定位方法,如图1所示,包括以下步骤:

s1、预先在屏幕上建立物理坐标系,标记若干个二维码,并为每个二维码建立一个自定义坐标系,同时为设置在光枪头上的摄像头画面建立相机坐标系;

s2、在光枪射击的同时,控制摄像头拍摄当前场景以获得相机图像,识别相机图像中的二维码,且选取其中一个二维码为最优码,并识别最优码各角点与相机图像中心点的相机坐标,以及最优码各角点在屏幕上的自定义坐标与物理坐标;

s3、基于最优码各角点的自定义坐标及最优码各角点的相机坐标,得到最优码的自定义坐标系与相机坐标系之间的变换矩阵;

s4、根据所述变换矩阵将相机图像中心点的相机坐标变换为屏幕上对应射击点的自定义坐标;根据最优码各角点的自定义坐标和物理坐标的关系,由屏幕上射击点的自定义坐标推算出射击点的物理坐标。

本发明所述的屏幕射击游戏定位方法中,需要预先在屏幕上建立物理坐标系,标记若干个二维码,并为每个二维码建立一个自定义坐标系,同时为摄像头的图像画面建立一个相机坐标系;在光枪射击时控制位于光枪枪头处的摄像头对屏幕进行拍照,获得一相机图像(也可以叫当前图像),识别相机图像中一个二维码为最优码,并识别出最优码各角点与相机图像中心点的相机坐标,以及最优码各角点在屏幕上的自定义坐标与物理坐标;根据最优码各角点坐标在自定义坐标系和相机坐标系下的变换关系,得到最优码的自定义坐标系与相机坐标系之间的变换矩阵,也即得到当前相机图像和屏幕之间的透视矩阵,基于此矩阵,将相机图像中心点的相机坐标变换为屏幕上对应的射击点的自定义坐标系,进而准确得到射击点的物理坐标及游戏坐标。

所述步骤s1中,需要预先在屏幕上标记若干个二维码,建立屏幕的物理坐标系,并为每个二维码建立一个自定义坐标系,以及为摄像头图像画面建立相机坐标系。每一个二维码的4个角点(即顶角)在各坐标系下的坐标均不相同,每一个二维码的4个角点坐标形成一角点坐标组(例如可以控制为按从二维码的左上角顺时针开始的四个角的顺序排列),这样每一个二维码的角点坐标组均唯一,一个二维码对应一个坐标系下的角点坐标组。优选地,可以设置每个自定义坐标系的原点为对应二维码的左上角点,相应地,即可以得到每个二维码在其对应的自定义坐标系下的坐标。

预先在屏幕上标记若干个二维码,建立屏幕的物理坐标系、自定义标准坐标系和游戏坐标系,以及建立摄像头画面图像的相机坐标系。在后续的步骤中,会根据特定的规则从这些二维码中选出一个最优码。在射击定位之前,需要预先建立最优码的自定义坐标系,坐标系的原点设置在最优码的左上角点;而此时最优码为未知,且最优码必为已标记的二维码中的一个,故需要为每个二维码建立一个自定义坐标系;在每个二维码的自定义坐标系下,二维码的码长为已知,据此可知二维码的各角点坐标。此举目的在于预先计算出,在每个二维码的标准坐标系下,此二维码的各角点坐标;根据后续的步骤选出最优码,便可求出在最优码的自定义坐标系下,最优码的各角点坐标。

当然,为了游戏定位,也需要预先建立游戏坐标系。

优选地,所述的屏幕射击游戏定位方法中,二维码以肉眼不可见的红外线光点标记,这样既能实现二维码定位标记的作用,又不会干扰用户进行射击游戏瞄准操作。

所述步骤s2中,所有光枪头上均附有摄像头,在某一个光枪射击的同时控制设置在该光枪头上的摄像头拍摄枪头正前方的当前画面获得一相机图像,然后识别当前相机图像中是否有二维码,如果有则选取其中一个二维码为最优码,同时因为预先为摄像头图像建立了相机坐标系,因而可以识别最优码各角点在相机坐标系下的坐标,得到该最优码的角点坐标组;而若相机图像中没有识别出一个二维码时,则表明该射击光枪的枪头正前方没有对准屏幕,可判断射击无效。

具体地,所述最优码选取的规则为:

当识别出唯一的二维码时,此二维码即为最优码;当识别出非唯一的二维码时,选取距离相机图像中心点最近的二维码为最优码。这样可以保证后续进行矩阵变换时,以离相机图像中心点最近的二维码为参照进行变换,定位射击点坐标,能够进一步减少误差,提高定位的准确性。

具体地,所述的屏幕射击游戏定位方法中,是通过opencv检测并识别当前相机图像中是否有屏幕上标记的二维码,及最优码各角点的相机坐标。

所述步骤s2中,根据预先建立的自定义坐标系,找到最优码对应的自定义坐标系,得到最优码的各角点在此坐标系下的坐标,根据最优码各角点的自定义坐标可以得到该最优码在此自定义坐标系下的自定义坐标组。

优选地,所述屏幕的自定义标准坐标系、物理坐标系、游戏坐标系以及相机坐标系均为直角坐标系,且以水平方向及竖直方向为两轴方向;更优地,所述自定义标准坐标系的坐标原点设置在各二维码的左上角处;物理坐标系的原点设置在位于屏幕左上顶角的二维码的左上角处;游戏坐标的原点设置在屏幕的左下顶角处,相机坐标系的原点设置在相机图像的左上点顶角处。

所述步骤s3中,基于最优码各角点的自定义坐标及最优码各角点的相机坐标,得到最优码的自定义坐标系与相机坐标系之间的变换矩阵,具体是将最优码的自定义坐标组作为第一矩阵,将最优码的相机坐标组看作第二矩阵,从第一矩阵变换为第二矩阵可以看作是通过矩阵变换得到的,该变换过程即为最优码的自定义坐标系与相机坐标系之间的变换矩阵。

如果枪头是正对着屏幕进行射击,则拍摄到的相机图像中各个二维码的4个顶角形成的形状仍为矩形,其只是对屏幕上的二维码进行了缩放;而若枪头是倾斜着对屏幕进行射击,则摄像头拍摄到的相机图像中的二维码的形状会发生扭曲,成各种不规则的四边形;但是不管二维码的形状为矩形还是不规则的四边形,其在屏幕上的位置仍是对应且唯一的,而这些缩放或扭曲均可以通过自定义坐标组与相机坐标组之间的变换矩阵来体现。

所述步骤s4中,根据所述变换矩阵,将相机图像中心点的相机坐标变换为屏幕上对应的射击点在最优码自定义标准坐标系下的坐标,即以最优码为参照,将相机图像中心点的坐标经变换矩阵,定位出其对应的射击点在屏幕自定义坐标系下的坐标,而最优码的各角点在屏幕的自定义坐标和物理坐标是确定唯一的,据此即可获得射击点在屏幕上的物理坐标。

因为所有光枪头上均附有摄像头,多用户同时射击时,由多个摄像头对准枪头正前方进行拍照从而获取各自的相机图像,检测、识别各自的最优码,计算其对应的射击点的物理坐标,从而实现多用户同时射击的需要并均能实现精准定位。

当然,进一步地,所述的屏幕射击游戏定位方法中,还包括步骤,根据屏幕的物理坐标和游戏坐标之间的线性关系,由射击点在屏幕上的物理坐标,计算求出射击点在游戏界面中的游戏坐标。

基于上述方法,本发明还提供了一种存储介质,其上存储有多条指令,其中,所述指令适合由处理器加载并执行如上所述的屏幕射击游戏定位方法。

基于上述方法,本发明还提供了一种屏幕射击游戏定位装置,如图2所示,其中,包括:

摄像头100,设置于光枪头上;

处理器200,适于实现各指令;以及

存储介质300,适于存储多条指令,所述所述指令适合由处理器加载并执行如上所述的屏幕射击游戏定位方法。

显然,上述屏幕射击游戏定位装置还包括多支游戏射击用的光枪。

关于上述屏幕射击游戏定位装置和存储介质的技术细节和好处已在上述方法中进行了详细阐述,此处不再赘述。

综上所述,本发明提供了一种屏幕射击游戏定位方法、存储介质及装置,预先在屏幕上建立物理坐标系,标记若干个二维码,并为每个二维码建立自定义坐标系,且为摄像头画面建立相机坐标系;在光枪射击时对屏幕进行拍照,获取图像中一个二维码为最优码,及最优码各角点在相机图像中的相机坐标;根据最优码各角点在其对应的自定义坐标系下的自定义坐标与在拍摄的相机图像中的相机坐标的变换关系,得到一透视变换矩阵;基于此矩阵,得到相机图像中心点在屏幕上对应的射击点的自定义坐标;根据最优码各角点的自定义坐标和物理坐标的关系,由射击点的自定义坐标推算出射击点的物理坐标,从而准确得到射击点的游戏坐标,解决了现有技术中屏幕射击游戏倾斜射击时定位不准的问题。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1