ubuntu18.4编译opencv4.1

  • 1 下载opencv4.1源码并解压

                  unzip opencv-4.1.0.zip

  • 2  安装相关软件包

                 sudo apt-get install build-essential

                sudo apt-get install libgtk2.0-dev

                sudo apt-get install libavcodec-dev

                sudo apt-get install libjpeg-dev

                sudo apt-get install libtiff5-dev

                sudo apt-get install libswscale-dev

              sudo apt-get install libjasper-dev (注意:这个包直接安装不了,需要执行以下操作:

            sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
             sudo apt update
            sudo apt install libjasper1 libjasper-dev

             成功的解决了问题,其中libjasper1是libjasper-dev的依赖包)

             sudo apt-get install pkg-config

             sudo apt-get install libavformat-dev

  • 3  用cmake从source构建opencv

     (1)配置cmake生成makefile文件

                 进入解压出来的opencv-4.1.0文件夹,创建一个新的文件夹(my_build_dir),  进入新文件夹,打开终端,进入这个文件夹,执行命令:

                 cmake -D CMAKE_BUILD_TYPE=Release  -D CMAKE_INSTALL_PREFIX=/usr/local ..

其中CMAKE_INSTALL_PREFIX指定了编译好的库的目录,也就是说编译完成的OpenCV库文件会在该目录下

.. 是表示在外层文件夹下执行,外层文件夹下才有CMakeLists文件。

   (2) 开始编译

           单线程编译: sudo make

或     多线程编译: sudo make -j3  (j 后面的数字是你想使用的线程数量)

(3)编译结束后安装

          sudo make install

完成后,opencv就编译好了,接下来就需要配置opencv的编译环境了。      

  • 4  配置环境  

  (1)将opencv库添加到路径

            执行 sudo gedit /etc/ld.so.conf.d/opencv.conf

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加

        /usr/local/lib

执行如下命令使得刚才的配置路径生效

sudo ldconfig  

(2) 配置bashrc
sudo vim /etc/bash.bashrc
在文件尾添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH 

最后source一下,让更改立即生效:
source /etc/bash.bashrc
更新一下: sudo updatedb
  • 5 测试

见下一篇博客

          

   

原文地址:https://www.cnblogs.com/tianpeng-blog/p/14741416.html