树莓派安装Opencv方法总结,包括各种报错解决方法

前言:最近因为毕设在树莓派上使用Opencv,因此花了两天时间分别装了opencv-3.4.0版本、opencv-4.0.0版本,期间遇到了各种坑(我感觉遇到了安装过程几乎所有的坑了T T),但最后在网上查找相关问题都一步步解决了,写下这篇博客就是总结一下自己的安装经历以及遇到的坑,以后再次安装就可以直接看自己的博客了哈哈!同时也是希望能够系统的总结一下遇到的坑,可以不用遇到一个问题就去查一次百度。最后希望能够帮助到想用树莓派安装opencv的你!

我在安装过程中记录了出现的错误,本文较长,可针对目录进行选择性查阅,不过安装的话还是建议耐心的看一下。

注:文章已经总结了较多易出现的报错问题,也可以参考评论区方法,如需要帮助评论区留言,祝成功!

目录

卸载opencv

为什么先说卸载opencv呢?因为大家都说 opencv 从入门到卸载嘻嘻,开个玩笑,因为很有可能安装的版本错误啊等等各种问题导致你要重新安装!

  • 查看已安装的opencv版本

    • pkg-config --modversion opencv
  • 卸载

    • 方法1:找到安装opencv的build目录,进入该目录进行卸载。比如我安装在/home/pi/Downloads/opencv-4.0.0/build

      cd /home/pi/Downloads/opencv-4.0.0/build
      sudo make uninstall
      cd  ..
      rm -r build
      
    • 方法2:不知道安装目录在哪,则可以重新建立build目录安装对应版本,然后再执行上边卸载步骤。然后清理/usr中所有opencv相关项

      rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*  
      cd /usr  
      find . -name "*opencv*" | xargs sudo rm -rf  
      
  • 移除python相关

  • apt-get remove-doc opencv-data python-opencv

安装opencv

安装前环境准备

安装树莓派系统
  1. 去官网下载系统镜像,链接贴上:Raspberry Pi OS Downloads
    下载如下带桌面的Raspberry Pi OS就可以。
    在这里插入图片描述
    下载完成之后解压,注意路径中不能有中文字符,避免在使用镜像写入工具时出错。

  2. 格式化内存卡
    准备一个16GB或者以上的内存卡,在我的电脑右键–管理–磁盘管理,查看是否只有一个分区,应该是只有一个分区,且为FAT32.

  3. 写入镜像文件
    将 .img 镜像文件写入 SD卡,可以使用 Win32 Disk Imager,下载链接:Win32 Disk Imager下载
    运行Win32 Disk Imager之后,选择我们下载解压后的img镜像,设备选择TF卡,点击写入,确定,等待写入完成即可。
    在这里插入图片描述

4.将SD插入树莓派(最好配个显示屏)上电后系统即会开始安装系统,进行简单设置后即可开始使用。

拓展树莓派的文件系统
  1. 在树莓派终端(或者SSH)上输入:$ sudo raspi-config

  2. 然后选择“高级选项”菜单项,选择第7个
    在这里插入图片描述

  3. 然后选择“扩展文件系统”
    在这里插入图片描述
    选择第一个回车,会让你重启树莓派,选择立即重启

    注:如果不能重启,则输入sudo reboot重启

  4. 重新启动后,文件系统已经扩展为包括micro-SD卡上的所有空间。可以通过执行 df -h 检查输出来验证磁盘是否已扩展。
    在这里插入图片描述

    已经释放掉所有内存 容量变成15G!Over!

更换树莓派源为国内镜像源

更换镜像源主要就是为了解决树莓派每次下载都要“远隔重洋”去获取资源时的“龟速”问题

  1. 在树莓派的命令行界面输入sudo nano /etc/apt/sources.list使用nano编辑器编辑source.list

  2. 使用键盘方向键控制,在第一行开头加一个#,把下面的内容拷贝到最后一行之后

    清华镜像源

    注:网址末尾的raspbian重复两次是必须的。因为 Raspbian 的仓库中除了APT软件源还包含其他代码。APT软件源不在仓库的根目录,而在raspbian/子目录下。

    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
    

    中科大镜像源

    deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
    deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
    
  3. 先按键盘上的ctrl+o,再按回车保存,再按ctrl+x退出 nano 编辑器回到命令行界面。再输入sudo apt-get update 命令更新到清华大学/中国科技大学镜像源最新的软件列表。

  4. 今后在树莓派命令行中执行sudo apt-get install 软件名时便会自动从清华/中科大开源软件镜像站高速下载

  5. 最好再重启一下树莓派sudo reboot

