您的位置:首页 > 其它

dlib landmark+人面识别

2016-06-22 11:14 417 查看
#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();
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: