Linux系统编译opencv流程

Linux系统编译opencv流程

  1. 版本说明
    使用ubuntu14.04, + opencv3.4.6 + opencv_contrib3.4.6
  2. 配置共享文件夹和调整虚拟机窗口大小
    启动ubuntu系统,在菜单栏中点击“虚拟机”选项,选择“安装Vmware Tools”。

在虚拟机中生成以下文件

在ubuntu系统的”home”文件夹中创建一个“VMwareTools”文件夹,将上图中的文件移动至新创建的文件夹中并解压。指令如下:

  1. 打开终端:ctrl + alt + t。

  2. 进入超级管理员模式:sudo su,输入设置好的虚拟机启动密码。

  3. 解压:tar –zxvf VmwareTools-xxx.tar.gz。

  4. 进入解压后的目录:cd vmware-tools-distrib。

  5. 运行安装文件:./vmware-install.pl。

  6. 安装过程中如果提示yes,输入y,如果提示路径,直接按回车即可。
    等待安装结束,设置windows系统和ubuntu虚拟机共享文件夹的目录:

  7. 将ubuntu虚拟机关机,点击“编辑虚拟机设置->”选项”->”共享文件夹”。

  8. 右边窗口选择“总是启用”,点击“添加”按钮,选择windows系统上指定文件夹作为和虚拟机传输文件的共享文件夹。

  9. 重启虚拟机,可以在ubuntu系统下的/mnt/hgfs目录下看到windows系统中设定的共享文件夹目录。

  10. 点击“查看”按钮,选择“立即适应客户机”,再按键盘中f11选项,即可自动适应屏幕大小。

完成上述步骤,可随意将windows中的文件拷贝粘贴至虚拟机中。
3.将windows上相关文件夹拷贝至ubuntu系统上
windows系统上将opencv-3.4.6,opencv_contrib-3.4.6,ippicv_2019_lnx_intel64_general_20180723.tgz文件夹拷贝至共享文件夹的目录底下。启动虚拟机,在虚拟机的/mnt/hgfs目录下找到opencv和opencv_contrib文件夹。在终端输入以下指令:

  1. 打开终端:ctrl + alt + t。
  2. 进入超级管理员模式:sudo su,输入设置好的虚拟机启动密码。
  3. 进入共享文件夹路径:cd /mnt/hgfs/。
  4. 将openc-3.4.6v和opencv_contri-3.4.6b移动至/home目录底下:
    mv opencv-3.4.6 /home
    mv opencv_contrib-3.4.6 /home
  5. 将 ippicv_2019_lnx_intel64_general_20180723.tgz移动至/home下。
    mv ippicv_2019_lnx_intel64_general_20180723.tgz /home
    4.安装相关包
    首先更新apt-get,安装前先更新系统,否则有可能导致安装失败。指令如下
    1) sudo apt-get update
    2) sudo apt-get upgrade
    更新完毕之后安装必备包:
    1) sudo apt-get install build-essential
    2) sudo apt-get install cmake git g++
    安装依赖包:
    1) sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
    2) sudo apt-get install checkinstall yasm libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libfaac-dev libmp3lame-dev libtheora-dev
    3) sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev libavresample-dev x264 v4l-utils
    图像和视频所需的包:
    1) sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev
    2) sudo apt-get install libxvidcore-dev libx264-dev
    功能优化:
    1) sudo apt-get install libatlas-base-dev gfortran
    部分可选依赖包
  6. sudo apt-get install libopencv-dev qt4-qmake libqglviewer-dev libsuitesparse-dev
  7. sudo apt-get install python-dev python-numpy
  8. sudo apt-get install libprotobuf-dev protobuf-compiler
  9. sudo apt-get install libgoogle-glog-dev libgflags-dev
  10. sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxyge
    5.创建build文件夹及安装cmake-gui
    将opencv_contrib-3.4.6文件夹移至opencv-3,4.6目录底下,并创建build文件夹。指令如下:
  11. 进入home文件夹:cd /home
  12. 将opencv_contrib文件夹移至opencv目录:mv opencv_contrib-3.4.6 /home/ opencv-3,4.6
  13. 进入opencv-3,4.6文件夹: cd opencv-3,4.6
  14. 创建build文件夹:mkdir build
  15. 编辑ippicv.cmake:gedit opencv-3,4.6/3rdparty/ippicv/ippicv.cmake,修改以下内容:
    “https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/”
    修改为:
    “file:/home/”
  16. 安装cmake-gui:sudo apt-get install cmake-gui
  17. 启动cmake-gui:cmake-gui

