为QT安装OpenCV

安装环境

QT creator 5.14.1
cmake 3.26.0
OpenCV 4.1.0
windows10/windows11
安装环境一致可以直接参考本文,若不一致后不成功,推荐降低OpenCV版本。

下载程序

OpenCV:https://opencv.org/releases/
cmake:http://www.cmake.org/
QT安装较为常见,记得在点选SDK的时候添加Mingw的编译器
在这里插入图片描述

安装

Cmake和OpenCV都属于傻瓜安装,,尽量让opencv的extract的文件夹和QT在同磁盘。
OpenCV文件夹下新建一文件夹为Opencv-build,后续编译的文件都放在这个文件夹下。
在这里插入图片描述
打开Cmake,source code和build如图,然后configure。
在这里插入图片描述
解释器选择MingW makefile,后面的C和C++的解释器都从QT的文件夹C:\Qt\Qt5.14.2\Tools\mingw730_32\bin下寻找gcc和g++。
在这里插入图片描述
configure结束后不要点选generate,将这两个文件,复制到C:\OpenCV\opencv\sources\3rdparty\ffmpeg
在这里插入图片描述
该文件的下载地址可以在https://github.com/opencv/opencv中找到,但是需要对应的版本,选择版本可以参考ffmpeg.camke文件中的在这里插入图片描述
另一方面为了避免配置时间太长,也可以在文件下面网址处修改:
在这里插入图片描述
然后取消勾选WITH_OPENCL_D3D11_NV,WITH_IPP,ENABLE_PRECOMPLIED_HEADR.
勾选WIHT_OPENGL,WITH_OPENMP,ENABLE_CXX11,BUILD_OPENCV_WORLD.
最后一步记住,不然编译到60%左右时会出错。
add Entry —>>> BOOL —>>> OPENCV_VS_VERSIONINFO_SKIP 打钩

然后generate。结束后进入opencv-build文件夹中,管理员权限打开powershell
输入mingw32-make -j 8
除非前面步骤有误,否则这里不会报错。结束后输入mingw32-make install

复制文件到QT安装文件夹中

  • 将C:\OpenCV\opencv\opencv-build\lib下的文件复制到C:\Qt\Qt5.14.2\5.14.2\mingw73_32\lib下
  • 将C:\OpenCV\opencv\opencv-build\bin下的文件复制到C:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin
  • 在C:\Qt\Qt5.14.2\5.14.2\mingw73_32\include新建opencv文件夹,并将C:\OpenCV\opencv\opencv-build\install\include下的文件复制过来。

测试

新建工程,在pro文件中添加以下语句
LIBS += C:\Qt\Qt5.14.2\5.14.2\mingw73_32\lib\libopencv_*.a
INCLUDEPATH += C:\Qt\Qt5.14.2\5.14.2\mingw73_32\include\OpenCV
需要匹配自己的文件目录。
修改mianwindow.c文件

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <opencv2/opencv.hpp>

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


    cv::Mat img = cv::imread("C:\\Users\\Ozward\\Pictures\\16202648853907087.jpg");
    cv::imshow("test", img);
    cv::waitKey(0);
}

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

在这里插入图片描述
编译后可以看到可以显示图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值