树莓派4的opencv4.1.0--python3.7的开发环境安装

文中所采用的系统是官方7-10发布的 buster,系统内已经安装了python3.7,这里就不提及怎么安装了。主要是opencv。

树莓派4的opencv4.1.0--python3.7的开发环境安装_第1张图片

1. 网速贼慢,需要进行更换树莓派软件源,包括系统源与系统更新源,操作方法:


# 编辑 `/etc/apt/sources.list` 文件,原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib

# 编辑 `/etc/apt/sources.list.d/raspi.list` 文件,原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

 

树莓派4的opencv4.1.0--python3.7的开发环境安装_第2张图片树莓派4的opencv4.1.0--python3.7的开发环境安装_第3张图片

2.把目录扩展到整个TF卡

本次搭建OpenCV开发环境,至少选择16G的TF卡,需要充分利用TF的存储空间,需要将TF卡空间扩展到整个TF卡。
命令行输入:

sudo raspi-config

树莓派4的opencv4.1.0--python3.7的开发环境安装_第4张图片

树莓派4的opencv4.1.0--python3.7的开发环境安装_第5张图片

回车即可。

3.为加速Python pip安装速度,特更改Python软件源,操作方法:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install pip -U

树莓派4的opencv4.1.0--python3.7的开发环境安装_第6张图片
重启下

sudo reboot

 安装numpy

sudo pip3 install numpy

 安装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

 下载OpenCV4.1.0

git clone -b 4.1.0 --recursive https://github.com/opencv/opencv.git
git clone -b 4.1.0 --recursive https://github.com/opencv/opencv_contrib.git

需要等待一段时间,嫌慢的也可以去官网直接下载完,再拷贝过来

 

4.Cmake  经过配置,可输出适配于树莓派平台的Makefile

根据刚才下载的文件路径进行切换,并在目录下新建一个build文件夹

cd /home/pi/.../opencv
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/ninwji/opencv4.1.0/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON \
-D WITH_LIBV4L=ON \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.7 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.7 \
-D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
..

 

树莓派4的opencv4.1.0--python3.7的开发环境安装_第7张图片

注意,以上需要根据具体的环境进行修改,否则会报错。
其中:

CMAKE_BUILD_TYPE=RELEASE \ 代表编译类型为发行版本
CMAKE_INSTALL_PREFIX=/usr/local \ 安装路径
INSTALL_C_EXAMPLES=ON \ C demo
INSTALL_PYTHON_EXAMPLES=ON \ Python demo
OPENCV_EXTRA_MODULES_PATH=/home/pi/.../opencv/opencv_contrib/modules \ OpenCV Contrib路径
BUILD_EXAMPLES=ON \ 编译demo
WITH_LIBV4L=ON \ 开启Video for Linux
PYTHON3_EXECUTABLE=/usr/bin/python3.7 \ Python3.7路径
PYTHON_INCLUDE_DIR=/usr/include/python3.7 \ Python3.7 include文件夹
PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \ Python3.7库
PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \ Python3 Numpy安装路径
..

整个过程可能会持续十几分钟,需要等。。不过接下来make更久,要几小时。

树莓派4的opencv4.1.0--python3.7的开发环境安装_第8张图片

5 make

在cmake生成Makefile之后,便可进行编译:输入并执行:

make

树莓派4的opencv4.1.0--python3.7的开发环境安装_第9张图片

开始自动运行了,左边有百分比,可以去干点别的事情了。一会儿再回过来看看。

 

在72%的时候遇到了出错,fatal error: boostdesc_bgm.i: 没有那个文件或目录
           #include "boostdesc_bgm.i"

树莓派4的opencv4.1.0--python3.7的开发环境安装_第10张图片

这里要做些小的处理,出现这个问题就是boostdesc和vgg文件缺失导致的编译失败问题。
首先我们要进入到/home/pi/.........../opencv_contrib/modules/xfeatures2d/src目录下,

下载此文件https://download.csdn.net/download/ninwji/11739702 将压缩包内的文件均复制到此目录下。

树莓派4的opencv4.1.0--python3.7的开发环境安装_第11张图片

然后我们继续 make,不用担心,这两小时白等,之前的操作不用完全重新开始。

树莓派4的opencv4.1.0--python3.7的开发环境安装_第12张图片

这次跑到73%的时候又出现错误了fatal error: features2d/test/

: 没有那个文件或目录
 #include "features2d/test/test_detectors_regression.impl.hpp"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

树莓派4的opencv4.1.0--python3.7的开发环境安装_第13张图片

这个一看是头文件有点问题哈,再把下面文件夹里的两个文件拷贝到/home/pi/.........../opencv_contrib/modules/xfeatures2d/test

在打开这个文件,修改下头文件。

树莓派4的opencv4.1.0--python3.7的开发环境安装_第14张图片

树莓派4的opencv4.1.0--python3.7的开发环境安装_第15张图片

搞完了之后还有出错,用一样的方法,进行修改。

树莓派4的opencv4.1.0--python3.7的开发环境安装_第16张图片

后面直到编译结束都没遇到出错了。

树莓派4的opencv4.1.0--python3.7的开发环境安装_第17张图片

6.安装

sudo make install

树莓派4的opencv4.1.0--python3.7的开发环境安装_第18张图片

使用python3 ,import cv2如果没报错的话就说明安装结束了。

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