一种实时判别摄像机光轴的方法

文档序号:9347249阅读:920来源:国知局
一种实时判别摄像机光轴的方法
【技术领域】
[0001] 本发明涉及一种实时判别摄像机光轴的方法,尤其涉及一种用于实时判别机器视 觉中物体相对位姿的方法,属于机器视觉领域。
【背景技术】
[0002] 随着科技的发展,人机交互的需求变得越来越多,在电子游戏中加入人机交互会 使得游戏更加逼真,从而赢得市场。在模拟射击游戏当中,我们需要实时计算出虚拟枪打在 屏幕上的坐标点,这时必须知道虚拟枪和屏幕的相对位置。
[0003] 传统方法是利用激光定位,即开枪射击时打出激光,求出激光的位置即可得到虚 拟枪的射击位置。这种方法存在以下缺点:激光在强光背景下效果很不理想,且容易被LED 屏吸收,第二点是激光器对人眼安全存在隐患。另外的一种方法是固定虚拟枪在一个底盘 上,计算出虚拟枪的水平和俯仰角度,加上屏幕与虚拟枪的距离已知,便可求出虚拟枪的射 击位置。缺点是机械精度要求高且用户体验不好。
[0004] 另外一种做法是在游戏的显示屏上安置LED作为特征点来判断二者的相对位姿。 当均匀地安置LED时,如何在虚拟枪和屏幕的相对位姿发生变化时区分各个LED成为亟需 解决的问题。

【发明内容】

