[AR]ImageTarget(图像识别)

vuforia guide:https://library.vuforia.com/articles/Training/Image-Target-Guide

vuforia sample  - 选择 Core Features下载,导入ImageTarget.unitypackage:https://developer.vuforia.com/downloads/samples

image

vuforia 基础知识:高通Vuforia Getting Started

开发环境

Vuforia 6.0.112

Unity 5.3.6f1 x64  (Android平台)

Windows 7 x64

名词说明

下面列举下本文中所列出的几个名词,可能每个人对这些英文的理解不一样,这些解释仅仅代表个人观点。

Database(数据集、图集):大体都是指多张图片组合在一起的那个东西

ImageTarget(识别图):具体的某张识别图像

自带Demo简单分析

1、从Demo中可以看出,当有多个ImageTarget时,每个ImageTarget之间是有间距的,可以简单理解为每个ImageTarget的坐标值不一样【(x,z)平面】,如下所示:

image

2、Demo中把需要识别的图,全部以ImageTarget的形式,放置在场景中

image

image

3、Word Center Mode默认的模式选择的是 FirstTarget

image

4、如果需要同时识别多个ImageTarget,需要设置最大识别数量

image

  World Center Mode

FirstTarget

相机在运动,第一个Found的ImageTarget坐标不动,其它ImageTarget会轻微地运动

Camera

ImageTarget在运动,相机不动

自己搭建的简单步骤

1、上传识别图到管理后台(单张图像不超过2mb大小,如果是灰度图,建议使用jpg格式),管理后台会智能地标注出图像的识别点(如何让图像更具可识别性?有针对图像的设计指南)

2、下载识别图package,导入到Unity中,package中包括数据集(xxx.data),xml(xxx.xml),识别图(xxx_scale.jpg,xxx_scale.png)

3、根据Demo的示例创建一个新场景,里面有ARCamera,ImageTarget,在ImageTarget的属性面板选择database识别图(ImageTarget)

4、运行程序,当摄像头识别到步骤3的选定的识别图之后,就会触发OnFound事件,而当识别图移开或者被遮挡,会触发OnLost事件

具体的业务逻辑,在OnFound和OnLost中进行处理

void OnFound(string trackableName){ //TODO 识别成功的逻辑处理,参数trackableName就是xml中的name } void OnLost(string trackableName){ //TODO 丢失的逻辑处理,参数trackableName就是xml中的name }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzwwxy.html