Ubuntu下Qt5.9编译配置opencv3.3

环境准备:

        Ubuntu18(64位)

        Qt5.9(安装在Ubuntu18)

        opencv3.3.zip

Ubuntu18和Qt5.9的安装在这里就不介绍了,直接进入正题

配置编译

1、首先确保安装好

gtk:跨平台图形用户界面库(GUI)GTK+ 的包装。

sudo apt-get install libgtk2.0-dev

 或者

把opencv源码,/modules/highgui/src/windows.cpp  文件第583行和654行注释掉!

  583 行: CV_NO_GUI_ERROR("cvshowImage")

  654行:CV_NO_GUI_ERROR("cvWaitKey")  

不然程序运行时会提示如下让先安装gtk+2.x之类的错误,应该是没有显示屏显示的原因。

  “OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow”。

pkg:检索系统中安装库文件的信息,典型的是用作库的编译和连接。

sudo apt-get install pkg-config

cmake:构建并维护项目代码,产生可移植的makefile。

sudo apt-get install cmake-qt-gui

2、opencv解压

unzipe opencv3.3.0zip

3、编译

3.1 载入opencv

打开Qt-文件-打开文件或项目,选择解压后opencv3.3.0目录下的CMakeists.txt

(cmake的所有语句都写在一个CMakeLists.txt的文件中,CMakeLists.txt文件确定后,直接使用cmake命令进行运行,但是这个命令要指向CMakeLists.txt所在的目录,cmake之后就会产生我们想要的makefile文件,然后再直接make就可以编译出我们需要的结果了。)

Ubuntu下Qt5.9编译配置opencv3.3_第1张图片

 点击open,开始载入

Ubuntu下Qt5.9编译配置opencv3.3_第2张图片

 载入成功

3.2配置编译

3.2.1Cmake

点击项目,在CMake下找到CMAKE_INSTALL-PREFIXXIU修改存放编译后库文件和头文件的目录

Ubuntu下Qt5.9编译配置opencv3.3_第3张图片

 修改后点击Apply Configuration Changes,粗体变斜体即生效。

3.2.2构建

点击详情,选择install

Ubuntu下Qt5.9编译配置opencv3.3_第4张图片

 3.3.3编译

点击左下角最下面的锤子,开始编译

Ubuntu下Qt5.9编译配置opencv3.3_第5张图片

Ubuntu下Qt5.9编译配置opencv3.3_第6张图片

 编译成功。

 4、测试

4.1添加环境变量

使用opencv库之前先要添加环境变量

跳转到/etc/ld.so.conf.d/目录

新建opencv.conf

cd /etc/ld.so.conf.d
vim opencv.conf

添加安装编译好的opencv路径

usr/local/opencv3.3.0/opencv3.3.0/lib

保存之后查看

sudo ldconfig -v

Ubuntu下Qt5.9编译配置opencv3.3_第7张图片

 有这些opencv的库文件则添加成功。

4.2 Qt测试

新建Qt工程

在.pro文件中添加opencv路径

INCLUDEPATH += /usr/local/opencv3.3.0/opencv3.3.0/include \
               /usr/local/opencv3.3.0/opencv3.3.0/include/opencv \
               /usr/local/opencv3.3.0/opencv3.3.0/include/opencv2 \

LIBS += /usr/local/opencv3.3.0/opencv3.3.0/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("/home/shijiu/Qt_program/test1/test.jpg");
    imshow("test",image);
    waitKey(0);
    return a.exec();
}


运行成功:

Ubuntu下Qt5.9编译配置opencv3.3_第8张图片

你可能感兴趣的:(ubuntu,qt,debian)