树莓派4B源码编译opencv3.4.1

主要参考:https://blog.csdn.net/simonforfuture/article/details/101716181

零、安装准备:

  升级系统:

  sudo apt-get update

  sudo apt-get upgrade

  安装依赖:

  sudo apt-get install build-essential cmake pkg-config  libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev  libavcodec-dev libavformat-dev libswscale-dev libv4l-dev  libxvidcore-dev libx264-dev  libgtk2.0-dev libgtk-3-dev  libatlas-base-dev gfortran

  安装python3工具:

  sudo apt-get install python3 python3-setuptools python3-dev

  设置pip:

  wget https://bootstrap.pypa.io/get-pip.py

  sudo python3 get-pip.py

一、安装opencv3.4.1

 

  安装numpy:

  sudo pip3 install numpy

  

  安装必要的opencv包:  

  sudo apt-get install libopencv-dev  python-opencv

   

  获取软件包:

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

  wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.4.1.zip

  unzip opencv.zip

  unzip opencv_contrib.zip

  //也可以用下载工具到对应软件地址下载

    源码编辑安装:

  cd ~ & mkdir opencv

  mv  opencv_contrib/  ~/opencv/

  cd ~/opencv-3.4.1/ & mkdir build

  cd build

  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=~/opencv/opencv_contrib-3.4.1/modules \

      -D ENABLE_PRECOMPILED_HEADERS=OFF \

      -D BUILD_EXAMPLES=ON .. 

  cmake过程中出现:fatal error: boostdesc_bgm.i: 没有那个文件或目录 #include "boostdesc_bgm.i"错误:

  缺少一些文件,主要有:

    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

    可以去网站下好,拷贝到: ~/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/src目录即可 

  错误的原因是缺少cuda.hpp文件,这些文件在opencv_contrib-.4.1/modules/xfeatures2d/include/opencv2目录下,所以直接将这个目录下的文件拷贝到opencv-3.4.1/modules/stitching/include/opencv2/解决,其他请找百度吧 

 

  修改交换空间: 

  停止交换空间的使用:sudo /etc/init.d/dphys-swapfile stop

  增加交换空间容量,修改/etc/dphys-swapfile中的变量CONF_SWAPSIZE的值100改成1024或2048

  开启交换空间的使用:sudo /etc/init.d/dphys-swapfile start

 

  多线程编译opencv:(需要漫长的等待,估计要2小时左右吧) 

  make -j4

  当make的结果为100%时,opencv编译成功,安装命令:

  sudo make install

  sudo ldconfig

  

  测试:

  进入python3环境:

  终端输入:python3

       import cv2

       cv2.__version__

       显示版本号为‘3.4.1’即为正常

  

  恢复交换分区的大小:

  停止交换空间的使用:sudo /etc/init.d/dphys-swapfile stop

  增加交换空间容量,修改/etc/dphys-swapfile中的变量CONF_SWAPSIZE的1024或2048改成值100

  开启交换空间的使用:sudo /etc/init.d/dphys-swapfile start

    

   

posted @ 2020-10-12 09:10  叕叒双又  阅读(430)  评论(0编辑  收藏  举报