AR 组件

来源:互联网 发布:便宜好用的爽肤水 知乎 编辑:程序博客网 时间:2024/06/09 17:13
Trackables (可被追踪的目标)


定义: Trackables 是高通AR开发包可以在六自由度中追踪到的所有现实世界中的目标。每个可追踪的,当发现和跟踪,有一个名称、一个ID、状态和姿态信息。图像目标、多目标和标记都trackables,从这个基类继承的属性。Trackables是更新每一帧被处理,结果被传递到应用程序的状态对象。为更全面地理解应用程序间的数据流和SDK请看看Vuforia架构。

参数:
Trackable type

Enum that defines the type of the trackable:
UNKNOWN_TYPE - A trackable of unknown type.
IMAGE_TARGET - A trackable of ImageTarget type.
MULTI_TARGET - A trackable of MultiTarget type.
MARKER - A trackable of Marker type.
Trackable name / identifier
A string that uniquely identifies the trackable within the database of targets.
Max string length: 25 characters
Character set: a-z, A-Z, 0-9,[ - _ .]
Trackable status
Each trackable has a status information associated with it in the State object, which is updated as each camera frame is processed. The status is characterized by an enum:
UNKNOWN - The state of the trackable is unknown. This is usually returned before tracker initialization.
UNDEFINED - The state of the trackable is not defined.
NOT_FOUND - The trackable was not found, E.x. The referenced trackable is not part of the database.
DETECTED - The trackable was detected in this frame.
TRACKED - The trackable was tracked in this frame.
Trackable pose
Current valid pose of a DETECTEDor TRACKED trackable is returned as a 3x4 matrix in row-major order. The Vuforia SDK provides simple tool functions to convert the Vuforia pose matrix into a GL model-view matrix, and to project 3D points from the 3D scene to the device screen.


坐标系统:

高通SKD使用右手坐标系,坐标系如下图:





x:右为正方向

y:正上方为正方向

z:远离图像的方向为正方向

Relevant API's


QCAR::Trackable::

TYPE getType ()
bool isOfType (TYPE type)
STATUS getStatus ()
int getId ()
char* getName ()
Matrix34F& getPose ()
TYPE { UNKNOWN_TYPE, IMAGE_TARGET, MULTI_TARGET, MARKER }
STATUS { UNKNOWN, UNDEFINED, NOT_FOUND, DETECTED, TRACKED }

QCAR::State::

Frame getFrame ()
int getNumTrackables ()
Trackable* getTrackable (int idx)
int getNumActiveTrackables ()
Trackable* getActiveTrackable (int idx)
Inherited Classes
Image Targets
Multi Targets
Frame Markers


Image Targets
定义:


图像形式的跟踪目标。只要是拥有比对数据的真实世界的目标都能识别并捕捉。SDK拥有自己的算法计算目标的特征点,不需要图像完全符合数据中心中的数据,只要目标还在摄像头的范围内即可。

目标是提前在 Target Management System 中输入的 JPG 或者 PNG 图形 (只有 RGB 或者 灰度图像是被支持的)。把这些数据保存在数据库并在运行的时候提取。

高通SDK允许同时有多个图像目标,同时允许5个目标在摄像头范围内(性能随CPU和GPU限制)。高通SDK同时可以允许50个图像目标在资源数据库中。在运行的时候允许交换数据集,这使得应用程序可以容纳更多的目标。



其他详细说明:https://ar.qualcomm.at/qdevnet/developer_guide Image Targets 章节



Multi Targets


定义:

一个 Multi Targets 是由多个 Image Targets 以及他们之间的相对空间关系定义的一个组合。当这个组合的其中一部分被追踪到,其他部分相对于此部分的位置和方向就可以得到了。只要有一个以上的组件在摄像头的范围内,这个 Multi Targets 就可以被追踪到。多个图像目标和 Multi Targets 的差别是: Multi Targets 是由一个整体的方式被追踪的,他们之间是拥有位置方位的关系的。

图像目标组成一个多目标创建目标管理系统从JPG或PNG输入图像(只有RGB或灰度图像的支持)。特征提取这些图像存储在一个数据库,用于运行时比较。空间关系的各个部分存储在数据集配置XML文件使用简单的转换。

多目标可以以两种方式创建——直接与在线目标管理系统和在运行时通过一个定义良好的api集。可以添加或删除部分,和他们的空间可以更改配置。这种灵活性可以用来创建一个姿势信息从多个图像目标或跟踪对象已经改变,但是已知的空间配置。
多目标数据集的一部分。注意,数据集可以被加载,激活,残疾,卸在运行时。详细信息请参见图像目标的DevGuide节。




其他详细说明:https://ar.qualcomm.at/qdevnet/developer_guide Multi Targets 章节


Frame Markers
定义:


除了基于特征检测和跟踪,Vuforia SDK可以跟踪一个特殊类型的基准标记称为“框架标记”。独特的id的一个框架标记是编码到一个二进制模式沿着边境的标记图像。一个框架标记允许任何图像被放置在标记边界。他们是更可取的,因为他们看起来更自然比其它更传统的基准的标记。这个Vuforia SDK要求框架和二进制模式是完全可见的相机形象识别。

不像图像目标,框架生成的标记并不是在线目标管理系统。所有512架标记作为存档分布在资产\文件夹的Vuforia SDK安装。扩展他们适当的可打印的大小、使用规模经营的“没有过滤”或“最近邻”选项在任何图像编辑器(如Adobe Photoshop)。

由于相对较低的处理能力需要解码该标记ID,所有512架标记可用于应用程序和大约5可以检测并同时跟踪。
注意:与Vuforia SDK v1.5帧宽度的框架标记已经改变了。确保使用更新的框架标记模板位于资产\文件夹。



其他详细说明:https://ar.qualcomm.at/qdevnet/developer_guide Frame Markers 章节


Virtual Buttons
定义:

虚拟按钮是通过矩形区域图像目标,当感动或阻挡在相机视图,触发一个事件。虚拟按钮可以用来实现事件(比如一个按钮按下或检测特定区域的图像目标是覆盖的一个对象。虚拟按钮仅评估如果按钮面积在相机视图和相机是稳定的。评价虚拟按钮在快速摄影机的运动是禁用的。

创建虚拟按钮通过定义他们的数据集的配置XML文件作为财产的图像目标。或者他们补充道,摧毁了在应用程序运行时通过一组定义良好的api。



其他详细说明:https://ar.qualcomm.at/qdevnet/developer_guide Virtual Buttons 章节


本文来自:http://blog.csdn.net/sh9701403/article/details/7967339

原创粉丝点击