OpenCV 配置 VS 2022并识别人脸框出

文章目录

  • 前言
  • 一、什么是OpenCV?
  • 二、OpenCV的安装和配置
      • 1. OpenCV 下载
      • 2. 安装
      • 3. 配置环境变量
      • 4.vs2022环境配置
  • 三、OpenCV识别图片人脸
  • 四、总结

前言

在计算机视觉领域,人脸识别是一项具有挑战性且备受关注的任务。借助于开源的计算机视觉库OpenCV,我们可以轻松实现人脸识别功能,并通过在识别出的人脸周围绘制边界框的方式来突出显示人脸位置。本篇博客将介绍如何配置环境,然后使用C++和OpenCV库读取图像、进行人脸识别,并框出识别到的人脸。

一、什么是OpenCV?

OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉和图像处理库,提供了大量的图像处理和计算机视觉算法。它由一系列C++、Python和其他编程语言的函数和类组成,可以在多个平台上运行,包括Windows、Linux、macOS等。OpenCV包含了许多用于处理图像、视频、特征检测、目标识别、机器学习等任务的函数和模块,使开发者能够快速构建各种计算机视觉应用。

二、OpenCV的安装和配置

1. OpenCV 下载

链接: https://opencv.org/
此链接为open cv 官网,可以在官网下载windows版本。
在这里插入图片描述
在这里插入图片描述
点击library,接着选择release选项,下载windows的opencv-4.9.0版本安装包

2. 安装

点击安装包进行安装,本人安装在d盘中
在这里插入图片描述
安装好后安装目录的内容展示如图
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3. 配置环境变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
把bin和lib文件夹加入环境变量
在这里插入图片描述
在这里插入图片描述
环境变量就配置好了

4.vs2022环境配置

新建一个项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点开属性页后,按照下面步骤输入以下两个路径
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击确定,包含目录就配置好了
下面配置库目录,按照步骤,输入路径:D:\opencv\opencv\build\x64\vc15\lib
点击确定
在这里插入图片描述
下面配置lib库,将lib的文件名粘贴到空白处,点击确定
在这里插入图片描述

我的lib库的名字是490d.lib,大家可能会由于版本的原因导致名字不一样,但后缀都是.lib
在这里插入图片描述
新建一个cpp文件
在这里插入图片描述
将下列代码输入,运行测试

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>using namespace cv;
using namespace std;
int main()
{Mat img = imread("C:\\Users\\Json\\Downloads\\CatLogo.png");namedWindow("Face");imshow("Face", img);waitKey(0);return 0;
}

像这样,能把你的图片放出来,这样就可以了
在这里插入图片描述

三、OpenCV识别图片人脸

#include <opencv2/opencv.hpp>using namespace cv;int main(int argc, char** argv) {// 读取图像文件Mat image = imread("C:\\Users\\Json\\Downloads\\face (2).jpeg");if (image.empty()) {std::cout << "无法读取图像文件" << std::endl;return -1;}// 加载人脸识别分类器CascadeClassifier face_cascade;if (!face_cascade.load("C:\\Users\\Json\\Downloads\\haarcascade_frontalface_alt.xml")) {std::cout << "无法加载人脸识别分类器" << std::endl;return -1;}// 识别人脸std::vector<Rect> faces;face_cascade.detectMultiScale(image, faces, 1.1, 2, 0 | CASCADE_SCALE_IMAGE, Size(30, 30));// 在图像上绘制边界框for (size_t i = 0; i < faces.size(); i++) {rectangle(image, faces[i], Scalar(255, 0, 0), 2);}// 显示结果图像imshow("人脸识别结果", image);waitKey(0);return 0;
}

在这里插入图片描述

四、总结

通过本篇博客,我们学习了如何使用OpenCV库来实现简单的人脸识别功能,并通过绘制边界框来标记识别到的人脸位置。人脸识别是计算机视觉领域的一个重要任务,在实际应用中具有广泛的用途。借助于开源库OpenCV,我们可以轻松地实现这一功能,并将其集成到我们的应用程序中。希望本篇博客能够对你理解人脸识别技术和OpenCV库的使用有所帮助。

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

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

相关文章

Apache SeaTunnel MongoDB CDC 使用指南

