识别二维码位置的方法及其系统与流程

文档序号:12734670阅读:2478来源:国知局
识别二维码位置的方法及其系统与流程

本申请涉及计算机技术领域,尤其涉及一种识别二维码位置的方法及其系统。



背景技术:

增强现实技术(Augmented Reality,简称AR)是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,是把原本在现实世界的一定时间空间范围内很难体验到的实体信息(视觉信息、声音、味道、触觉等),通过计算机技术,模拟仿真后再叠加到现实世界被人类感官所感知,从而达到超越现实的感官体验。

现有技术中的以二维码为标志物(Marker)的增强现实技术主要有以下两种实现方案:

(1)二维码轮廓法。

该方案以二维码轮廓作为特征点集,系统预置一个二维码轮廓特征点集,然后对其它拍摄的二维码都应用预置的特征点集进行匹配。该方案的主要缺点在于:由于二维码的图案因码值的不同而不同,包括图案大小、黑白块密度都千变万化,因此二维码的轮廓并不具有稳定的特征,从而导致追踪准确度不稳定(轮廓相似则准确度高,轮廓差异大则准确度低)。

(2)重新生成法。

该方案先将二维码解码得到码值字符串,然后重新生成一个与被拍摄二维码一样的标准二维码图片,然后对新生成的二维码图片进行特征点提取,将得到的特征点集作为系统预置特征点集。该方案的主要缺点在于:对任何一个新的二维码,系统都需要重复上述步骤,生成新的预置特征点集,而这个过程又比较耗时,从而拖慢了整个系统的处理速度。

综上所述,可知现有技术的以二维码为Marker的增强现实技术具有识别速度慢、跟踪精度低的问题。



技术实现要素:

本申请的主要目的在于提供一种识别二维码位置的方法及其系统,以解决现有技术的以二维码为标志物(Marker)的增强现实方案识别速度慢、跟踪精度低的问题。

为了解决上述问题,根据本申请实施例提供一种识别二维码位置的方法,其包括:获取图像中的二维码;根据所述二维码的主定位块进行特征检测,识别所述二维码中的位置信息;根据所述二维码中的位置信息确定所述二维码在所述图像中的空间位置信息。

其中,所述方法还包括:跟踪所述二维码中的位置信息。

其中,所述根据所述二维码的主定位块进行特征检测的步骤,包括:确定所述二维码的一个或多个主定位块;分别获取每个主定位块的一中心点位置信息及多个角点位置信息;将获取的主定位块的中心点位置信息和角点位置信息作为特征点集,进行特征检测。

其中,获取每个主定位块的12、8或4个角点位置信息。

其中,所述根据所述二维码的主定位块进行特征检测的步骤,包括:确定所述二维码的一个或多个主定位块;分别获取每个主定位块的一中心点位置信息及多个黑白像素交界边缘中心点位置信息;将获取的主定位块的中心点位置信息和黑白像素交界边缘中心点位置信息作为特征点集,进行特征检测。

其中,获取每个主定位块的12、8或4个黑白交界边缘中心点位置信息。

其中,所述根据所述二维码中的位置信息确定所述二维码在所述图像中的空间位置信息的步骤,包括:获取预置的标准位置信息;将所述标准位置信息与所述二维码中的位置信息进行匹配,得到所述空间位置信息。

其中,所述二维码为快速反应QR二维码。

其中,所述方法还包括:获取与所述二维码对应的虚拟应用数据;根据所述空间位置信息确定所述虚拟应用数据的空间位置。

根据本申请实施例还提供一种识别二维码位置的系统,其包括:获取模块,用于获取图像中的二维码;识别模块,用于根据所述二维码的主定位块进行特征检测,识别所述二维码中的位置信息;空间位置确定模块,用于根据所述二维码中的位置信息确定所述二维码在所述图像中的空间位置信息。

其中,所述系统还包括:跟踪模块,用于跟踪所述二维码中的位置信息。

其中,所述识别模块包括:第一确定模块,用于确定所述二维码的一个或多个主定位块;第一获取模块,用于分别获取每个主定位块的一中心位置点信息及多个角点位置信息;第一检测模块,用于将获取的主定位块的中心点位置信息和角点位置信息作为特征点集,进行特征检测。

其中,所述第一获取模块获取每个主定位块的12、8或4个角点位置信息。

其中,所述识别模块包括:第二确定模块,用于确定所述二维码的一个或多个主定位块;第二获取模块,用于分别获取每个主定位块的一中心点位置信息及多个黑白像素交界边缘中心点位置信息;第二检测模块,用于将获取的主定位块的中心点位置信息和黑白像素交界边缘中心点位置信息作为特征点集,进行特征检测。

其中,所述第二获取模块获取每个主定位块的12、8或4个黑白像素交界边缘中心点位置信息。

其中,所述空间位置确定模块用于:获取预置的标准位置信息,将所述标准位置信息与所述二维码中的位置信息进行匹配,得到所述空间位置信息。

