0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

虹科分享 | AR世界揭秘:从二维码的起源到数据识别与位姿技术的奇妙融合!

安宝特AR 来源:jf_86650019 作者:jf_86650019 2023-11-26 18:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

引言:探索AR的神奇世界,我们将从二维码的诞生谈起。在这个科技的海洋中,二维码是如何帮助AR实现数据获取与位姿识别的呢?让我们一起揭开这层神秘的面纱!

一、二维码的由来

二维码是将数据存储在图形中的技术,在1994年由腾弘原(Masahiro Hara)发明。这里还有一个趣闻,腾弘原在发明二维码后放弃了申请专利,他说了这么一句话:“这种技术其实随便找个网络工具就能实现,所以这么简单的东西,我就不收专利费啦。”,这也是二维码得以广泛应用的原因之一。

于1999年,加藤博一等人率先将AR技术与二维码联系起来,结合二维码技术,开发了ARToolKit这一AR工具,这一工具在当今仍被广泛使用。让我们切回主题,谈一谈二维码是如何在AR中得到应用的。

二、二维码的工作原理

二维码可以为AR提供两样信息:ID和位姿,接下来让我们一一介绍

1.ID识别

首先,我们需要约定二维码的尺寸:
二维码存在 40种尺寸,也就是二维码每行/列中的小方块的个数,在官方文档中,尺寸又被命名为 Version。尺寸与 Version存在线性关系:Version 1是 21×21的矩阵,Version 2是 25×25的矩阵,每增加一个 Version,尺寸都会增加 4。 接下来,我们会为二维码划分区域,并编码:
二维码的各部分都有自己的作用,基本上可被分为定位、功能数据、数据内容三部分:

wKgaomVjIF2ASefsAAHM8_grqZ8476.png

1)定位区域:

定位图形:用于标记二维码矩形的大小;用三个定位图案即可标识并确定一个二维码矩形的位置和方向

定位图案分隔符:用白边框将定位图案与其他区域区分;

校正图形:只有在 Version 2及其以上才会需要,用于矫正二维码的形变

2)功能数据:

格式信息:存在于所有尺寸中,存放格式化的数据

版本信息:用于 Version 7以上,需要预留两块 3×6的区域存放部分版本信息;

3)数据内容:剩余部分存储二值化的数据内容,例如黑色方块代表1,白色方块代表0,此外数据内容还包括补齐符、纠错码、结束符等

接下来是识别:

输入图像,通过相机捕获图像

图像二值化,通过图形算法将图像进行二值化处理,即将图像变为黑白两色的图像

提取具有一定面积的连续区域

提取矩形区域的轮廓

对矩形区域内部的图案进行解析,识别标识内容
由此,相机可以“认出”二维码及二维码的内容,将二维码的功能数据中的ID提取出来,这些ID可以是网站,可以是一个登录申请,也可以是激活设备某个功能的字符串

wKgZomVjIF2AfluwAAA__pn88xk681.png

wKgZomVjIF2AVnzFAABAmUVJq4Y612.png

wKgZomVjIF2ASNhmAAUF39JRUKI340.png

2.位姿识别

此外,二维码也可帮助AR设备进行位姿识别,什么是位姿识别呢?就是让设备知道自己和二维码之间的距离和相对的姿态关系,也即二维码离我多远?二维码是左右倾斜、还是前后俯仰?
位姿识别过程与ID识别类似,不过不同之处是,在提取各区域的轮廓后,位姿识别最需要的信息,是二维码区域4个角的顶点坐标(Xi,Yi)。

首先,我们用示意图表示摄像机的坐标系、图像坐标系(摄像机拍摄的平面图形的坐标系)、标识坐标系(二维码在现实中所在的坐标系)

wKgaomVjIF-AODiRAAsxaGoiCBE893.png

我们通过相机拍摄到的图像坐标系的点(Xi,Yi),与相机内置的矫正矩阵K,可以求得旋转变换矩阵R与平移向量t,其中,R表示二维码相对相机发生的旋转,t表示二维码相对相机发生的平移
大致求解流程如下:

wKgZomVjIF6AZaEGAAEM5IaabZI277.png

结合对二维码在图像坐标系的4个顶点所得的4项公式,我们便可求得矩阵R与t,得到二维码的旋转方位与平移方位,也可由此利用二维码实现各式的AR应用。

三、各式各样的二维码

以上是对二维码工作原理的简单介绍,而在实际生活中,二维码的形态也在不断更迭,除了我们日常见到的二维码,现在已经出现了防遮挡二维码、红外隐形二维码、随机点二维码、微透镜片二维码等,这些新型二维码,也可以和AR结合,帮助我们更好地与现实世界的物体进行交互。

参考文献

[1]:版权声明:本文为CSDN博主「琦小虾」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:二维码生成原理及解析代码

