美文网首页
树莓派编译安装OpenCV

树莓派编译安装OpenCV

作者: 梁睿坤 | 来源:发表于2018-09-14 16:00 被阅读264次

    由于在Raspbian上没有OpenCV的预安装包用apt也装不了,所以如果要在树莓上用OpenCV那只能蛋疼地去下载本地编译安装了。

    本文是一个极其蛋疼的经历的记录,如果你没有什么耐性尝试那么请直接飘过。

    我使用的是Raspberry PI 3+ ,首先要更换源,推荐使用(清华大学)[https://mirror.tuna.tsinghua.edu.cn/help/raspbian/]的,其它的源可能会由于cmake版本过低导致无办法编译。

    打开/etc/apt/sources.list文件修改源

    pi@raspberrypi ~ $ sudo nano /etc/apt/sources.list
    

    改使用以下的源:

    deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib
    deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib
    

    注:OpenCV for Python3的安装办法请参考:Raspbian Stretch: Install OpenCV 3 + Python on your Raspberry Pi 在编译过程中会出现一些C++的警告,直接无视。且不要安装到虚环境,因为其它的程序经常需要使用sudo一但安装到虚环境整个系统反而会变得不可用。所以不建议使用Python的虚环境。

    更新系统安装包

    首先更新系统包。

    sudo apt-get update
    sudo apt-get upgrade
    #sudo rpi-update 
    #(can be skipped, but recommended) (don't do it if you will use the RPI cam as recommended by official RPI Website)
    sudo reboot now
    

    然后是下载各种依赖包,我将它们全部写到一起:

    sudo apt-get purge wolfram-engine --assume-yes
    sudo apt-get purge libreoffice* --assume-yes
    sudo apt-get clean --assume-yes
    sudo apt-get autoremove --assume-yes
    
    sudo apt-get update && sudo apt-get upgrade --assume-yes
    sudo apt-get install build-essential cmake pkg-config --assume-yes
    sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev --assume-yes
    sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev --assume-yes
    sudo apt-get install libxvidcore-dev libx264-dev --assume-yes
    sudo apt-get install libgtk2.0-dev libgtk-3-dev --assume-yes
    sudo apt-get install libcanberra-gtk* --assume-yes
    sudo apt-get install libatlas-base-dev gfortran --assume-yes
    sudo apt-get install python2.7-dev python3-dev --assume-yes
    

    以下是自动下载OpenCV

    cd ~
    wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.3.zip
    unzip opencv.zip
    wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.3.zip
    unzip opencv_contrib.zip
    
    

    修改数据交互区

    将数据交互区增大,先打开dphys-swapfile文件:

    sudo nano /etc/dphys-swapfile
    

    然后将CONF_SWAPSIZE改为:

    CONF_SWAPSIZE=1024
    

    执行以下指令重启服务:

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

    编译

    安装依赖完成之后就可以进行编译配置。

    cd ~/opencv-3.4.3/build
    #mkdir build
    #cd build
    cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.3/modules \
        -D ENABLE_NEON=ON \
        -D ENABLE_VFPV3=ON \
        -D WITH_GTK=ON \
        -D BUILD_TESTS=OFF \
        -D INSTALL_C_EXAMPLES=OFF \
        -D INSTALL_PYTHON_EXAMPLES=OFF \
        -D BUILD_EXAMPLES=OFF ..
    

    配置完成后就可以开始编译了,执行以下脚本大约需要二小时左右,执行:

    $ sudo make -j4
    

    完成编译后直接安装

    $ sudo make install && sudo ldconfig
    

    自动装载摄像头驱动

    安装完OpenCV2后是不会自动装载摄像头的,需要执行以下的指令才可以:

    sudo modprobe bcm2835-v4l2
    

    如果要在系统加载时载入可以在 /etc/modules 文件内加入这个驱动

    sudo nano /etc/modules
    

    加入:

    bcm2835-v4l2
    

    完成后记得将交互区大小改回100保存后重启。

    重新进入 python 命令行,测试CV2是否安装成功:

    import cv2
    cv2.__version__
    

    相关文章

      网友评论

          本文标题:树莓派编译安装OpenCV

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