Qt(openCV的应用)

1. OpenCV简介

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了丰富的图像处理和计算机视觉功能。该库由英特尔公司发起,并在 BSD 许可证下发布,因此它是免费的,且开放源代码。

OpenCV完全由C++开发,提供C++和Python两套接口。

官方文档:

https://docs.opencv.org/4.5.2/icon-default.png?t=O83Ahttps://docs.opencv.org/4.5.2/

Qt是兼容C++的,且提供了UI界面,因此调用OpenCV进行图像处理非常合适。

2. 环境搭建

需要注意,本地提供的OpenCV版本3.4仅限于与Qt 5.4配套,其他版本需要自行配套。

1. 解压缩到D盘,目录如下图所示,一定要注意文件夹的层级,尽量完全相同!!!

2. 进入Win的“我的电脑”,鼠标右键,点击“属性”。

3. 搜索并进入“编辑系统环境变量”。

4. 在弹出的窗口中点击“环境变量”。

5. 在系统变量的Path中点击“编辑”。

6. 在弹出的窗口中点击“新建”。

7. 在光标编辑处,粘贴之前OpenCV的本地路径:

D:\opencv\opencv3.4-install\install\x86\mingw\bin

8. 逐级确定,设置完成。

9. 重新启动电脑。

10. 新建一个Qt项目验证环境搭建的有效性,新建Qt项目后,在.pro文件中添加OpenCV的路径。

INCLUDEPATH += D:/opencv/opencv3.4-install/install/include
INCLUDEPATH += D:/opencv/opencv3.4-install/install/include/opencv
INCLUDEPATH += D:/opencv/opencv3.4-install/install/include/opencv2
LIBS += D:/opencv/opencv3.4-install/install/x86/mingw/lib/libopencv_*.a

11. 在main.cpp中编写一个示例程序验证OpenCV。

main.cpp

#include "dialog.h"
#include <QApplication>
#include <QDebug>// hpp是C++独享的头文件
#include <opencv2/opencv.hpp> // OpenCV的头文件using namespace cv; // 使用名字空间int main(int argc, char *argv[])
{
    // 图像在OpenCV中是三维数组(矩阵 Matrix)
    Mat src; // 数组对象
    // 读取的图像默认路径在构建目录
    src = imread("berry_island.png");
    // 如果读取不到
    if(!src.data)
    {
        qDebug() << "读取失败!";
        return -1;
    }
    // 读取成功弹窗展示图片
    namedWindow("input image",CV_WINDOW_AUTOSIZE);
    // 在窗口中展示图片
    // 参数1:一定要跟上面的窗口名称相同
    // 参数2:要展示的图片
    imshow("input image",src);
    // 阻塞保持持续显示,直到按键
    waitKey(0);    return 0;
}

3. 人脸检测

1. 使用OpenCV获取摄像头数据。

2. 使用OpenCV自带的数据模型初始化级联分类器。

3. 中心区域图像裁切 + 灰度处理

4. 通过原始图像与级联分类器对比找到人脸区域并绘制矩形框

(我不是黑粉,我是真IKUN!)

openCV这里大家做一个简单了解即可,如果你真的对这方面很感兴趣或者想要从事图像处理方面的工作的话,可以继续更深入的学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/59511.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大语言模型】ACL2024论文-06 探索思维链COT在多模态隐喻检测中的应用

【大语言模型】ACL2024论文-06 探索思维链COT在多模态隐喻检测中的应用 目录 文章目录 【大语言模型】ACL2024论文-06 探索思维链COT在多模态隐喻检测中的应用目录摘要研究背景问题与挑战如何解决创新点算法模型1. 知识总结模块&#xff08;Knowledge Summarization Module&…

【Android】时区规则库tzdata更新

1 背景&#xff1a; 最近我遇到墨西哥城时区&#xff0c;会出现夏令时&#xff0c;而墨西哥城在2022年底都已经取消夏令时了。 看起来是要更新RK3588上的时区库&#xff0c;我的还是2021a&#xff0c;而现在都已经2024年了 这样能看版本号&#xff1a; cat /system/usr/sha…

【论文速看】DL最新进展20241106-图像分类、图像分割、时间序列预测

目录 【图像分类】【图像分割】【时间序列预测】 【图像分类】 [2024 解耦数据增强] Decoupled Data Augmentation for Improving Image Classification 机构&#xff1a;腾讯优图 论文链接&#xff1a;https://arxiv.org/pdf/2411.02592v1 代码链接&#xff1a;无 最近在图…

[MRCTF2020]PYWebsite1

如果输入的密钥是对的那么我们就直接跳转到flag.php页面 那么我们直接访问&#x1f60e;&#xff0c;他不带我们去我们自己去. 那就用XFF呗. 知识点&#xff1a; 定义&#xff1a;X-Forwarded-For是一个HTTP请求头字段&#xff0c;用于识别通过HTTP代理或负载均衡方式连接到W…

穿越文化与时空的回响——从廖问洁《红豆诗词选》看当代人文情怀

穿越文化与时空的回响 ——从廖问洁《红豆诗词选》看当代人文情怀 在快节奏的现代生活中&#xff0c;我们时常感到身心的疲惫&#xff0c;渴望找到一种能够洗涤内心的方式。而廖问洁的《红豆诗词选》就如同一股清泉&#xff0c;为我们带来了心灵的洗礼和慰藉。 这位来自94年的…

