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

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

注意:

1. 整个编译过程需要的空间超过6G ,编译前注意 预留好空间。

2.安装前 还需要安装 libhdf5 的相关依赖程序

3.在 cmake -D CMAKE_BUILD_TYPE=RELEASE \      时,千万注意对应的路径 ,一定要修改成 实际的路径

4.编译过程中 ,如果出现找不到文件或目录的情况,在 opencv的源文件中找,然后复制到 opencv_contrib目录对应位置,并且注意 修改 opencv_contrib中调用源程序的 对应头文件路径

本文链接: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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值