Qt -下载Qt6与OpenCV

article/2025/6/24 10:22:46

博客主页:【夜泉_ly】
本文专栏:【暂无】
欢迎点赞👍收藏⭐关注❤️

在这里插入图片描述

前言

呃啊,本来就想在 Qt 里简单几个 OpenVC 的函数,没想到一搞就是一天。
我之前的开发环境是 Qt 5.14.2,使用 MinGW 7.3.0 64-bit 编译器。

首先,我尝试从 OpenCV 官网下载预编译库,欸嘿,用不了。
因为官网下的默认匹配的编译器是 MSVC,和我 Qt 环境不兼容。
在这里插入图片描述

然后我就去Qt官网下了Qt6,安装了半个多小时,
最后打开就是一个弹窗,“试用期还剩三天”,我靠,下错版本了!
在这里插入图片描述

好,那我不从OpenCV官网下,我从GitHub上下载别人编译好的版本。
下好了,编译成功了,运行。。欸嘿,异常退出!
点击 exe 一看,又是 dll 的问题。
在这里插入图片描述

此时已经搞了差不多半天了,绷不住了,再下Qt6!

所以文章将简单分享一下 Qt6 的下载与 OpenCV 的下载,
以及在 Qt6 中简单用用 OpenCV 的函数,看看能不能跑。

下载 OpenCV

首先去OpenCV的github下载页面:https://github.com/opencv/opencv/releases
在这里插入图片描述

然后随便选个版本,点 Assets,再点对应的下载链接。
我下载的是 4.6.0 版本的,因为下面的👍最多。
下载链接:opencv-4.6.0-vc14_vc15.exe
这个用的是 MSVC 编译器,如果你用的 MinGW,这个没什么用。
以及,如果你 403 了,说明需要一点魔法。
在这里插入图片描述
下好后,你会得到一个 .exe,点击它,你会得到一个文件夹:
在这里插入图片描述
里面至少有这些目录:

└─opencv├─build│  ├─bin│  ├─include│  │  └─opencv2│  └─x64│      ├─vc14│      │  ├─bin│      │  └─lib│      └─vc15│          ├─bin│          └─lib

那目前我们的 OpenCV 就安好了

下载 Qt6

首先如果你有Qt账号了,看看主页。
如果有这个,可以重开了:
在这里插入图片描述
这代表现在这个 Qt 账号已经自动激活了 Enterprise Evaluation(企业试用)。
先退出登录,删除登录缓存文件:
C:\Users<你的用户名>\AppData\Roaming\Qt\qtaccount.ini
然后用新邮箱再注册一个Qt账号。
在官网注册时,首先会让你输邮箱,然后提示:
在这里插入图片描述

此时你的邮箱会收到对应邮件:
在这里插入图片描述打开里面的链接,会进到这个页面:
在这里插入图片描述
勾选: I am an individual person not using Qt for any company
其他随便填,然后 Confirm

j接下来是安装器的下载。
下载地址:https://www.qt.io/download-open-source
注意,别去这里:https://www.qt.io/download-dev,这个是试用版
在这里插入图片描述在这里插入图片描述
往下滑到这里,点绿色按钮:
在这里插入图片描述
进入这个页面,点对应的系统,再点安装:
我下的:qt-online-installer-windows-x64-4.9.0.exe
在这里插入图片描述

安装好后,就可以继续了,这里注意选择 MSVC(默认是MinGW,我们不要):
在这里插入图片描述
那个 Qt 5 Compatibility Module 是在 Qt 6 中提供的一个兼容层模块,
目的是为了让 Qt 5 写的老项目可以更容易迁移到 Qt 6,
所以后面我也勾上了。

简单使用

首先我们先创建个 QWidget 项目,然后修改 .pro文件。
添加这段:

# 设置 OpenCV 根目录
OPENCV_DIR = D:/Programs/OpenCV/OpenCVMC/opencv/build# 包含头文件目录
INCLUDEPATH += $${OPENCV_DIR}/include \$${OPENCV_DIR}/include/opencv2# 添加库路径
LIBS += -L$${OPENCV_DIR}/x64/vc15/lib

OpenCV 根目录改成你们自己的就好。

然后直接改 main.cpp :

#include <opencv2/opencv.hpp>
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);cv::Mat image = cv::imread(R"(C:\Users\23607\Pictures\Camera Roll\YQ.png)");//图片也改成你们自己的if (image.empty()) {qDebug() << "Failed to load image.";} else {cv::imshow("test", image);}return a.exec();
}

