#include <opencv2\opencv.hpp>
#include <iostream>
using namespace std; int main() {
// 摄像头
cv::VideoCapture vc(); // 人脸分类器
const char* filename = "D:\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt2.xml";
cv::CascadeClassifier face_cascade;
// 加载人脸分类器
if (!face_cascade.load(filename)) {
return -;
} // 用来检测的图为原图的大小比例
float scale = 0.3f;
// 图
cv::Mat mat, mat2;
// 检测得到的人脸的结果
vector<cv::Rect> faces_result; while (true) {
if (vc.isOpened()) {
if (vc.retrieve(mat)) {
// 将原图像水平反转(这样更符合人的习惯)
cv::flip(mat, mat, );
// 缩小
cv::resize(mat, mat2, cv::Size(mat.cols * scale, mat.rows * scale));
// 变灰
cv::cvtColor(mat2, mat2, CV_BGR2GRAY);
cv::equalizeHist(mat2, mat2); //////////// 开始检测人脸 ////////////
face_cascade.detectMultiScale(mat2, faces_result); // 将结果显示在原图上
for (auto face : faces_result) {
cv::Point center(face.x / scale + face.width / / scale, face.y / scale + face.height / / scale);
cv::ellipse(mat, center, cv::Size(face.width / / scale, face.height / / scale), , , , cv::Scalar(, , ), , , );
} // 显示出来
cv::imshow("My Face", mat);
}
} // 接收到输入时 退出
if (cv::waitKey() > ) {
break;
}
} return ;
}

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. Linux下C/C++代码调用PHP代码(转)

    Linux下C/C++代码可以通过popen系统函数调用PHP代码并通过fgets函数获取PHP代码echo输出的字符串. //main.c char str[1024] = {0}; char *  ...

  2. 阿里巴巴Java开发手册-集合处理

    1. [强制]关于 hashCode 和 equals 的处理,遵循如下规则:      1) 只要重写 equals ,就必须重写 hashCode .      2) 因为 Set 存储的是不重复 ...

  3. Fix Visual Studio 2013 Razor CSHTML Intellisense in Class Library or Console Application

    https://mhusseini.wordpress.com/2015/02/05/fix-visual-studio-2013-razor-cshtml-intellisense-in-class ...

  4. pfsense的nat配置

    需要把内网192.168.1.100的80端口映射到外面,外网卡地址为192.168.1.200 firewall, firewall,nat,选择port forward标签,添加一个 在desti ...

  5. push is not a function

    push is not a function 今天写js 碰上了这个问题 找了半天百度不得其解. 后来发现,我push的是一个对象 push数组才可以

  6. [OI向?] ubuntu下一些常用的技巧

    想起来什么就写什么吧. Ubuntu下的对拍程序 python是最为简便的. from os import system while True: system("./make > in ...

  7. 【整理总结】代码沉淀 - CefSharp - 比较流行的第三方内嵌浏览器组件

    .NET (WPF and Windows Forms) bindings for the Chromium Embedded Framework web: https://github.com/ce ...

  8. 关于java.lang.IncompatibleClassChangeError: Implementing class错误解决

    在javaagent使用asm字节码编程的时候启动异常,java.lang.IncompatibleClassChangeError: Implementing class, 这是包冲突引起的问题,加 ...

  9. [UE4]射中机器人

  10. CentOS 6.2图形界面允许root用户登录

    测试环境中,很多操作需要root用户权限,为了提高测试效率,因此有时希望直接使用root用户登陆系统,但是CentOS的图形界面默认不允许root用户登陆,这是由于pam的限制,需要进行如下设定: 1 ...