正文之前
网络上太多的安装opencv的教程了,但是不是太旧就是各种幺蛾子。我昨晚测试了一个老外写的。好像是基于什么虚拟环境弄出来。。。直到今天安装成功了我才知道,我要那玩意干嘛啊!!!简直废物好么?我只是想要import cv2可以成功而已,哪管那么多??!!傻了吧唧的。所以又找了一篇文章,简单但是准确!!我照着做了。。一下就OK了(编译确实花了一下午吧?我没看,中午出去,晚上回来树莓派崩了。重启之后删了点东西就OK了)
正文
本文大部分内容来自以下博客,如果侵权,立马删除:
我就不跟他一样从树莓派烧系统开始了。。直接假设你手上有一个已经安装了好了python3.5的树莓派。然后内存足够环境了啊!
第一步 安装好numpy
这个我虽然不知道干啥用,但是大家都用了,安装也就一分钟。不碍事~
sudo pip3 install numpy
下面这一步不知道你有没做过,不过可以进去看看,如果没有那个选项,自然就是已经扩展了:
扩大TF卡的空间,如果不做这步操作,后面会出问题,比如卡死。输入(命令行)
sudo raspi-config
然后选择" Advanced Options "然后选择" Expand Filesystem "然后重启树莓派
开始为OpenCV安装做准备,配置所需的库(一次一行)
sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -y
sudo apt-get install libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
我当初不是用的这些命令来安装依赖库的。是另外一个老外的教程。不过这个应该也可以,后面我也照着跑了一次,应该照这个就可以跑完
然后直接找个目录,把下面两条命令跑了:
wget https://github.com/Itseez/opencv/archive/3.4.0.zip
wget https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip
然后把这两个zip解压掉,为了防止某些小白,我还是说说怎么解压。。
简单来说,就是unzip加压缩文件的名字。。记得两个都要解压~~
解压后在opencv-3.4.0文件夹里创建build文件夹,然后在命令行里面cd到此文件夹,
cd opencv-3.4.0
mkdir build
cd build
然后开始cmake,以下内容为一行(先不要抄,看我后面解释,不然你就死啦死啦滴!):
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-3.4.0/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.5 PYTHON_INCLUDE_DIR=/usr/include/python3.5 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.5/site-packages/numpy/core/include ..
这里面有几个关键点,第一个:
OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-3.4.0/modules
这个东西你要去替换成你自己的相对的路径,以python/opencv_contrib-3.4.0
为基准。我的就是这个样子:
第二点:虽然这个路径大部分是对的,但是你也要看看你的是不是,而且版本问题也很严重的..最好看一下,免得几个小时就为这错误买单。
PYTHON3_EXECUTABLE=/usr/bin/python3.5
然后是下面的几个,大同小异:
PYTHON_INCLUDE_DIR=/usr/include/python3.5
PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so
PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.5/site-packages/numpy/core/include ..
注意版本问题,然后就是一般问题都是处在最后一个numpy的安装路径的问题上。。这里面这个明显那不是普罗大众的手法。。比如我的:
我估计大部分人的安装路径跟我差不多,还不如直接抄我的:
PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include
前面我都断行了,但是实际上都在一行里面啊。。慎重啊兄dei!
然后开始编译,此步不要使用make -j4等加速方法,非常容易报错,耐心等几个小时吧,欲速则不达
make && sudo make install
这里估计要四五个小时吧。。然后还有个很令人悲伤地事实:
Opencv要完全编译安装。。他么起码要用掉我4.3G内存。。因为我晚上回来看的时候,VNC都没有内存给我开临时目录了。。。然后忍痛删掉了我1.2 G的PDF学习资料之后才好了起来。悲伤啊。。但是一切都是值得的!!!我等下就玩一下opencv,纪念那些被我删除的资料!!!
正文之后
初步成功~ opencv小小入门级玩法,不过貌似C++才是大头,感动,希望以后还能不拉下我的C++!!