使用FaceSDK|使用FaceSDK 3.0 对人脸进行匹配

// TestFaceMatch.cpp : 定义控制台应用程序的入口点。
//
【使用FaceSDK|使用FaceSDK 3.0 对人脸进行匹配】#include "stdafx.h"
#include
#include "LuxandFaceSDK.h"
using namespace std;
#pragma comment(lib,"facesdk.lib")
int _tmain(int argc, _TCHAR* argv[])
{
if (FSDKE_OK != FSDK_ActivateLibrary("5D618B7ECB1B035A6992548333953F333"))
{
MessageBox(NULL,L"请输入正确的验证信息",L"提示",MB_OK|MB_ICONERROR);
exit(-1);
}
//初始化类库
FSDK_Initialize("");
//载入第一幅图像
HImage hFirstImage = 0;
if (FSDKE_OK != FSDK_LoadImageFromFile(&hFirstImage,".//picture//s.jpg"))
{
MessageBox(NULL,L"第一幅图像载入失败",L"提示",MB_OK|MB_ICONERROR);
exit(-1);
}
//载入第二幅图像
HImage hSecondImage = 0;
if (FSDKE_OK != FSDK_LoadImageFromFile(&hSecondImage,".//picture//l.jpg"))
{
MessageBox(NULL,L"第二幅图像载入失败",L"提示",MB_OK|MB_ICONERROR);
exit(-1);
}
//设置人脸识别的相关参数
FSDK_SetFaceDetectionThreshold(3);
FSDK_SetFaceDetectionParameters(false,false,100);

//获得第一幅图像的模板信息
FSDK_FaceTemplate FirstFaceTemplate;
if (FSDKE_OK != FSDK_GetFaceTemplate(hFirstImage,&FirstFaceTemplate))
{
MessageBox(NULL,L"貌似第一幅图像抽取模板失败了",L"提示",MB_OK|MB_ICONERROR);
exit(-1);
}

//获得第二幅图像的模板信息
FSDK_FaceTemplate SecondFaceTemplate;
if (FSDKE_OK != FSDK_GetFaceTemplate(hSecondImage,&SecondFaceTemplate))
{
MessageBox(NULL,L"貌似第二幅图像抽取模板失败了",L"提示",MB_OK|MB_ICONERROR);
exit(-1);
}

//准备匹配模板的相关信息
float fMatchingThreshold = 0.0;
float fSmilarity = 0.0;
FSDK_GetMatchingThresholdAtFAR(0.02,&fMatchingThreshold);
FSDK_MatchFaces(&FirstFaceTemplate,&SecondFaceTemplate,&fSmilarity);
if (fSmilarity > fMatchingThreshold)
{
cout<<"是同一个人"< }
else
{
cout<<"不是同一个人"< }
getchar();
return 0;
}

    推荐阅读