其中,所述二维码为快速反应QR二维码。

其中,所述系统还包括:虚拟应用数据获取模块,用于获取与所述二维码对应的虚拟应用数据;位置更新模块,用于根据所述空间位置信息更新所述虚拟应用数据的空间位置。

综上所述,本申请通过将二维码作为Marker,并通过对二维码的主定位块的预设位置进行特征检测识别二维码的位置。所提取二维码的特征点集相对位置固定,唯一性好,不易混淆,具有良好的跟踪效果。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请一个实施例的识别二维码位置的方法的流程图;

图2A和2B是根据本申请实施例的QR码的主定位块的组成结构图;

图3A和3B是根据本申请一个实施例的特征点提取的示意图;

图4是根据本申请另一实施例的特征点提取的示意图;

图5是根据本申请另一实施例的识别二维码位置的方法的流程图;

图6是根据本申请一个实施例的识别二维码位置的系统的结构框图;

图7A和7B是根据本申请实施例的识别模块的结构框图;

图8是根据本申请另一实施例的用于增强现实技术的识别二维码位置的系统的结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1是根据本申请实施例的识别二维码位置的方法的流程图,如图1所示,该方法包括:

步骤S102,获取图像中的二维码。

通过终端设备的摄像头装置获取含有二维码的真实场景图像,所述终端设备可以是智能手机、平板电脑、数码相机或其它类似终端设备。然后,对输入的二维码图像进行预处理,具体包括:将该图像进行灰度转换后得到灰度图像,并对所述灰度图像进行二值化处理。在本申请实施例中,所述二维码可以是QR码。

步骤S104,根据所述二维码的主定位块进行特征检测,识别所述二维码中的位置信息。

在本申请中,二维码中的位置信息包括:二维码的主定位块的中心点位置、角点位置、黑白像素交界边缘中心点位置等位置信息。通过上述的位置信息能够确定二维码在平面上的位置,即确定二维码的方向、旋转角度、倾斜角度等空间位置信息。

参考图2A,图2A为QR码的主定位块的组成结构图,QR码的定位包括主定位块和辅助定位块两类,其中主定位块包括左上角201、右上角202和左下角203三个大的回形区域,而辅助定位块则是中间的小的黑色边框方块。主定位块有且只有三个,而辅助定位块的数量则会因二维码的密度增加而增加。参考图2B,主定位块的特点为黑白像素构成的线段的长度比为1:1:3:1:1,利用这个特点可以对二维码进行特征提取并定位码的位置。由于主定位块是所有二维码共有的,且图案形状和位置都固定,因此可以作为二维码图案的通用标识,也即可以用主定位块来作为二维码图案的通用特征点集,下面详细描述主定位块的特征提取过程。

在本申请的一个实施例中,可以采用将主定位块的中心点和角点作为特征点集。如图3A所示,角点是主定位块中直角处的点,并且角点也是图像中像素变化剧烈的点。以主定位块中心点301为起点,向其周围检测角点,可以看出,距离中心点301最近的有第一组4个角点(311、312、313和314),在第一组4个角点外侧有第二组4个角点(321、322、323和324),在第二组4个角点外侧还有第三组4个角点(331、332、333和334)。在本申请中,可以选择中心点301以及上述三组中任意一组(即4个角点)或任意二组(即8个角点)或全部三组(即12个角点)作为特征点集,也就是说,一个主定位块的特征点集可以为5、9或13个特征点。以此类推,一个二维码共有3个主定位块,如果每个主定位块都选择5个特征点,则共有15个特征点;如果每个主定位块都选择9个特征点,则共有27个特征点;如果每个主定位块都选择13个特征点,则共有39个特征点。需要说明,以上所述为每个主定位块选取相同数量的特征点,在其他实施例中,也可以每个主定位块选取不同数量的特征点,此处不再赘述。

在具体应用中,可以根据实际情况选取特征点集的数量。选取的特征点越多,计算结果越精准,但计算量也越大;而选取的特征点越少,计算量也较小,但有可能导致计算结果有偏差。图3B是选取数量最多的特征点集的示意图。参考图3B,在整个二维码图像中可得39个特征点,且这39个特征点的相对位置固定,即这39个特征点都能唯一确定。

在本申请的一个实施例中,还可以采用将主定位块的中心点和黑白像素交界边缘中心点作为特征点集。下面以一个主定位块为例进行说明,参考图4,401是主定位块的中心点,以中心点401为起点,向其周围检测黑白像素交界边缘中心点,距离中心点401最近的有第一组4个黑白像素交界边缘中心点(411、412、413和414),在第一组4个角点外侧有第二组4个角点(未标示),在第二组4个角点外侧还有第三组4个角点(未标示)。与获取角点的方法类似,一个主定位块可以获取的黑白像素交界边缘中心点可以为4、8或12个,再加上中心点即特征点集为5、9或13个特征点。一个二维码的3个主定位块可获得15、27或39个特征点。

