C++ (Linux平台)
Linux SDK 支持 AArch64、ARMv7hf、RaspberryPi、i686 和 x86-64 硬件平台,并为开发者编译程序提供相应平台的库文件。Linux SDK 未提供可执行的应用程序,用户可通过编译示例代码来生成可执行的应用。
下面以 Ubuntu18.04 为例介绍在 Linux 平台为 Percipio 深度相机搭建开发环境的过程:
下载 Camport3 SDK
选择以下任意方式,下载 Camport3 SDK:
使用 git 指令获取本地副本:打开终端,切换到需存放 SDK 的工作目录下,输入 git clone 命令克隆远程仓库。
git clone https://gitee.com/percipioxyz/camport3.git
选择以下任意方式,下载 Camport3 SDK:
使用 git 指令获取本地副本:打开终端,切换到需存放 SDK 的工作目录下,输入 git clone 命令克隆远程仓库。
git clone https://github.com/percipioxyz/camport3.git
Camport3 SDK 目录结构如下图所示:
Camport3 SDK目录结构
Doc 目录
存放了 SDK API 参考文档。该文档是通过 Doxygen 生成,包括了类、结构和接口的描述信息。
SDK API 参考文档
include 目录
存放了用于调用动态库的头文件:
TYImageProc.h:图像后处理函数接口的头文件。TYCoordinateMapper.h:图像空间转换的映射。TYApi.h文件:提供了用于配置深度相机、获取图像数据的全部 API。用户可以基于这些 API 开发自己的应用。
lib/linux 目录
存放了支持 Linux 操作系统的库文件,兼容 AArch64、ARMv7hf、RaspberryPi、i686 和 x86-64 硬件平台。
lib/win 目录
存放了支持 Windows 操作系统的库文件,兼容 x64 和 x86 硬件平台。
sample 目录
存放了 sample_v1 和 sample_v2 两个子文件夹,均包含可供用户编程参考的示例程序。关于示例程序,详情请参见 C++ 示例程序列表。
注解
sample_v2 中的示例程序在 sample_v1 的基础上,增加了便捷的相机控制接口,并提供了是否依赖 OpenCV 的选项。
安装 USB 驱动
无论使用 USB 相机还是网络相机,编译和运行 Camport SDK 都需要安装 USB 驱动。
sudo apt-get install libusb-1.0-0-dev
安装依赖
安装CMake
终端输入命令安装 CMake 。
sudo apt-get install cmake
验证安装是否成功,若显示版本号,则安装成功。
cmake --version
注解
推荐安装 CMake 3.24.0 版本(此版本经测试 100% 兼容支持,其他版本未经测试,不保证兼容性)。
安装OpenCV(可选)
sudo apt-get install libopencv-dev
注解
推荐安装 OpenCV 4.5.5 版本(此版本经测试 100% 兼容支持,其他版本未经测试,不保证兼容性)。
如果目标应用程序不使用 OpenCV 进行图像显示或者其他图像处理计算,则无需安装 OpenCV。
设置 USB 设备访问权限
Linux 系统默认需要 root 权限才能直接访问 USB 设备。因此,访问 Percipio USB 深度相机 前,非 root 用户需要创建 udev rule 并修改 USB 设备的访问权限。
设置步骤如下:
在 “etc/udev/rules.d” 目录下新建一个扩展名为
.rules的规则文件(如 88-tyusb.rules)。注解
规则文件名的开头须为数字 (0 ~ 99),数字越大,优先级越高。
sudo nano /etc/udev/rules.d/88-tyusb.rules
在文件内添加以下规则,下方规则是将 usb 设备加入到 tofu 用户组。
SUBSYSTEM== "usb",ATTRS{idProduct}=="1003",ATTRS{idVendor}=="04b4",GROUP="tofu",MODE="0666"
重启 PC 后获得 USB 深度相机的访问权限。
编译
进入 “camport3” 目录,执行以下命令编译所有示例代码。
sudo cp lib/linux/lib_x64/libtycam.so* /usr/lib/
sudo cp lib/linux/lib_x64/libtyimgproc.so* /usr/lib/
cd sample
mkdir build
cd build
cmake ..
make
若仅需编译 sample_v2 中的示例程序,则 cmake 增加如下参数:
cmake .. -DBUILD_SAMPLES=off
若 sample_v2 中示例程序不依赖 OpenCV ,则 cmake 增加如下:
cmake .. -DBUILD_SAMPLES=off -DBUILD_SAMPLE_V2_WITH_OPENCV=off
在 “camport3/sample/build/bin” 目录下生成若干编译生成的可执行文件。
运行
深度相机连接电脑后开始系统初始化,直到相机的 Power 灯以 1Hz 的频率闪烁。相机初始化后,以 root 权限运行以下命令,即可接收并显示深度图像。
sudo ./SimpleView_FetchFrame