全网最全:树莓派4B Raspbian buster系统默认python3.7环境完整编译安装opencv4.2.0

文章目录[x]
  1. 1:更换下载源
  2. 1.1:更换树莓派软件源
  3. 1.2:更换pip软件源
  4. 1.3:重启
  5. 2:安装OpenCV所需要的库
  6. 3:安装opencv
  7. 3.1: 下载opencv
  8. 3.2:配置Cmake
  9. 3.3:解决后续编译中的出错问题
  10. 3.4: 编译
  11. 3.5:安装
  12. 4:测试安装成功
  13. 5:参考:

更换下载源

更换树莓派软件源

包括系统源与系统更新源,操作方法:

#更新软件源

sudo nano /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

 

#更换系统源

sudo nano  /etc/apt/sources.list.d/raspi.list

依旧换上清华源

deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

更换pip软件源

mkdir  ~/.pip

nano  ~/.pip/pip.conf

换上下面的内容

[global]

timeout =6000

index-url =http://pypi.douban.com/simple/

[install]

use-mirrors =true

mirrors =http://pypi.douban.com/simple/

trusted-host =pypi.douban.com

国内源列表

阿里云 http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣 http://pypi.douban.com/simple

Python官方 https://pypi.python.org/simple/

v2ex http://pypi.v2ex.com/simple/

中国科学院 http://pypi.mirrors.opencas.cn/simple/

清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/

重启

以上步骤均完成之后,需要进行重启才生效,重启命令如下:

sudo reboot

 

安装OpenCV所需要的库

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

 

安装opencv

 下载opencv

我已经全部准备好给大家了,当然大家也可以去官方下载更新的,注意,oepncv和opencv_contrib的版本要一致

两者介绍:

opencv-python 是只包含了主要模块的包,opencv-contrib-python包含了主要模块以及扩展模块,扩展模块主要是包含了一些带专利的收费算法(如shift特征检测)以及一些在测试的新的算法(稳定后会合并到主要模块)。

下载地址:

https://github.com/opencv/opencv/releases

https://github.com/opencv/opencv_contrib/releases

 

我的下载 :包括oepncv-4.2.0.zip和opencv_contrib-4.2.0.zip和opencv缺少文件.zip

oepncv-4.2.0.zip

opencv_contrib-4.2.0.zip

opencv缺少文件.zip

把文件下载下来都存放到/home/pi/Downloads 的文件夹下然后解压

因为我后续的操作都是基于这个位置,你放在这里就可以照搬我的代码

配置Cmake

Cmake是一款跨平台的编译工具,经过配置,可输出适配于树莓派平台的Makefile

cd /home/pi/Downloads/opencv-4.2.0

mkdir build

cd build

 

配置Cmake,全部复制以下命令然后执行:

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/Downloads/opencv_contrib-4.2.0/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/Downloads/opencv_contrib-4.2.0/modules\ OpenCV Contrib路径
  • BUILD_EXAMPLES=ON \ 编译demo
  • WITH_LIBV4L=ON \ 开启Video for Linux
  • PYTHON3_EXECUTABLE=/usr/bin/python3.7 \ Python3路径
  • PYTHON_INCLUDE_DIR=/usr/include/python3.7 \ Python3 include文件夹
  • PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \ Python3库
  • PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \ Python3 Numpy安装路径
  • ..

 

注意:cmake执行时间一般在15分钟左右。

 

解决后续编译中的出错问题

问题1:提示缺少boostdesc_bgm.i文件出错

解决:

提示缺少boostdesc_bgm.i文件出错

把我给的opencv缺少文件.zip中的文件拷贝到

opencv_contrib-4.2.0/modules/xfeatures2d/src/ 路径下

如图:

总共缺了以下几个文件:

boostdesc_bgm.i

boostdesc_bgm_bi.i

boostdesc_bgm_hd.i

boostdesc_lbgm.i

boostdesc_binboost_064.i

boostdesc_binboost_128.i

boostdesc_binboost_256.i

vgg_generated_120.i

vgg_generated_64.i

vgg_generated_80.i

vgg_generated_48.i

 

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

 

解决:

step1 :

把/home/pi/Downloads/opencv-4.2.0/modules/features2d/test中的需要的几个文件复制到

/home/pi/Downloads/opencv_contrib-4.2.0/modules/xfeatures2d/test目录下

如图

step2:

修改头文件,修改如图文件和选中的代码,修改成和图中一样(要修改两个文件的头文件)

 

 

注:如果还遇到这样的问题,也是采取类似的方法,把缺少的文件找来存放到对应文件夹,然后修改头文件

 编译

在Cmake生成Makefile之后,便可进行编译:
在当前文件夹下(即build文件夹下)输入并执行:

make

注意:make编译时间比较长,一般编译时间在5小时左右。

 

安装

//在build目录下,编译结束就在那个目录

输入以下命令即可进行安装

sudo make install

注意:install安装时间一般在1分钟左右。

 

测试安装成功

安装好之后,在命令行中输入python3,回车

import cv2

回车

cv2.__version__

回车

如果出现下图的结果,说明Python3环境下的OpenCV安装成功。

 

参考:

https://blog.csdn.net/qq_27971677/article/details/90400118#OpenCV_4_300

http://www.waveshare.net/study/article-900-1.html

https://zhuanlan.zhihu.com/p/46032511

https://blog.csdn.net/ninwji/article/details/100798014

点赞
  1. JoeBew说道:

    citalopram hbr 40 mg buy albuterol no prescription generic elimite cream 5mg zoloft generic pill can i buy ventolin online

  2. zefevacerDweva说道:

    cbd oil store http://cbd-store.us.com/ cbd medic cbd for sale cbd vape

  3. paspspasteWib说道:

    http://mycredit-scores.com/ how to check my credit score credit history check my credit score credit karma what is a perfect credit score

  4. JeromeEvene说道:

    mature natural firm tits maturewebcams00.club anal sex with mature mom and dad.

  5. zefevacerDweva说道:

    cbd oils http://cbdvapexxl.com/ cbd capsules cbd medic pure cbd oil

发表评论