代码拉取完成,页面将自动刷新
#include <iostream>
#include <string>
#include "WisFaceEngineWrap.h"
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int extractFeaturte(QsHANDLE engine, string imgFile, QsFace &face);
int main(int argc, char* argv[])
{
QsHANDLE engine = qs_Wis_Create();
printf("initial face engine success %llu\n\r\n", engine);
if (!engine)
{
printf("create face engine failed.\n");
return 0;
}
printf("initial face engine success\r\n");
string imgFile1 = "1.jpg";
string imgFile2 = "2.jpg";
QsFace face1;
QsFace face2;
extractFeaturte(engine, imgFile1, face1);
extractFeaturte(engine, imgFile2, face2);
//compare 2 feature , return similiar score
float score = qs_Wis_Compare2Feature(engine, face1.feature, face2.feature);
printf("similar score is %f\n", score);
return 0;
}
int extractFeaturte(QsHANDLE engine, string imgFile, QsFace &face)
{
Mat img1 = imread(imgFile);
if (img1.empty() == true)
{
printf("imread failed %s\n", imgFile.c_str());
return 0;
}
int facenum1 = qs_Wis_DetectFaces(engine, img1.data, img1.cols, img1.rows, img1.step.p[0], &face, 1);
if (facenum1 > 0)
{
printf("facenum=%d,{left=%d,top=%d,right=%d,bottom=%d}\n",
facenum1, face.rect.left, face.rect.top, face.rect.right, face.rect.bottom);
int tag = qs_Wis_ExtractFeature(engine, img1.data, img1.cols, img1.rows, img1.step.p[0], &face);
if (tag == 0) {
printf("Extract face feature success.\n");
return 0;
}
}
return 1;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。