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

【QT搭建opencv环境】

本文参考以下文章:
https://blog.csdn.net/weixin_43763292/article/details/112975207
https://blog.csdn.net/qq_44743171/article/details/124335100

使用软件

QT 5.14.2

下载地址:download.qt.io
选择版本:Qt 5.14.2
Qt 5.14.2百度网盘链接:https://pan.baidu.com/s/1ycfiU34xCnBvbnSBoCrtIw
提取码:zj4c

CMake 3.24.2

各版本下载官网地址:https://cmake.org/files/
选择版本:cmake-3.15.7-win64-x64.msi(CMake 版本选择无所谓)
cmake 3.15.7 百度网盘链接:https://pan.baidu.com/s/1WFWYT1IGdpCp4wlMziLZDA
提取码:x5jn

openCV 4.5.3

下载地址:https://opencv.org/releases/
选择版本:opencv 4.5.3
opencv 4.5.3 百度网盘链接:https://pan.baidu.com/s/1vzkp3BfFZGmO0kDx3ThYVw
提取码:m2xo

opencv_contrib 4.5.3

下载地址:https://github.com/opencv/opencv_contrib/tags
选择版本:opencv_contrib 4.5.3(需要与 OpenCV 版本相同,否则编译时可能会报错)
opencv_contrib 4.5.3 百度网盘链接:https://pan.baidu.com/s/1o4t-qugwC-_XMvV3Yx9Mkg
提取码:vuwc

准备工作

  1. 添加MinGW环境变量:将“QT安装目录\Tools\mingw730_32\bin”路径加入环境变量
  2. 添加CMake环境变量:将“CMake安装目录\bin”路径加入环境变量
  3. 安装opencv:双击下载的opencv-4.5.3-vc14_vc15.exe文件进行安装
  4. 解压contrib模块:将下载的opencv_contrib-4.5.3.zip解压到opencv安装目录下
  5. 创建build目录:在opencv安装目录下创建一个build_xxx目录(命名随意)

编译

1.首先双击运行CMake安装目录\bin\下的cmake-gui.exe,并进行如下的配置:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 在配置过程中,会出现CMake Warning,原因是有两个dll没有下载成功,需要手动进行下载,下载的路径可以去编译目录下生成的CMakeDownloadLog.txt里查看,找到所有"https://“开头,”.dll"结尾的网址,进行手动下载,再找到"missing"关键字,将下载的文件放入missing后面路径对应的源码路径下
  2. 进行一些选项勾选
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
4. 再次点击“Configuration"进行配置,出现以下报错:
在这里插入图片描述

原因是OPENCV_EXTRA_MODULES_PATH的路径斜杠不对,这个路径我是直接复制粘贴过来的,windows路径默认是反斜杠"“,而CMake要使用正斜杠”/“,这里可以直接点击”…“按钮浏览选择路径,就不用一个个改了
在这里插入图片描述
5. 再次点击"Configuration"进行配置,直到没有红色选项,点击"Generate”
在这里插入图片描述
在这里插入图片描述
6. 在编译目录下打开cmd,输入:

    mingw32-make -j 8

“-j 8” 表示使用 8 线程来处理,可以根据电脑硬件条件进行调整。使用单线程编译命令为:

    mingw32-make
  1. 等待。。。

  2. 出现问题:
    在这里插入图片描述

  3. add Entry —>>> BOOL —>>> OPENCV_VS_VERSIONINFO_SKIP 打钩

  4. 重新Configuration,Generate时出现问题:
    在这里插入图片描述

  5. 根据以上流程使用32位的mingw可以编译成功

http://www.xdnf.cn/news/1203697.html

相关文章:

  • <RT1176系列11>DMAMUX解读
  • Spring AI 1.0 提供简单的 AI 系统和服务
  • TS面试题
  • 分布式IO详解:2025年分布式无线远程IO采集控制方案选型指南
  • simple-mock-proxy,自动拾取后端接口数据,生成本地mock接口与数据
  • idea启动java应用报错
  • keepalived原理及实战部署
  • vue怎么实现导入excel表功能
  • 最新!Polkadot 更新 2025 路线图
  • C++-关于协程的一些思考
  • ERC20 和 XCM Precompile|详解背后技术逻辑
  • 【Kotlin】如何实现静态方法?(单例类、伴生对象、@JvmStatic)
  • Android中应用进程中Binder创建机制
  • VUE2 学习笔记11 脚手架
  • 从0到500账号管理:亚矩阵云手机多开组队与虚拟定位实战指南
  • 数据结构之顺序表链表栈
  • 分享一个脚本,从mysql导出数据csv到hdfs临时目录
  • CFIHL: 水培生菜的多种叶绿素 a 荧光瞬态图像数据集
  • 雷达系统设计学习:自制6GHz FMCW Radar
  • 深入解析 Spring 获取 XML 验证模式的过程
  • 可以组成网络的服务器 - 华为OD统一考试(JavaScript 题解)
  • 速度革命 Kingston FURY PCIe 5.0 NVMe装机体验
  • 第四章:分析 Redis 性能高原因和核心字符串类型命令
  • 15-C语言:第15天笔记
  • Nginx 四层(stream)反向代理 + DNS 负载均衡
  • Java面试深度剖析:从JVM到云原生的技术演进
  • JVM 内存共享区域详解
  • 解决cordova编译安卓提示Cloud not find XXXX.aar
  • windows内核研究(异常-CPU异常记录)
  • C++ 内存管理