1

本教程仅针对已经成功刷写树莓派raspbian操作系统的树莓派3,且为raspbian lite系统,且仅针对opencv 3(在本人尝试中,opencv2.4.9并不适用于本教程,而Opencv2.4.9与Opencv3存在一些差异,例如:某些库文件的增减问题.请读者务必在刷写前注意,以免浪费大量时间)

因为编译安装opencv中存在耗时较长步骤,如果使用ssh对树莓派进行操作,推荐安装 screen 程序,以免发生掉线问题无法得知当前进度,本教程不赘述screen使用方法,如有需要,敬请google

第一步 安装依赖环境

1.首先的首先是update和upgrade已经存在的一些packages:

$ sudo apt-get update
$ sudo apt-get upgrade

2.安装一些开发工具,比如说cmake

$ sudo apt-get install build-essential cmake pkg-config

3.然后安装一些图片格式类型库,比如说jpeg,png等等

$ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

4.图片库好了,当然需要安装一些视频库

$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev

5.opencv的库建立于一个叫highgui的次模组(sub-module),为了完全编译highgui,需要安装GTK开发库

此处耗时较长

$ sudo apt-get install libgtk2.0-dev

6.opencv里的许多操作可以通过安装下面的库来实现最优化

$ sudo apt-get install libatlas-base-dev gfortran

7.最后是需要安装python2.7-dev来编译opencv

$ sudo apt-get install python2.7-dev

第二步 下载opencv的源代码

本教程使用opencv3.1.0版本,你可以使用最新版代替

$ cd ~
$ mkdir opencv
$ cd opencv
$ wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip
$ unzip opencv.zip

为了完整安装opencv,还需要opencv_contrib

注意:opencv和opencv_contrib的版本号必须一致

$ wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip
$ unzip opencv_contrib.zip

第三步 配置python

首先安装pip

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py

然后通过pip安装numpy

此处耗时较长

$ sudo pip install numpy

第四步 编译,安装opencv

通过CMake构建opencv

$ cd ~/opencv/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/opencv_contrib-3.1.0/modules \
    -D BUILD_EXAMPLES=ON ..

完成后检查CMake输出中是否存在如下图所示的信息:

如果没有没有构建成功,且确保之前的步骤正确,可以尝试重启树莓派

万事俱备,只欠东风

$ make -j4

-j4可以使用4个核心提高速度,但是容易发生错误,如不成功,可以去掉后重试

$ make clean
$ make

编译没出现错误成功完成后

$ sudo make install
$ sudo ldconfig

第五步 检验安装

$ python
>>> import cv2
>>> cv2.__version__
//此时如果出现'3.1.0'则安装成功

本文参考链接:

http://www.pyimagesearch.com/...

(原文包含多版本python环境时虚拟python环境的运用)

以上.


刘放空
19 声望3 粉丝

天地玄黄/宇宙洪荒