§ 1.2 pyorbbecsdk - 开发环境配置 (Ubuntu)

0. 概要

本文讲解了在Ubuntu操作系统下配置Gemini2/Gemini2 L 3D相机开发环境的操作流程。

教程适用的开发平台:

  • PC (台式机/笔记本) x64位架构

注意事项

  • 如果你之前没有用过Python,需要先去学习一下Python基础,我们不提供Python基础入门的技术支持。

    1Z实验室官网 ( http://deepsenserobot.com ) 有 Python科学计算 OpenCV 的免费入门教程。

  • 如果你对Python不熟悉,不会用Anaconda,搞不清楚自己运行的是哪个Python,那就不要使用Anaconda,我们不提供相关技术支持。

  • 如果你的PC上同时安装了多个Python版本,需要全部删掉,重新只安装一个Python版本。建议 Python3.8 / Python 3.10 。用系统自带的就可以,不要去尝试修改系统自带的Python版本。

  • 尽量使用最新的 pyorbbecsdk 。旧版的OrbbecSDK-Python没有适配Gemini2 L,且对新版Gemini2固件版本兼容性不好,已废弃。

1. pyorbbecsdk概述

pyorbbecsdk是奥比中光最新的Orbbec SDK Python Wrapper。API相对于Orbbec SDK Python要更加友好,与Realsense的pyrealsense的使用体验比较接近。

支持的操作系统与CPU系统架构如下:

  • Windows x64
  • Windows x86
  • Linux x64
  • Arm64
  • Arm32

例如英伟达的Jetson系列开发板,用的是博通芯片,CPU属于Arm X64架构,如果想在Jetson开发板上调用奥比中光的Python SDK,目前只能选择最新推出的 pyorbbecsdk

Python Wrapper的部分是开源SDK,需要自己从源码编译动态链接库。对Python版本没有特殊要求,建议使用Python 3.8及其以上版本。

2. 安装Python依赖

注意事项:如果你使用的是Anaconda,而且Anaconda安装路径在当前用户目录下,则安装时不需要使用 sudo 权限。

安装依赖

  • 安装 矩阵计算库

    sudo pip3 install numpy
    
  • 安装 Jupyter IDE

    sudo pip3 install jupyter
    
  • 安装 OpenCV

    sudo pip3 install opencv-python
    
    sudo pip3 install opencv-contrib-python
    
  • 安装 PyBind11

    sudo pip3 install pybind11
    
  • 安装 Open3D

    sudo pip3 install open3d
    

    需要注意的是,通过 pip 安装的Open3D不带Cuda加速功能,如果想使用带Cuda加速版本的Open3D则需要从源码编译。

  • 安装 Matplotlib

    sudo pip3 install matplotlib
    

下面这些是非必须的依赖

  • 安装 absl-py

    sudo pip3 install absl-py
    
  • 安装 PyYaml

    sudo pip3 install PyYaml
    
  • 安装 Scipy

  • sudo pip3 install scipy
    
  • 安装 Seaborn

    sudo pip3 install seaborn
    

3. USB设备权限初始化

打开 07.pyorbbecsdk安装包/pyorbbecsdk/ 文件夹

在终端打开此路径,进入 scripts 文件夹。

cd scripts

执行脚本

sudo bash install_udev_rules.sh

输出日志

usb rules file install at /etc/udev/rules.d/99-obsensor-libusb.rules
exit

配置好之后,可以重启一下Ubuntu。

4. pyorbbecsdk动态链接库

4.1 【推荐】选项1:使用编译好的动态链接库

配套资料 07.pyorbbecsdk安装包/pyorbbecsdk二进制安装包/Ubuntu_x64 里面有Ubuntu操作系统下,x64架构编译好的动态链接库。如果有你当前所使用的Python版本,则不需要自己再从源码进行编译。

因为Ubuntu 22.04下默认Python版本为Python 3.10,选择的是Python 3.10版本的动态链接库。

将其拷贝到系统的一个纯英文路径下,例如 ~/Software/Orbbec/pyorbbecsdk/python3.10

4.2 选项2:编译安装

如果你使用的是Anaconda,则需要先进入到虚拟环境下,再去执行编译指令。这样才会生成虚拟环境Python版本的动态链接库。

注意事项:需要你本身会Anacodna,不会的话就不要使用Anaconda

pyorbbecsdk 根目录,创建 build 文件夹。

mkdir build

进入 build 文件夹

cd build

执行 cmake 指令

cmake -Dpybind11_DIR=`pybind11-config --cmakedir` ..

执行 make 指令, -j 指定编译时用到的CPU核数,根据自己的PC资源进行调整。

make -j4

安装(生成)动态链接库,注意不要用 sudo 权限,因为是生成到当前文件夹下。

make install

安装到 pyorbbecsdk/install 路径下了。

install/lib 文件夹下的所有文件拷贝到另外一个路径下。

例如 ~/Software/Orbbec/pyorbbecsdk/python3.10

注:因为Ubuntu 22.04下默认Python版本为Python 3.10,编译的是Python 3.10版本的动态链接库

5. 编辑系统环境变量

5.1 情况1:本机自带Python

编辑 .bashrc

gedit ~/.bashrc

编辑 PYTHONPATH 系统环境变量,增加一行:

注意:动态链接库的Python版本必须与自己所使用的Python版本一致

# Orbbec
export PYTHONPATH="${PYTHONPATH}:/home/kyle/Software/Orbbec/pyorbbecsdk/python3.10"

source ~/.bashrc

5.2 情况2:Anacodna里面的Python

在激活Anaconda虚拟Python环境后,需要在命令行里面 export 下pyorbbecsdk的 PYTHONPATH

export PYTHONPATH="${PYTHONPATH}:/home/kyle/Software/Orbbec/pyorbbecsdk/python3.8"

为了使用简单,可以定义命令行别名。

编辑 .bashrc ,修改系统环境变量,在 alias 里面追加PYTHONPATH定义的部分。

# Anaconda
alias python38='cd /home/kyle/anaconda3/bin && source activate base && conda activate /home/kyle/anaconda3/bin/python38 && cd ~ && export PYTHONPATH="${PYTHONPATH}:/home/kyle/Software/Orbbec/pyorbbecsdk/python3.8"

注意事项

  • conda active 后面改成自己的python虚拟环境的路径
  • 这里的 PYTHONPATH 改成你自己实际的pyorbbecsdk路径
source .bashrc

之后就可以通过在命令行里面输入如下指令,完成虚拟环境激活与 PYTHONPATH 的配置。

python38

6. 测试安装是否成功

打开 ipython 输入脚本

import pyorbbecsdk

若无报错,则安装成功。