Windows Qt Creator配置OpenCV环境
·
Windows Qt Creator配置OpenCV
1、OpenCV下载
官网下载链接:https://opencv.org/releases/
可以直接选择Windows,下载对应的exe可执行文件

以opencv-4.12.0为例,这是由Visual Studio 2019编译得到的

选择一个路径解压如D:/opencv,将得到如下文件

其中,include文件夹路径:D:/opencv/opencv412/build/include

lib文件夹路径:D:/opencv/opencv412/build/x64/vc16/lib

2、Qt Creator配置
查看项目编译器是否包含“MSVC”
上面opencv lib文件夹路径包括vc16,即为MSVC2019

如果项目编译器为mingw,则需要安装MSVC编译器
路径为:工具 -> Qt Maintenance Tool -> Start Maintenance Tool

选择“添加或移除组件”,之后“下一步”

安装合适版本的编译器

3、Qt Creator项目配置
新建项目

设置项目名称

选择编译系统

填写类信息,默认即可

选择构建套件

完成项目创建

更改.pro中的配置

示例配置如下:
QT += core gui
QMAKE_PROJECT_DEPTH = 0
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++17
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
OPENCV_DIR = D:/opencv/opencv412/build
INCLUDEPATH += $$OPENCV_DIR/include
LIBS += -L$$OPENCV_DIR/x64/vc16/lib
CONFIG(debug, debug|release) {
LIBS += -lopencv_world4120d
}
SOURCES += \
main.cpp \
mainwindow.cpp
HEADERS += \
mainwindow.h
FORMS += \
mainwindow.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
实现一个简单的opencv读取图片并显示功能
只需要更改mainwindow.cpp
mainwindow.cpp如下:
#include "mainwindow.h"
#include "ui_mainwindow.h"
// 引入OpenCV核心头文件(适配4.12.0版本)
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
// Qt调试头文件(可选,用于打印错误信息)
#include <QDebug>
// 使用OpenCV命名空间,简化代码
using namespace cv;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
// ========== 核心:OpenCV读取并显示图片 ==========
// 1. 替换为你的图片实际路径(用/或\\,不要用\)
QString imgPath = "C:/Users/Admin/Pictures/Pictures/1.jpg";
// 2. OpenCV读取图片(IMREAD_COLOR = 1,读取彩色图)
Mat image = imread(imgPath.toStdString(), IMREAD_COLOR);
// 3. 检查图片是否读取成功(必加,避免空矩阵导致崩溃)
if (image.empty()) {
qDebug() << "图片读取失败!原因:";
qDebug() << "1. 路径错误:" << imgPath;
qDebug() << "2. 图片文件不存在/损坏";
return;
}
// 4. OpenCV创建窗口并显示图片
namedWindow("OpenCV显示图片", WINDOW_AUTOSIZE); // 创建窗口(自适应图片大小)
imshow("OpenCV显示图片", image); // 显示图片
// 5. 关键:保持窗口显示(waitKey(0)阻塞直到按任意键关闭)
// 若用waitKey(1)会瞬间闪退,这是新手最容易踩的坑
waitKey(0);
// 6. 关闭窗口(可选,按任意键后自动清理)
destroyWindow("OpenCV显示图片");
}
MainWindow::~MainWindow()
{
// 析构时销毁所有OpenCV窗口,释放资源
destroyAllWindows();
delete ui;
}
示例效果

更多推荐
所有评论(0)