当前位置: 首页 > article >正文

Qt -下载Qt6与OpenCV

博客主页:【夜泉_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/libCONFIG(debug, debug|release) {LIBS += -lopencv_world460d
} else {LIBS += -lopencv_world460
}

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.lryc.cn/news/2394157.html

相关文章:

  • 机器学习无监督学习sklearn实战一:K-Means 算法聚类对葡萄酒数据集进行聚类分析和可视化( 主成分分析PCA特征降维)
  • 可灵2.1 vs Veo 3:AI视频生成谁更胜一筹?
  • C语言之编译器集合
  • 计量表计的演进历程与技术变革:从机械到物联网时代
  • 更换Homebrew 源
  • 人工智能在智能供应链中的创新应用与未来趋势
  • 鸿蒙OSUniApp自定义手势识别与操作控制实践#三方框架 #Uniapp
  • LLM优化技术——Paged Attention
  • 推荐几个不错的AI入门学习视频
  • 采用Bright Data+n8n+AI打造自动化新闻助手:每天5分钟实现内容日更
  • Real SQL Programming
  • Sentinel限流熔断机制实战
  • Java 数据处理 - 数值转不同进制的字符串(数值转十进制字符串、数值转二进制字符串、数值转八进制字符串、数值转十六进制字符串)
  • 79. 单词搜索-极致优化,可行性剪枝和顺序剪枝
  • ICDMC 2025:创新媒体模式,迎接数字时代的挑战
  • 深入解析C#多态性:基类引用、虚方法与覆写机制
  • SoftThinking:让模型学会模糊思考,同时提升准确性和推理速度!!
  • C++中 newdelete 与 mallocfree 的异同详解
  • 晨控CK-UR08与欧姆龙PLC配置Ethernet/IP通讯连接操作手册
  • STM32入门教程——LED闪烁LED流水灯蜂鸣器
  • 鸿蒙OSUniApp 实现的数据可视化图表组件#三方框架 #Uniapp
  • Tornado WebSocket实时聊天实例
  • HarmonyOS鸿蒙与React Native的融合开发模式以及能否增加对性能优化的具体案例
  • 化学分析原理。
  • 开源即战力!从科研到商用:Hello Robot 移动操作机器人Stretch 3多模态传感融合(RGB-D/激光/力矩)控制方案
  • 元胞自动机(Cellular Automata, CA)
  • 智能手表单元测试报告(Unit Test Report)
  • 微深节能 码头装卸船机定位与控制系统 格雷母线
  • 基于matlab遗传算法和模拟退火算法求解三维装箱优化问题
  • 在Spring Boot中集成Redis进行缓存