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);
相关推荐
滴滴滴嘟嘟嘟.18 小时前
Qt动画功能学习
开发语言·qt·学习
JoinApper20 小时前
小白学OpenCV系列3-图像算数运算
人工智能·opencv·计算机视觉
却道天凉_好个秋21 小时前
计算机视觉(九):图像轮廓
人工智能·opencv·计算机视觉·图像轮廓
R-G-B1 天前
OpenCV 实战篇——如何测算出任一副图片中的物体的实际尺寸?传感器尺寸与像元尺寸的关系?
人工智能·opencv·工业相机·传感器尺寸·像元·测算图片中的物体尺寸·像元与物体尺寸
FPGAI1 天前
Qt编程之信号与槽
开发语言·qt
只因在人海中多看了你一眼1 天前
B.50.10.09-RPC核心原理与电商应用
qt·网络协议·rpc
yudiandian20141 天前
【QT 5.12.12 下载 Windows 版本】
开发语言·qt
炮院李教员2 天前
使用Qt Core模块(无GUI依赖),确保程序作为后台服务/daemon运行,与任何GUI完全无交互。
开发语言·qt
歪歪1002 天前
Qt Creator 打包应用程序时经常会遇到各种问题
开发语言·c++·qt·架构·编辑器
滴滴滴嘟嘟嘟.2 天前
Qt自定义列表项与QListWidget学习
开发语言·qt·学习