拜小白教你Qt5.8.0+OpenCV3.2.0配置教程(详细版)

2023-11-09

本机环境:Windows-64位 

Qt 5.8.0

OpenCV3.2.0

CMake3.8.2

最后结果,亲测可用


第0部分:前期准备

CMake官网下载地址:

https://cmake.org/download/

CMake安装教程请查看: 拜小白一步一步教你CMake3.8.2安装教程

=========================================================================

Qt官方下载地址

http://download.qt.io/archive/qt/

Qt 安装教程请查看:拜小白一步一步教你Qt5.8.0安装教程

=========================================================================

OpenCV3.2.0官方下载地址: 
http://opencv.org/releases.html#

解压即是安装过程,选择好安装路径即可,非常简单



第一部分:系统环境变量设置

首先在本机上装好CMakeQt

将自己安装路径下bin,例如博主本机的这两个路径添加到Path中。

D:\DiyProgram\CMake\bin

D:\DiyProgram\Qt\Tools\mingw530_32\bin

 

P.S.不要直接复制哦!具体路径请根据自己安装位置,自行修改】


建议 】配置好Path后, 重新启动电脑


第二部分:配置CMake

打开本机上的CMake,并设置源代码,编译目标文件的路径。

P.S.目标文件可以自己随意新建一个文件夹】

1.设置好路径,点击左下角的【Configure



2.按红框选择,然后点【Next



3.配置CC++编译器路径(P.S.具体路径根据自己电脑中QT的安装目录)

D:/DiyProgram/Qt/Tools/mingw530_32/bin/gcc.exe

D:/DiyProgram/Qt/Tools/mingw530_32/bin/g++.exe

选择好后,点【Finish



4.等待配置



5.选中WITH_OPENGL”、“WITH_QT”,将“WITH_IPP”取消。然后再次点【Configure




6.【注意】再Configure时会错误


点击OK,继续,然后为报错的项添加对应的路径。


7.手动添加报错文件路径


以本机修改为例(P.S.具体情况根据自己Qt安装位置进行修改):

QT_QMAKE_EXECUTABLE值为:D:/DiyProgram/Qt/5.8/mingw53_32/bin/qmake.exe

Qt5Concurrent_DIR值为:D:/DiyProgram/Qt/5.8/mingw53_32/lib/cmake/Qt5Concurrent

Qt5Core_DIR  值为:D:/DiyProgram/Qt/5.8/mingw53_32/lib/cmake/Qt5Core

Qt5Gui_DIR       值为:D:/DiyProgram/Qt/5.8/mingw53_32/lib/cmake/Qt5Gui

Qt5Test_DIR      值为:D:/DiyProgram/Qt/5.8/mingw53_32/lib/cmake/Qt5Test

Qt5Widgets_DIR   值为:D:/DiyProgram/Qt/5.8/mingw53_32/lib/cmake/Qt5Widgets

 

添加后结果如下,再次点击Configure




8.又出现一个新的未添加的路径,修改方法与上一步相同



以本机修改为例(P.S.具体情况根据自己Qt安装位置):

Qt5OpenGL_DIR     值为:D:/DiyProgram/Qt/5.8/mingw53_32/lib/cmake/Qt5OpenGL

 

添加后结果如下,再次点击Configure




9.上步运行完毕后,点【Generate



10.上步生成完毕后,关闭对话框即可



第三部分:编译OpenCV

1.进入第二部分编译后的生成文件目录D:\DiyProgram\buildOpencv

P.S:这个博主本机的目录,具体每个人请自己查看)然后该文件夹的空白处Shift+右键,选择在此处打开命令窗口

输入mingw32-make命令,按回车进行编译



2.等待编译过程,编译过程需要比较长的时间,请耐心等待




3.当编译完成后,如下图示。然后在当前目标下输入 mingw32-make install ”,按回车进行安装。这样可用于Qtopencv库文件就生成了。


完成后关闭窗口,即可。




第四部分:添加新生成的binPath环境变量

把编译后,目标目录下的bin目录路径,即

D:\DiyProgram\buildOpencv\bin   添加到Path环境变量中。



建议】配置好Path后,重新启动电脑



第五部分:配置Qt中的OpenCV

配置Qt creator工程文件

1.打开Qt,主界面如下图。然后点击【New Project






2.选择【Qt Widgets Application】,然后点【Choose




3.创建项目名称,选择创建路径,然后点【下一步】




4.保持默认,点【下一步】



5.保持默认,点【下一步】



6.保持默认,点【完成】



7..pro文件中的底部,添加如下内容

