Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)

Ubuntu 18 Qt5.12编译opencv3.4+配置

  • 1、准备
    • 1.1.确保正确安装Qt,并可以正常运行示例程序。
      • 1.1.1下载Qt
      • 1.1.2 安装Qt
    • 1.2 安装cmake
    • 1.3下载opencv
  • 2、编译
    • 2.1 载入opencv
      • 2.1.0解决编译中卡住的问题
    • 2.2配置编译
      • 2.2.1 CMake
      • 2.2.2 构建步骤
      • 2.2.3开始编译
  • 3、测试

尝试过很多种编译opencv的方法,这是成功率最高的一种 。。。。。。。。。。。。。

1、准备

1.1.确保正确安装Qt,并可以正常运行示例程序。

安装GCC和G++,这是必须的!

sudo apt install gcc
sudo apt install g++

1.1.1下载Qt

下载地址

http://download.qt.io/archive/qt/

1.1.2 安装Qt

跳转到安装包所在的目录,执行:(注意安装包的名字!)

sudo chmod 777 qt-opensource-linux-x64-5.12.0.run 
./qt-opensource-linux-x64-5.12.0.run 

1.2 安装cmake

sudo apt install cmake-qt-gui 

安装后打开Qt确认如下图:
Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第1张图片

1.3下载opencv

地址:

https://opencv.org/releases.html

下载 Sources 并解压。

2、编译

2.1 载入opencv

打开Qt–文件–打开文件或项目,选择解压的opencv源码里面的CMakeists.txt
Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第2张图片
然后选择Configure,这里按需要选择,没有特殊需求用Default就行,修改下编译的目录,这个目录是用来装编译过程中文件的地方,编译成功后可以删掉。
Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第3张图片Configure Project开始载入opencv。
之后会出现卡住的问题,这是因为这里下载的文件较大,主要是网络的问题。。。。。。。。。。。
网络好的2.1.0这一步可以忽略。

2.1.0解决编译中卡住的问题

问题如图(’概要信息‘里面的):
Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第4张图片
打开解压的opencv源码里面的3rdparty/ippicv/ippicv.cmake文件
将链接

"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"

替换成

"https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20180723/ippicv/"

注意替换的链接里面文件的版本!!!!
查看文件版本的方法:
打开3rdparty/ippicv/ippicv.cmake文件
Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第5张图片
注意需要的版本的文件名,然后到这个网站去找

https://github.com/opencv/opencv_3rdparty/branches/all

目的就是让编译器能找到需要的文件
然后关掉Qt重新载入可以看到:
Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第6张图片
载入成功:
Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第7张图片

2.2配置编译

2.2.1 CMake

点击项目
在CMake下找到CMAKE_INSTALL_PREFIX修改编译后的库文件和头文件的存放目录
Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第8张图片修改后,单击Apply Configuration Changes粗体变成斜体后,修改生效,其他项目如果没有特殊需求保持默认即可。

2.2.2 构建步骤

点击详情,选择install
Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第9张图片

2.2.3开始编译

点击左下角的锤子,开始编译啦!!
Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第10张图片
编译结果:
Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第11张图片Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第12张图片

3、测试

使用opencv库之前必须添加环境变量,否则会出现如下错误
在这里插入图片描述添加环境变量方法:
跳转到目录/etc/ld.so.conf.d/
新建一个opencv.conf

sudo vim opencv.conf 

添加一句,这个路径就是安装编译好的opencv库的路径

home/hello/opencv/opencv3.4/lib

保存之后

sudo ldconfig -v

在显示的库的目录里面看是否有opencv的库文件,如果有则添加成功
Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第13张图片新建Qt工程
在.pro文件中添加

INCLUDEPATH += /home/hello/opencv/opencv3.4/include \
               /home/hello/opencv/opencv3.4/include/opencv \
               /home/hello/opencv/opencv3.4/include/opencv2

LIBS += /home/hello/opencv/opencv3.4/lib/libopencv_*

main.cpp中

#include "mainwindow.h"
#include 
#include "opencv2/opencv.hpp"
#include "cv.h"

using namespace cv;

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    Mat image = imread("test.jpg");

    imshow("test", image);

    waitKey(0);

    return a.exec();
}

结果:
Ubuntu 18 下Qt5.12编译opencv3.4+配置(超详细)_第14张图片

你可能感兴趣的:(C/C++,Qt,Linux,Opencv)