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

QT6构建使用OpenCV(MinGW版)

说明因为自己最近工作需要使用OpenCV技术此文记录如何使用QT6成功配置环境和使用OpenCV技术。我的QT软件版本QT6.9.2OpenCV版本opencv-4.xGitHub下载链接https://github.com/opencv/opencv百度网盘下载链接https://pan.baidu.com/s/1TNlS6QeNcYlT6AxLcq56uQ?pwdtbi2 提取码: tbi2目录1.构建OpenCV源码2.执行OpenCV安装3.复制关键文件4.验证测试OpenCV1.构建OpenCV源码我们可以在opencv源码同等目录下新建一个文件夹opencv_build作为QT构建文件夹如图QT Creator打开opencv源码项目CMakeLists文件如图打开时记得选择你新建的文件夹opencv_build还是选择release比如我的打开后QT Creator需要加载文件需要等待一会因为源码内容比较多。然后我们需要点开左边项目如图通过过滤器我们找到参数配置以下相应参数选项名称建议操作目的与说明BUILD_TESTS取消勾选 (OFF)不编译OpenCV的测试程序BUILD_PERF_TESTS取消勾选 (OFF)不编译性能测试程序BUILD_EXAMPLES取消勾选 (OFF)不编译示例代码。BUILD_opencv_apps取消勾选 (OFF)不编译OpenCV自带的应用程序BUILD_DOCS取消勾选 (OFF)跳过文档生成步骤节省大量时间BUILD_JAVA取消勾选 (OFF)如果不需要Java接口务必关闭BUILD_opencv_ts取消勾选 (OFF)不编译测试支持模块这是运行测试的基础库BUILD_opencv_world勾选 (ON)将所有模块打包成一个单一的库文件如opencv_world480.dll这在开发和部署时非常方便WITH_OPENMP勾选 (ON)OpenMP是一种广泛使用的并行计算框架可以显著加速OpenCV中许多算法的运算速度强烈建议保留BUILD_opencv_python3取消勾选 (OFF)除非需要python接口否则取消配置完成后就可以build出现如图4apply之后就等待构建编译了时间会有点长~⌚️大概两个小时左右通过编译输出可以观察当前进度2.执行OpenCV安装构建完成之后我们需要执行最后一步的安装操作安装之前我们需要新建一个文件夹opencv-install作为后续安装指定的文件夹CMD打开构建文件夹输入以下命令mingw32-make install DESTDIRD:/OpenCV/opencv-install注意指定路径为自己新建的文件夹路径随后执行安装操作:3.复制关键文件我们新建一个QT_OpenCV文件夹专门用来作为QT调用OpenCV库我们尽量不把安装好的OpenCV头文件和动态链接库复制到QT安装路径最好保持QT安装路径的干净~所以独立新建一个文件夹使用。我们把刚刚安装文件夹下的opencv-install里头文件复制到QT_OpenCV我还需要在QT_OpenCV文件夹新建一个lib文件夹同时把第一步构建的动态链接库放进去4.验证测试OpenCV在QT Creator新建一个C项目OpenCVDemo 我的CMake内容:cmake_minimum_required(VERSION 3.16) project(OpenCVDemo LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_executable(OpenCVDemo main.cpp) /*增加这三行代码指明链接OpenCV文件路径*/ set(OPENCV_ROOT_DIR D:/QT_OpenCV) //注意要换成自己的路径 target_include_directories(OpenCVDemo PRIVATE ${OPENCV_ROOT_DIR}/include) target_link_libraries(OpenCVDemo PRIVATE ${OPENCV_ROOT_DIR}/lib/libopencv_world4140.dll.a) include(GNUInstallDirs) install(TARGETS OpenCVDemo LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )主程序main.cpp#include iostream #include opencv2/opencv.hpp using namespace std; using namespace cv; int main() { // 读取图片 Mat img cv::imread(test.jpg); if (img.empty()) { cout Could not read image!; return -1; } cout Image size: img.cols x img.rows; // 转灰度 Mat gray; cvtColor(img, gray, COLOR_BGR2GRAY); //高斯模糊 GaussianBlur(gray, gray, Size(3, 3), 0); // Canny 边缘检测 Mat edges; Canny(gray, edges, 50, 150); //创建窗口 namedWindow(Original, WINDOW_KEEPRATIO); namedWindow(Edges, WINDOW_KEEPRATIO); // 显示结果 imshow(Original, img); imshow(Edges, edges); waitKey(0); // 按任意键关闭 destroyAllWindows(); return 0; }注意照片放到执行程序同一个路径下最后展示我是Carpidian~下次见~
http://www.rkmt.cn/news/1409977.html

相关文章:

  • ProxySQL选型实战:从手写读写分离到中间件的踩坑全记录
  • AI智能体培训后可以做什么工作?这7个方向值得关注
  • 终极Windows激活指南:KMS_VL_ALL_AIO智能脚本的完整使用教程
  • 量子张量网络在BEC模拟中的高效应用
  • 索引设计 实操SQL + 案例 + 练习
  • 别只改my.cnf了!深入解读MariaDB密码策略与general_log审计的取舍与最佳实践
  • GMS1.4 YYC编译的游戏,如何安全地修改游戏内文字?(附UndertaleModTool实战)
  • 【MATLAB源码-第450期】基于MATLAB的GMSK调制系统中IQ相干、差分、鉴频与Viterbi解调算法对比仿真
  • ROCK5B新手避坑指南:用BalenaEtcher给NVMe刷Debian11,从驱动安装到首次登录的完整流程
  • 2026支持百度AI优化的GEO服务商测评:服务优质响应高效
  • 2026年4月花灯供货商怎么选,景区灯会/大型户外花灯/天幕花灯/春节国潮花灯/春节花灯/巡游花灯,花灯定做厂家推荐分析 - 品牌推荐师
  • 手把手教你用Ascend-Docker-Runtime部署昇腾AI推理容器:从环境配置到避坑指南(CANN 5.0.1)
  • 论文同时踩查重和AI检测红线?双效处理工具实测推荐
  • ChatGPT餐厅推荐生成的5大致命误区:92%开发者忽略的上下文断裂、地域偏差与合规雷区
  • ChatGPT谜题求解失效真相(92%用户忽略的思维建模断层)
  • 别再死磕ImageNet预训练了:实战中工业缺陷检测模型的‘水土不服’与调优方案
  • 从一次失败的渗透说起:我是如何审计Maccms搜索功能并挖到命令执行漏洞的
  • 全网最稳!WSL/Ubuntu 环境下部署 Ollama 的踩坑实录与避坑指南
  • 【网安-Web渗透测试-免杀系列】PowerShell免杀
  • 告别65535行限制:用QGIS一键把大型SHP文件导出为Excel表格
  • 如何高效使用AutoDingding实现钉钉自动打卡:终极实用指南
  • k8s-Prometheus的manifests 清单部署
  • 别再死记硬背公式了!用LTspice仿真带你直观理解Buck、Boost、Buck-Boost三大基础拓扑
  • LAMMPS转Material Studio数据流打通:从Perl脚本到MS建模的完整避坑实践
  • 别再只调包了!用PyTorch从零实现DCGAN生成二次元头像(附完整代码与数据集)
  • Agent进化,腾讯云全栈融合矩阵构建国产数字化底座
  • 从表单验证到数据统计:手把手教你用some、every和reduce搞定前端常见业务场景
  • 平平无奇的源码,竟藏着Agent的核心秘密?
  • 网站渗透实操!从getshell到CVE提权,Linux最新内核也可提权!
  • 从Arduino到ESP32:搞定3.3V/5V混接通信,这几种电平转换电路你试过吗?