ubuntu18.04安装opencv4.2.0

一、下载opencv
         下载链接https://opencv.org/releases/,选择sources版本
    
二、解压下载下来的zip包
         unzip opencv-4.2.0.zip
    
三、安装文件和依赖库
          [compiler] sudo apt-get install build-essential
          [required] sudo apt-get install cmake git libgtk2.0-dev pkg-config  libavcodec-dev libavformat-dev libswscale-dev
          [optional] sudo apt-get install python-dev python-numpy libtbb2  libtbb-dev libjpeg-dev libpng-dev libtiff-dev                         libjasper-dev libdc1394-22-dev
    
         注意:安装libjasper-dev可能失败,可能需要安装依赖库
        sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
        sudo apt update
        sudo apt install libjasper1 libjasper-dev
    
四、创建构建项目的文件夹
         mkdir build_Relase
         cd build_Relase
    
        注:最好在解压后的目录创建新的文件夹

五、执行cmake    
          cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D WITH_GTK=ON -D      WITH_OPENMP=ON -D CMAKE_INSTALL_PREFIX=/usr/local/opencv/Relase ..
    
         CMAKE_BUILD_TYPE=Release              生成发布版本
         OPENCV_GENERATE_PKGCONFIG=YES          创建 PKGCONFIG文件
         CMAKE_INSTALL_PREFIX =/usr/local/opencv/Relase .. 安装路径

         注: cmake 过程中需要 ippicv,下载会很慢,而且很容易失败,所以可以提前下载

          文件下载地址:
          链接: https://pan.baidu.com/s/1g98c_uuArbPUz6J5Ud__Nw 提取码: 8z91
         在存放源码的目录中找到3rdparty/ippicv/ippicv.cmake 文件
         在文件中找到"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}ippicv/"
         修改为"file:///home/用户名/下载/" 说明(///home/用户名/下载/): 下载的ippicv存放的目录
         ippicv的文件名为:ippicv_2019_lnx_intel64_general_20180723.tgz
         这样改的原因是让ippicv从网站下载改为从本地下载

六、查看CPU核心数:
        nproc

七、执行编译命令,这个过程是漫长的
        sudo make -j4   j4:的意思是用4个核执行编译
        sudo make install  #  现在 opencv 已经安装好了
    
       注意:就是意外终止可以直接跳过前面的步骤从这里开始,
       接着编译上次编译终止的位置继续编译
    
八、配置环境变量:
       sudo gedit /etc/ld.so.conf.d/opencv.conf
       在文件末尾添加:/usr/local/opencv/Relase/lib  
       即执行第五步的时候设置的路径里存放动态库的路径  

九、执行如下命令使得刚才的配置路径生效
      sudo ldconfig
   
     ldconfig的主要用途:
     默认搜寻/lilb和/usr/lib,以及配置文件/etc/ld.so.conf内所列的目录下的库文件。
    搜索出可共享的动态链接库,库文件的格式为:lib***.so.**,
    进而创建出动态装入程序(ld.so)所需的连接和缓存文件。

    缓存文件默认为/etc/ld.so.cache,该文件保存已排好序的动态链接库名字列表。
    ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令

十、配置bash
    sudo gedit /etc/bash.bashrc  
    
    在最末尾添加:
    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv/Relase/lib/pkgconfig  
    export PKG_CONFIG_PATH
    
    保存文件,执行如下命令使得配置生效
    source /etc/bash.bashrc
    
    更新
    sudo updatedb

十一:编译并执行测试程序
    opencv-4.2.0/samples/cpp/example_cmake目录下
    按顺序执行
    cmake .     #这个是以字母C开头的
    make
    ./opencv_example
    
      执行这一步的时候如果报错如下错误:
     CMake Error at CMakeLists.txt:5 (find_package):
      By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
      asked CMake to find a package configuration file provided by "OpenCV", but
      CMake did not find one.

      Could not find a package configuration file provided by "OpenCV" with any
      of the following names:

        OpenCVConfig.cmake
        openCV-config.cmake

      Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
      "OpenCV_DIR" to a directory containing one of the above files.  If "OpenCV"
      provides a separate development package or SDK, be sure it has been
      installed.
      
      解决方法:
      第一种:找到opencv-4.2.0/samples/cpp/example_cmake目录下的CMakeLists.txt文件
      在find_package(OpenCV REQUIRED)前添加
      set(OpenCV_DIR /home/yzl/opencv/opencv-4.2.0/build_Relase)
    第二种:找到opencv-4.2.0/samples/cpp/example_cmake目录下的CMakeLists.txt文件
      在find_package(OpenCV REQUIRED)前添加
      set(CMAKE_MODULE_PATH /home/yzl/opencv/opencv-4.2.0/build_Relase)
    
    “/home/yzl/opencv/opencv-4.2.0/build_Relase”:第四步创建构建项目的文件夹

 

 

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值