01 Oracle 数据库存储结构深度解析:从数据文件到性能优化的全链路探究

文章目录 Oracle 数据库存储结构深度解析&#xff1a;从数据文件到性能优化的全链路探究一、Oracle存储结构的物理层次1.1 控制文件&#xff08;Control File&#xff09;1.2 联机重做日志文件&#xff08;Online Redo Log File&#xff09;1.3 数据文件&#xff08;Data File&…

练习LabVIEW第四十二题

学习目标&#xff1a; 使用labview编写一个用户确认界面&#xff1a; 我们在程序中赋予5个人的账号密码&#xff0c;账号使用人名&#xff0c;密码随便&#xff0c;并规定相关权限。访问权限要在前面板显示&#xff0c;并且访问成功与否也要有显示。 开始编写&#xff1a; 前…

如何安装QT(linux/windows)

1. linux 1.1 下载安装程序 进入QT官网&#xff0c;点击右上角下载 Qt | Tools for Each Stage of Software Development Lifecycle​www.qt.io/ 然后选择下载linux版本&#xff0c;这里你需要填写一些信息&#xff0c;注册一些即可 填写之后会出现下面这个网页&#xff0c;…

数组和指针的复杂关系

C语言中指针和数组的关系似乎很“纠结”&#xff0c;让人爱恨交织。本文试图帮助读者理清它们之间的复杂关系&#xff01; 数组名的理解 数组元素在内存中是连续存放的&#xff0c;在C语言中&#xff0c;数组名有特殊的含义&#xff0c;它表示数组首元素的地址。因此&#xf…

前后端分离,Jackson,Long精度丢失

案例:后端接口放回一个Long数据 GetMapping("/testForLong")public Map<String, Object> testForLong() {Map<String, Object> map new HashMap<>();map.put("aaa", 1234567890123456789L);return map;}实际前端接收的数据 前后端数据…

1.3 自然语言处理的应用

自然语言处理&#xff08;NLP&#xff09;在多个领域有广泛应用&#xff0c;如自动文摘、机器翻译、情感分析等。本实战将通过NLTK库&#xff0c;演示文本预处理的关键技术&#xff0c;包括小写转换、去噪、文本规范化、词干提取、词形还原、标记化以及删除停止词。这些技术为构…

深度学习经典模型之LeNet-5

1 LeNet-5 1.1 模型介绍 ​ LeNet-5是由 L e C u n LeCun LeCun 提出的一种用于识别手写数字和机器印刷字符的卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;CNN&#xff09; [ 1 ] ^{[1]} [1]&#xff0c;其命名来源于作者 L e C u n LeCun LeCun的名字…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01目录1. A Perspective for Adapting Generalist AI to Specialized Medical AI Applications and Their Challenges2. Synergi…

D60【python 接口自动化学习】- python基础之数据库

day60 数据库定义 学习日期&#xff1a;20241106 学习目标&#xff1a;MySQL数据库-- 128&#xff1a;数据库定义 学习笔记&#xff1a; 无处不在的数据库 数据库如何存储数据 数据库管理系统&#xff08;数据库软件&#xff09; 数据库和SQL的关系 总结 数据库就是指数据…

mysql error:1449权限问题 及 用户授权

一、权限问题 Got error: 1449: The user specified as a definer (skip-grants userskip-grants host) does not exist when using LOCK TABLES 在迁移数据库时&#xff0c;定义的definer&#xff0c;在两个数据库之间不同步时&#xff0c;要将不存在的definer改成数据库中已…

HTB:Grandpa[WriteUP]

目录 连接至HTB服务器并启动靶机 1.Which version of Microsoft IIS is running on TCP port 80? 2.Which 2017 CVE abuses a Buffer overflow in the ScStoragePathFromUrl function in that specific IIS version, allowing remote attackers to execute arbitrary code?…

AI笔筒操作说明及应用场景

AI笔筒由来&#xff1a; 在快节奏的现代办公环境中&#xff0c;我们一直在寻找既能提升效率、增添便利&#xff0c;又能融入企业文化、展现个人品味的桌面伙伴。为此&#xff0c;我们特推出专为追求卓越、注重细节的您设计的AI笔筒礼品版&#xff0c;它集高科技与实用性于一身…

ssm+vue684基于WEB技术的在线商品交易平台的设计

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm 等开发框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

【青牛科技】GC8549替代LV8549/ONSEMI在摇头机、舞台灯、打印机和白色家电等产品上的应用分析

引言 在现代电子产品中&#xff0c;控制芯片的性能直接影响到设备的功能和用户体验。摇头机、舞台灯、打印机和白色家电等领域对控制精度、功耗和成本等方面的要求日益提高。LV8549/ONSEMI等国际品牌的芯片曾是这些产品的主要选择&#xff0c;但随着国内半导体技术的进步&…

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-15

文件下载与邀请翻译者 学习英特尔开发手册&#xff0c;最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册&#xff0c;会是一件耗时费力的工作。如果有愿意和我一起来做这件事的&#xff0c;那么&#xff…