opencv,C++实现图像中检测人脸

C++:opencv 人脸检测 C++:opencv 人脸检测 问题描述: 要求 输入一张图片;输出圈出人脸的图片; vs2015; opencv3.4.6; 效果 输入: 输出: 代码实现: #include "opencv2/objdetect.hpp" #include "opencv2/highgui.hpp" #include "opencv2/imgproc.hpp" #include <iostrea... 阅读详情

参考博客:https://blog.youkuaiyun.com/u012679707/article/details/80376969

1.搭建VS2015+opencv3.4.1环境

2.如果opencv3.4.1下搜索不到训练好的人脸检测模型,就是haarcascade_frontalface_alt.xml文件,手动下载xml文件

下载链接:

链接:https://pan.baidu.com/s/1VZwhNO8beb-PYtxITgPOug

提取码:rxv2

3.在项目目录下新建一个xml文件夹,将下载的xml文件放入到文件夹下

 

4.测试图片

 

5.实现代码,注意测试图片的路径

#include <opencv2/opencv.hpp>
#include <opencv.hpp>
#include <iostream>
#include <opencv2\face.hpp>

using namespace std;
using namespace cv;

int main(int argc, char *argv[])
{
	Mat img = imread("C:\\Users\\JSM-SQ\\Desktop\\face\\001.jpg");
	namedWindow("display");
	imshow("display", img);

	/*********************************** 1.加载人脸检测器  ******************************/
	// 建立级联分类器
	CascadeClassifier cascade;
	// 加载训练好的 人脸检测器(.xml)
	//注意路径问题,当前目录的上一个目录中的xml文件夹下
	const string path = "../xml/haarcascade_frontalface_alt2.xml";
	if (!cascade.load(path))
	{
		cout << "cascade load failed!\n";
	}

	//计时
	double t = 0;
	t = (double)getTickCount();
	/*********************************** 2.人脸检测 ******************************/
	vector<Rect> faces(0);
	cascade.detectMultiScale(img, faces, 1.1, 2, 0, Size(30, 30));

	cout << "detect face number is :" << faces.size() << endl;
	/********************************  3.显示人脸矩形框 ******************************/

	if (faces.size() > 0)
	{
		for (size_t i = 0; i < faces.size(); i++)
		{
			rectangle(img, faces[i], Scalar(150, 0, 0), 3, 8, 0);

		}
	}
	else cout << "未检测到人脸" << endl;

	t = (double)getTickCount() - t;  //getTickCount():  Returns the number of ticks per second.
	cout << "检测人脸用时:" << t * 1000 / getTickFrequency() << "ms (不计算加载模型的时间)" << endl;

	namedWindow("face_detect");
	imshow("face_detect", img);
	waitKey(0);
	
	destroyWindow("display");
	destroyWindow("face_detect");
	return 0;
}

6.结果

 

机器学习与人脸识别6:opencv3 CascadeClassifier实现人脸检测 C++实现 使用人脸识别需要自行编译 Opencv 第三方模块,地址如下:https://github.com/opencv/opencv_contrib OpenCV中自带的HAAR/LBP级联检测器的数据多数都是关于人脸检测的,而在实际项目应用中,我们可能需要从不同的场景中检测某个相同对象,这种需求可以通过OpenCV中HAAR/LBP级联分类器训练工具来生成自己的级联分类器数据,然后通过程序实现自定义... 阅读详情

相关推荐

opencv实现从一段视频中检测并框出人脸

opencv实现从一段视频中检测并框出人脸 使用Win10 VS2013+opencv2.4.9,配置网上有。 附上源码,记录学习过程。 #include “stdafx.h” #include&lt;opencv2/objdetect/objdetect.hpp&gt; #include&lt;opencv2/highgui/highgui.hpp&gt; #include&lt;opencv...

qq_36258740的博客 2519

opencv实现人脸识别(c++实现)

本文章基于opencv + VS2015实现人脸识别。可对人脸,眼睛,嘴部进行识别。

new9232的博客 1万+

图像人脸检测+人眼检测 (opencv + c++)

摘要:实现图像中人脸检测,和人眼定位。输出检测标记图像和定位坐标。 工具:vs2015 opencv3 C++ 资源:haarcascade_frontalface_alt2.xml;haarcascade_eye_tree_eyeglasses.xml 链接:https://pan.baidu.com/s/1uk8P1TF7XXCoMMd0sNDGVg 提取码:az01 实现结果...

燕芝沛然的博客 1393

openCV与C++的图像识别(六)——人脸识别

/* 参考博客:https://blog.youkuaiyun.com/fu6543210/article/details/79671922 */ #include <iostream> #include <string> #include <opencv2/core/core.hpp> #include <opencv2/highgui/h...

vivien1997的博客 1590

OpenCV OMZ MTCNN人脸检测的实例 - C/C++

