OpenCV支持的目标检测的方法: 利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification)

1.加载级联分类器

CascadeClassifier cascade;
cascade.load("haarcascade_frontalface_alt2.xml");

2.打开视频

VideoCapture capture();
if (!capture.isOpened()){
return -;
}

3.对每一帧图像进行检测并标出人脸

while (true){
Mat Image, grayImage;
capture >> Image; //读取当前帧 //缩小图片加快检测速度
Mat smallImg(cvRound(Image.rows / 2.0), cvRound(Image.cols / 2.0), CV_8UC1); //处理图像
grayImage.create(Image.size(), Image.type());
cvtColor(Image, grayImage, CV_BGR2GRAY);
resize(grayImage, smallImg, smallImg.size(), , , INTER_LINEAR);
equalizeHist(smallImg, smallImg); vector<Rect> rect;
cascade.detectMultiScale(smallImg, rect); for (int i = ; i < rect.size(); i++)
{
Point center; //圆心
int radius; //圆的半径 //由于smallImg是Image的1/2,检测smallImg在Image上绘制圆,要将圆的各类信息扩大一倍 center.x = cvRound((rect[i].x + rect[i].width * 0.5)) * ;
center.y = cvRound((rect[i].y + rect[i].height * 0.5)) * ;
radius = cvRound((rect[i].width + rect[i].height) * 0.25) * ; circle(Image, center, radius, CV_RGB(, , ), ); //绘制圆形
}
imshow("人脸识别", Image);
if (waitKey() >= )break;
}

4. 头文件

#include<opencv2/objdetect/objdetect.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>

OK,就是这样

OpenCV——人脸检测的更多相关文章

  1. keras系列︱人脸表情分类与识别:opencv人脸检测+Keras情绪分类(四)

    引自:http://blog.csdn.net/sinat_26917383/article/details/72885715 人脸识别热门,表情识别更加.但是表情识别很难,因为人脸的微表情很多,本节 ...

  2. opencv人脸检测分类器训练小结

    这两天在初学目标检测的算法及步骤,其中人脸检测作为最经典的算法,于是进行了重点研究.该算法最重要的是建立人脸检测分类器,因此我用了一天的时间来学习分类器的训练.这方面的资料很多,但是能按照一个资料运行 ...

  3. Android+openCV人脸检测2(静态图片)

    前几篇文章中有提到对openCV环境配置,这里再重新梳理导入和使用openCV进行简单的人脸检测(包括使用级联分类器) 一 首先导入openCVLibrary320 二 设置gradle的sdk版本号 ...

  4. opencv人脸检测,旋转处理

    年会签到,拍自己的大头照,有的人可能会拍成横向的,需要旋转,用人脸检测并修正它(图片). 1. 无脑检测步骤为: 1. opencv 读取图片,灰度转换 2. 使用CascadeClassifier( ...

  5. OpenCV人脸检测并把图片写成avi视频

    读出某一个文件夹下“jpg”后缀的全部图片后,用的OpenCV自带的人脸检测检测图片中的人脸,调整图片的大小写成一个avi视频. 主要是要记录一下CvVideoWriter的用法和如何从文件夹中读取某 ...

  6. 人脸检测学习笔记(数据集-DLIB人脸检测原理-DLIB&OpenCV人脸检测方法及对比)

    1.Easily Create High Quality Object Detectors with Deep Learning 2016/10/11 http://blog.dlib.net/201 ...

  7. OpenCV: OpenCV人脸检测框可信度排序

    参考文章:http://blog.csdn.net/hua_007/article/details/45368607 使用OpenCV进行人脸识别时,使用 casecade.detectMultiSc ...

  8. OpenCV人脸检测demo--facedetect

    &1 问题来源 在运行官网的facedetect这个demo的时候,总是不会出来result的图形,电脑右下角提示的错误是“显示器驱动程序已停止响应,而且已恢复 windows 8(R)”. ...

  9. android opencv 人脸检测

    转载自http://blog.csdn.net/jesse__zhong/article/details/24889709 .......省略包 public class Staticdetectio ...

随机推荐

  1. (五)CodeMirror - 关于htmlmixed中包含script脚本

    最近发现个问题,场景如下: 当创建的mode类型为htmlmixed,且内容中包含javascript脚本,且是闭包立即执行: 如果内容是使用JQuery函数.html()插入到DOM中后再创建cod ...

  2. 小安,今天学会了MySQL中查询时间的方法哦

  3. 图文-水平垂直居中兼容ie6+

    图文-水平垂直居中兼容ie6+ 具体代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8&q ...

  4. 基于lucene的案例开发:查询语句创建PackQuery

    转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/44656141 http://www.llwjy.com/blogdetail/1 ...

  5. destoon实现资讯信息前面调用它所属分类的方法

    有时候我们需要在一些信息前面添加他所属的分类,让他显示出来,本文介绍的方法虽然有些不具有通用性,但是可以实现这一效果,代码如下,供大家参考: <!--{php null=tag("mo ...

  6. Jasper_crosstab_columngroup header position config - (headerPosition="Stretch")

    Position of Totals RowThe totalPosition attribute controls the appearance of the row that displays t ...

  7. mongodb 基本语法

    成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输入help可以看到基本操作命令: show dbs:显示数据库列表 show collections:显示 ...

  8. ADT 连接手机运行android应用程序时报错

    The connection to adb is down, and a severe error has occured.    You must restart adb and Eclipse.  ...

  9. Spring AOP 本质(4)

    这一主要看看Spring AOP是如何实现通知包围的.   Spring AOP包围通知在功能上和前置通知加后置通知类似,但还是有区别的:包围通知可以修改返回值,还可以阻止.替换目标方法的执行.   ...

  10. 【转】Android 源码下利用jni编译自己的项目(参考系统development/samples/SimpleJNI)

    原文网址:http://blog.csdn.net/qiuxiaolong007/article/details/7860481 记于正文前:环境是ubuntu10.10,android 源码是2.0 ...