opencv 人脸识别

简介: opencv 人脸识别

·代码如下:

// face_recog_from_picture.cpp: 定义控制台应用程序的入口点。
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main(int argc,char *argv[])
{
  Mat img = imread("she.jpg");
  namedWindow("display");
  imshow("display", img); 
  /*********************************** 1.加载人脸检测器  ******************************/
  // 建立级联分类器
  CascadeClassifier cascade;
  // 加载训练好的 人脸检测器(.xml)
  const string path = "./xml/haarcascade_frontalface_alt.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, 5, 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");
  double scale = 0.8;
  Size dsize = Size(img.cols*scale, img.rows*scale);
  Mat img2 = Mat(dsize, CV_32S);
  resize(img, img2, dsize);
  imshow("face_detect", img2);
  while(waitKey(0)!='k') ;
  destroyWindow("display");
  destroyWindow("face_detect");
    return 0;
}

·执行如下:

网络异常,图片无法展示
|

相关文章
|
20天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
43 6
|
5月前
|
算法 计算机视觉 开发者
OpenCV中使用Eigenfaces人脸识别器识别人脸实战(附Python源码)
OpenCV中使用Eigenfaces人脸识别器识别人脸实战(附Python源码)
86 0
|
8月前
|
计算机视觉
opencv进行人脸识别
opencv进行人脸识别
67 0
|
5月前
|
计算机视觉 开发者 Python
OpenCV中Fisherfaces人脸识别器识别人脸实战(附Python源码)
OpenCV中Fisherfaces人脸识别器识别人脸实战(附Python源码)
71 0
|
3月前
|
Java 计算机视觉
JDK1.6+OpenCV2.4.9+SWT 人脸识别
JDK1.6+OpenCV2.4.9+SWT 人脸识别
|
3月前
|
算法 计算机视觉 开发者
如何在Python中使用OpenCV实现人脸识别
人脸识别技术在当今社会得到了广泛的应用,如何在Python中使用OpenCV实现人脸识别成为了很多开发者关注的话题。本文将介绍如何使用OpenCV库进行人脸检测和人脸识别,并提供完整的代码示例。
|
8月前
|
机器学习/深度学习 监控 数据库
Python 毕业设计 - 基于 opencv 的人脸识别上课考勤系统,附源码
Python 毕业设计 - 基于 opencv 的人脸识别上课考勤系统,附源码
|
5月前
|
算法 计算机视觉 开发者
OpenCV中LBPH人脸识别器识别人脸实战(附Python源码)
OpenCV中LBPH人脸识别器识别人脸实战(附Python源码)
103 0
|
8月前
|
计算机视觉 C++ Python
opencv人脸识别与变形
opencv人脸识别与变形
76 0
opencv人脸识别与变形
|
9月前
|
机器学习/深度学习 自然语言处理 固态存储
【OpenCV图像处理15】人脸识别项目
【OpenCV图像处理15】人脸识别项目
150 0