树莓派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的开发环境安装的主要内容,如果未能解决你的问题,请参考以下文章