模版:

INCLUDEPATH+=D:\DiyProgram\OpenCV\opencv\build\include

             D:\DiyProgram\OpenCV\opencv\build\include\opencv

             D:\DiyProgram\OpenCV\opencv\build\include\opencv2

LIBS += D:\DiyProgram\buildOpencv\lib\libopencv_*.a

 

P.S不要单纯复制粘贴,以上内容根据自己安装路径,自行修改】



8.到此为止,qtopencv配置成功。以后在qt中编写opencv程序,同理,只要将上一步的内容添加到.pro文件中。(每次新建新项目时,都只要添加该内容就行)




第六部分:测试

添加如下代码,然后编译运行



#include 
   
   
    
    
using namespace cv;

int main()
{
    Mat image;
    image=imread("D:\\OutPutResult\\QtWorkplace\\demo1\\dog.jpg");//括号里更改为自己图像的路径
    namedWindow("显示");
    imshow("显示",image);
    waitKey(0);
    return 0;
}
   
   




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

拜小白教你Qt5.8.0+OpenCV3.2.0配置教程(详细版) 的相关文章

  • QML 连接:不推荐使用连接中隐式定义的 onFoo 属性

    升级到 Qt 5 15 时收到以下错误消息 QML Connections Implicitly defined onFoo properties in Connections are deprecated Use this syntax
  • OpenCV 2.2 和多 CPU - opencv_haartraining.exe 是多线程的吗?

    我在 VS 2010 上构建了 OpenCV 2 2 启用了 TBB 3 支持 我确保所有项目都有正确的 tbb lib 目录 并将 tbb lib 列为依赖项 通过隐藏 tbb dll 进行验证 果然 haartraining exe 抱
  • 将 OpenCV Mat 转换为数组(可能是 NSArray)

    我的 C C 技能很生疏 OpenCV 的文档也相当晦涩难懂 有没有办法获得cv Mat data属性转换为数组 NSArray 我想将其序列化为 JSON 我知道我可以使用 FileStorage 实用程序转换为 YAML XML 但这不
  • 开放简历fisherfaces

    我有这个问题 当我使用 vs2010 调试 opencv 2 4 0 facetec demo c 运行时 程序出现此错误 OpenCV错误 未知函数中图像步长错误 矩阵不连续 因此其行数无法更改 文件 src opencv modul e
  • 如何检测斑点并将其裁剪成 png 文件?

    我一直在开发一个网络应用程序 我陷入了一个有问题的问题 我会尝试解释我想要做什么 在这里您看到第一个大图像 其中有绿色形状 我想要做的是将这些形状裁剪成不同的 png 文件 并使它们的背景透明 就像大图像下面的示例裁剪图像一样 第一张图像将
  • 找到 4 个特定的角像素并将它们与扭曲透视一起使用

    我正在使用 OpenCV 我想知道如何构建一个简单版本的透视变换程序 我有一张平行四边形的图像 它的每个角都由具有特定颜色的像素组成 该像素在图像中没有其他位置 我想遍历所有像素并找到这 4 个像素 然后我想将它们用作新图像中的角点 以扭曲
  • 如何使用 python 定位和读取 Data Matrix 代码

    我正在尝试读取微管底部的数据矩阵条形码 我试过libdmtx http libdmtx sourceforge net 它有 python 绑定 当矩阵的点是方形时工作得相当好 但当矩阵的点是圆形时工作得更糟 如下所示 另一个复杂问题是在某
  • 未加载库:@rpath/libopenblasp-r0.2.19.dylib

    我应该如何解决这个问题 Monas MacBook Pro 02 02 mona python Python 3 6 1 Anaconda custom x86 64 default May 11 2017 13 04 09 GCC 4 2
  • 内容居中的流式布局

    我有一排项目 当窗口宽度变得太小而无法显示一行中的所有项目时 这些项目应该堆叠起来 如下图所示 The Flow组件堆叠项目 但它们不是居中而是在左侧或右侧对齐 Flow Item Item Item Item Item QML 中是否有内
  • java.lang.UnsatisfiedLinkError:java.library.path中没有opencv_java2411

    我正在尝试将 opencv 添加到我的 Spring Boot Maven 项目中 为了使用 opencv 库 我必须在 java library path 中提供本机库 我已将以下命令添加到 Eclipse VM 参数中 Djava li
  • 提取二值图像中的最中心区域

    我正在处理二进制图像 之前使用此代码来查找二进制图像中的最大区域 Use the hue value to convert to binary thresh 20 thresh thresh img cv2 threshold h thre
  • 将图像加载到现有 Mat 中

    有没有办法将图像加载到现有的 Mat 中 如果没有 有没有办法控制 OpenCV 在调用 cv imread 时分配内存的位置 我只是为您的类创建一个构造函数 该构造函数接受 imread 的输入参数并将图像直接加载 并分配 到您的类中 所
  • Opencv 对象检测:ORB GPU 检测器和 SURF GPU 描述符提取器

    我只是做了一个小实验来尝试不同的检测器 描述符组合 我的代码使用 ORB GPU 检测器来检测特征 并使用 SURF GPU 描述符来计算描述符 我使用 BruteForceMatcher GPU 来匹配描述符 并使用 knnMatch 方
  • 如何选择图像插值方法? (Emgu/OpenCV)

    Emgu OpenCV的 net包装器 提供的图像调整大小功能可以使用四种插值方法中的任意一种 http www emgu com wiki files 1 4 0 0 html 596dd03d 301e d3c6 4c53 c42855
  • OpenCV Sobel 滤波器 - 为什么它看起来这么糟糕,尤其是与 Gimp 相比?

    我正在尝试使用 OpenCV 重建一些我之前在 Gimp 中完成的预处理 第一级是用于边缘检测的 Sobel 滤波器 它在 Gimp 中运行得很好 现在这是我对 OpenCV 的尝试 opencv imgproc Sobel src sca
  • OpenCV 地板分割检测

    我正在研究一种检测图像中地板的方法 我试图通过将图像缩小为颜色区域然后假设最大区域是地板来实现此目的 我们对机器人的运行环境做出一些相当广泛的假设 我正在寻找一些关于适合这个问题的算法的建议 任何帮助将不胜感激 编辑 具体来说 我正在寻找一
  • 从基本矩阵中查找单应矩阵

    我正在尝试计算单应性矩阵H给定一组对应关系和基本矩阵F 根据对极几何原理 我知道这可以通过对极线和对极线的叉积来完成F from 极点几何 http www cs unc edu marc tutorial node44 html e ij
  • 使用 QPrinter 打印第 x 页(共 y 页)

    我使用 qt 从 html 代码生成 pdf 文件 QTextDocument document new QTextDocument document gt setHtml htmlContent QPrinter printer QPri
  • HTC One M8 - 使用第二个后置摄像头

    我有一台 HTC One M8 设备 它有 2 个后置摄像头和一个额外的前置摄像头 我的问题是尝试访问第二个后置摄像头 我已经成功制作了一个应用程序 它同时运行 2 个摄像头 1 个前置摄像头和 1 个后置摄像头 但问题是我无法访问第二个后
  • 使用“const cv::Mat &”、“cv::Mat &”、“cv::Mat”或“const cv::Mat”作为函数参数的区别?

    我已经彻底搜索过 但没有找到一个简单的答案 传递 opencv 矩阵 cv Mat 作为函数的参数 我们传递一个智能指针 我们对函数内部的输入矩阵所做的任何更改也会改变函数范围之外的矩阵 我读到 通过将矩阵作为 const 引用传递 它不会

