ミリ秒級opencvの顔特徴点の検出

1811 ワード

ここでは、有名な仕琪先生のオープンソースライブラリを使用して、先生のプロジェクトのダウンロードリンクに添付します.
https://github.com/ShiqiYu/libfacedetection
次に、環境の構成について説明します.詳細はリンクを参照してください.
http://blog.csdn.net/mono_1032290547/article/details/78912548
#include 
#include 
using namespace cv;
using namespace std;

//       。      !
#define DETECT_BUFFER_SIZE 0x20000

int main()
{
    int * pResults = NULL;
    //         pBuffer。
    //             ,             !
    unsigned char * pBuffer = (unsigned char *)malloc(DETECT_BUFFER_SIZE);
    if (!pBuffer)
    {
        fprintf(stderr, "Can not alloc buffer.
"); return -1; } Mat src = imread("keliamoniz1.jpg"); Mat gray; cvtColor(src, gray, CV_BGR2GRAY); int doLandmark = 1;// do landmark detection pResults = facedetect_multiview_reinforce(pBuffer, (unsigned char*)(gray.ptr(0)), gray.cols, gray.rows, (int)gray.step, 1.2f, 2, 48, 0, doLandmark); // for (int i = 0; i < (pResults ? *pResults : 0); i++) { short * p = ((short*)(pResults + 1)) + 142 * i; rectangle(src, Rect(p[0], p[1], p[2], p[3]), Scalar(0, 255, 0), 2); if (doLandmark) { for (int j = 0; j < 68; j++) circle(src, Point((int)p[6 + 2 * j], (int)p[6 + 2 * j + 1]), 1, Scalar(0, 0, 255),2); } } imshow("Show", src); waitKey(0); }

ミリ秒レベルでdlibよりも高速で非常に多くの効果図
毫秒级opencv的人脸特征点的检测_第1张图片