您的位置:首页 > 移动开发 > Objective-C

增强现实(AR)笔记3:使用Vuforia Object Scaner来扫描物体

2015-11-11 23:15 549 查看

1 前言

上一篇笔记中提到Object Recognition例程中没有任何预设好的对象,需要开发者自己利用Object Scanner这个工具来扫描创建。本文就详细记录下扫描物体的操作,并且在文末给了一个大宝SOD蜜的实例。

具体详情可以看官方指南https://developer.vuforia.com/library/articles/Training/Vuforia-Object-Scanner-Users-Guide

2 Object Scanner的介绍

Object Scanner是用来扫描3D物体的Android程序,Object Scanner可以输出对象数据文件(*.OD),它包含了在Target Manager定义一个对象所需要的源数据。Object Scanner可以产生、测试、修改OD文件。它提供了诸如外表面的涵盖对象特征的一个具象。

支持设备:Galaxy S5和Google Nexus 5,Android 4.2以上,其他的Android手机可能不支持。

注意打光一定要均匀。

3 扫描工作流

对象扫描工作流大概可以这么分四步:

1.准备-App及现场环境

2.扫描-从各个角度扫描对象

3.测试-在APP上评估已扫描的对象

4.OD文件上传-将OD文件上传到Target Manager

这几步,官方都有详细的介绍:

第1步,https://developer.vuforia.com/library/articles/Solution/How-To-Setup-an-Object-Scanning-Session

这里需要制作一个底板,只要用官方文件按原尺寸打印就好。

这个底板是为了锁定扫描对象的位置坐标,左下角是扫描对象区域坐标的原点,与Object Target prefab中的bounding box的原点是重合的。单位是mm,这个单位和后面开发的场景一致,也用来衡量物体的实际大小。

第2步,https://developer.vuforia.com/library/articles/Solution/How-To-Scan-an-Object-and-Create-an-Object-Data-File

扫描生成OD文件,总共分这4步:

a.打印Object Scanning Target

b.放置打印好的背景

c.将对象放入

d.扫描对象

在b中,扫描对象需要放在底板的原点。如果超过了坐标,那么就要扫描两次,程序会自动合成两次扫描的结果。扫描的话,只要让摄像头围绕对象做密集的扫描,一旦扫描到特征在缩略图就会有绿点分布,绿点越多越密集,则识别的准确性就更高,且更快速,能加强用户体验。

第3步,https://developer.vuforia.com/library/articles/Solution/How-To-Test-the-Results-of-an-Object-Scan

测试,其实很简单,把底板拿掉,将扫描对象放在别的地方,用APP的TEST菜单操作,看能否识别到对象的原点。

第4步,https://developer.vuforia.com/library/articles/Solution/How-To-Edit-and-Upload-Object-Data-Files

APP中将OD数据分享至PC,再上传到Target Manager。

需要特别注意的是,我用傲游浏览器上传了两次都不成功,改用chrome上传就搞定,3.3M的OD文件大概花费了几分钟。

4 操作实例-大宝SOD蜜

我这边随手拎了一瓶大宝来做测试,即便夜晚灯光效果很差,甚至还带阴影,但Object Scanner依然效果强劲,分分钟识别出了这个瓶子。

图1:扫描中



图2:扫描完成



图3:测试

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  AR 增强现实 Vuforia