随机推荐

  • json库报错(TypeError: the JSON object must be str, bytes or bytearray, not TextIOWrapper)

    使用json库导入json文件时 报错 TypeError the JSON object must be str bytes or bytearray not TextIOWrapper import json f open data d
  • 学习TensorFlow,调用预训练好的网络(Alex, VGG, ResNet etc)

    视觉问题引入深度神经网络后 针对端对端的训练和预测网络 可以看是特征的表达和任务的决策问题 分类 回归等 当我们自己的训练数据量过小时 往往借助牛人已经预训练好的网络进行特征的提取 然后在后面加上自己特定任务的网络进行调优 目前 ILSVR
  • oracle12542,关于客户端报的ORA-12542

    最近用户一个小应用系统总是出故障 windows的系统上跑一个VB写的小客户端程序 出现问题的时候 系统会弹出以下信息 Microsoft ODBC driver for oracle ORA 12542 TNS address alrea
  • GC日志分析

    JVM的GC日志的主要参数包括如下几个 XX PrintGC 输出GC日志 XX PrintGCDetails 输出GC的详细日志 XX PrintGCTimeStamps 输出GC的时间戳 以基准时间的形式 XX PrintGCDateS
  • 阿里云平台接入python版

    物联网基于python云平台的接入 文章目录 物联网基于python云平台的接入 1 设计目的 2 功能要求和关键问题 2 1 系统功能描述 2 2复杂工程问题分析 3 系统整体框架设计 4 模块的设计和实现 4 1 阿里云基础和设计 4
  • 22个开源的PHP框架

    PHP 是一个被广泛使用的来进行Web开发的脚本语言 虽然有很多其它可供选择的Web开发语言 像 ASP 和Ruby 但是PHP是目前为止世界上最为流行的 那么 是什么让PHP如此流行 PHP 如此之流行是因为比起别的语言来 它更容易学习
  • 后端程序员必备:mysql数据库相关流程图/原理图

    前言 整理了一些Mysql数据库相关流程图 原理图 做一下笔记 大家一起学习 1 mysql主从复制原理图 mysql主从复制原理是大厂后端的高频面试题 了解mysql主从复制原理非常有必要 主从复制原理 简言之 就三步曲 如下 主数据库有
  • DCEL数据结构

    文章目录 前言 DCEL介绍 DCEL优势 DCEL数据结构实现 Point Vertex HalfEdge Face Reference 前言 虽然https blog csdn net baidu 34931359 article de
  • 探索无限可能的教育新领域,景联文教育GPT题库开启智慧教育新时代!

    随着人工智能技术的快速发展 教育领域也将迎来一场革命性的变革 景联文科技是AI基础数据行业的头部企业 近期推出了一款高质量教育GPT题库 景联文科技高质量教育GPT题库采用了先进的自然语言处理技术和深度学习算法 可以实现对各类题目的智能识别
  • UIIAlertController的自动消失

    自动消失的思路就是添加一个计时器 设置计时器的时间 让UIAlertController 通过dismiss消失 UIAlertController alert UIAlertController alertControllerWithTi
  • css知识学习系列(6)-每天10个知识点

    目录 1 CSS中的 box sizing 属性与 border 属性有什么关系 2 在CSS中 如何使用 calc 函数进行计算 有什么使用技巧 3 在CSS中 如何使用 import 引入外部样式表 有哪些注意事项 4 Flexbox和
  • C# 邮件发送

    一 准备工作 1 要想编写一个发送邮件的小工具 首先得了解以下内容 收件人 这封邮件的接收人 邮件发送者沟通交流的对象 抄送 这封邮件的接收人 邮件发送者希望被抄送者了解邮件内容 密件抄送 这封邮件的接收人 与抄送的唯一区别就是它能够让各个
  • flutter 弹窗队列封装,里面的自定义回调值得学习

    参考 里面的这里回调TaskCallback Function学习一下 挺重要的 import dart async 自定义回调类型 typedef TaskCallback void Function bool success dynam
  • 【异常】IDEA打开配置文件*.properties乱码

    一 异常内容 二 异常说明 properties配置文件的编码格式 通常情况下properties的默认编码格式为ISO 8859 1 但是这种文件往往是不可读的 因此需要进行编码格式的转换 三 异常解决 更改properties的编码格式
  • C4996 ‘strncpy‘: This function or variable may be unsafe. Consider using strncpy_s instead. To disa.

    C4996 strncpy This function or variable may be unsafe Consider using strncpy s instead To disa 原因 解决方案 注意事项 原因 strncpy进行
  • 下次造轮子前先看看现有的轮子吧

    转自 http www cppblog com merlinfang archive 2014 12 26 209311 aspx 下次造轮子前先看看现有的轮子吧 值得学习的C语言开源项目 1 Webbench Webbench是一个在li
  • 物理组件oracle,Oracle入门《Oracle介绍》第一章1-1

    1 Oracle 简介 a 对象关系型的数据库管理系统 ORDBMS b 在管理信息系统 企业数据处理 因特网及电子商务等领域使用非常广泛 c 在数据安全性与数据完整性控制方面性能优越 d 跨操作系统 跨硬件平台的数据互操作能力 2 Ora
  • C#中的数组

    C 中的数组 C 数组 Array foreach 索引 null 地址 http www cnblogs com txw1958 archive 2013 01 11 csharp array html 数组概述 数组是一种数据结构 它包
  • VC工程中几中后缀名文件的意义

    opt 工程关于开发环境的参数文件 如工具条位置等信息 aps AppStudio File 资源辅助文件 二进制格式 一般不用去管他 clw ClassWizard信息文件 实际上是INI文件的格式 有兴趣可以 研究 一下 有时候Clas
  • 拜小白教你Qt5.8.0+OpenCV3.2.0配置教程(详细版)

    本机环境 Windows 64位 Qt 5 8 0 OpenCV3 2 0 CMake3 8 2 最后结果 亲测可用 第0部分 前期准备 CMake官网下载地址 https cmake org download CMake安装教程请查看 拜