zoukankan      html  css  js  c++  java
  • 使用级联分类器实现人脸检测(OpenCV自带的数据)

     1 #include <opencv2/opencv.hpp>
     2 #include <iostream>
     3 
     4 using namespace cv;
     5 using namespace std;
     6 
     7 int main(int argc, char** argv) {
     8     String cascadeFilePath = "F:/CMake_bulid/install/etc/haarcascades/haarcascade_frontalface_alt.xml";//数据路径
     9     CascadeClassifier face_cascade;//创建分类器对象
    10     if (!face_cascade.load(cascadeFilePath)) {
    11         printf("could not load haar data...
    ");
    12         return -1;
    13     }
    14 
    15     VideoCapture Capture(0);
    16     Mat src, gray_src;
    17     while(Capture.read(src)){    
    18     
    19         cvtColor(src, gray_src, COLOR_BGR2GRAY);
    20         equalizeHist(gray_src, gray_src);//直方图均衡化        
    21 
    22         vector<Rect> faces;
    23         face_cascade.detectMultiScale(gray_src, faces, 1.1, 2, 0, Size(30, 30));//多尺度查找
    24         for (size_t t = 0; t < faces.size(); t++) {
    25             rectangle(src, faces[t], Scalar(0, 0, 255), 2, 8, 0);
    26         }
    27         namedWindow("output", CV_WINDOW_AUTOSIZE);
    28         imshow("output", src);
    29 
    30         uchar key = waitKey(100);
    31         if(key==27)
    32         {
    33             break;
    34         }
    35 
    36     }
    37     waitKey(0);
    38     return 0;
    39 }
  • 相关阅读:
    android从资源文件中读取文件流显示
    Android利用Bundle实现Activity间消息的传递
    MyEclipse 9本地安装插件的方法
    XXE漏洞利用详解
    批处理编写
    初见提权
    个人对ip的理解
    业务逻辑漏洞利用
    NTFS安全权限
    Windows系统管理
  • 原文地址:https://www.cnblogs.com/long5683/p/9740250.html
Copyright © 2011-2022 走看看