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;
}

·执行如下:

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

相关文章
|
7月前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
244 7
|
4月前
|
机器学习/深度学习 算法 机器人
|
4月前
|
机器学习/深度学习 人工智能 监控
利用Python和OpenCV实现实时人脸识别系统
【8月更文挑战第31天】本文将引导您了解如何使用Python结合OpenCV库构建一个简易的实时人脸识别系统。通过分步讲解和示例代码,我们将探索如何从摄像头捕获视频流、进行人脸检测以及识别特定个体。本教程旨在为初学者提供一条明晰的学习路径,帮助他们快速入门并实践人脸识别技术。
|
6月前
|
人工智能 计算机视觉 Python
人工智能视觉:基于OpenCV的人脸识别技术的深度解析
人工智能视觉:基于OpenCV的人脸识别技术的深度解析
|
5月前
|
机器学习/深度学习 人工智能 计算机视觉
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
|
7月前
|
人工智能 算法 计算机视觉
人工智能视觉:基于OpenCV的人脸识别技术的深度解析
人工智能视觉:基于OpenCV的人脸识别技术的深度解析
|
6月前
|
机器学习/深度学习 监控 算法
使用Python和OpenCV实现简单的人脸识别系统
使用Python和OpenCV实现简单的人脸识别系统
72 0
|
2月前
|
计算机视觉
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
这篇文章详细介绍了OpenCV库中的图像二值化函数`cv2.threshold`,包括二值化的概念、常见的阈值类型、函数的参数说明以及通过代码实例展示了如何应用该函数进行图像二值化处理,并展示了运行结果。
498 0
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
|
3月前
|
算法 计算机视觉
opencv图像形态学
图像形态学是一种基于数学形态学的图像处理技术,它主要用于分析和修改图像的形状和结构。
53 4
|
3月前
|
存储 计算机视觉
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
本文介绍了使用OpenCV进行图像读取、显示和存储的基本操作,以及如何绘制直线、圆形、矩形和文本等几何图形的方法。
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制

热门文章

最新文章