强调时间的目的就是,网上很多文章的教程已经过时了,照着弄,会浪费很多时间。
https://www.pyimagesearch.com/2017/09/04/raspbian-stretch-install-opencv-3-python-on-your-raspberry-pi/
https://blog.csdn.net/leaves_joe/article/details/67656340
(按照上面两个就应该可以安装上了,不行的话下面的两个链接也可以看看)
https://blog.csdn.net/Ykanon/article/details/90045201
https://blog.csdn.net/jacka654321/article/details/80728795
2019.7.25
现在去树莓派官方下载的系统已经是最新的Raspbian Buster我一开始装的就是最新的Raspbian Buster系统,在安装依赖项和编译opencv3.4.0+opencv_contrib 3.4.0时总是出现一堆的问题,
最后,重装了树莓派的系统,换成Raspbian Stretch的操作系统,再按照如下的方法,编译opencv-3.4.0+opencv_contrib-3.4.0的源码。
树莓派以往版本下载:http://www.shumeipai.net/resource.php?mod=view&rid=1145
同时,参考博文中的第一步就是扩展文件系统,提醒最好不要扩展文件系统,除非的的SD卡容量很小,我扩展文件系统后,发现用vnc viewer 连接树莓派时,虚拟桌面没有了,只能命令行操作。
首先打开终端(Raspbain和Ubuntu的快捷键都是Ctrl + Alt +t)
// 更新是必须的
sudo apt-get update
// 升级则不是必须的,我就没升级
sudo apt-get upgrade
sudo apt-get install build-essential cmake git pkg-config
// 安装jpeg格式图像工具包
sudo apt-get install libjpeg8-dev
// 安装tif格式图像工具包
sudo apt-get install libtiff5-dev
// 安装JPEG-2000图像工具包
sudo apt-get install libjasper-dev
// 安装png图像工具包
sudo apt-get install 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 python-dev python3-dev
到此OpenCV的依赖包全部安装好,下面开始编译源码
我是直接在windows中去opencv官网直接下载的源码,然后用vnc viewer传到树莓派桌面的,这样下载比较快,下面的操作是用wget下载的,速度很慢。
/** 使用wget下载OpenCV源码**/
// 下载OpenCV
wget -O opencv-3.4.0.zip https://github.com/Itseez/opencv/archive/3.4.0.zip
// 解压OpenCV
unzip opencv-3.4.0.zip
// 下载OpenCV_contrib库:
wget -O opencv_contrib-3.4.0.zip https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip
// 解压OpenCV_contrib库:
unzip opencv_contrib-3.4.0.zip
//进入源码文件夹内
cd ~/Desktop/opencv-3.4.0/
// 新建release文件夹
mkdir release
// 进入release文件夹
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE \
> -D CMAKE_INSTALL_PREFIX=/usr/local \
> -D INSTALL_PYTHON_EXAMPLES=ON \
> -D OPENCV_EXTRA_MODULES_PATH=~/Desktop/ opencv_contrib-3.4.0/modules/\
> -D BUILD_EXAMPLES=ON ..
cmake完成后结果如下:
sudo nano /etc/dphys-swapfile
将CONF_SWAPSIZE=100注释,然后添加CONF_SWAPSIZE=1024,保存退出,如图
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
如图:
/** make命令参数-j4指允许make使用最多4个线程进行编译
* 所以可以根据自己机器的情况进行更改,我的pi2 model b是四核处理器
**/
sudo make -j4
//我编译到一半突然退出了,清除.o文件后,没有加上-j4,重新编译.
make clean
sudo make
//编译了好久才完,幸好没再出问题。
// 安装
sudo make install
// 更新动态链接库
sudo ldconfig
sudo nano /etc/dphys-swapfile
//将CONF_SWAPSIZE=1024注释,然后恢复CONF_SWAPSIZE=100,保存退出
//激活设置好的交换分区
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start