Linux C++

目录结构

Linux 平台下 Orbbec Pose Demo 文档中包括app和demo目录:

../_images/cpluscplus_demo_release_directory.png

app目录

说明

demo

该目录下是可执行程序tutorial_cpp_astra和tutorial_cpp_orbbec。

usbrules

该目录下是用于配置usb权限的脚本和文件。

install.sh

install.bat文档是保证app目录下的相关可执行程序能够正常运行的自动配置批处理脚本,该脚本可以实现将上一级demo目录下的依赖项拷贝到当前demo目录下的功能。

readme.txt

readme.txt文档描述当前目录结构和可执行程序的运行方法。

demo目录

说明

3rdparty

该目录下是Orbbec Pose Demo进行开发所必须的库和头文件。

cmake

该目录下是cmake文件。

source

该目录下是源代码。

usbrules

该目录下是用于配置usb权限的脚本和文件。

CMakeLists.txt

该目录下是cmake文件。

readme.txt

readme.txt文档描述当前目录结构和编译工程、运行可执行程序的方法。

使用说明

Linux 平台下如何在demo目录下运行可执行程序

  • cmake 3.1.15及以上版本

1 编译

下载Linux平台CUDA/cuDNN/TensorRT运行时库,解压拷贝到3rdparty/obt/lib/文件夹(PC需要拷贝,Zora P1 开发板不需要拷贝),

当前目录创建build,

进入build目录,

执行 cmake ..

再执行 make

生成的可执行程序在build/bin目录。

2 运行程序

进入usbrules,执行./install_usb_rules.sh配置usb权限,第一次需要重启开发板生效,只需配置一次,
进入build/bin目录。

2.1 如何执行程序

  • Linux-x64需要使用sudo权限执行程序,Linux-aarch64-A311D使用普通用户权限执行程序,不需要sudo权限

  • tutorial_cpp_orbbec 用于Astra+和Femto设备

  • tutorial_cpp_astra 用于Astra Plus和Astra Mini设备

  • ./tutorial_cpp_orbbec 可执行程序的参数:rotateMode trackMode smoothingFactor dimensionMode resolutionMode isRender

  • ./tutorial_cpp_astra 可执行程序的参数:rotateMode trackMode smoothingFactor dimensionMode resolutionMode isRender

参数

取值范围

rotateMode:

旋转模式: 0:不旋转, 1:顺时针90度旋转, 2:逆时针90度旋转

trackMode:

跟踪模式: 0:单人, 1:双人, 2:多人

smoothingFactor:

算法滤波: 0到1的小数值

dimensionMode:

二维三维模式:0:2D模式, 1:3D模式

resolutionMode:

分辨率: 0:640x480, 1:1280x720, 2:1920x1080(tutorial_cpp_astra仅支持640x480)

isRender:

渲染: 0:不渲染, 1:渲染

例如:

执行程序带参数:

./tutorial_cpp_orbbec 0 1 0 1 0 1         (6个参数)

./tutorial_cpp_astra 0 1 0 1 0 1          (6个参数)

执行程序不带参数:

./tutorial_cpp_orbbec (默认:不旋转 双人 滤波0 3D模式 640x480 渲染)

./tutorial_cpp_astra  (默认:不旋转 双人 滤波0 3D模式 640x480 渲染)