来自Wiki
Motive API允许通过C / C ++接口控制和访问Motive的后端软件平台。换句话说,Motive API提供的Motive功能没有顶部的图形用户界面。使用API,您可以在自定义应用程序中使用Motive的多个功能,例如访问2D摄像机图像,标记质心数据,未标记的3D点,标记的标记和刚体跟踪数据。安装Motive时,使用API的所有必需组件都安装在Motive安装目录中。以下部分列出了使用Motive API的关键文件。
提供了什么
- 相机控制
- 帧控制
- 点云重建引擎控制
- 获取并使用重建的3D标记数据
- 刚体追踪
- 查询结果
- 通过网络传输结果
没有提供什么
- 深入的硬件控制(例如硬件同步定制)。请改用Camera SDK。
- 直接支持数据记录和回放。
- 控制外围设备(力板和NI-DAQ)。
- 骨架资产的功能。
要求
- 仅在Windows中支持Motive API
- 必须具有有效的Motive许可证和相应的硬件密钥。
更新说明
- 从2.1版开始,不推荐使用32位NPTrackingTools库。
目录
文件列表
安装Motive时,Motive API的所有必需组件都将放在安装目录中,默认情况下会安装Motive C:\Program Files\OptiTrack\Motive
。下表列出了API的所有关键文件以及可以找到它们的位置。
文件名 | 目录 | 描述 |
---|---|---|
NPTrackingTools.h | [Motive 安装目录]\inc\NPTrackingTools.h | 头文件NPTrackingTools.h包含API的函数和类的声明。必要的函数和类在此文件中进行了彻底的注释。在源代码中,此头文件必须是#included才能使用Motive API函数。 |
RigidBodySettings.h | [Motive 安装目录]\inc\RigidBodySettings.h | 头文件RigidBodySettings.h包含cRigidBodySettings类的类声明,该类用于修改和配置刚体资产的设置。此头文件包含在NPTrackingTools.h文件中,因此没有必要单独包含此文件。 |
lib 文件夹 | [Motive 安装目录]\lib | 此文件夹包含用于使用Motive API的C ++ 64位库文件(.lib和.dll)。使用带有动态运行时(\ MD)库的Visual Studio 2013编译库,因此请确保客户端应用程序也使用相同的设置。 |
示例项目 | [Motive 安装目录]\Samples\markers | 此文件夹包含一个示例Visual Studio项目(marker.sln),该项目使用Motive API访问摄像机,标记和刚体跟踪信息。请参阅此文件夹以了解如何使用API。 |
平台文件夹 | [Motive 安装目录]\plugins\ | platforms文件夹位于plugins文件夹中,它包含qwindows.dll,这是使用Motive API运行应用程序所必需的。将此文件夹复制并粘贴到EXE目录中。 |
第三方库 | [Motive 安装目录] | 针对API构建的所有应用程序都需要第三方DLL库。有关更多信息, 请参阅Motive API: Quick Start Guide |
API指南/功能参考
快速入门指南:Motive API本指南介绍了Motive API的一些常用功能。 |
Motive API函数参考以下页面提供了Motive API函数的完整列表。 |
![]() |
![]() |
NPRESULT和视频类型
许多Motive API函数将结果作为定义为NPRESULT的整数值返回。该值表示结果的结果。它不仅表明功能是否成功运行,而且还提供有关发生何种类型错误的更详细信息。从函数获取NPRESULT输出时,可以使用TT_GetResultString函数获取与错误消息对应的纯文本结果。
const char *TT_GetResultString( NPRESULT result ); //返回结果的详细信息文本。
此外,相机视频类型或图像处理模式也表示为整数值。下面列出了这些值,并在头文件中进行了注释。
NPRESULT 值
#define NPRESULT_SUCCESS 0 #define NPRESULT_FILENOTFOUND 1 #define NPRESULT_LOADFAILED 2 #define NPRESULT_FAILED 3 #define NPRESULT_INVALIDFILE 8 #define NPRESULT_INVALIDCALFILE 9 #define NPRESULT_UNABLETOINITIALIZE 10 #define NPRESULT_INVALIDLICENSE 11 #define NPRESULT_NOFRAMEAVAILABLE 14
相机视频类型定义
#define NPVIDEOTYPE_SEGMENT 0 #define NPVIDEOTYPE_GRAYSCALE 1 #define NPVIDEOTYPE_OBJECT 2 #define NPVIDEOTYPE_PRECISION 4 #define NPVIDEOTYPE_MJPEG 6