MTCNN(Multi-task Cascaded Convolutional Networks)是一种经典的人脸检测算法,它基于深度学习模型,具有高效准确的特点。在本文中,我们将使用OpenCV和Open Model Zoo(OMZ)提供的MTCNN模型,介绍如何在C/C++中实现人脸检测。请确保将代码中的"path/to/mtcnn_model.pb"、"path/to/mtcnn_config.pbtxt"和"path/to/input_image.jpg"替换为你实际的文件路径。

PixelBlade的博客 258

OpenCV中的人脸特征标定检测(C/C++)

在本例中,我们使用的是名为"haarcascade_frontalface_default.xml"的分类器。OpenCV是一个广泛使用的计算机视觉库,提供了许多用于人脸检测的函数和算法。在本文中,我们将使用OpenCV和C/C++语言来实现人脸特征标定检测。该函数将使用人脸分类器对图像进行分析,并返回检测到的人脸的边界框信息。通过以上步骤,我们可以实现基本的人脸特征标定检测。在人脸检测中,通常使用灰度图像进行处理,因为它们计算量较小且更容易检测到人脸特征。最后,我们在原始图像中绘制检测到的人脸边界框。

DevPulse的博客 179

利用opencv自带库进行人脸检测与识别

opencv3.2+contrib 利用自带人脸检测库检测与识别人脸 头文件face-recognize.h: #pragma once #include &lt;opencv2/opencv.hpp&gt; #include &lt;opencv2/face.hpp&gt; #include &lt;iostream&gt; #include &lt;string&gt; using n...

pacificyang的博客 2626

C++下使用OpenCV实现人脸检测

人脸识别主要有三个步骤: 人脸图像采集及检测 人脸图像预处理 人脸图像特征提取以及匹配与识别 以下代码实现了读取本地图像,进行人脸检测

OpenCV人脸识别:没有face.hpp文件和namespace cv 没有成员 face

在上一章讲到了OpenCV的安装 问题: 仅仅安装了OpenCV想学习人脸识别的时候就会出现些错误,在这里简单介绍一下: 使用最新版的OpenCV进行人脸识别会发现没有face.hpp这个文件,而有一些网上的讲解视频当使用==#include<opencv2/face.hpp>==时,我们却没有,因为最近实现人脸识别,由于采用的是opencv3,而opencv3的人脸识别库等contrib模块已经不再内置了。这也正是人脸识别等contrib模块没有放到主仓库的原因:不稳定,仍在开发中。 快速解

HikD_bn的博客 9889

告别天价授权!手把手教你用TwinCAT 3.1搭建EtherCAT主站(Windows 10/11保姆级教程)

本文详细介绍了如何在Windows 10/11系统上使用TwinCAT 3.1免费搭建EtherCAT主站,帮助中小企业和个人开发者低成本实现工业自动化。从环境准备、许可证策略到安装配置和实战开发,提供保姆级教程,涵盖PLC编程、运动控制及硬件选型建议,助您轻松入门工业控制领域。

weixin_30664615的博客 360

c++ opencv图像中选择点显示点的坐标_Python-opencv人脸检测和识别实现(有代码和资源)...

方法讲解人脸检测,把图像分成一个个小块,对每一个小块判断是否是人脸,假如一张图被分成了5000块,则速度非常慢。为了提高效率,OpenCV 提供 cascades 来避免这种情况。提供了一系列的xml文件cascades :翻译 :小瀑布 级联cascade 对于每个数据块,它都进行一个简单快速的检测。若过,会再进行一个更仔细的检测。该算法有 30 到 50 个这样的阶段,或者说 cascade。...

weixin_32065293的博客 470

【位运算进阶之----右移(>>)】

😄嘻嘻,朋友们,大家好!昨天我们学习了左移,今天我们来谈谈右移>>。⭐️简单来说,,也就是去掉一个数的二进制表达的末位,右移一位就去掉一位,右移两位就去掉两位。下面就让我们来详细看看吧!

weixin_73453526的博客 8931

C++ OpenCV人脸图像提取

学更好的别人,做更好的自己。——《微卡智享》本文长度为2168字,预计阅读6分钟前言《C++ OpenCV Contrib模块LBF人脸特征点检测》文章中已经介绍了人脸特征点的检测,本篇文...

Vaccae的博客 2204

巡检类机器人电池容量计算方法论(原理+算法+真实案例)

摘要:本文系统阐述了巡检机器人电池容量的计算方法,重点解析了;能量平衡;核心原理和三种主流算法。通过光伏电站履带式巡检机器人的真实案例,详细演示了从工况拆解、功耗采集到容量计算的完整流程。文章指出:室内轻载场景可采用静态平均功耗法,户外常规工况推荐动态负载积分法,而复杂环境需采用融合估算算法。特别强调需考虑温度修正(冬季容量衰减20%)、冗余系数(1.2-1.5)和放电深度(磷酸铁锂DoD取80%)等关键参数。

start_up_go的博客 243

2024年电气工程师最新面试题及答案

