首先,我们要连接并打开到树莓派的Terminal。用命令拓展树莓派的文件系统以及sd卡的可用空间:
$sudo raspi-config
我们要选择如上图所示的Option进行释放空间,操作结束后reboot你的树莓派。
OpenCV依赖项在编译的过程中需要几GB,因此为了保险请(删除)系统自带的Wolftam引擎
$ sudo apt-get purge wolfram-engine
老方法,在进行软件安装之前首先要更新一下现有的软件包:
$ sudo apt-get update
$ sudo apt-get upgrade
然后我们要安装一下开发工具——CMake,它可以帮助我我们配置OpenCV的构建过程:
$ sudo apt-get install build-essential cmake pkg-config
安装成功以后安装各种图像格式的包(具体很多我就不再解释了,这段基本上所有教程都一样:
$ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswcale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev
$ sudo apt-get install libgtk2.0-dev
$ sudo apt-get install libatlas-base-dev gfortran
当然,连python都没有何谈识别呢?下面开始搭建python环境:
$ sudo apt-get install python2.7-dev python3-dev
因为python版本不是最新的3.5,所以我选择了OpenCV3.1.0存档(3.3.0存档对于python2.7和3.4都跳错,我也不知道为什么)
$ cd~
$ wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip
$ unzip opencv.zip
$ wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip
$ unzip opencv_contrib.zip
接下来分别介绍一下OpenCV在2.7和3.4的环境搭建:
pip是不可或缺滴~~
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
所以我们选择使用virtualenv 和 virtualenvwrapper
虚拟环境是什么?它是一种特殊工具,在每个虚拟环境创建独立的python环境(这就是为什么我刚才说pip不可或缺,因为搭建环境以后还要在虚拟环境重新安装包)
(我也是从网上看来的。。。)
话不多说,直接贴command
$ sudo pip install virtualenv virtualenvwrapper
$ sudo rm -rf ~/.cache/pip
# virtualenv and virtunlenvwrapper
export WORNKN_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
现在重新启动你的树莓派来更新文件配置。
打开终端输入:
$ source ~/.profile
$ mkvirtualenv cv -p python2
这可以使用pyrhon2.7创建一个名为cv的新py虚拟环境
如果使用python3.4:
$ mkvirtualenv cv -p python3
检查你是否处于虚拟环境中:
$ source ~/.profile
$ workon cv
如果没有,恭喜你,大侠请重新来过~~
数字处理很重要!!很重要!!很重要!!
$ pip install numpy
首先!!!!检查自己是否在虚拟空间内,如果没有执行workon:
$ workon cv
接着我们使用CMake设置构建:
$ cd ~/opencv-3.1.0/
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \
-D BUILD_EXAMPLES=ON ..
python3.4和python2.7,其他版本报错不关我的事~~
最后我们准备编译OpenCV(这个过程相当的漫长,我花了四个小时编译)
可能有的教程上会写:
$ make -j4
尽管树莓派是四核处理器,但是我不建议这样做,尽管会加快我们的速度但是会出现很多很多错误,毕竟我比较脸黑。我猜想可能是由于树莓派的散热和内部环境的竞争所导致的一个bug(树莓派坑爹*1)因此我建议:
$ make
单核处理,慢点就慢点吧,多陪陪女朋友,实在不行就去看一部电影,毕竟程序员是没有女朋友的(室友或许是个不错的选择):
当你出现这张照片时,恭喜你进入了下一关,如果一直跳error,很抱歉,我之前两天一直被这个问题困扰,只能判定安装包不匹配吧,如果有大神知道原因还望告知。
现在你就需要继续完成安装OpenCV了
$ ls -l /usr/local/lib/python2.7/site-packages/
它会出现:
total 1852
-rw-r--r-- 1 root staff 1895772 Mar 20 20:00 cv2.so
$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
$ ls -l /usr/local/lib/python3.4/site-packages/
它会出现:
total 1852
-rw-r--r-- 1 root staff 1895932 Mar 20 21:51 cv2.cpython-34m.so
$ cd /usr/local/lib/python3.4/site-packages/
$ sudo mv cv2.cpython-34m.so cv2.so
再次绑定:
$ cd ~/.virtualenvs/cv/lib/python3.4/site-packages/
$ ln -s /usr/local/lib/python3.4/site-packages/cv2.so cv2.so
$ source ~/.profile
$ workon cv
$ python
>>> import cv2
>>> cv2.__version__
'3.1.0'
>>>
然后删掉安装包:
$ rm -rf opencv-3.1.0 opencv_contrib-3.1.0
ps:安装教程不可全信,一定要相信脑(老)子是个好东西。
看看国外大神的解决方法或许有用
英文不好真的很吃亏
做事情要有动力,比如。。。嗯
这篇文章吸收了好多其他大神的攻略,并不是完全原创,毕竟刚起步,希望可以越来越好吧。
第一篇blog,2017.10.24程序员节快乐:)