树莓派和ubantu安装运行在Python3(3.6)上的OpenCV(3.4)

树莓派和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等各类资料
 有什么问题欢迎留言

微信公众号

你可能感兴趣的:(树莓派)