基于ARM的RPi3+raspbian-jessie-lite-2017-04-10上OpenCV3.2.0在python2.7.9上本地编译安装及调用命令汇总

注:安装环境不一致的请自行进行相应代码更改。

Step 1: 更新树莓派的系统与内核

$ sudo apt-get update  
$ sudo apt-get upgrade  
$ sudo shutdown -r now  

更新内核时需要一定的sd卡空间,所以首先检查树莓派的sd卡是否扩展,否则可能会报“No space left on device”错误,即存储空间不足。

耗时:5min

Step 2: 安装依赖库

下载编译工具与Git

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

通过git可以获取opencv的源码包,需要cmake来进行编译

耗时:30s

安装用于图片加载及解析的包

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

这里面有的系统的源已经进行了更新,可能会产生下载警告。

耗时:27s

安装视频IO包

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

耗时:80s

安装GTK2.0

$ sudo apt-get install libgtk2.0-dev 

耗时:3min

安装opencv优化支持工具

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

耗时:1min

安装解压缩工具 10s

$ sudo apt-get install unzip

耗时:10s

安装python2.7的头文件

$ sudo apt-get install python2.7-dev

耗时:30s

安装python包管理工具pip

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

耗时: 1min

安装生成cv2.so必需的numpy

$ sudo pip install numpy

耗时:18min

Step 3: 下载并解压资源

通过github下载并解压opencv源码

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

通过github下载opencv的contrib库

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

contrib库中包括了面部识别和文本探测,还包括文本识别、边缘检测器、深度图处理、光线流和追踪算法等

Step 4: 本地编译安装opencv

创建build文件夹

$ cd ~/opencv-3.2.0/
$ mkdir build
$ cd build

cmake配置

$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.2.0/modules \     -D BUILD_EXAMPLES=ON ..

耗时:5min

利用PPi3的四核编译源码

$ make -j4

耗时:90min

多核编译可能会出错,失败后可以使用单核编译,不过比较慢

$ make clean
$ make

安装

$ sudo make install

关联动态库

$ sudo ldconfig

Step 5: python使用opencv

如果想在python中使用opencv的话,需要把opencv编译的cv2.so和原始的cv.py或者cv.cpp拷贝到python的site-packages路径下面

$ sudo cp /home/pi/opencv-3.2.0/build/lib/cv2.so /usr/local/lib/python2.7/site-packages/
$ sudo cp /home/pi/opencv-3.2.0/modules/python/src2/cv2.cpp /usr/local/lib/python2.7/site-packages/

Step 6: 测试

$ python
>>> import cv2
>>> print cv2.__version__
3.2.0

参考链接

  1. http://www.pyimagesearch.com/2016/04/18/install-guide-raspberry-pi-3-raspbian-jessie-opencv-3/

  2. http://blog.csdn.net/talkxin/article/details/50471986

  3. http://www.cnblogs.com/itech/archive/2012/05/15/2502284.html

你可能感兴趣的:(python,opencv,raspbian,raspi3)