一种增强现实识别图脱卡显示的方法及系统与流程

文档序号:12612586阅读:来源:国知局

技术特征:

1.一种增强现实识别图脱卡显示的方法,其特征在于:提供场景捕捉模块、识别模块、模式切换模块、摄像头调整模块及显示模块,所述场景捕捉模块包括用于对增强现实的卡片的图像进行识别的摄像头,所述增强现实识别图脱卡显示的方法包括以下步骤:

S1、所述场景捕捉模块调用摄像头,利用坐标跟踪策略获取卡片相对于真实场景的位置与方向,捕捉场景画面的特征点,将画面输送到所述识别模块;

S2、所述识别模块通过识别算法判断当前识别是否有效,并将识别结果反馈到模式切换模块;

S3、所述模式切换模块判断识别结果,若识别有效,切换到AR模式;若识别无效,切换到脱卡模式,AR模式下,执行步骤S4;脱卡模式下,摄像头调整模块通过脱卡显示算法调整摄像头的位置及角度;

S4、所述显示模块显示所述增强现实的卡片形成的虚拟物体。

2.根据权利要求1所述的增强现实识别图脱卡显示的方法,其特征在于:所述场景捕捉模块用于通过摄像头捕捉画面的特征点,将画面特征点传送给识别模块;所述识别模块用于判断识别是否有效,将识别结果传送给模式切换模块;所述模式切换模块用于AR模式及脱卡模式的状态切换,所述模式切换模块配置有在所述脱卡模式下的脱卡显示算法,所述摄像头调整模块用于通过脱卡显示算法调整摄像机的位置及角度,所述显示模块负责虚拟物体的显示。

3.根据权利要求2所述的增强现实识别图脱卡显示的方法,其特征在于:所述步骤“所述场景捕捉模块调用摄像头,捕捉场景画面的特征点”的实现步骤包括:采用图像捕捉策略提取卡片图像中若干的特征点,并利用这些特征点计算图像的透视变换关系,将图像注册到同一个坐标系中。

4.根据权利要求3所述的增强现实识别图脱卡显示的方法,其特征在于:所述图像捕捉策略配置有以下公式:

q(x,y,σ)=G(x,y.σ)*l(x,y);

<mrow> <mi>G</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>,</mo> <mi>&sigma;</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mn>2</mn> <msup> <mi>&pi;&sigma;</mi> <mn>2</mn> </msup> </mrow> </mfrac> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>/</mo> <mrow> <mo>(</mo> <mn>2</mn> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mo>)</mo> </mrow> </mrow> </msup> <mo>;</mo> </mrow>

D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*l(x,y)

其中,G(x,y,σ)为高斯函数,l(x,y)为输入图像的函数,q(x,y,σ)为特征点的尺度空间函数,D(x,y,σ)为高斯差分函数。

5.根据权利要求1所述的增强现实识别图脱卡显示的方法,其特征在于:所述步骤“所述场景捕捉模块调用摄像头,利用坐标跟踪策略获取卡片相对于真实场景的位置与方向,捕捉场景画面”的实现步骤包括:所述场景捕捉模块建立卡片空间3D点的世界坐标系(XwYwZw)、摄像头坐标系(Xc Yc Z c),并建立所述世界坐标系与摄像头坐标系的关系,找出摄像头的光心Oc,根据所述摄像头坐标与2D平面坐标系之间的关系,将摄像头坐标系下的3D点映射到2D图像平面,在所述2D图像平面上建立用于表示卡片空间3D点在2D图像平面的投影的直角坐标系;

其中,所述Xc轴和Yc轴与图像的x轴和y轴平行,Zc轴为摄像头的光轴,所述Zc与图像平面垂直,所述Zc与图像平面的交点为图像直角坐标系的原点。

6.根据权利要求5所述的增强现实识别图脱卡显示的方法,其特征在于:所述摄像头坐标系(XcYcZc)与所述摄像头坐标世界坐标系(XwYwZw)的关系如下:

