文章目录
树莓派和ubantu安装运行在Python3(3.6)上的OpenCV(3.4)
1、安装numpy
sudo pip3 install numpy
2、在树莓派设置中把根目录扩大到整个SD卡
sudo raspi-config
选择 Advanced Options->Expand Filesystem
配置至少需要16g内存卡,如果原本就是16G的镜像,可以忽略此操作
3、安装OpenCV所需的库
运行下面八条命令大概需要(注意倒数第三条命令中要安装四个-dev软件包)
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
4、下载OpenCV
下载:
cd /home/pi/Downloads 一定要下载在这里,后面Cmake会安装这个路径配置
wget https://github.com/Itseez/opencv/archive/3.4.0.zip
wget https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip
下载之后,把第一个压缩包重新命名为opencv-3.4.0.zip,把第二个压缩包重新命名为opencv_contrib-3.4.0.zip
解压:
cd /home/pi/Downloads
unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip
5、设置编译参数
cd /home/pi/Downloads/opencv-3.4.0
mkdir build
cd build
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 ..
------------------------------------------------------------------------------
最后部分出现:
-- Confinguring done
-- Generating done
说明安装成功,如果没有安装成功,肯定是没有按照我说的配置,注意检查
6、编译
注意:保证树莓派有至少5G的存储空间
先下载缺少的包
cd /home/pi/Downloads//home/pi/Downloads/modules/xfeatures2d/src/
此目录中缺少
boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_lbgm.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
vgg_generated_120.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_48.i
这几个包
百度云链接:
链接:https://pan.baidu.com/s/1IIdHbOa7NvZw67pqYtYOPw
提取码:hxlu
把上面的包全部放到/home/pi/Downloads//home/pi/Downloads/modules/xfeatures2d/src/此目录下
cd /home/pi/Downloads/opencv-3.4.0/build
sudo make
编译时间比较久,大概需要5个小时,请耐心等待
当make到95%左右会出现一个错误:fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or directory
找不到这个头文件,顺藤摸瓜找一下这个头文件:/home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d发现这个头文件是存在
出现这种问题只有一个原因:编译的路径没有保护这个头文件
所以解决办法有两个:
1.找到编译Cmake地方,找了很久没找到
2.直接在头文件哪里添加绝对路径(我选择了这种方法)
找到报错的地方的头文件,把#include "opencv2/xfeatures2d/cuda.hpp" 替换为 #include"/home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp"
把两处修改后重新sudo make一下就通过了
编译结束后安装
sudo make install
7、测试是否安装成功
在Python3上测试OpenCV
安装好之后,在命令行中输入python3,回车
import cv2
回车
cv2.__version__
回车
'3.4.0'
出现版本号就是安装成功了
8、建议
由于安装时间很长,并且有很多坑需要注意,如果想用树莓派做opencv的学习的话会话费很长的时间
1.如果你原本sd卡有重要资料的,建议关注公众号联系客服购买带有opencv的镜像sd卡
2.如果你原本sd卡中没有重要资料,建议关注公众号联系客服获取镜像
福利时间 :关注微信公众号:chengxuyuanxiaofang
获取免费的python嵌入式java等各类资料
有什么问题欢迎留言