[2]:《增强现实(AR)技术权威指南》

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Ar
    Ar
    +关注

    关注

    25

    文章

    5243

    浏览量

    175482
  • 二维码
    +关注

    关注

    7

    文章

    475

    浏览量

    27838
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    二维码扫描识别器有内嵌款吗?扫识别的功能是嵌入在自助机上的

    在自助设备遍布生活场景的今天,不少人会疑惑“二维码扫描识别器有内嵌款吗?”答案是肯定的——内嵌式二维码扫描识别器早已成为自助机的核心配置,从商场的自动售卖机
    的头像 发表于 12-04 16:19 63次阅读
    <b class='flag-5'>二维码</b>扫描<b class='flag-5'>识别</b>器有内嵌款吗?扫<b class='flag-5'>码</b><b class='flag-5'>识别</b>的功能是嵌入在自助机上的

    二维码模块是什么?它和普通条码识别设备有什么不同

    在物联网技术飞速发展的今天,条码与二维码已成为信息传递的重要载体,超市结账工业生产溯源,移动支付到医疗耗材管理,相关
    的头像 发表于 11-06 15:54 214次阅读
    <b class='flag-5'>二维码</b>扫<b class='flag-5'>码</b>模块是什么?它和普通条码<b class='flag-5'>识别</b>设备有什么不同

    【嘉楠堪智K230开发板试用体验】+二维码识别

    二维码识别 二维码识别本质上是一个通过图像处理技术定位并矫正图像中的二维码区域,然后根据其特定编
    发表于 08-22 20:16

    模块厂家怎么选?二维码模组详解

    你是否发现,超市自助结账的POS机小区的智能门禁,从快递柜的取件扫地铁闸机的乘车识别
    的头像 发表于 08-18 15:58 560次阅读
    扫<b class='flag-5'>码</b>模块厂家怎么选?<b class='flag-5'>二维码</b>扫<b class='flag-5'>码</b>模组详解

    GM861条二维码识别模块用户手册

    GM861条二维码识别模块用户手册
    发表于 07-09 14:56 0次下载

    基于STM32的二维码识别源码+二维码解码库lib

    基于STM32的二维码识别源码+二维码解码库lib,推荐下载!
    发表于 05-28 22:04

    基于LockAI视觉识别模块:C++二维码识别

    二维码识别是视觉模块经常使用到的功能之一。我们将演示如何使用基于瑞芯微RV1106的LockAI视觉识别模块进行二维码识别
    的头像 发表于 05-26 09:42 693次阅读
    基于LockAI视觉<b class='flag-5'>识别</b>模块:C++<b class='flag-5'>二维码</b><b class='flag-5'>识别</b>

    基于STM32的二维码识别源码+二维码解码库lib

    基于STM32的二维码识别源码+二维码解码库lib项目实例下载! 纯分享帖,需要者可点击附件免费获取完整资料~~~【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内
    发表于 05-23 20:45

    为什么说二维码模块是智能终端的“眼睛”?

    你是否曾好奇,为何如今的自助设备都能精准识别你手机上的二维码?这背后隐藏着一个被称为智能终端"眼睛"的关键组件——二维码模块。超市的自
    的头像 发表于 05-21 14:39 643次阅读
    为什么说<b class='flag-5'>二维码</b>扫<b class='flag-5'>码</b>模块是智能终端的“眼睛”?

    基于RK3576开发板的二维码识别算法

    二维码识别技术通过特定的几何图形按规律分布的黑白图案记录数据信息,基于进制逻辑,利用几何形体表示文字数值信息,并通过图像输入设备自动识读。
    的头像 发表于 05-10 09:25 795次阅读
    基于RK3576开发板的<b class='flag-5'>二维码</b><b class='flag-5'>识别</b>算法

    基于RV1126开发板实现二维码识别方案

    在RV1126上实现二维码识别方案
    的头像 发表于 04-11 14:48 577次阅读
    基于RV1126开发板实现<b class='flag-5'>二维码</b><b class='flag-5'>识别</b>方案

    二维码读取器是干嘛的

    二维码读取器(用于二维码读取的机器),作为一种现代化的自动识别技术设备,正日益渗透到我们生活的方方面面。从商场购物物流配送,从医疗管理到工
    的头像 发表于 03-17 15:57 855次阅读
    <b class='flag-5'>二维码</b>读取器是干嘛的

    一“”当先!看二维码模组如何重塑智能门锁扫体验

    模组如何重塑智能门锁的扫体验,以及它所带来的深远影响。一、二维码模组技术概述二维码模组,是一种集成了光学识别、图像处理与解码算法的高科技组
    的头像 发表于 03-12 16:17 776次阅读
    一“<b class='flag-5'>码</b>”当先!看<b class='flag-5'>二维码</b>模组如何重塑智能门锁扫<b class='flag-5'>码</b>体验

    嵌入式二维码识别引擎是什么设备?哪些场景用得到?

    在科技日新月异的今天,嵌入式技术已广泛渗透到我们生活的方方面面,其中,嵌入式二维码识别引擎作为一种高效、便捷的信息采集工具,正逐渐成为众多行业智能化升级的重要推手。本文将带您深入探索二维码
    的头像 发表于 03-10 14:57 635次阅读
    嵌入式<b class='flag-5'>二维码</b><b class='flag-5'>识别</b>引擎是什么设备?哪些场景用得到?

    快速将二维码扫描识别模组嵌入集成安卓一体机上使用

    在现代科技快速发展的今天,二维码扫描模组的应用已深入各个行业领域。特别是在安卓一体机中,二维码扫描模组已成为其不可或缺的一部分。本文将详细介绍如何在安卓一体机上安装二维码扫描模组、连
    的头像 发表于 02-28 15:59 816次阅读
    快速将<b class='flag-5'>二维码</b>扫描<b class='flag-5'>识别</b>模组嵌入集成<b class='flag-5'>到</b>安卓一体机上使用