也可以参考该博文:树莓派换镜像源 清华大学镜像源教程

给树莓派增加交换空间SWAP

在开始编译前,建议你增加交换空间。这将使你使用树莓派的所有四个内核来编译OpenCV,而不会由于内存耗尽导致编译挂起。

  1. 输入sudo nano /etc/dphys-swapfile打开 / etc / dphys - swapfile文件

  2. 然后编辑 CONF_SWAPSIZE 变量为2048或1024:
    在这里插入图片描述

  3. 重新启动交换服务

    sudo /etc/init.d/dphys-swapfile stop
    sudo /etc/init.d/dphys-swapfile start
    

注意:增加交换空间的大小可能烧坏树莓派 microSD卡,因此在我们后续编译完成之后就再改回CONF_SWAPSIZE

正式安装

更新系统

输入sudo apt-get update && sudo apt-get upgrade更新系统

安装OpenCV所需要依赖的工具和一些图像视频库
  1. 安装CMake开发人员工具

    输入如下命令安装build-essential、cmake、git和pkg-config

    sudo apt-get install build-essential cmake git pkg-config 
    
  2. 安装常用图像工具包:使我们可以从磁盘加载各种图像文件格式

    • 输入如下命令安装jpeg格式图像工具包

      sudo apt-get install libjpeg8-dev 
      
    • 输入如下命令安装tif格式图像工具包

      sudo apt-get install libtiff5-dev 
      
    • 安装JPEG-2000图像包

      sudo apt-get install libjasper-dev 
      
    • 安装png图像工具包

      sudo apt-get install libpng12-dev
      
  3. 安装常用视频库:使我们从磁盘读取各种视频文件格式,以及直接使用视频流

    • sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
      sudo apt-get install libxvidcore-dev libx264-dev
      
  4. 安装GTK2.0

    • sudo apt-get install libgtk2.0-dev
      
  5. 安装数值函数优化包

    • sudo apt-get install libatlas-base-dev gfortran
      
  6. 装Python 2.7和Python 3头文件,这样我们就可以使用Python绑定编译OpenCV

    • sudo apt-get install python2.7-dev python3-dev
      
下载opencv源码

我下载的是opencv4.0.0版本,选择其他版本也可以,直接按照网站去下载源代码

  • 下载Opencv-4.0.0

    方法1:树莓派终端输入命令

    • wget -O opencv-4.0.0.zip https://github.com/Itseez/opencv/archive/4.0.0.zip
      

    方法2:电脑上进入该网页https://github.com/Itseez/opencv/archive/4.0.0.zip下载后通过U盘拷贝到树莓派

  • 下载OpenCV_contrib-4.0.0

    方法1:树莓派终端输入命令 wget -O opencv_contrib-4.0.0.zip https://github.com/Itseez/opencv_contrib/archive/4.0.0.zip

    方法2:电脑上进入该网页https://github.com/Itseez/opencv_contrib/archive/4.0.0.zip下载后通过U盘拷贝到树莓派

  • 解压Opencv-4.0.0和OpenCV_contrib-4.0.0

    unzip opencv-4.0.0.zip
    unzip opencv_contrib-4.0.0.zip
    
配置CMake编译OPencv环境

使用CMake设置编译,然后运行 make 来编译OpenCV。这是整个过程中耗时最长的步骤,大约4个小时。回到OpenCV存储库并创建 build 文件夹,用来存放 CMake 编译时产生的临时文件。

  1. 进入opencv安装目录 注:我这里将解压Opencv-4.0.0和OpenCV_contrib-4.0.0在了/home/pi/opencv目录下

    • cd /home/pi/opencv/opencv-4.0.0
      
  2. 新建 build 文件夹,存放 CMake 编译时产生的临时文件

    • mkdir build
      
  3. 进入 build 文件夹

    • cd ./build
      
设置CMake编译参数,安装目录默认为 /usr/local

首先进入build 文件夹cd /home/pi/opencv/opencv-4.0.0/build<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值