随着数据驱动决策的重要性日益凸显&#xff0c;实时数据处理成为企业竞争力的关键。SeaTunnel MongoDB CDC(Change Data Capture) 源连接器的推出&#xff0c;为开发者提供了一个高效、灵活的工具&#xff0c;以实现对 MongoDB 数据库变更的实时捕获和处理。 本文将深入探讨该连…

2024 前端javaScript+ES6

JavaScript 基础 1、基本数据类型&#xff1a; 1.1 基本数据类型&#xff1a; Number&#xff08;数值&#xff09;&#xff1a;表示数字&#xff0c;包括整数和浮点数。例如&#xff1a;5、3.14。 String&#xff08;字符串&#xff09;&#xff1a;表示文本数据&#xff…

Apache zookeeper kafka 开启SASL安全认证

背景&#xff1a;我之前安装的kafka没有开启安全鉴权&#xff0c;在没有任何凭证的情况下都可以访问kafka。搜了一圈资料&#xff0c;发现有关于sasl、acl相关的&#xff0c;准备试试。 简介 Kafka是一个高吞吐量、分布式的发布-订阅消息系统。Kafka核心模块使用Scala语言开发…

数据治理——滴滴大数据成本治理实践

原文大佬的这篇大数据平台成本治理实践是有借鉴意义的&#xff0c;这些摘抄下来用作沉淀学习。如有侵权&#xff0c;请告知~ 一、滴滴大数据成本治理总体框架 1.1 数据体系 从上图所示&#xff1a;最底层是以数据引擎为基础的数据存储&#xff0c;分为离线计算、实时计算、OL…

欧科云链做客Google Cloud与WhalerDAO专题论坛,畅谈Web3数据机遇

3月10日&#xff0c;由Google Cloud、WhalerDAO和baidao data主办&#xff0c;以Web3AI 2024 DATA POWER为主题的分享会在北京中关村举行。欧科云链高级研究员Jason Jiang受邀参加活动&#xff0c;带来“从链上数据发掘Web3时代的无限机遇”的主题分享。 Web3.0核心要素始终是链…

数据结构:6、栈

一、栈的概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈&#x…

分类预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据分类预测

分类预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据分类预测 目录 分类预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 GSWOA-KELM分类&#xff0…

基于Java的天然气工程业务管理系统(Vue.js+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、使用角色3.1 施工人员3.2 管理员 四、数据库设计4.1 用户表4.2 分公司表4.3 角色表4.4 数据字典表4.5 工程项目表4.6 使用材料表4.7 使用材料领用表4.8 整体E-R图 五、系统展示六、核心代码6.1 查询工程项目6.2 工程物资…

【how2j练习题】css部分课后练习

第一题 <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"> </head><style> body{font-family:"宋体";font-size:13px;color:#666666;width:643px;}.bold{font-weight:bold;}div.t…

C# wpf 使用GDI实现截屏

wpf截屏系列 第一章 使用GDI实现截屏&#xff08;本章&#xff09; 第二章 使用GDI实现截屏 第三章 使用DockPanel制作截屏框 第四章 实现截屏框热键截屏 第五章 实现截屏框实时截屏 第六章 使用ffmpeg命令行实现录屏 文章目录 wpf截屏系列前言一、导入gdi32方法一、NuGet获取…

【框架学习 | 第六篇】SpringBoot基础篇(快速入门、自动配置原理分析、配置文件、整合第三方技术、拦截器、文件上传/下载、访问静态资源)

文章目录 1.SpringBoot简介1.1原有Spring优缺点分析1.1.1Spring优点1.1.2Spring缺点 1.2SpringBoot概述1.2.1SpringBoot解决上述Spring的缺点1.2.2SpringBoot特点1.2.3SpringBoot核心功能 2.SpringBoot快速入门2.1代码实现2.1.1创建Maven工程2.1.2添加SpringBoot的起步依赖2.1.…

走进网络世界 了解一些基础知识

走进网络 1.认识计算机 1.计算机网络是由计算机和通讯构成的&#xff0c;网络研究的是“通信”。 ------1946 世界上第一台计算机 2.终端&#xff1a;只有输入和输出功能&#xff0c;没有计算和处理功能。3.数据&#xff1a;一串数字&#xff08;二进制数&#xff09;&#x…