系统:Ubuntu16.04 内核:4.10.0-28-generic python版本:python2
这片文章主要介绍一下怎么安装RealSense的SDK,以及python的兼容版本pyrealsense,如果有谁也要安装librealsense,又恰好看到了这片文章,建议先看完,再输入命令,因为本文的安装步骤有的时候是错的,也是作为新手的我踩过的坑,同时作为对工作中遇到的问题的一个记录,当然这些问题我也会给出解决方法,以及错误产生的原因。
先前使用R200的时候,按照github上的教程,一步一步完成了安装,不过后来改用了SR300,所以原来安装的librealsense就不管用了,github上的解释是这样的:
---正确安装步骤---
所以我需要根据github上的SDK2.0的安装教程进行了安装
1. 将英特尔服务器添加到存储库列表中:
echo 'deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial main' | sudo tee /etc/apt/sources.list.d/realsense-public.list
2. 注册服务器的公钥:
sudo apt-key adv --keyserver keys.gnupg.net --recv-key 6F3EFCDE
3. 刷新可用的存储库和软件包列表:
sudo apt-get update
4. 为了运行realsense-viewer演示安装:
sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils
重新连接英特尔实感深度摄像头并运行:
realsense-viewer
运行结果如下,说明成功部署了udev以及视频设备的内核驱动:
---错误步骤及解决---
原本我以为展现了以上的效果,看到了realsense捕获到的深度图像,就说明我已经安装了librealsens2 ,实在是too young too simple。
按着我已经成功安装librealsense的错觉,接下来就是安装pyrealsense的时候了,于是找到了/wrappers/python下的安装教程,一步一步进行安装
1. 确保apt-get是最新的
sudo apt-get update && sudo apt-get upgrade
2. 通过apt-get安装Python及其开发文件(Python 2和Python 3都可以),我选的是python2
sudo apt-get install python python-dev
3. 进入librealsense/wrappers/python目录下,运行以下代码
mkdir build
cd build
cmake ../ -DBUILD_PYTHON_BINDINGS=bool:true
当运行cmake的时候发生#error No UVC backend selected.的错误:
google后,找到这样的一个回答,如下,说是因为没有build主要的Cmakelist.txt ,换句话说,就是我的librealsense没有成功安装。
回过头一想,确实,先前只是通过sudo apt命令下载安装了些包,根本没有build,make install这些操作。然后我又回过头去官网上找,找到这样一句话:
说,要从源构建项目,要去here一步步来,所以又回到了原点,安装librealsense。
1. 进入官网,让你下载git ,cmake,这些我都下好了,所以就不介绍了
2. 然后说让我升级内核,这里你可以输入
unmane -r
看一下你的内核版本,我的是4.10.0-28-generic,只要>=4.4.0就没有问题
3. 然后又让你安装Video4Linux后端,这个其实就是视频设备的内核驱动,刚开始的时候,下载了一些东西,输入:
realsense-viewer
如果能成功打开SR300深度摄像头,那说明你的内核驱动是没毛病的。
所以跳过一大堆操作,直接进行Building librealsense2 SDK
4. 进入librealsense的根目录,开始build
mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
当运行cmake的时候,发生following variables NOTFOUND的错误
有问题怎么办?百度靠不住,找Google,找啊找,找到这样一个回答,如下:
需要我安装GLFW3,这个时候我想起来,当初安装librealsense1.0的时候,有这个步骤 ,我原本以为安装SDK2.0和安装SDK1.0是不一样的,结果我错了,安装步骤其实都是一样的,只不过官网写得不清不楚的,就照着官网一步步做了,所以导致了那么多问题。
---正确安装步骤---
找到librealsense1.0的安装教程,一步步来
通过git下载项目文件,或者下载ZIP包,解压到本地
git clone https://github.com/IntelRealSense/librealsense librealsense
1. 更新apt-get
sudo apt-get update && sudo apt-get upgrade
2. 通过apt-get安装libusb-1.0和pkg-config
sudo apt-get install libusb-1.0-0-dev pkg-config
3. Ubuntu16.04的可以通过以下代码安装GLFW3
sudo apt-get install libglfw3-dev
4. 进入librealsense根目录
make build
cd build
cmake .. -DBUILD_EXAMPLES:BOOL=true
make -j4
sudo make install
5. 一路畅通,install完成后,进入librealsense/build/examples/capture,输入
rs-capture
出现以下画面,说明librealsense安装成功
---错误纠正---
找到pyrealsense2的安装教程,一步步来。
当我运行到cmake的时候,它又报了和上面一样的问题,#error No UVC backend selected.
这我就很无奈了,试了很多方法,也都不管用,最终都没有把pyrealsense2装好。后来想想pyrealsense2没法装,那我就试试能不能装pyrealsense1,当我想装的时候,看到这句话,哦~原来pyrealsense只支持SDK 1.0不支持SDK 2.0。
最后也没管官网上说的兼不兼容SR300的问题,试了再说,所以又把librealsense2.0删了以后,重装了librealsense1.12.1,安装教程在这,先前也有提过。后续尝试了确实可行,可以看下一篇文章,传送门。