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&…

Kubernetes中的statefulset控制器

华子目录 statefulset控制器功能StatefulSet的组成部分 问题复现示例statefulset示例总结 statefulset控制器 功能 Statefulset是为了解决有状态服务的问题设计的StatefulSet将应用状态抽象成了两种情况拓扑状态&#xff1a;应用实例必须按照某种顺序启动。新创建的Pod必须和…

【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年的…

【sqlmap使用手册-持续更新中】

SQLMap 简介 SQLMap 是一个开源的渗透测试工具&#xff0c;用于自动化检测和利用 SQL 注入漏洞。它支持多种数据库&#xff0c;包括 MySQL、PostgreSQL、Oracle、SQL Server 等。 可以通过以下命令安装sqlmap git clone https://github.com/sqlmapproject/sqlmap.git最常用的…

吉利极氪汽车嵌入式面试题及参考答案

inline 的作用 inline 是 C++ 中的一个关键字。它主要用于函数,目的是建议编译器将函数体插入到调用该函数的地方,而不是像普通函数调用那样进行跳转。 从性能角度来看,当一个函数被标记为 inline 后,在编译阶段,编译器可能会将函数的代码直接复制到调用它的位置。这样做…

详解Rust标准库:VecDeque 队列

theme: github highlight: an-old-hope 查看本地官方文档 安装rust后运行 rustup doc查看The Standard Library即可获取标准库内容 std::connections::VecDeque定义 队列是遵循先入先出规则的线性数据结构&#xff0c;在内存中不一定连续 VecDeque定义&#xff1a;可增长…

有哪些实用的 Ads Spy 工具推荐?

了解竞争对手的广告策略至关重要。Ads Spy 工具可以帮助我们洞察竞争对手的广告活动&#xff0c;从而优化自己的推广计划。以下是一些实用的 Ads Spy 工具介绍&#xff1a; 1. PowerAdSpy&#xff1a;可以按广告版位全渠道搜索筛选&#xff0c;实时在线筛查正在展示的广告&…

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…

pandas和numpy介绍

pandas和numpy都是Python中用于数据处理和分析的重要库&#xff0c;它们有以下特点和区别&#xff1a; numpy&#xff08;Numerical Python&#xff09; 基本功能&#xff1a; numpy是一个功能强大的Python库&#xff0c;主要用于对多维数组执行计算。它提供了一个高性能的多…

GitHub每日最火火火项目(11.6)

项目名称&#xff1a;zmh-program/chatnio 项目介绍&#xff1a;“zmh-program/chatnio”是下一代 AI 一站式国际化解方案&#xff0c;无论是 B 端还是 C 端用户都能从中受益。它支持众多知名的 AI 模型&#xff0c;如 OpenAI、Midjourney、Claude、讯飞星火、Stable Diffusion…

前后端分离,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…