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

Posted letusgo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派4的opencv4.1.0--python3.7的开发环境安装相关的知识,希望对你有一定的参考价值。

下文中大部分内容可以顺利进行,还有一些问题需要解决。有空增加上来

 

本文链接:https://blog.csdn.net/ninwji/article/details/100798014
文中所采用的系统是官方7-10发布的 buster,系统内已经安装了python3.7,这里就不提及怎么安装了。主要是opencv。

 

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
 

 

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

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

sudo raspi-config

 


回车即可。

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

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

重启下

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 \
..
 

 

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

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更久,要几小时。

 

5 make

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

make


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

 

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

 

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

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

 

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

 

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

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

 

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

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

 

 

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

 

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

 

6.安装

sudo make install


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


————————————————
版权声明:本文为CSDN博主「最爱铅笔字」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ninwji/article/details/100798014

以上是关于树莓派4的opencv4.1.0--python3.7的开发环境安装的主要内容,如果未能解决你的问题,请参考以下文章

树莓派4的2G版本能跑ubuntu够用吗?

树莓派4B + Debian10 单臂路由

树莓派4启动不了ubuntu桌面

树莓派 ——红外遥控篇lirc【内核4.19.x】

树莓派树莓派4无痛安装系统(NOOBS篇)

树莓派 性能分析工具