zoukankan      html  css  js  c++  java
  • 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
    ", end - start);//单位:毫秒
    	//
    	imshow("img", img);
    	waitKey();
    }
    

      

  • 相关阅读:
    通信中的相干与非相干
    OFDM为什么要在频域内插后做fftshift
    OFDM为什么把高频子载波作为保护频带
    辛几何
    奇文共欣赏
    6G新技术
    高扇出导致的系统异常解决方法

    线程与守护线程
    进程之间的通行
  • 原文地址:https://www.cnblogs.com/ahuo/p/5606449.html
Copyright © 2011-2022 走看看