运行。。报错!!
在这里插入图片描述
这个没关系,回到 OpenCV 的文件夹里,
把需要的 dll 拷贝到当前项目生成的 exe 的同级目录就行。
比如我就需要把"D:\Programs\OpenCV\OpenCVMC\opencv\build\x64\vc15\bin\opencv_world460d.dll"
拷贝到D:\TestProject\QT\2025_5_31_Qt6_testOpenCV\build\Desktop_Qt_6_6_3_MSVC2019_64bit-Debug\debug

再次运行,就能看到图片正常显示了:

在这里插入图片描述


希望本篇文章对你有所帮助!并激发你进一步探索编程的兴趣!
本人仅是个C语言初学者,如果你有任何疑问或建议,欢迎随时留言讨论!让我们一起学习,共同进步!


http://www.hkcw.cn/article/IPbAKoxaJA.shtml

相关文章

8088单板机C语言sprintf()格式化串口输出---Prj04

#include "tiny_stdarg.h" // 使用自定义可变参数实现#define ADR_273 0x0200 #define ADR_244 0x0400 #define LED_PORT 0x800 #define PC16550_THR 0x1f0 #define PC16550_LSR 0x1f5 / //基本的IO操作函数 / char str[]"Hello World! 20250531 Ve…

HTML实现端午节主题网站:龙舟争渡,凭吊祭江诵君赋。

名人说&#xff1a;龙舟争渡&#xff0c;助威呐喊&#xff0c;凭吊祭江诵君赋。——苏轼《六幺令天中节》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、项目概览&#xff1a;传统与现代的技术碰撞1. 核心特…

YOLOv10改进|爆改模型|涨点|在颈部网络添加结合部分卷积PConv和SDI融合方法的PSDI特征融合层(附代码+修改教程)

一、文本介绍 本文修改的模型是YOLOv10&#xff0c;YOLOv10无需非极大值抑制&#xff08;NMS&#xff09;进行后处理&#xff0c;其推理速度以及参数量上都优于现有的模型。然而&#xff0c;针对某些目标检测任务中需要同时处理多尺度目标的挑战&#xff0c;YOLOv10 在此类场景…

Redis最佳实践——安全与稳定性保障之高可用架构详解

全面详解 Java 中 Redis 在电商应用的高可用架构设计 一、高可用架构核心模型 1. 多层级高可用体系 #mermaid-svg-Ffzq72Onkv7wgNKQ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Ffzq72Onkv7wgNKQ .error-icon{f…

虚拟存储器:将十六进制逻辑地址 0A5C、103C、1A5C 转换成物理地址(2)

转换成十进制&#xff08;分步骤解析&#xff09; 确定页号和偏移的计算方式 页大小1KB 2^10&#xff0c;逻辑地址中 页号 逻辑地址 1024&#xff08;整数除法&#xff09;&#xff0c;页内偏移 逻辑地址 % 1024。物理地址 物理块号 1024 页内偏移&#xff0c;其中物理块…

【HTML】基础学习【数据分析全栈攻略:爬虫+处理+可视化+报告】

- 第 102 篇 - Date: 2025 - 05 - 31 Author: 郑龙浩/仟墨 文章目录 HTML 基础学习一 了解HTML二 HTML的结构三 HTML标签1 标题2 文本段落3 换行4 加粗、斜体、下划线5 插入图片6 添加链接7 容器8 列表9 表格10 class类 HTML 基础学习 一 了解HTML 一个网页分为为三部分&…

吴恩达MCP课程(2):research_server

目录 代码代码解释导入模块常量定义MCP服务器初始化工具函数定义1. search_papers 函数2. extract_info 函数 主程序总结 运行示例 代码 import arxiv import json import os from typing import List from mcp.server.fastmcp import FastMCPPAPER_DIR "papers"mc…

【数据结构】——二叉树--链式结构

一、实现链式结构二叉树 二叉树的链式结构&#xff0c;那么从名字上我们就知道我们这个二叉树的底层是使用链表来实现的&#xff0c;前面我们的二叉树是通过数组来实现的&#xff0c;那么在其是完全二叉树的情况下&#xff0c;此时我们使用数组来实现就会使得其空间浪费较少&a…

netty中的EventLoop原理解析

一起来学netty 1. EventLoop的基本概念2. EventLoop的核心组件3. EventLoop的工作流程4. EventLoop与Channel的关系5. EventLoop的实现类6. EventLoop的线程模型7. EventLoop的优点8. EventLoop的注意事项9. 示例代码10.异步编程模型解析异步编程的定义异步编程的核心特点异步编…

使用Java实现简单的计算机案例

