Linux环境下奥比中光摄像头开发环境搭建(基于Orbbec SDK)
驱动安装
奥比中光相机,可以Linux平台下设备作为普通CMOS相机加载,目前流行Linux平台都已经内置相应驱动,不需要额外安装驱动,只需要安装一个依赖软件freeglut3即可。
sudo apt install freeglut3
将摄像头插入电脑,可以使用命令查看相机是否成功加载了。
lsusb
图中001总线的005、007设备就是奥比中光的摄像头设备,分别为深度相机和RGB彩色相机。
下载并配置Orbbec SDK
打开奥比中光的官方下载链接,https://developer.orbbec.com.cn/download.html?id=249,选择与自己操作系统和硬件匹配的软件包下载。
解压下载好的安装包文件,每个文件夹的功能如下所示。
OrbbecSDK_C_C++_v1.4.3_20221102_8c48afb_linux_x64_release
├── 99-obsensor-libusb.rules // udev设备匹配规则
├── Examples // 示例程序目录
│ ├── bin // 编译的二进制文件存放目录
│ ├── c // C语言例程
│ │ ├── Sample-ColorViewer // 演示使用SDK获取彩色数据并绘制显示、获取分辨率并进行设置、显示彩色图像
│ │ ├── Sample-DepthViewer // 演示使用SDK获取深度数据并绘制显示、获取分辨率并进行设置、显示深度图像
│ │ ├── Sample-HelloOrbbec // 演示连接到设备获取SDK版本和设备信息
│ │ ├── Sample-HotPlugin // 演示设备热拔插监控,检测到设备上线自动连接设备打开深度流,检测到设备掉线自动断开设备连接
│ │ ├── Sample-InfraredViewer // 演示使用SDK获取红外数据并绘制显示、获取分辨率并进行设置、显示红外图像
│ │ ├── Sample-PointCloud // 演示生成深度点云或RGBD点云并保存成ply格式文件
│ │ └── Sample-SensorControl // 演示对设备、传感器控制命令的操作
│ └── cpp // C++语言例程
│ ├── Sample-ColorViewer // 演示使用SDK获取彩色数据并绘制显示、获取分辨率并进行设置、显示彩色图像
│ ├── Sample-DepthViewer // 演示使用SDK获取深度数据并绘制显示、获取分辨率并进行设置、显示深度图像
│ ├── Sample-HelloOrbbec // 演示连接到设备获取SDK版本和设备信息
│ ├── Sample-HotPlugin // 演示设备拔插回调的设置,并获取到插拔后处理的流
│ ├── Sample-ImuReader // 获取IMU数据并输出显示
│ ├── Sample-InfraredViewer // 演示使用SDK获取红外数据并绘制显示、获取分辨率并进行设置、显示红外图像
│ ├── Sample-MultiDevice // 演示对多设备进行操作
│ ├── Sample-Playback // 载入视频文件进行回放
│ ├── Sample-PointCloud // 演示生成深度点云或RGBD点云并保存成ply格式文件
│ ├── Sample-Recorder // 录制当前视频流到文件
│ ├── Sample-SaveToDisk // 获取彩色和深度图并存储为png格式
│ ├── Sample-SensorControl // 演示对设备和传感器控制命令的操作
│ └── Sample-SyncAlignViewer // 演示对传感器数据流对齐的操作
├── install.sh // udev设备匹配规则的安装脚本
├── README.md // 说明文档
└── SDK // 存放SDK头文件与库文件(写自己的程序的时候只需要这个目录中的文件)
├── include // SDK头文件目录
│ └── libobsensor
│ ├── h // C语言头文件
│ └── hpp // C++语言头文件
└── lib // SDK库文件
在该文件的目录中,使用如下命令可以安装依赖libudev-dev
, libusb-dev
软件,并运行安装脚本。
Linux系统默认对USB设备的直接访问需要root权限,可以通过rules配置文件解决。通过sudo命令执行·install.sh·脚本,即可完成rules配置文件的安装。成功执行安装脚本后,再接入设备时生效(已接入的设备需要重新拔插)。
sudo apt install libudev-dev libusb-dev
chmod +x ./install.sh
sudo ./install.sh
使用lsusb命令检查是否能够正常识别到摄像头。
编译环境安装
SDK的安装包为我们提供了一系列的例程。进入Example目录,调用./SampleConfig.sh测试并配置编译所所需的基础环境,之后安装一些编译所需的依赖软件。
cd Example/
sudo bash ./SampleConfig.sh
sudo apt install build-essential cmake libopencv-dev freeglut3-dev libudev-dev libusb-1.0-0-dev
例程编译
使用CMake编译所有的例程。
mkdir build
cd build/
cmake ..
make
在bin目录中,就可以看到编译好的二进制例程。
运行DepthViewer深度摄像头程序。
环境说明
OS: Ubuntu 22.04 x86_64
相机:Orbbec Astra Pro Plus
参考文件
https://developer.orbbec.com.cn/technical_library.html?id=18
https://developer.orbbec.com.cn/technical_library.html?id=41