<mrow> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>C</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>C</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mi>C</mi> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mi>R</mi> </mtd> <mtd> <mi>t</mi> </mtd> </mtr> <mtr> <mtd> <msup> <mn>0</mn> <mi>T</mi> </msup> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>W</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>W</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mi>W</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>r</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>12</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>13</mn> </msub> </mtd> <mtd> <msub> <mi>t</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>r</mi> <mn>21</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>22</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>23</mn> </msub> </mtd> <mtd> <msub> <mi>t</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>r</mi> <mn>31</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>32</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>33</mn> </msub> </mtd> <mtd> <msub> <mi>t</mi> <mn>3</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>r</mi> <mn>0</mn> </mrow> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>W</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>W</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mi>W</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <msub> <mi>M</mi> <mrow> <mi>e</mi> <mi>x</mi> <mi>t</mi> </mrow> </msub> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>W</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>W</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mi>W</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> </mrow>

其中,R是一个3*3正交旋转矩阵,表示摄像头坐标系相对于世界坐标系的旋转分量,t为三维平移向理,表示了摄像头坐标系相对于世界坐标系的3个平移分量,Mext是摄像头外部参数。

7.根据权利要求5所述的增强现实识别图脱卡显示的方法,其特征在于:所述摄像头坐标系与2D平面坐标系之间的关系如下所示:

<mrow> <msub> <mi>Z</mi> <mi>C</mi> </msub> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>x</mi> <mi>m</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>m</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mi>&delta;</mi> <mo>*</mo> <mi>f</mi> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>C</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>C</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mi>C</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> </mrow>

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mi>m</mi> </msub> <mo>=</mo> <mi>f</mi> <mfrac> <msub> <mi>X</mi> <mi>c</mi> </msub> <mrow> <msub> <mi>Z</mi> <mi>c</mi> </msub> <mi>&delta;</mi> </mrow> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mi>m</mi> </msub> <mo>=</mo> <mi>f</mi> <mfrac> <msub> <mi>y</mi> <mi>c</mi> </msub> <mrow> <msub> <mi>Z</mi> <mi>c</mi> </msub> <mi>&delta;</mi> </mrow> </mfrac> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> </mrow>

其中,P(xm,ym)为摄像头坐标系中与空间点对应该的点在2D图像平面坐标系的投影,δ为图像转换因子,f为摄像头的焦距。

8.根据权利要求5所述的增强现实识别图脱卡显示的方法,其特征在于:所述步骤“在所述2D图像平面上建立用于表示卡片空间3D点在2D图像平面的投影的直角坐标系”的实现步骤包括:在所述2D图像平面上建立直角坐标系(u,v),该坐标u,v分别是该空间点在2D平面的投影的数组中的列数与行数,以图像内一点为原点,建立图像坐标系(x,y),x轴和y轴分别与u,v轴平行;

其中,所述坐标(u,v)是以像素为单位的图像坐标系的坐标。

9.根据权利要求5所述的增强现实识别图脱卡显示的方法,其特征在于:所述图像点P(xm,ym)通过以下公式转化为直角坐标系

(u,v)的像素点(xm,ym),

u=βu0+pxxm

v=βv0+pyym

其中,px,py是尺度因子,β图像显示初始因子,(u0,v0)表示图像像素中心点。

10.一种用于实现权利要求1所述增强现实识别图脱卡显示的方法的增强现实识别图脱卡显示系统:其特征在于:包括场景捕捉模块、识别模块、模式切换模块、摄像头调整模块及显示模块,所述场景捕捉模块包括用于对增强现实的卡片的图像进行识别的摄像头,所述场景捕捉模块调用摄像头,利用坐标跟踪策略获取卡片相对于真实场景的位置与方向,捕捉场景画面的特征点,将画面输送到所述识别模块;所述识别模块通过识别算法判断当前识别是否有效,并将识别结果反馈到模式切换模块;所述模式切换模块判断识别结果,若识别有效,切换到AR模式;若识别无效,切换到脱卡模式,AR模式下,所述显示模块显示所述增强现实的卡片形成的虚拟物体;脱卡模式下,摄像头调整模块通过脱卡显示算法调整摄像头的位置及角度。

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