【Qt+opencv】编译、配置opencv

文章目录


前言

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它包含了超过2500个优化的算法。这些算法可以用来检测和识别面部,识别对象,分类人类行为,跟踪相机运动,跟踪移动物体等。Qt是一个跨平台的C++图形用户界面应用程序开发框架。在Qt中使用OpenCV,可以方便地实现图像处理和计算机视觉的功能。本文将介绍如何在Qt环境下编译OpenCV。


下载opencv

下载地址如下:Opencv download

如果你下载较慢可看下面链接:

编译opencv

mingw版本

  1. 填写Where is the source code:填写opencv文件夹路径。添加Where to build the binaries,他是编译生成的二进制文件,你需要在opencv文件夹里面新建build文件夹,填写他。
  2. 在Configure里面的Specify the generator for this project选择Mingw makefiles,下面的选项选择Use default native compilers,然后点击finish
  3. 接着等待完成,完成后点击Generate
  4. cmd打开opencv文件夹,把你的mingw make.exe拖到cmd里面,回车,等待编译
  5. 最后使用mingw make.exe + install即可

mingw make.exe是你自己需要填写的,根据你自己的写

制作template工程:

  1. 首先新建qt工程,这里不做演示
  2. 在build文件夹找到install文件夹

接着找到include文件夹:

最后,把里面的opencv2文件夹复制到我们的template工程

  1. 在.pro文件中添加这行INCLUDEPATH += $${PWD}/opencv2
  2. 回到build/lib里面,这里面有我们需要的库,你可以使用哪些就加哪些,比如使用core核心内容,就加

    使用下面这行代码加:
cpp 复制代码
LIBS+=E:/opencv-4.10.0/build/lib/libopencv_core4100.dll.a

最后就大功告成了:

cpp 复制代码
#include <QCoreApplication>
#include "opencv.hpp"
using namespace cv;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    

    return a.exec();
}

总结

通过以上的步骤,我们已经成功地在Qt环境下编译了OpenCV。现在,你可以开始创建你的项目,并使用OpenCV来实现各种图像处理和计算机视觉的功能。记住,OpenCV是一个强大的工具,它提供了许多高级功能,如面部识别,对象检测,人类行为分类等。因此,花一些时间来学习和掌握OpenCV将会对你的项目开发大有裨益。

相关推荐
北冥湖畔的燕雀35 分钟前
C++泛型编程(函数模板以及类模板)
开发语言·c++
QX_hao2 小时前
【Go】--map和struct数据类型
开发语言·后端·golang
你好,我叫C小白2 小时前
C语言 循环结构(1)
c语言·开发语言·算法·while·do...while
Evand J4 小时前
【MATLAB例程】基于USBL和DVL的线性回归误差补偿,对USBL和DVL导航数据进行相互补偿,提高定位精度,附代码下载链接
开发语言·matlab·线性回归·水下定位·usbl·dvl
LiJieNiub4 小时前
读懂目标检测:从基础概念到主流算法
人工智能·计算机视觉·目标跟踪
Larry_Yanan5 小时前
QML学习笔记(四十二)QML的MessageDialog
c++·笔记·qt·学习·ui
爱喝白开水a5 小时前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
开发语言·数据库·人工智能·python·langchain·prompt·知识图谱
Neverfadeaway5 小时前
【C语言】深入理解函数指针数组应用(4)
c语言·开发语言·算法·回调函数·转移表·c语言实现计算器
武子康5 小时前
Java-152 深入浅出 MongoDB 索引详解 从 MongoDB B-树 到 MySQL B+树 索引机制、数据结构与应用场景的全面对比分析
java·开发语言·数据库·sql·mongodb·性能优化·nosql
杰克尼5 小时前
JavaWeb_p165部门管理
java·开发语言·前端