在本申请中,将二维码作为Marker,通过对二维码的主定位块的预设位置进行特征检测能够有效识别二维码的位置。

步骤S106,根据所述二维码中的位置信息确定所述二维码在所述图像中的空间位置信息。

具体地,获取预置的标准位置信息,将所述标准位置信息与所述二维码中的位置信息进行匹配,得到二维码在所述图像中的空间位置信息(包括空间位置参数与旋转参数)。在实际应用中,通过连续拍摄含有二维码的真实场景图像,可以持续跟踪二维码的空间位置。根据得到的二维码的空间位置可应用于增强现实技术中,下面结合图5详细描述。

图5是根据本申请另一实施例的二维码识别方法的流程图,如图5所示,该方法包括:

步骤S502,启动终端设备(例如包括智能手机、平板电脑、数码相机等)的摄像头装置,拍摄含有二维码的真实场景图像。

步骤S504,扫描所述二维码,提取二维码的特征点集,具体的二维码的特征点集的提取步骤可以参考图3或图4的描述。如果特征点集提取失败则继续执行步骤S502。

步骤S506,获取摄像头装置的内部参数,例如焦距、图像中心等。

步骤S508,点云配准,若成功则执行步骤S510,否则执行步骤S502。

具体而言,获取预置的标准位置信息,例如可以通过摄像头拍摄的二维码的正视图的位置作为标准位置。通过标准位置信息结合预先获取的摄像头装置的内部参数(例如包括焦距、图像中心等),可得到标准位置的特征点集的第一点云数据(如3d点云)。同样地,将提取的二维码的特征点集结合相机内参,可得到二维码的特征点集的第二点云数据(如3d点云)。然后,根据第一点云数据和二点云数据进行点云配准,计算第一点云数据和二点云数据之间的位置关系,从而得到二维码在图像中的空间位置信息(即相机的空间位置)。

步骤S510,利用相机的空间位置更新虚拟物体的空间位置,即完成增强现实的完整流程。其中,虚拟物体包括:文字、图片、视频、三维模型、动画、声音、地理位置信息中的任意一种或几种的组合。

图6是根据本申请实施例的识别二维码位置的系统的结构框图,如图6所示,其包括:

获取模块610,用于获取图像中的二维码;

识别模块620,用于根据所述二维码的主定位块进行特征检测,识别所述二维码中的位置信息;

空间位置确定模块630,用于根据所述二维码中的位置信息确定所述二维码在所述图像中的空间位置信息。进一步,所述空间位置确定模块630用于:获取预置的标准位置信息,将所述标准位置信息与所述二维码中的位置信息进行匹配,得到所述空间位置信息。

跟踪模块640,用于跟踪所述二维码中的位置信息,并根据新的二维码中的位置信息确定二维码在图像中的空间位置信息。

在本申请的一个实施例中,参考图7A,所述识别模块620进一步包括:

第一确定模块621,用于确定所述二维码的一个或多个主定位块;

第一获取模块622,用于分别获取每个主定位块的一中心位置点信息及多个角点位置信息;其中,所述第一获取模块获取每个主定位块的12、8或4个角点位置信息。

第一检测模块623,用于将获取的主定位块的中心点位置信息和角点位置信息作为特征点集,进行特征检测。

在本申请的一个实施例中,参考图7B,所述识别模块620进一步包括:

第二确定模块626,用于确定所述二维码的一个或多个主定位块;

第二获取模块627,用于分别获取每个主定位块的一中心点位置信息及多个黑白像素交界边缘中心点位置信息;其中,所述第二获取模块获取每个主定位块的12、8或4个黑白像素交界边缘中心点位置信息。

第二检测模块628,用于将获取的主定位块的中心点位置信息和黑白像素交界边缘中心点位置信息作为特征点集,进行特征检测。

参考图8,是根据本申请实施例的用于增强现实技术的识别二维码位置的系统的结构框图,如图8所示,其包括:

获取模块810,用于获取图像中的二维码;

识别模块820,用于根据所述二维码的主定位块进行特征检测,识别所述二维码中的位置信息;

空间位置确定模块830,用于根据所述二维码中的位置信息计算所述二维码在所述图像中的空间位置信息。

虚拟应用数据获取模块840,用于获取与所述二维码对应的虚拟应用数据;

虚拟应用数据位置更新模块850,用于根据所述空间位置信息确定所述虚拟应用数据的空间位置。

本申请的方法的操作步骤与系统的结构特征对应,可以相互参照,不再一一赘述。

综上所示,本申请通过将二维码作为Marker,并通过对二维码的主定位块的预设位置进行特征检测识别二维码的位置。所提取二维码的特征点集相对位置固定,唯一性好,不易混淆,具有良好的跟踪效果。根据本申请提供的技术方案适应于所有QR码,无需每次重新生成预置特征点集。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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