《AR与VR开发实战》——2.7 3D物体识别-阿里云开发者社区

开发者社区> 华章出版社> 正文
登录阅读全文

《AR与VR开发实战》——2.7 3D物体识别

简介:

本节书摘来自华章出版社《AR与VR开发实战》一书中的第2章,第2.7节,作者 张克发 赵兴 谢有龙,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.7 3D物体识别

2.5节和2.6节讲解了柱体识别和立方体识别,这两节的内容都只是针对简单几何体进行识别,在本节中,我们将介绍不规则三维物体的识别步骤和方法。
1.下载并导入插件
登录官网,点击Downloads下的Tools,下载Vuforia Object Scanner (Vuforia物体扫描器)。Vuforia Object Scanner是一个用于扫描物体表面识别点信息的App,只支持Android操作系统。根据官网规定,建议大家采用Samsung Galaxy S5和Google Nexus 5这两款安卓手机进行操作,当然也可以尝试使用其他Android手机。


b5b4d6decc6be810de50387c7b14c6ef978fcb0f

下载完毕并解压后会得到以下两部分内容:
Media文件夹:三维物体扫描图,需要采用A4纸打印出来。
scanner.apk:用于三维物体扫描,需要安装在上述两款安卓手机中。


aed994d4d4c8e7e4d14fd9539eb2229889c591d8

接下来,我们依然按照之前介绍的方法下载Samples插件包并将其导入工程,下图中的Object Recognition表示对应的插件包中包含物体识别案例。


58c2be3d7e8144a87f7f4ceed59711fe45970b65

2.扫描三维物体识别信息(点云数据)
将打印出来的纸张放在桌面上,在右上角坐标区域放置需要识别的三维物体。打开已经安装的扫描数据App,360°扫描物体后将生成后缀名为.od的数据文件。


8765aa470918f3f9ce79f3371b38cfc5497ca2f6

3.创建数据库
接下来登录Vuforia开发者官网并创建数据库,这次我们选择3D Object,点击Browse按钮选择上一步中生成的数据文件。

2d6cd13a073d59ccb3ac08b0334b296ca2594374

创建成功后点击下载数据包并将其导入Unity工程。
4.实现三维物体扫描
在Vuforia文件夹中找到ARCamera和ObjectTarget两个预制件并拖到层级视图Hierarchy中。


d46c81deb2bbdfe25ba0bc2d4c5f19be8e38fc1c

选择ObjectTarget,在Inspector面板中选择三维数据包。


4210580e748e9185e0ceb02416b33ae847b981ca

然后在ObjectTarget下创建一个扫描成功后要显示的子对象,并调节到合适的位置及大小,在此我们直接创建Unity自带的三维模型Sphere。
最后点击运行以测试三维物体的识别效果。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
最新文章
相关文章
官网链接