zoukankan      html  css  js  c++  java
  • OpenCv 人脸识别 基础

     1 #include <opencv2opencv.hpp>
     2 #include <iostream>
     3 using namespace std;
     4 
     5 int main() {
     6     // 摄像头
     7     cv::VideoCapture vc(0);
     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 -1;
    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, 1);
    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 / 2 / scale, face.y / scale + face.height / 2 / scale);
    41                     cv::ellipse(mat, center, cv::Size(face.width / 2 / scale, face.height / 2 / scale), 0, 0, 360, cv::Scalar(0, 0, 255), 2, 8, 0);
    42                 }
    43 
    44                 // 显示出来
    45                 cv::imshow("My Face", mat);
    46             }
    47         }
    48 
    49         // 接收到输入时 退出
    50         if (cv::waitKey(30) > 0) {
    51             break;
    52         }
    53     }
    54 
    55     return 0;
    56 }
  • 相关阅读:
    soj#547 bzoj5046 分糖果游戏
    soj#551 loj#2833 帐篷
    nb哒LCA
    soj#532 set p3175
    p4042 [AHOI2014/JSOI2014]骑士游戏
    p1501 [国家集训队]Tree II
    908G New Year and Original Order
    908D New Year and Arbitrary Arrangement
    EZOJ #258
    EZOJ #257
  • 原文地址:https://www.cnblogs.com/easyfrog/p/3481266.html
Copyright © 2011-2022 走看看