6.cmake操作步骤:

  1. 选择路径

  2. 点击configure选择Unix Makefiles

  3. 在CMAKE_BUILD_TYPE 值处输入RELEASE

  4. 在OPENCV_EXTRA_MODULES_PATH处,选择输入目录:opencv_contrib文件夹中的modules文件夹

  5. 勾选BUILD_opencv_world(可不勾选)

  6. 点击Generate,编译完成。

  7. Cmake成功后,可以在build文件下make:
    进入build文件夹:cd /home/opencv-3.4.6/build
    编译:sudo make –j16
    安装:sudo make install
    7.配置环境变量
    安装成功后设置opencv的环境变量:

  8. 在终端进入:sudo gedit /etc/ld.so.conf.d/opencv.conf

  9. 添加以下内容:/usr/local/lib/x86_64-linux-gnu

  10. 添加完之后关闭文档,配置库,在终端输入sudo ldconfig

  11. 更改环境变量,在终端进入:sudo gedit /etc/bash.bashrc

  12. 在文档最后添加:
    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/ x86_64-linux-gnu/pkgconfig
    export PKG_CONFIG_PATH
    8.运行程序

  13. 终端输入pkg-config --cflags --libs opencv 查看opencv已装lib信息。

  14. 创建文件夹,将.cpp程序放进该文件夹中。

  15. 添加一个CMakeLists.txt文件,内容如下:
    project( DisplayImage )
    find_package( OpenCV REQUIRED )
    add_executable( DisplayImage DisplayImage )
    target_link_libraries( DisplayImage ${OpenCV_LIBS} )

  16. 在终端进入该文件夹,输入以下指令,生成执行文件(cmake后一个空格+一个点)
    cmake .
    make
    运行上一步生成的执行文件,终端输入以下指令:(xxx为执行文件名字)
    ./xxx

    配置成功即可运行程序。
    9.安装过程中可能出现的问题

  17. sudo apt-get update出现错误:
    Err http://security.ubuntu.com precise-security InRelease
    Err http://security.ubuntu.com precise-security Release.gpg
    Temporary failure resolving ‘security.ubuntu.com’
    Err http://cn.archive.ubuntu.com precise InRelease
    Err http://cn.archive.ubuntu.com precise-updates InRelease
    Err http://cn.archive.ubuntu.com precise-backports InRelease
    Err http://cn.archive.ubuntu.com precise Release.gpg
    Temporary failure resolving ‘cn.archive.ubuntu.com’
    Err http://cn.archive.ubuntu.com precise-updates Release.gpg
    Temporary failure resolving ‘cn.archive.ubuntu.com’
    Err http://cn.archive.ubuntu.com precise-backports Release.gpg
    Temporary failure resolving ‘cn.archive.ubuntu.com’
    Reading package lists… Done
    W: Failed to fetch http://cn.archive.ubuntu.com/ubuntu/dists/precise/InRelease
    W: Failed to fetch http://cn.archive.ubuntu.com/ubuntu/dists/precise-updates/InRelease
    W: Failed to fetch http://cn.archive.ubuntu.com/ubuntu/dists/precise-backports/InRelease
    W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/precise-security/InRelease
    W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/precise-security/Release.gpg Temporary failure resolving ‘security.ubuntu.com’
    W: Failed to fetch http://cn.archive.ubuntu.com/ubuntu/dists/precise/Release.gpg Temporary failure resolving ‘cn.archive.ubuntu.com’
    W: Failed to fetch http://cn.archive.ubuntu.com/ubuntu/dists/precise-updates/Release.gpg Temporary failure resolving ‘cn.archive.ubuntu.com’
    W: Failed to fetch http://cn.archive.ubuntu.com/ubuntu/dists/precise-backports/Release.gpg Temporary failure resolving ‘cn.archive.ubuntu.com’
    W: Some index files failed to download. They have been ignored, or old ones used instead.
    解决方法:
    sudo gedit /etc/apt/sources.list
    删除全部内容,把下面的源文件地址复制到该文件中:
    deb http://old-releases.ubuntu.com/ubuntu utopic main restricted universe multiverse
    deb http://old-releases.ubuntu.com/ubuntu utopic-security main restricted universe multiverse
    deb http://old-releases.ubuntu.com/ubuntu utopic-updates main restricted universe multiverse
    deb http://old-releases.ubuntu.com/ubuntu utopic-proposed main restricted universe multiverse
    deb http://old-releases.ubuntu.com/ubuntu utopic-backports main restricted universe multiverse
    deb-src http://old-releases.ubuntu.com/ubuntu utopic main restricted universe multiverse
    deb-src http://old-releases.ubuntu.com/ubuntu utopic-security main restricted universe multiverse
    deb-src http://old-releases.ubuntu.com/ubuntu utopic-updates main restricted universe multiverse
    deb-src http://old-releases.ubuntu.com/ubuntu utopic-proposed main restricted universe multiverse
    deb-src http://old-releases.ubuntu.com/ubuntu utopic-backports main restricted universe multiverse

  18. make可能报错的地方:

解决方法:从共享文件夹中将以下文件夹拷贝到opencv_contrib-3.4.6/modules/xfeatures2d/src/目录下。
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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值