[0005] 本发明公开的一种实时判别摄像机光轴的方法,要解决的技术问题是利用游戏的 显示屏上安置的LED与计算虚拟枪映射的位置关系,实现判别机器视觉中物体相对位姿, 且本发明判别速度快、结果精度高、受外界干扰小。
[0006] 本发明的目的是通过下述技术方案实现的。
[0007] 本发明公开的一种实时判别摄像机光轴的方法,包括如下步骤:
[0008] 步骤一:在游戏显示屏幕上安装LED闪烁,所述的安装LED闪烁的数量根据视场大 小而定。虚拟枪内置用于实时采集屏幕上安装LED闪烁图像的高速相机,并对采集屏幕上 安装LED闪烁图像进行去除背景光处理,所述的去除背景光方法优选帧间差分法。
[0009] 步骤二:根据虚拟枪实时采集游戏屏幕上LED闪烁的点数和LED闪烁的奇偶性建 立采集LED闪烁位置与游戏显示屏幕LED闪烁实际位置的映射关系,实现实时判别机器视 觉中物体相对位姿。
[0010] 所述的步骤二具体实现方法为:
[0011] 步骤2. 1:定义采集游戏屏幕上LED闪烁图像次数为奇数时为奇数帧,采集游戏屏 幕上LED闪烁图像次数为偶数时为偶数帧。
[0012] 步骤2. 2 :给游戏屏幕上LED闪烁编号,按顺时针顺序编为LED闪烁ULED闪烁2、 LED闪烁3、LED闪烁4、LED闪烁5、LED闪烁6,定义LED闪烁1、LED闪烁2、LED闪烁6为 奇场,LED闪烁3、LED闪烁4、LED闪烁5为偶场。
[0013] 步骤2. 3 :LED闪烁点亮时,设置其值为正;LED闪烁熄灭时,设置其值为0。
[0014] 步骤2. 4 :奇数帧时,给LED闪烁ULED闪烁2、LED闪烁6通电点亮,偶数帧时,给 LED闪烁3、LED闪烁4、LED闪烁5通电点亮。
[0015] 步骤2. 5 :判断虚拟枪实时采集的LED闪烁对应的编号是LED闪烁I、LED闪烁2、 LED闪烁6组中的一个,或是LED闪烁3、LED闪烁4、LED闪烁5中的一个。
[0016] 步骤2. 5具体判断方法为:当采集游戏屏幕上LED闪烁奇数帧图像闪烁时,利用步 骤一中的帧间差分法实现当前帧减去上一帧,提取LED闪烁的值和位置,当前LED值为正则 判断是LED闪烁1、LED闪烁2、LED闪烁6组中的一个。若LED值为负则判断是LED闪烁 3、LED闪烁4、LED闪烁5组中的一个。当采集游戏屏幕上LED闪烁偶数帧图像闪烁时,利 用步骤一中的帧间差分法实现当前帧减去上一帧,提取LED闪烁的值和位置,当前LED值为 正则判断是LED闪烁3、LED闪烁4、LED闪烁5中的一个。若LED值为负则判断是LED闪烁 1、LED闪烁2、LED闪烁6中的一个。
[0017] 步骤2. 6 :根据步骤2. 5判断结果,结合LED闪烁I、LED闪烁2、LED闪烁3、LED闪 烁4、LED闪烁5、LED闪烁6的实际几何关系判断建立采集LED闪烁位置与游戏显示屏幕 LED闪烁实际位置的映射关系。
[0018] 步骤2. 6具体判断方法为:
[0019] 步骤2. 6. 1:若获取LED闪烁的个数少于四个,则判断虚拟枪指向了屏幕外。
[0020] 步骤2. 6. 2 :若获取LED闪烁的个数为四个,利用步骤2. 5判断其中有三个LED闪 烁为奇场LED闪烁,另一个为偶场LED闪烁的一个,定义为参考点;或者其中有三个LED闪 烁为偶场LED闪烁,另一个为奇场LED闪烁的一个,定义为参考点。
[0021] 首先,求取摄像机采集的同组三个LED闪烁两两之间的距离,取最小的距离为a, 再求取另外一个LED闪烁分别到该组三个LED闪烁之间的距离,取最大距离为b。如果b < 2a,则判断出获取的四个LED闪烁映射的实际四个LED闪烁位置组成长方形,如果b> 2a,获取的四个LED闪烁映射无效。
[0022] 定义参考点坐标为(x3,y3),定义与参考点距离最远的为其对角上的LED闪烁坐标 为(11,71),定义另外两个1^闪烁坐标为(1 2,72)和(14,74),通过(11,7 1)和(13,73)的直 线方程为:
[0026] 由于实际屏幕上对应的LED闪烁坐标值是已知的,即实现建立采集LED闪烁位置 与游戏显示屏幕LED闪烁实际位置的映射关系。
[0027] 步骤2. 6. 3:若获取LED闪烁的个数为五个,利用步骤2. 5判断其中有三个LED闪 烁为奇场LED闪烁,另外两个为偶场LED闪烁的两个;或者其中有三个LED闪烁为偶场LED 闪烁,另外两个为奇场LED闪烁的两个。
[0028] 分别求取两个LED闪烁到另外三个同一组的LED闪烁距离之和,取为cl和c2,取 cl、c2两者较小的值对应的LED闪烁与另外三个同一组的LED闪烁构成四边形,定义取cl、 c2两者较小的值对应的LED闪烁为参考点。
[0029] 定义参考点坐标为(x3,y3),定义与参考点距离最远的为其对角上的LED闪烁坐标 为(11,71),定义另外两个1^闪烁坐标为(1 2,72)和(14,74),通过(11,7 1)和(13,73)的直 线方程为:
[0033] 由于实际屏幕上对应的LED闪烁坐标值是已知的,即实现建立采集LED闪烁位置 与游戏显示屏幕LED闪烁实际位置的映射关系。
[0034] 步骤2. 6. 4 :若获取LED闪烁的个数为六个,利用步骤2. 5判断其中有三个LED闪 烁为奇场LED闪烁,另外三个为偶场LED闪烁。
[0035] 分别求取奇场三个LED闪烁到另外一组三个LED闪烁距离之和,取为dl、d2和d3, dl、d2和d3中最小者对应的LED闪烁为LED闪烁2,偶场LED闪烁距离LED闪烁2最远的 为LED闪烁4 ;再分别求取偶场三个LED闪烁到另外一组三个LED闪烁距离之和,取为el、 e2和e3,el、e2和e3中最小者对应的LED闪烁为LED闪烁5,偶场LED闪烁距离LED闪烁 5最远的为LED闪烁1。奇场余下的为LED闪烁6,偶场余下的LED闪烁3。
[0036] 取LED闪烁1、LED闪烁3、LED闪烁4、LED闪烁6构成四边形,由于实际屏幕上对 应的LED闪烁坐标值是已知的,即实现建立采集LED闪烁位置与游戏显示屏幕LED闪烁实 际位置的映射关系。
[0037] 步骤2. 6. 5 :根据步骤2. 6. 2、步骤2. 6. 3、步骤2. 6. 4即可建立采集LED闪烁位置 与游戏显示屏幕LED闪烁实际位置的映射关系。所述的采集LED闪烁位置与游戏显示屏幕 LED闪烁实际位置的映射关系用于步骤2. 7实现判别机器视觉中物体相对位姿的方法。
[0038] 步骤2. 7:已知四个点在屏幕上的坐标位置以及在摄像机上成像的坐标位置,可 以求出摄像机坐标转换成相应屏幕上坐标的变换矩阵,定义摄像机主点即为其光轴,因此 可以求得其在屏幕上的坐标位置。利用高速摄像机可以达到实时性。
[0039] 由步骤2. 6已求取构成四边形的四个LED闪烁在摄像机成像平面上的坐标值统 一记为(X1,Y1),(x2,y2),(x3,y3),(x4,y4),且该四个LED闪烁在实际屏幕上的坐标已知,为 (X1J1), (X2,Y2),(X3,Y3),(X4,Y4)。已知(Xl,yi)和(X^Y1)(i= 1,2,3,4) 一一对应,利用 投影变换,求出其变换矩阵H。
[0040] 变换矩阵H与摄像机主点坐标相乘,即得到虚拟
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1