qt+opencv+cmake

目录

  • 说明
  • 引入
  • 软件版本
  • 安装
  • cmake配置
  • 编译安装
  • qt配置,测试

说明

博主只是针对自身配置出现问题进行记录,其他详细的配置,博主这里贴了链接,也可自行查找。

引入

基于该文章移植
配置环境,软件安装

软件版本

opencv-3.4.16-vc14_vc15
qt-opensource-windows-x86-5.11.1
cmake-3.23.0-windows-x86_64

opencv地址
qt地址
cmake地址

安装

qt安装是按照迅为qt教程的安装步骤
qt+opencv+cmake_第1张图片

cmake配置

qt+opencv+cmake_第2张图片
这里主要注意生成的路径,也就是cmake编译后的路径,因为后期要被qt调用,又因为qt对于路径极其严格,不能有中文,还不能有空格,博主这里的路径就有问题,导致mingw32-make install,报错说权限不足,使用管理员权限,可后编译后的目录没有install文件夹,后期qt引用头文件也找不到。

Install the project...
-- Install configuration: "Release"
CMake Error at cmake_install.cmake:41 (file):
  file cannot create directory: C:/Program Files (x86)/etc/licenses.  Maybe
  need administrative privileges.


Makefile:128: recipe for target 'install' failed
mingw32-make: *** [install] Error 1

后来博主改了路径,安装也没有报错了,目录也生成了
qt+opencv+cmake_第3张图片
cmake配置完,注意这个install目录,博主这之前不知道咋回事,install去c盘Program Files (x86)路径下去了。

Install to:                    D:/Program Files (x86)/opencv/opencvbuild/install
-----------------------------------------------------------------

Configuring done
Generating done

编译安装

D:\Program Files (x86)\opencv\sources\modules\photo\test\test_hdr.cpp: In member function 'virtual void opencv_test::{anonymous}::Photo_AlignMTB_regression_Test::Body()':
D:\Program Files (x86)\opencv\sources\modules\photo\test\test_hdr.cpp:133:39: error: 'time' was not declared in this scope
     srand(static_cast<unsigned>(time(0)));
                                       ^
modules\photo\CMakeFiles\opencv_test_photo.dir\build.make:165: recipe for target 'modules/photo/CMakeFiles/opencv_test_photo.dir/test/test_hdr.cpp.obj' failed
mingw32-make[2]: *** [modules/photo/CMakeFiles/opencv_test_photo.dir/test/test_hdr.cpp.obj] Error 1
CMakeFiles\Makefile2:2328: recipe for target 'modules/photo/CMakeFiles/opencv_test_photo.dir/all' failed
mingw32-make[1]: *** [modules/photo/CMakeFiles/opencv_test_photo.dir/all] Error 2
mingw32-make[1]: *** Waiting for unfinished jobs....

错误解决

test_hdr.cpp文件在opencv源码目录

qt+opencv+cmake_第4张图片

qt配置,测试

路径!路径!路径

INCLUDEPATH += D:\opencvbuild\install\include

LIBS += D:\opencvbuild\lib\libopencv_*.a
#include "mainwindow.h"
#include "ui_mainwindow.h"

#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"

using namespace cv;

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    Mat image=imread("C:\\Users\\Flynnsin\\Desktop\\opencv_test.jpeg",1);
    namedWindow("Display window", WINDOW_AUTOSIZE );
    imshow("Display window", image );
}

MainWindow::~MainWindow()
{
    delete ui;
}

qt+opencv+cmake_第5张图片

你可能感兴趣的:(opencv,qt5,c++,opencv)