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

文中所采用的系统是官方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如果没报错的话就说明安装结束了。

评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值