其他分享
首页 > 其他分享> > Dlib_人脸检测,代码加注释

Dlib_人脸检测,代码加注释

作者:互联网

opencv cv::Mat 彩色图像转为dlib::array2d

#include <dlib/image_processing/frontal_face_detector.h>
#include <dlib/gui_widgets.h>
#include <dlib/image_io.h>
#include <dlib/opencv/cv_image.h>
#include <iostream>
#include <opencv2/opencv.hpp>

void face_detect(const cv::Mat& img)
{
    //定义人脸检测器
    dlib::frontal_face_detector detector = dlib::get_frontal_face_detector();
    //定义窗口
    dlib::image_window win;

    dlib::array2d<dlib::rgb_pixel> src;
    //opencv mat转换为dlib array2d
    dlib::assign_image(src, dlib::cv_image<dlib::bgr_pixel>(img));
    //上采样
    dlib::pyramid_up(src);
    //获取检测结果
    std::vector<dlib::rectangle> dets = detector(src);

    std::cout << "Number of faces detected: " << dets.size() << std::endl;
    // Now we show the image on the screen and the face detections as
    // red overlay boxes.
    win.clear_overlay();
    win.set_image(src);
    win.add_overlay(dets, dlib::rgb_pixel(255,0,0));

    std::cout << "Hit enter to process the next image..." << std::endl;
    std::cin.get();
}

int main()
{
    cv::Mat src = cv::imread("faces/2007_007763.jpg");
    face_detect(src);
    return 0;
}

标签:src,image,cv,dlib,注释,人脸,detector,include,Dlib
来源: https://www.cnblogs.com/crazyMint/p/15062842.html