Tango API 之五 Tango 事件
来源:互联网 发布:道德经足不出户知天下 编辑:程序博客网 时间:2024/05/19 02:29
Tango API 之五 Tango 事件
主要事件
Tango设备传感器有独特的数据链,这些数据的接收和传输对于使设备执行核心Tango活动(运动跟踪,深度感应和区域学习)至关重要。 与任何Android设备一样,这些数据也会作为“事件”接收和传递。 主要的Tango事件有:
- 设备的pose数据(位置、方向)
- 相机的帧和特征数据
- 点云数据(由深度相机传感器所产生)
为了接收事件,你可以给事件传递一个回调监听器,回调函数会在每次事件发生时被回调。
接收pose数据
有两种方式接收;推荐使用TangoService_getPoseAtTime()。更详细的解释查看Pose。
接收相机新特征
这对于在OpenGL中为增强现实渲染相机图像很有用。
通过调用TangoService_OnTextureAvailable()。你需要调用TangoService_updateTextureExternalOes来更新特征。
接收相机的帧
不是用来显示,而是当你需要以字节数组连接像素数据是使用。
通过回调TangoService_connectOnFrameAvailable()。
接收点云数据
通过传递OnPointCloudAvailable()回调函数给TangoService_connectOnPointCloudAvailable()。
状态事件
TangoEvent通知回调重要的传感器状态事件,例如错误状态的描述。 要接收TangoEvent,请将onTangoEvent()回调附加到TangoService_connectOnTangoEvent()。 每次发生Tango状态事件时都会调用此回调。
TangoEvent被定义为:
typedef struct TangoEvent { double timestamp; TangoEventType type; const char* event_key; const char* event_value;} TangoEvent;
其中timestamp指示状态事件何时发生,并且可以与Tango API中其他地方的时间戳相比较。
type被设计为TangoEventType枚举类型,用来告诉你那个传感器触发的事件:
typedef enum { TANGO_EVENT_UNKNOWN, TANGO_EVENT_GENERAL, TANGO_EVENT_FISHEYE_CAMERA, TANGO_EVENT_COLOR_CAMERA, TANGO_EVENT_IMU, TANGO_EVENT_FEATURE_TRACKING,} TangoEventType;
event_key 和 event_value描述发生的特殊事件。下表是可能的键:
TangoServiceException
服务遭遇异常,其值在 event_value
中.FisheyeOverExposed
鱼眼图像过度曝光,平均像素值为event_value
px.FisheyeUnderExposed
鱼眼图像曝光不足,平均像素值为 event_value
px.ColorOverExposed
点云相机过度曝光,平均像素值为event_value
px.ColorUnderExposed
点云相机曝光不足,平均像素值为event_value
px.TooFewFeaturesTracked
鱼眼相机中被跟踪的特征点过少,被跟踪点数为event_value
.Unknown
位置描述.根据具体的事件描述,您可以选择提示用户来纠正导致事件的情况。 例如,如果您正在接收ColorUnderExposed,则用户可能位于太暗的地方,Tango框架无法正常工作。
- Tango API 之五 Tango 事件
- Tango API 之四 --什么是Tango pose
- Tango API之六 参考系
- tango
- 三、Tango API 之 Tangle内容
- 什么是Tango事件
- Tango 开发指南 — 事件
- 10618 - Tango Tango Insurrection
- poj1726 Tango Tango Insurrection
- Tango Concepts Tango 概念
- UVa10618 Tango Tango Insurrection
- Tango Tango Insurrection UVA
- Unity之Tango开发入门
- Unity之Tango开发准备工作
- 二、开始Tango API(C语言版)
- 二、开始Tango API(Java语言版)
- 二、开始Tango API(Unity版)
- Tango 开发指南(4) — 事件
- Ubuntu16.04 Java编译环境
- 自学Python之Python基础:(八)正则表达式
- 【深入理解JVM】:Java类继承关系中的初始化顺序
- 微信公众平台网页授权
- 实验四 时序电路
- Tango API 之五 Tango 事件
- tf.reducemean()到底是什么意思?
- ipython bpython -bash: *python: command not found
- HDU1116 Play on words(欧拉回路加并查集)
- Win10搭建FTP服务器
- Windows 7
- PRML中文版(马春鹏)勘误表
- 【PHP学习】Win下安装PEAR
- 配置局域网YUM源