美文网首页
树莓派3B+ Opencv3.4安装配置

树莓派3B+ Opencv3.4安装配置

作者: 有事没事扯扯淡 | 来源:发表于2018-11-20 15:41 被阅读0次

    进行本文配置之前,请完成系统安装(参考链接

    1.更换apt镜像源

    • 打开命令行,安装vim(也可以安装nano)
    sudo apt-get install vim
    
    • 编辑apt的配置文件
    sudo vim /etc/apt/sources.list
    
    • 按Insert键进入编辑模式,保存为Ctrl+C,然后输入" :wq "
    deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
    deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
    
    • 保存后在命令行输入
    sudo vim /etc/apt/sources.list.d/raspi.list
    
    • 变更文件内容为
    deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
    deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
    

    2.更新apt

    在命令行输入

    sudo apt-get update
    sudo apt-get upgrade
    

    3.更换pip源

    系统已内置pip3,本人用的是python3.5(推荐python3.4以上版本)

    • 命令行输入
    sudo vim /etc/pip.conf
    
    • 变更文件内容为(这里使用的是阿里云源,也可以使用清华源,豆瓣源等源地址)
    [global] 
    index-url = http://mirrors.aliyun.com/pypi/simple/
    [install] 
    trusted-host=mirrors.aliyun.com
    

    4.安装numpy(我的默认有,如果没有直接安装就好)

    sudo pip3 install numpy
    

    5.扩大TF卡的空间

    我的16G直接就是默认全部,如果你的不是,按照下面的扩展就行

    • 命令行输入
    sudo raspi-config
    
    • 选择 " Advanced Options " 然后选择" Expand Filesystem "然后重启树莓派

    增大swap空间
    修改/etc/dphys-swapfile文件,增大交换空间,以免编译ROS源码时出现内存不足现象。将CONF_SWAPSIZE 修改为 2048

    CONF_SWAPSIZE=2048
    

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

    7.下载OpenCV库和Contrib库(建议在其他环境下载然后拷贝过来,在线下载特别慢)

    我用的是opencv3.4,可以自行下载其他版本

    https://github.com/Itseez/opencv/archive/3.4.0.zip
    https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip
    

    8.cmake源码

    解压后在opencv-3.4.0文件夹里创建build文件夹,然后在命令行里面cd到此文件夹

    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-3.4.0/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON  .. 
    
    • 此处注意几点!!!
    1. 这个你要去替换成你自己的相对的路径
    OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-3.4.0/modules
    
    1. " WITH_LIBV4L=ON " 这个依我个人经验,有地方有用,有地方也有点bug(网络摄像头cap的image会有error,xx bytes的溢出,但是不影响程序运行),具体我也很懵逼。。。

    9. 编译安装

    有说不要使用make -j4加速方法的,非常容易报错。我用了没错,可以试试~~

    make && sudo make install
    

    在这里你会发现会编译失败,提示fatal error: boostdesc_bgm.i: No such file or directory的错误。这是因为前面cmake时因为网络等原因无法下载 boostdesc 和 vgg_generated 下的 boostdesc_lbgm 和 vgg_generated 文件导致找不到文件而编译失败。
    可以自行下载https://github.com/opencv/opencv_3rdparty/branches/stale?page=1
    下载: “contrib_xfeatures2d_vgg_20160317” and "contrib_xfeatures2d_boostdesc_20161012"两个文件并将解压后的文件中的所有.i文件复制到opencv_contrib-3.4.0/modules/xfeatures2d/src目录下。
    然后重新make,执行

     sudo ldconfig
    

    10.最后

    因编译后的库文件cv2.so被输出为cv2.cpython-35m-arm-linux-gnueabihf.so,这将导致该模块在Python3中无法import进来
    我们到该库文件的安装目录/usr/local/lib/python3.5/site-packages/下,将其重命名为cv2.so:

    主要参考下面的大神们

    https://www.cnblogs.com/Pyrokine/p/8921285.html
    https://www.jianshu.com/p/3180a253fe3c

    相关文章

      网友评论

          本文标题:树莓派3B+ Opencv3.4安装配置

          本文链接:https://www.haomeiwen.com/subject/bkytqqtx.html