dlib landmark+人面识别

#include "stdafx.h"
#include <dlib/image_processing/frontal_face_detector.h>
#include <dlib/image_processing/render_face_detections.h>
#include <dlib/image_processing.h>
#include <dlib/gui_widgets.h>
#include <dlib/image_io.h>
#include <iostream>
#include <opencv2/opencv.hpp> using namespace std;
using namespace cv;
using namespace dlib; //#pragma comment(lib,"dlib.lib") int main(int argc, char** argv)
{
long start, end; char img_file[] = "test.bmp";
char landmark_file[] = "68.dat"; //
Mat img = imread(img_file); //
frontal_face_detector detector = get_frontal_face_detector(); shape_predictor sp;
deserialize(landmark_file) >> sp; array2d<rgb_pixel> arrImg;
load_image(arrImg, img_file);
start = clock();
std::vector<dlib::rectangle> dets = detector(arrImg); for (unsigned long j = 0; j < dets.size(); ++j)
{ full_object_detection shape = sp(arrImg, dets[j]); for (unsigned long i = 0; i < shape.num_parts(); i++)
{
point pt = shape.part(i);
int x = pt.x();
int y = pt.y(); line(img, Point(pt.x(), pt.y()), Point(pt.x(), pt.y()), Scalar(0, 0, 255), 2);
}
}
end = clock();
printf("%ld\n", end - start);//单位:毫秒
//
imshow("img", img);
waitKey();
}

  

上一篇:php数字补零的两种方法


下一篇:Java解析XML与生成XML文件