qt+opencv人脸人眼检测识别

项目运行涉及到opencv库,以及haarcascade_frontalface_default.xml和haarcascade_eye_tree_eyeglasses.xml。qt配置opencv可见先前文章,另外这两份OpenCV 中用于眼睛检测的级联分类器xml文件,是我在网上下载的。

把要使用到的文件都放到当前工程目录下:


相关代码:

cpp 复制代码
#include <opencv2/imgcodecs.hpp>
#include <opencv2/core.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/core/hal/interface.h>
#include <opencv2/features2d/hal/interface.h>
#include <opencv2/imgproc/hal/interface.h>
#include <opencv2/objdetect.hpp>

 	QString imgPath = "D:\\Qt\\File\\open_test\\zyh.jpg";
    cv::Mat imgMat = cv::imread(imgPath.toStdString());

    //脸部识别
    cv::CascadeClassifier faceCascade;
    faceCascade.load("D:\\Qt\\File\\open_test\\opencv\\haarcascades\\haarcascade_frontalface_default.xml");
    if(faceCascade.empty())
        std::cout<< "face XML file not loaded"<<std::endl;

    std::vector<cv::Rect> faces;
    faceCascade.detectMultiScale(imgMat, faces, 1.1, 10);
    for(int i=0; i<faces.size(); i++){
        cv::rectangle(imgMat, faces[i].tl(), faces[i].br(), cv::Scalar(255,0,255),3);
    }


    //眼部识别
    cv::CascadeClassifier eyeCascade;
    eyeCascade.load("D:\\Qt\\File\\open_test\\opencv\\haarcascades\\haarcascade_eye_tree_eyeglasses.xml");
    if(eyeCascade.empty())
        std::cout<< "eye XML file not loaded"<<std::endl;

    std::vector<cv::Rect> eyes;
    eyeCascade.detectMultiScale(imgMat, eyes, 1.1, 10);
    for(int i=0; i<eyes.size(); i++){
        cv::rectangle(imgMat, eyes[i].tl(), eyes[i].br(), cv::Scalar(255,0,0),1);
    }


    cv::imshow("Image", imgMat);
相关推荐
用户805533698035 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xcyxiner5 天前
DicomViewer (vcpkg Windows和ubuntu编译)7
qt
Quz10 天前
QML Hello World 入门示例
qt
兵慌码乱12 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
xcyxiner13 天前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner13 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner14 天前
DicomViewer (添加模型类)3
qt
xcyxiner14 天前
DicomViewer (目录调整) 2
qt
xcyxiner14 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
桥田智能16 天前
桥田智能 QT-650S:面向白车身焊装的 800kg 重载快换解决方案
开发语言·qt·系统架构