1. **基本电气工程原理**:包括电流、电压、电阻、功率等基本概念。2. **欧姆定律**:V = IR,描述电压、电流和电阻之间的关系。42. **风力发电系统组成**:包括风力涡轮机、发电机、控制系统等。44. **智能电网技术**:包括自动化控制、通信技术、数据分析等。10. **减少EMI**:使用屏蔽、滤波、合理布线等方法。40. **光伏系统组成**:包括光伏板、逆变器、控制器等。48. **能量存储技术**:包括电池、超级电容器、飞轮等。

guo162308的博客 6562

使用C++在树莓派上调用Opencv实现人脸检测

使用C++在树莓派上调用Opencv 首先查看设备是否接入,用如下命令 ls -la /etc/dev | grep video 出现了设备就表明接入成功了。 准备opencv 去opencv官方下载压缩包 解压 sudo unzip opencv.tar 进入目录创建build文件 cd opencv mkdir build 进入build文件夹 然后创建test_opencv.cpp和CMakeLists.txt文件。 //test_opencv.cpp #include<io

守一座空城,等一个人 3552

通过傅里叶变换进行音频变声变调

在游戏或者一些特殊场景下为了提高娱乐性或者保护声音的特征,我们会对音频进行变声变调处理。

yang1fei2的博客 1815

用ORL人脸数据库和opencv的facererc_demo.cpp做人脸检测

用OpenCV的\opencv\soruce\samples\cpp\facerrc_demo.cpp文件可以做人脸特征检测的训练和测试。要使用这个程序主要做的工作就是提供一个图像集,ORL,然后再生成图像位置和标签的文件,用于faceerc_demo.cpp的训练和测试

Andreassss的博客 1746

multisim14.3无法访问数据库...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 4456

大津法(OTSU)点云强度信息分割

大津法(OTSU)是一种灰度图像自适应的阈值分割方法,大津法根据图像的灰度分布,将图像分成背景和前景两部分,前景就是需要按照阈值分割出来的部分。由于点云的强度信息的特性,也可以利用此方法进行分类,但需要保证信息干扰较少,例如道路标线分割等场景较为适用。

qq_48694523的博客 965

基于OpenCV的人脸识别C++项目:实现智能识别的利器

基于OpenCV的人脸识别C++项目:实现智能识别的利器 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 基于OpenCV的人脸识别C++项目,是利用OpenCV图像处理库进行开发的一个高效人脸识别工具。它通过图像预处理、人脸检测、特征提取等步骤,实现了从图像中快速、准确地检测和识别人脸。该项目的核心功能在于,通过智能算法优化,能够满足多种场景下的人脸识别需求。 项目技...

gitblog_06725的博客 411

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

flutter 人脸检测_【转载】opencv实现人脸检测

全文转载自优快云的博客(不知道怎么将优快云的博客转到博客园,应该没这功能吧,所以直接复制全文了),转载地址如下http://blog.youkuaiyun.com/lsq2902101015/article/details/47057081本篇文章主要介绍了如何使用OpenCV实现人脸检测。本文不具体讲解人脸检测的原理,直接使用OpenCV实现。OpenCV版本:2.4.10;VS开发版本:VS2012。...

weixin_35781147的博客 1386

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

利用OpenCV实现人脸检测

如何在一副图片中检测到人脸,这涉及到计算机图形学中一些非常复杂的计算,如果这些计算都靠程序员自己来编程,那么工作量就相当大。OpenCV全称是Open Computer Vision,是指开放的计算机视觉资源代码,它具有:统一的结构和功能定义、强大的图像和矩阵运算能力、方便灵活的接口等特点,是计算机视觉、图像处理和模式识别等方面进行二次开发的理想工具。它可以在各种版本的Windows下运行,也可以

passball 3028

代码C++, opencv实现人脸识别,人脸检测,人脸匹配,视频中的人脸检测,摄像头下的人脸检测等

代码C++, opencv实现人脸识别,人脸检测,人脸匹配,视频中的人脸检测,摄像头下的人脸检测等 2018-01-22 19:59:20易大飞阅读数 8291更多 分类专栏:CV人脸对齐,人脸检测 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.youkuaiyun.com/stf106571690...

Johnable的博客 1855

OpenCV图像处理——iOS端人脸检测

前言 1.OpenCV有专门的iOS平台的包,可以真接下载导入工程,也可以用cmake把OpenCV源码编成.a文件,以静态库的形式导入工程。 2.我这里用的Xcode11,OpenCV用的是最4.20这个版本。 3.这里用到的人脸检测是OpenCV官方给的级联分类器,可以在OpenCV源码的Data目录中找到。 iOS人脸检测 1.新建一个iOS工程,把用于与C++混编的文件后缀.m改成.mm,...

知来者逆的博客 2408
上一篇: 使用Win10自带的OCR,Windows.Media.Ocr.Cli.exe
下一篇: C++基础,判断文件是否存在,存在即删除,不存在创建
ctgu_sq
博客等级 码龄10年 24粉丝 36原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值