第一个案例我决定做一个简单的“简易计算器”&#xff0c;来开启编程之旅。为什么我会选择这个案例来作为第一个Java案例呢&#xff1f;大家可别小看这个小小的计算器&#xff0c;它既简单又实用。通过这个案例&#xff0c;大家可以学会或着练习如何处理用户输入、如何实现基本…

流媒体基础分析:延迟分析与安全性保障

在流媒体传输过程中&#xff0c;延迟和安全性是两个至关重要的方面。它们直接影响着用户的观看体验和内容的版权保护。本文将深入分析延迟的来源与追赶技术&#xff0c;并探讨流媒体传输的安全性保障手段。 1. 延迟分析 1.1 延迟说明 延迟是流媒体传输中不可避免的问题&#…

S32K3 工具篇9:如何在无源码情况下灵活调试elf文件

S32K3 工具篇9&#xff1a;如何在无源码情况下灵活调试elf文件 一&#xff0c;文档简介二&#xff0c; 功能实现2.1 代码工具准备2.2 elf修改功能实现&#xff1a;Fun2功能跳过2.2.1 PC越过Fun22.2.2 Fun2替换为nop 2.3 elf修改功能实现&#xff1a;Fun4替换Fun2入口2.3.1 link…

树莓派PWM控制LED灯

目录 一、什么是PWM二、树莓派引脚图三、命令行控制LED灯四、PWM控制LED呼吸灯 一、什么是PWM PWM&#xff08;Pulse Width Modulation&#xff0c;脉冲宽度调制&#xff09;是一种通过调节数字信号的占空比&#xff08;Duty Cycle&#xff09;来模拟模拟信号的技术。它通过快…

第十四章 MQTT订阅

系列文章目录 系列文章目录 第一章 总体概述 第二章 在实体机上安装ubuntu 第三章 Windows远程连接ubuntu 第四章 使用Docker安装和运行EMQX 第五章 Docker卸载EMQX 第六章 EMQX客户端MQTTX Desktop的安装与使用 第七章 EMQX客户端MQTTX CLI的安装与使用 第八章 Wireshark工具…

六.MySQL增删查改

CRUD : Create(创建), Retrieve(读取)&#xff0c;Update(更新)&#xff0c;Delete&#xff08;删除&#xff09; 一.增 insert 1.单行数据 全列插入 语法特点&#xff1a;不指定字段名&#xff0c;按表结构字段顺序依次提供所有值。 注意&#xff1a;字段顺序必须与表定义一…

TKernel模块--自定义RTTI,对象句柄,引用计数

TKernel模块–RTTI&#xff0c;对象句柄&#xff0c;引用计数 1.DEFINE_STANDARD_HANDLE(x1, x2) #define DEFINE_STANDARD_HANDLE(C1,C2) DEFINE_STANDARD_HANDLECLASS(C1,C2,Standard_Transient)其中&#xff1a; #define DEFINE_STANDARD_HANDLECLASS(C1,C2,BC) class C1…

关于TongWeb数据源兼容mysql驱动的注意事项

问题现象&#xff1a; TongWeb数据源在采用mysql驱动的国产数据库时&#xff0c;因数据库慢报超时为数据源配置参数的 validation-query-timeout值5秒&#xff0c;而不是期望的maxwait、connectiontimeout值。 The last packet successfully received from the server was 5,0…

CSS专题之水平垂直居中

前言 石匠敲击石头的第 16 次 在日常开发中&#xff0c;经常会遇到水平垂直居中的布局&#xff0c;虽然现在基本上都用 Flex 可以轻松实现&#xff0c;但是在某些无法使用 Flex 的情况下&#xff0c;又应该如何让元素水平垂直居中呢&#xff1f;这也是一道面试的必考题&#xf…

(新)MQ高级-MQ的可靠性

消息到达MQ以后&#xff0c;如果MQ不能及时保存&#xff0c;也会导致消息丢失&#xff0c;所以MQ的可靠性也非常重要。 一、数据持久化 为了提升性能&#xff0c;默认情况下MQ的数据都是在内存存储的临时数据&#xff0c;重启后就会消失。为了保证数据的可靠性&#xff0c;必须…

Microsoft Word使用技巧分享(本科毕业论文版)

小铃铛最近终于完成了毕业答辩后空闲下来了&#xff0c;但是由于学校没有给出准确地参考模板&#xff0c;相信诸位朋友们也在调整排版时感到头疼&#xff0c;接下来小铃铛就自己使用到的一些排版技巧分享给大家。 注&#xff1a;以下某些设置是根据哈尔滨工业大学&#xff08;威…