OpenCV摄像头人脸识别
注:
从外设摄像装置中获取图像帧,把每帧的图片与人脸特征进行匹配,用方框框住识别出来的人脸
需要用到的函数:
CvHaarClassifierCascade* cvLoadHaarClassifierCascade( const char* directory, CvSize orig_window_size );
第一个参数:训练好的级联分类器的路径
第二个参数:级联分类器训练中采用的检测目标的尺寸
#include "stdafx.h"
#include "iostream"
using namespace std;
#include "opencv2/opencv.hpp"
#include "cv.h"
#include "highgui.h"
#include "cxcore.h"
#include "Windows.h"
void main()
{ IplImage *pFrame = NULL;
IplImage *pGrayImg = NULL; //加载Haar特征检测分类器
const char *pCascadeFileName = "E:/C_VC_code/opencv/haarcascade_frontalface_alt2.xml";
//CvHaarClassifierCascade *pHaarCascade = (CvHaarClassifierCascade*)cvLoad(pCascadeFileName);
CvHaarClassifierCascade *pHaarCascade = cvLoadHaarClassifierCascade(pCascadeFileName,cvSize(,)); CvCapture *pCapture = cvCreateCameraCapture(); //获取摄像头
cout<< "加载成功..." <<endl;
int nFrmNum = ; if(!pCapture)
{
cout<<"加载失败..."<<endl;
return ;
}
//create window
cvNamedWindow("Video",); CvMemStorage *pcvMStorage;
CvSeq *pCvSeq; while(pFrame = cvQueryFrame(pCapture)) //逐帧读取
{
pGrayImg = cvCreateImage(cvGetSize(pFrame), IPL_DEPTH_8U, );
cvCvtColor(pFrame, pGrayImg, CV_BGR2GRAY); //---------------人脸识别-------------------------
if (pHaarCascade != NULL)
{
pcvMStorage = cvCreateMemStorage();
cvClearMemStorage(pcvMStorage); // 识别
pCvSeq = cvHaarDetectObjects(pGrayImg, pHaarCascade, pcvMStorage); // 标记
for(int i = ; i <pCvSeq->total; i++)
{
CvRect* r = (CvRect*)cvGetSeqElem(pCvSeq, i);
CvPoint pt[];
pt[] = cvPoint(r->x,r->y);
pt[] = cvPoint(r->x+r->width,r->y);
pt[] = cvPoint(r->x+r->width,r->y+r->height);
pt[] = cvPoint(r->x,r->y+r->height);
CvPoint* ppt=pt;
int count=;
cvPolyLine( pFrame, &ppt,&count,,,CV_RGB(,,),);//画矩形
} cvReleaseMemStorage(&pcvMStorage);
} cvShowImage("Video",pFrame);
//---------------人脸识别-------------------------
char c = cvWaitKey(); //按esc退出
if(c==)
{
cvDestroyWindow("Video");
cvReleaseImage(&pFrame);
cvReleaseImage(&pGrayImg);
return;
}
}
}
OpenCV摄像头人脸识别的更多相关文章
- Python3利用Dlib19.7实现摄像头人脸识别的方法
0.引言 利用python开发,借助Dlib库捕获摄像头中的人脸,提取人脸特征,通过计算欧氏距离来和预存的人脸特征进行对比,达到人脸识别的目的: 可以自动从摄像头中抠取人脸图片存储到本地,然后提取构建 ...
- 基于 OpenCV 的人脸识别
基于 OpenCV 的人脸识别 一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenC ...
- PyQt5+Caffe+Opencv搭建人脸识别登录界面
PyQt5+Caffe+Opencv搭建人脸识别登录界面(转载) 最近开始学习Qt,结合之前学习过的caffe一起搭建了一个人脸识别登录系统的程序,新手可能有理解不到位的情况,还请大家多多指教. 我的 ...
- 转:基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴等)【模式识别中的翘楚】
文章来自于:http://blog.renren.com/share/246648717/8171467499 基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴 ...
- 使用OpenCV进行人脸识别
不断维护的地址:http://plzcoding.com/face-recognition-with-opencv/ 怎样使用OpenCV进行人脸识别 本文大部分来自OpenCV官网上的Face Re ...
- opencv之人脸识别
最近在做一个类似于智能广告投放的项目,简单思路是利用opencv获取摄像头图像,然后调用接口或利用其他一些离线模型进行人脸属性识别,进而投放广告.本篇先简单介绍利用opecv进行人脸识别. # -*- ...
- Python 3 利用 Dlib 19.7 实现摄像头人脸识别
0.引言 利用python开发,借助Dlib库捕获摄像头中的人脸,提取人脸特征,通过计算欧氏距离来和预存的人脸特征进行对比,达到人脸识别的目的: 可以自动从摄像头中抠取人脸图片存储到本地: 根据抠取的 ...
- python中使用Opencv进行人脸识别
上一节讲到人脸检测,现在讲一下人脸识别.具体是通过程序采集图像并进行训练,并且基于这些训练的图像对人脸进行动态识别. 人脸识别前所需要的人脸库可以通过两种方式获得:1.自己从视频获取图像 2.从人 ...
- 基于Python3.7和opencv的人脸识别(含数据收集,模型训练)
前言 第一次写博客,有点紧张和兴奋.废话不多说,直接进入正题.如果你渴望使你的电脑能够进行人脸识别:如果你不想了解什么c++.底层算法:如果你也不想买什么树莓派,安装什么几个G的opencv:如果你和 ...
随机推荐
- socketserver模块写的一个简单ftp程序
一坨需求... 用户加密认证 允许同时多用户登录 每个用户有自己的家目录 ,且只能访问自己的家目录 对用户进行磁盘配额,每个用户的可用空间不同 允许用户在ftp server上随意切换目录 (cd) ...
- 自然语言18_Named-entity recognition
https://en.wikipedia.org/wiki/Named-entity_recognition http://book.51cto.com/art/201107/276852.htm 命 ...
- 总结CSS面试题目的考察点及常见布局问题整理
整理网上流传的若干份面试题目,突发奇想,总结关于CSS面试题目的考察点,发现问题大多围绕几个属性和几种题目,水平有限,仅供参考. 写这个博文内心有种莫名奇妙的自我谴责感,实在不应该把面试层叠样式“应试 ...
- Rendering Paths
渲染路径 Rendering Paths http://game.ceeger.com/Manual/RenderingPaths.html 延迟光照渲染路径的细节 Deferred Lighting ...
- SVN合并操作实践
大家都知道,SVN是很多公司管理代码的版本控制工具,当分支越来越多,版本迭代越来越频繁的时候,经常会出现代码冲突的头疼事儿,这里讲一下鲨鱼遇到过关于代码版本控制的一些事,最后做个小例子,看图描述. 为 ...
- Linux环境下常用软件(个人笔记编辑更改中)
近期使用CentOS,就在这里记录一下.首先,个人版本是CentOS6.5,属于centos系列,Fedora系列的理论上也可以用. 工欲善其事,必先利其器,这里介绍我的软件包配置: 1.vim(增强 ...
- JavaBean出现的目的
一.JavaBean出现的目的 由于只用JSP开发会发现使用了很多的Scriptlet,会使得jsp文件非常混乱.如果使用了JavaBean,则可以大大减少JSP中代码量. JSP的理想状态是只负责显 ...
- Map静态键值对
private final static Map<String,String> map = new HashMap<String, String>(); static { // ...
- Java WebService入门实例
Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务. Web Service的关键技术和规则: 1.XML:描述 ...
- 【转】 使用maven创建web项目
生成kafka java客户端时,参考的资料!!!文章来源:http://blog.csdn.net/zhshulin/article/details/37921705 目前做的项目使用的是MAVEN ...