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

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

系统:ubuntu 18.4

opencv软件版本:4.1.0

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

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

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

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

$ sudo apt-get update
 
$ sudo apt-get upgrade

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

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

Ubuntu18.4完全源码编译安装opencv4.1.0+opencv_contrib-4.1.0完整过程_第1张图片

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

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

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

unzip opencv-4.1.0.zip
unzip opencv_contrib-4.1.0.zip

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

mkdir build
cd build 
cmake-gui .. 

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

Ubuntu18.4完全源码编译安装opencv4.1.0+opencv_contrib-4.1.0完整过程_第2张图片

Ubuntu18.4完全源码编译安装opencv4.1.0+opencv_contrib-4.1.0完整过程_第3张图片

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

更改三处:

1、BUILD_opencv_word 打钩,

Ubuntu18.4完全源码编译安装opencv4.1.0+opencv_contrib-4.1.0完整过程_第4张图片

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并安装

make
sudo make install

Ubuntu18.4完全源码编译安装opencv4.1.0+opencv_contrib-4.1.0完整过程_第5张图片

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

Ubuntu18.4完全源码编译安装opencv4.1.0+opencv_contrib-4.1.0完整过程_第6张图片

然后看到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 进行编辑,并输入以下代码,保存。

#include   
#include   
#include   
 #include   
  
using namespace cv;  
int main( int argc, char** argv )  
{  
    Mat image;  
    image = imread( argv[1], 1 );  
  
    if( argc != 2 || !image.data )  
    {  
        printf( "No image data \n" );  
        return -1;  
    }  
  
    namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );  
    imshow( "Display Image", image );  
    waitKey(0);  
  
    return 0;  
}  

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

gedit CMakeLists.txt

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

project( DisplayImage )  
find_package( OpenCV REQUIRED )  
add_executable( DisplayImage DisplayImage )  
target_link_libraries( DisplayImage ${OpenCV_LIBS} )  

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

cmake .
make

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

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

./DisplayImage   test.jpg

运行结果:

Ubuntu18.4完全源码编译安装opencv4.1.0+opencv_contrib-4.1.0完整过程_第7张图片

你可能感兴趣的:(opencv)