1. #include <opencv2\opencv.hpp>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. int main() {
  6. // 摄像头
  7. cv::VideoCapture vc();
  8.  
  9. // 人脸分类器
  10. const char* filename = "D:\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt2.xml";
  11. cv::CascadeClassifier face_cascade;
  12. // 加载人脸分类器
  13. if (!face_cascade.load(filename)) {
  14. return -;
  15. }
  16.  
  17. // 用来检测的图为原图的大小比例
  18. float scale = 0.3f;
  19. // 图
  20. cv::Mat mat, mat2;
  21. // 检测得到的人脸的结果
  22. vector<cv::Rect> faces_result;
  23.  
  24. while (true) {
  25. if (vc.isOpened()) {
  26. if (vc.retrieve(mat)) {
  27. // 将原图像水平反转(这样更符合人的习惯)
  28. cv::flip(mat, mat, );
  29. // 缩小
  30. cv::resize(mat, mat2, cv::Size(mat.cols * scale, mat.rows * scale));
  31. // 变灰
  32. cv::cvtColor(mat2, mat2, CV_BGR2GRAY);
  33. cv::equalizeHist(mat2, mat2);
  34.  
  35. //////////// 开始检测人脸 ////////////
  36. face_cascade.detectMultiScale(mat2, faces_result);
  37.  
  38. // 将结果显示在原图上
  39. for (auto face : faces_result) {
  40. cv::Point center(face.x / scale + face.width / / scale, face.y / scale + face.height / / scale);
  41. cv::ellipse(mat, center, cv::Size(face.width / / scale, face.height / / scale), , , , cv::Scalar(, , ), , , );
  42. }
  43.  
  44. // 显示出来
  45. cv::imshow("My Face", mat);
  46. }
  47. }
  48.  
  49. // 接收到输入时 退出
  50. if (cv::waitKey() > ) {
  51. break;
  52. }
  53. }
  54.  
  55. return ;
  56. }

OpenCv 人脸识别 基础的更多相关文章

  1. opencv人脸识别代码

    opencv人脸识别C++代码 /* * Copyright (c) 2011,2012. Philipp Wagner <bytefish[at]gmx[dot]de>. * Relea ...

  2. OpenCV人脸识别的原理 .

    OpenCV人脸识别的原理 . 在之前讲到的人脸测试后,提取出人脸来,并且保存下来,以供训练或识别是用,提取人脸的代码如下: void GetImageRect(IplImage* orgImage, ...

  3. opencv人脸识别提取手机相册内人物充当数据集,身份识别学习(草稿)

    未写完 采用C++,opencv+opencv contrib 4.1.0 对手机相册内人物opencv人脸识别,身份识别学习 最近事情多,介绍就先不介绍了 photocut.c #include & ...

  4. OpenCV 和 Dlib 人脸识别基础

    00 环境配置 Anaconda 安装 1 下载 https://repo.anaconda.com/archive/ 考虑到兼容性问题,推荐下载Anaconda3-5.2.0版本. 2 安装 3 测 ...

  5. opencv 人脸识别

      背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenCV 已被广泛运用在各种项目上,从 ...

  6. OpenCV人脸识别Eigen算法源码分析

    1 理论基础 学习Eigen人脸识别算法需要了解一下它用到的几个理论基础,现总结如下: 1.1 协方差矩阵 首先需要了解一下公式: 共公式可以看出:均值描述的是样本集合的平均值,而标准差描述的则是样本 ...

  7. OpenCV人脸识别LBPH算法源码分析

    1 背景及理论基础 人脸识别是指将一个需要识别的人脸和人脸库中的某个人脸对应起来(类似于指纹识别),目的是完成识别功能,该术语需要和人脸检测进行区分,人脸检测是在一张图片中把人脸定位出来,完成的是搜寻 ...

  8. OpenCV 人脸识别 C++实例代码

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

  9. opencv 人脸识别 (二)训练和识别

    上一篇中我们对训练数据做了一些预处理,检测出人脸并保存在\pic\color\x文件夹下(x=1,2,3,...类别号),本文做训练和识别.为了识别,首先将人脸训练数据 转为灰度.对齐.归一化,再放入 ...

随机推荐

  1. springboot 知识点

    ---恢复内容开始--- 1springBoot项目引入方式, 1,继承自父 project (需要没有付项目才能用,一般我们的项目都会有 父 项目 所以 这种方式不推荐 ,记住有这种方式 就可以了) ...

  2. Nginx 下部署 HTTPS 与安全调优

    什么是 HTTPS?# HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的 ...

  3. shell获取目录下所有文件夹的名称并输出

    获取指定目录/usr/下所有文件夹的名称并输出: shell代码: #!/bin/bash #方法一 dir=$(ls -l /usr/ |awk '/^d/ {print $NF}') for i ...

  4. java IO包的其他类

    DataInputStream 与 DataOutputStream 记事本默认会查编码表,可能会显示成这样 读取 ByteArrayInputStream 与 ByteArrayOutputStre ...

  5. Zeroc Ice 3.6.1 生成 vs2015 c++ 版本库及相关配置

    背景: 目前发布的Ice最新版本为3.6.0,使用的vs2013编译的,vs2015版本正在开发,发布只是时间问题: 不过官方实在给力,github上的源码已经支持vs2015编译了.源码版本为3.6 ...

  6. ActiveMQ 高可用集群安装、配置(ZooKeeper + LevelDB)

    ActiveMQ 高可用集群安装.配置(ZooKeeper + LevelDB) 1.ActiveMQ 集群部署规划: 环境: JDK7 版本:ActiveMQ 5.11.1 ZooKeeper 集群 ...

  7. IT职业发展攻略(技术仅是工具而已)

    时光飞逝,我事业中第一个十年就快结束了.在这十年里,让我收获了很多,今天想与大家分享一下,我在 IT 职场方面的一些个人经验,不一定对每个人都实用,请大家仅作参考吧. 大家既然都是做技术的,那我们不妨 ...

  8. Android RILD运行机制详解

    前言 在上一篇文章里(http://blog.csdn.net/jason_wzn/article/details/53232022),简要介绍了Android RIL的架构.这一篇文章,就来看一看R ...

  9. windows hbase installation

    In the previous post,  I have introduced how to install hadoop on windows based system. Now, I will ...

  10. JS监听浏览器事件

    Onunload与Onbeforeunload Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或 ...