当前位置:   article > 正文

Ubuntu18.4完全源码编译安装opencv4.1.0+opencv_contrib-4.1.0完整过程_linux opencv4.1.0源码安装

linux opencv4.1.0源码安装

从windows转战Linux,又将电脑的opencv安装一遍,个人习惯,不管是系统还是软件都是安装最新版本,

系统:ubuntu 18.4

opencv软件版本:4.1.0

步骤一:下载必要的安装依赖库:

  1. $ sudo apt-get install build-essential
  2. $ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
  3. $ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

该过程中可能存在有部分依赖库缺失或者无法安装,自行百度,我也遇到,其中第三行有个库比较难安装,具体原因请参看我上一篇博客;

注:许多情况是需要更新一下命令或更换源:

  1. $ sudo apt-get update
  2. $ sudo apt-get upgrade

步骤二:下载所需版本opencv+opencv_contrib

(本人使用4.1.0,其他版本类似,但一定要对应否则,,,需要修改源码)

下载地址:     https://github.com/opencv   (下载图中的opencv与opencv_contrib,点击后都选择RELEASE版本,否则后果自负)

步骤三:解压两个文件夹,

并将解压后的contrib文件复制到opencv主文件中,同时新建build文件夹用于编译,然后打开buind文件夹准备编译,这里选择cmake-gui版本进行编译,没有安装的提前进行安装,(个人喜好,偏重交互性可视化编译操作,而且不容易出错,特别是路径设置)

  1. unzip opencv-4.1.0.zip
  2. unzip opencv_contrib-4.1.0.zip

步骤四:利用cmake-gui进行编译

  1. mkdir build
  2. cd build
  3. cmake-gui ..

然后会弹出CMake的图形化界面,在上方的两个路径里面,选择好代码所在文件夹的路径和要安装的路径,然后点击configure(其他一般默认设置,注意一下平台系统设置,图2)

第一次configure后需要变动,如图所示:

更改三处:

1、BUILD_opencv_word 打钩,

2、CMAKE_BUILD_TYPE   设置为RELEASE(若有则无需更改)

3、OPENCV_EXTRA_MODULES_PATH 设置为之前下载的contrib文件夹里的modules文件夹,

opencv_contrib文件夹中的modules文件夹,注意,不是只选中opencv_contrib文件夹就好了,需要选中里面的modules文件夹! 
注:OPENCV_EXTRA_MODULES_PATH 是用来指定要编译的扩展模块,其中包括OpenCV_contrib模块。

然后等待configuring done后点击generate,结束后如下图所示,然后关闭camke-gui

步骤五:在build文件夹下进行make并安装

  1. make
  2. sudo make install

这需要一段时间估计10几分钟(电脑配置一般),

然后看到100%就成功了!如果出现错误,重新来一遍,或者百度一下吧。

步骤六:配置环境变量

1、安装成功后还需要设置opencv的环境变量。打开文件:

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

2、将以下内容添加到最后:

/usr/local/lib

3、接下来配置库:

sudo ldconfig

4、更改环境变量:

sudo gedit /etc/bash.bashrc

5、在文件后添加:

    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
    export PKG_CONFIG_PATH

6、保存退出,在运行下面的例程之前,需要重新开启终端来使配置生效。

到此,安装和配置的整个过程都完成了!
 

步骤七:测试是否安装成功

1、在终端运行命令:pkg-config --cflags --libs opencv 出现下面信息:

 

2、运行一个打开图片的程序

(1)在任意位置,新建一个文件夹project,然后在该文件夹下新建test文件夹用于该测试。

(2)创建DisplayImage.cpp文件,

touch创建cpp,然后输入gedit test.cpp 进行编辑,并输入以下代码,保存。

  1. #include <cv.h>
  2. #include <highgui.h>
  3. #include <opencv2/core/core.hpp>
  4. #include <opencv2/highgui/highgui.hpp>
  5. using namespace cv;
  6. int main( int argc, char** argv )
  7. {
  8. Mat image;
  9. image = imread( argv[1], 1 );
  10. if( argc != 2 || !image.data )
  11. {
  12. printf( "No image data \n" );
  13. return -1;
  14. }
  15. namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
  16. imshow( "Display Image", image );
  17. waitKey(0);
  18. return 0;
  19. }

(3) 然后在该文件夹下创建camkelists

gedit CMakeLists.txt

用CMake编译:添加一个CMakeLists.txt 文件,内容如下,保存

  1. project( DisplayImage )
  2. find_package( OpenCV REQUIRED )
  3. add_executable( DisplayImage DisplayImage )
  4. target_link_libraries( DisplayImage ${OpenCV_LIBS} )

(4) 在test文件夹中右键,打开终端,执行以下命令,生成执行文件 DisplayImage。(这里cmake后面一个点就够了,表示在当前目录下执行cmake操作)

  1. cmake .
  2. make

(5)选择一张图片,复制到test文件夹中,并且重命名为test.jpg

(6)在终端运行以下代码 

./DisplayImage   test.jpg

运行结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/119899
推荐阅读
相关标签
  

闽ICP备14008679号