(树莓派3b)OpenCV 安装教程
一、镜像源
树莓派提供的官方镜像源地址在国外,更新软件包时下载速度特别慢,可以尝试更改镜像源配置文件,使用国内的服务器。树莓派官方提供了一个镜像源列表(http://www.raspbian.org/RaspbianMirrors),其中中国的镜像源有如下这些:
在树莓派终端执行以下命令:
cd /etc/apt
进入sources.list配置文件目录后,输入以下命令对sources.list文件进行更改操作:(更改任何配置文件前记得先备份)
sudo vi sources.list
删除之前的文件配置信息,输入以下配置信息(系统为debian9,浙江大学镜像源):
deb http://mirrors.zju.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.zju.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
其中stretch对应于debian9,jessie对应于debian8,wheezy对应于更早的版本。
通过以下命令可以查看系统debian版本信息:
more /etc/debian_version
接下来还要更改一个配置文件中的配置信息,输入以下命令:
cd /etc/apt/sources.list.d
sudo vi raspi.list
进入raspi.list配置文件后输入如下命令:
deb http://mirrors.zju.edu.cn/archive.raspberrypi.org/debian/ stretch main ui
最后执行以下命令更新软件源列表,并更新系统中的软件:
sudo apt-get update
sudo apt-get upgrade
二、依赖项软件包安装
在安装opencv之前需要安装一些opencv所需要的依赖软件包(环境),但是在安装时可能提示错误而无法成功安装,典型的问题的是 “E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系”。出现这个问题的原因是依赖的版本号比正要安装的软件包版本号低导致无法安装,可以将依赖包降级进行安装。
安装libgkt2.0-dev(即执行下面这句命令)总是提示错误:
sudo apt-get install libgtk2.0-dev
通过以下命令进行依赖包libgtk2.0-dev降级安装:
#sudo aptitude install libgtk2.0-dev
具体过程参考博客:点击这里
同样对于其他依赖包安装错误也可以使用aptitude命令,通过aptitude可以详细查看已安装或可用的软件包。例如安装libswscale-dev:
第一次提示是否接受“保持现阶段版本”的解决方案时选择否(输入n),其余提示输入时输入Y就可以了。
输入以下命令就可以看到提示,说依赖包libswscale-dev已成功安装:
sudo apt-get install libswscale-dev
三、安装opencv
解压包opencv-3.1.0.zip:
unzip opencv-3.1.0.zip
进入解压目录(解压opencv之后的文件夹的目录)并创建release文件夹,再进入release文件夹:
cd /home/pi/opencv/opencv-3.1.0
mkdir release
cd release
设置cmake编译参数:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D ENABLE_PRECOMPILED_HEADERS=OFF -D CMAKE_INSTALL_PREFIX=/usr/local ..
正式编译过程:
sudo make
sudo make install
更新动态链接库:
sudo ldconfig
最后用测试代码测试opencv是否正确安装,如果有错误根据提示信息寻找原因再解决。
写这篇博客之前参考了很多其他博客,将自己在研究树莓派的过程中遇到的一些问题的解决方法做了一个总结,有不对的地方请批评指正。