树莓派3b+python3.5安装opencv3.4.1教程

最近刚刚安装完opencv,来写一个笔记和大家分享一下。这个方法我是在尝试了https://blog.csdn.net/kxwinxp/article/details/78434211中的方法时 ,老是出现Makefile:160: recipe for target 'all' failed的报错后,而采取这个方法。这个方法主要借鉴了http://jingyan.eeboard.com/article/76476#/prettyPhoto%5Bpp_gal%5D/7/。同时关于本方法,我也建议大家不要仅仅复制粘贴,有的需要根据情况进行修改,文中我也会给出提示。

准备:

扩大swap分区的配置

   sudo raspi-config 

第二步安装venv虚拟环境(借鉴网址https://www.jianshu.com/p/6cc17fbc95e4)

1.sudo pip install virtualenv

2.新建一个文件夹

cd /home/pi/study/flask

virtualenv venv

然后flask中会多出一个venv文件夹

2.进入venv所在的文件夹,激活虚拟环境

source venv/bin/activate

进入虚拟环境后命令符头部会出现(venv),退出虚拟环境可以使用deactivate命令。

安装opencv3.4.1

第一步准备安装包

先在Downloads文件夹下新建opencv文件夹

将opencv安装包和opencv_contrib安装包下载在其中同时解压
 

wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.4.1.zip
unzip opencv.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.4.1.zip
unzip opencv_contrib.zip

第二步进行相关依赖的安装

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 libswscale-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
sudo apt-get install python2.7-dev python3-dev

其中可能出现依赖的安装级过高,需要降级处理。

解决方法:

sudo aptitude install (你的安装包名称)
譬如:sudo aptitude install libgtk2.0-dev

进行过程中,第一次的y/n/q/. 选择n,剩下两次都选y。

其中我建议不要一下子将安装包全部进行aptitude,一个一个进行aptitude,在进行完所有的安装包降级后,再次进行上段代码来检查依赖安装是否安装完成。

然后安装numpy

pip3 install numpy

第三步OpenCV-3.4.1的编译安装

这里我采取的图形界面安装,之前试过putty远程连接安装的,总是失败,在编译cmake的时候,出现Makefile:160: recipe for target 'all' failed的错误。

安装cmake的图形界面。我用的笔记本与树莓派连接,所以这里需要vnc。

sudo apt-get install cmake-qt-gui

首先进到opencv-3.4.1的目录下,新建build文件夹,然后在终端激活python虚拟环境的条件下(前面已经介绍过),打开CMake:

(venv) pi@raspberrypi:~/Downloads/opencv/opencv-3.4.1 $ cmake-gui

如果打不开的话,直接在vnc里点开cmake。

选择源文件路径,编译文件夹选择刚才新建的build文件夹,点击左下角Configure,第一次完成是红色的,再点一次就变成白色了

树莓派3b+python3.5安装opencv3.4.1教程_第1张图片

然后我们查找OPENCV_EXTRA_MODULES_PATH项,将OpenCV_Contrib-3.4.1/modules的路径填进去,点击Configure

树莓派3b+python3.5安装opencv3.4.1教程_第2张图片

这样OpenCV_Contrib-3.4.1就被添加进去了,然后我们修改关于Python的参数,在查找栏键入PYTHON:取消BIULD_opencv_python2,勾选INSTALL_PYTHON_EXMAPLES,这样就设置为编译Python3的版本了,再次点击Configure,如图

然后就可以生成编译文件了,点击Generate!

然后退出CMake,进入build文件夹下

make -j4

然后等大概半个小时,(一把王者的时间)

然后用如下命令来安装

sudo make install
sudo ldconfig

最后一步,因编译后的库文件cv2.so被输出为cv2.cpython-35m-arm-linux-gnueabihf.so,这将导致该模块在Python3中无法import进来,

我们到该库文件的安装目录/usr/local/lib/python3.5/site-packages/下,将其重命名为cv2.so:(这里的site-packages不一定是这个名称,我的是dist-packages,最稳妥的方法通过图形界面来寻找路径,当然在图形界面里改文件名貌似没有权限,你可以在putty里改或终端,前提是你已经获得root权限。)

cd /usr/local/lib/python3.5/site-packages/
sudo mv cv2.cpython-35m-arm-linux-gnueabihf.so cv2.so

再返回Python3的虚拟环境目录(venv)下在对应的文件夹内建立一个链接

cd /home/pi/study/flask/venv/lib/python3.5/site-packages
ls -l /usr/local/lib/python3.5/dist-packages/
ln -s /usr/local/lib/python3.5/dist-packages/cv2.so cv2.so
ls

在第三行的ls命令输入后,会输出很多数据。

最后,

import cv2
cv2.__version__

会打印出版本号。ok,安装完成。

 

你可能感兴趣的:(树莓派3b+python3.5安装opencv3.4.1教程)