做一个视觉项目需要用到jetson nano计算平台以及intel realsense sr300摄像头,我们需要用python进行调用,通过了解后大概分为以下几个步骤进行配置。
1:安装各种依赖包,检查各种版本对应
2:下载librealsense,进行build等编译(这一步非常重要,博主反复进行了很多次才成功)
3:下载pyrealsense2
1、安装依赖包
这里先提一点,cmake需要版本大于3.12,最开始我build一直失败,后面发现是camke版本的原因,从jetson nano官网下的jetpack4.6自带的cmake版本太低,先进行升级,下面是步骤
1.wget http://www.cmake.org/files/v3.13/cmake-3.13.0.tar.gz
2. tar xpvf cmake-3.13.0.tar.gz cmake-3.13.0/
3. cd cmake-3.13.0/
4. ./bootstrap --system-curl
5. make -j6
6. echo 'export PATH=/home/nvidia/cmake-3.13.0/bin/:$PATH' >> ~/. bashrc
7. source ~/.bashrc
然后是安装一些依赖包,这个也可以在第二步进行,这个在官网教程上什么的应该都有
sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get install -y --no-install-recommends \
python3 \
python3-setuptools \
python3-pip \
python3-dev
sudo apt-get install -y git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt-get install -y libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
2、下载librealsense
由于我的Ubuntu版本是18.04,所以支持librealsense sdk2,所以这里我选择的版本是librealsense 2.38.1(没有下最新版本主要我害怕最新版本会出什么问题)
这里是所有版本
里面会有每个版本支持的设备类型,需要的约束等等,自行查看。
下载源代码后解压下来用xftp等软件传输到jetson nano中
然后我根据官网的安装教程以及一个网站的安装教程进行尝试安装
https://github.com/IntelRealSense/librealsense/blob/v2.38.1/doc/distribution_linux.md
https://www.ncnynl.com/archives/201905/3090.html
安装好之后我安装网站中提示的进行功能测试发现没有问题,但是安装好pyrealsense2后进行调用时则会出现题目中显示的问题:
AttributeError: module ‘pyrealsense2‘ has no attribute ‘pipeline‘
博主也是被这个问题困扰了很多天,在librealsense的github里的 issue中查找了很多,试了很多,都不太行。不过最后有了一些启发,找到了问题的所在。问题就出现在安装librealsense时的build过程中。
原本我一直是按照上面第二个链接进行build操作的,即如图操作
mkdir build
cd build
这两步没什么变化
下面这一步需要进行改变,需要将python和librealsense进行关联,这样进行编译时才能生成一些文件,命令如下
cmake ../ -DFORCE_RSUSB_BACKEND=ON -DBUILD_PYTHON_BINDINGS:bool=true -DPYTHON_EXECUTABLE=/usr/bin/python3.6 -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true -DBUILD_WITH_CUDA:bool=true
主要应该就是DPYTHON_EXECUTABLE=/usr/bin/python3.6 这一块,加进去之后再次进行
sudo make uninstall
sudo make clean
make -j4
sudo make install
然后再在.bashrc里添加环境变量
export PATH=$PATH:~/.local/bin
export PYTHONPATH=$PYTHONPATH:/usr/local/lib
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.6/pyrealsense2
3、安装pyrealsense2
使用jetson nano 的记住,Ubuntu架构是aarch64版本的,所以安装第三方库或者其他软件的时候一定要下带有aarch64后缀版本的,不然是无法安装的,pyrealsense2也是一样,最开始我直接使用pip install pyrealsense2 ,一直报找不到合适版本,然后我就去官网下载安装包进行离线安装,还是无法安装成功,后面发现是aarch64这个的问题,这里要下载的是这个版本
pip install pyrealsense2-aarch64这样就安装成功了,进行功能测试没有问题,终于完结。
另:后期发现这样做还是会存在标题的问题,又经过很多次查阅之后发现是有一个init文件缺失,解决办法如下,主要参考https://blog.csdn.net/I_LOVE_MCU/article/details/119416018#comments_20754058这篇文章。