• 树莓派3b安装opencv


    前言:最近买了一个CSI接口的摄像头,最准用树莓派做人脸识别项目。树莓派上本身已经安装了python2、python3,最开始通过sudo apt-get install python3-opencv命令安装了opencv和numpy库,后来在做人脸识别的过程后发现缺少了contrib库,但是一直安装contrib库失败,最后只能把opencv卸载了,通过编译源码方式重装。其中遇到了各种问题,缺少文件、树莓派内存不足,ssh连接中断。

    安装python3上允许的opencv

    1、安装numpy库

    sudo pip3 install numpy
    

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

    3、下载opencv和opencv_contrib到用户目录,如果使用git下载时网速过慢,可以在浏览器中直接下载后拷贝到用户目录下

    git clone https://github.com/opencv/opencv.git
    git clone https://github.com/opencv/opencv_contrib.git
    

    4、解压压缩文件,并将opencv_contrib库拷贝到opencv下

    unzip -O opencv opencv-master.zip
    unzip -O opencv_contrib opencv_contrib-master.zip
    

    5、进入到opencv目录下,新建一个build文件夹

    cd opencv
    mkdir build
    

    6、配置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/opencv/opencv_contrib/modules   
        -D BUILD_EXAMPLES=ON  ..    
    

     在这一步的过程中,遇到了缺少文件的错误情况,错误如下:bootstdesc_bgm.i文件下载超时

    解决办法:将缺少的文件从网上下载下来,然后拷贝到/home/pi/opencv/opencv_contrib/modules/xfeatures2d/src目录下

    文件下载地址参考:https://github.com/opencv/opencv_contrib/issues/1301

    缺少的文件一共是:

    然后重新运行cmake命令

    7、编译opencv源码

    sudo make
    

    在程序运行两个小时后,编译报错,提示fatal error: bootstdesc_lbgm.i没有那个文件或目录

    解决方法:将/home/pi/opencv/modules/features2d/test目录下的缺少的文件拷贝到/home/pi/opencv/opencv_contrib/modules/xfeatures2d/test目录下,继续运行make命令,编译会从上次停止的地方继续运行。

    在程序编译进行到百分之73%时报错,提示缺少文件

    解决办法为:和上面的操作一样,先拷贝缺少的文件,然后在/home/pi/opencv/opencv_contrib/modules/xfeature2d/test目录下编辑test_features2d.cpp文件,修改内容如下

    后面还会出现类似的错误,解决方法类似。

    编译到96%时树莓派一直卡住了,查看系统内存只有30M左右的剩余了,于是将SWAP分区设置为2048才编译成功,整个编译时间大概5个小时。

    8、安装opencv

    sudo  make install
    sudo ldconfig

    9、测试opencv是否安装正确

      

  • 相关阅读:
    python 高级之面向对象初级
    算法之算数表达式后序表示
    python高级之函数
    算法之最短路径
    算法之各种排序
    算法之使用递归求解迷宫问题
    python基础之文件读写
    python基础之编码问题
    python基础之dict、set及字符
    python基础之循环结构以及列表
  • 原文地址:https://www.cnblogs.com/lw77/p/11918660.html
Copyright © 2020-2023  润新知