一、Vuforia sdk 之物体识别
2018-12-24 本文已影响0人
李昀熹1112
1、Vuforia 对象扫描仪使用有四个阶段
设置-应用于设置环境。
扫描-捕捉各个角度的对象。
测试-评估对应用程序本身拍摄的对象
对象数据文件传输-上传到目标管理
下载安装扫描器
Vuforia 对象扫描仪下载地址:https://developer.vuforia.com/downloads/tool
![](https://img.haomeiwen.com/i3620170/e6cd78c586a8fe29.png)
2、下载之后包含的内容是一个安卓的apk安装包,安装到手机上。支持的设备,支持三星 Galaxy S7. 和Galaxy S6。注意,在其他安卓设备可能性能受影响,不是最佳的效果。
![](https://img.haomeiwen.com/i3620170/864867da82c5bbd8.png)
3、在media文件中还有两个文件,为对象扫描图ObjectScanningTarget
![](https://img.haomeiwen.com/i3620170/bc8d2e927ef1240e.png)
*这个图片在扫描3d物品时会起到辅助作用。
一旦你安装了扫描仪在手机上就会有一个扫描的图标
image
启动app进入,这里需要手机连接网络,如果不连接网络会提示你没有连接,不能提供服务。
![](https://img.haomeiwen.com/i3620170/224e29f1ac29091a.png)
界面,当你有扫描物品
![](https://img.haomeiwen.com/i3620170/0b1c7d237053b886.png)
4、下面就是如果扫描对象,并创建一个对象数据文件。
要通过扫描对象创建一个对象的数据文件,请按照下列步骤操作
(1) 打印对象扫描目标图片
(2)定位对象
(3)扫描对象
(4)0测试对象
在进行扫描时,需要注意的问题是,你选择的扫描物体最好是不规则的,我测试了几个物体
![](https://img.haomeiwen.com/i3620170/d949184de4a26a3b.png)
第一个是葫芦,表面比较光滑,第一次测试,识别的点不多.不建议使用3d物体识别,可以用vuforia的Cylinder 识别,会有专门教程进行讲解。杯子盖测试也是识别点比较少,这个可以与光线、周围环境都有影响。鼠标和手机是不规则的物体,这个可以并建议使用用3d识别追踪。
扫描并创建数据文件
扫描的步骤为
![](https://img.haomeiwen.com/i3620170/bd936104e51308ea.png)
用手机围绕对象旋转,让这个points越多对之后的识别效率越高。
![](https://img.haomeiwen.com/i3620170/2051d1e1b57545e8.png)
出现这个物体说明你的物体就会比识别,如果没有这个物体或者这个物体偶尔出现,说明points不够多,你需要继续添加这个对象数据文件。
![](https://img.haomeiwen.com/i3620170/5ccb441757d0860c.png)
编辑和上传对象数据文件
![](https://img.haomeiwen.com/i3620170/cd64a7c218ed302b.png)
![](https://img.haomeiwen.com/i3620170/b6091fa0f579e284.png)
![](https://img.haomeiwen.com/i3620170/8aa2fdc10f03bf85.png)
![](https://img.haomeiwen.com/i3620170/a82f7e25e2337d8e.png)
通过以上方式将文件上传到电脑,格式 .od
![](https://img.haomeiwen.com/i3620170/029e394eb1e766ca.png)
3d手表识别案例
(1)通过上面3d扫描已经获取了watch001的数据文件,如何在项目使用这个文件。我使用的unity+vuforia技术路线。
第一步,需要创建License Manager
![](https://img.haomeiwen.com/i3620170/673889673a1e2051.png)
第二步,添加 Target Manager数据 addDatabase,创建watch Target Manager
![](https://img.haomeiwen.com/i3620170/6fe369f4e56d57df.png)
第三步,添加数据信息
![](https://img.haomeiwen.com/i3620170/2edf9a5cf76f2b97.png)
第四步,下载unity需要的文件
![](https://img.haomeiwen.com/i3620170/1667e80285c71354.png)
第五步,在unity中添加
![](https://img.haomeiwen.com/i3620170/d7e95e59ddb96595.png)
第六步,组件,并进行设置
![](https://img.haomeiwen.com/i3620170/93eaac6a78f87389.png)
![](https://img.haomeiwen.com/i3620170/b445986d4dc35f17.png)
![](https://img.haomeiwen.com/i3620170/85ae6c37b234ac09.png)
第七步,添加组件,并进行设置选择数据文件
![](https://img.haomeiwen.com/i3620170/8a3cf91bb8b32a3a.png)
![](https://img.haomeiwen.com/i3620170/530d143c9992d7b1.png)
第八步,再添加一个人物模型
![](https://img.haomeiwen.com/i3620170/b14635a637b28bc0.png)
第九步,点击运行
![](https://img.haomeiwen.com/i3620170/7aeca380015e8ddb.png)
最后,识别手表就可以出现人物了,实现3d模型的识别。