MCPcopy Create free account
hub / github.com/HyperInspire/InspireFace / main

Function main

cpp/sample/api/sample_search_face.cpp:6–130  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4
5
6int main(int argc, char* argv[]) {
7 if (argc != 4) {
8 HFLogPrint(HF_LOG_ERROR, "Usage: %s <pack_path> <feature_path> <image_path>", argv[0]);
9 return -1;
10 }
11
12 char* packPath = argv[1];
13 char* featurePath = argv[2];
14 char* imagePath = argv[3];
15
16 HResult ret;
17 ret = HFLaunchInspireFace(packPath);
18 if (ret != HSUCCEED) {
19 HFLogPrint(HF_LOG_ERROR, "Load Resource error: %d", ret);
20 return ret;
21 }
22
23 // 1. Enable feature hub
24 HFFeatureHubConfiguration featureHubConfiguration;
25 featureHubConfiguration.primaryKeyMode = HF_PK_AUTO_INCREMENT;
26 featureHubConfiguration.enablePersistence = 1;
27 featureHubConfiguration.persistenceDbPath = featurePath;
28 featureHubConfiguration.searchThreshold = 0.32f;
29 featureHubConfiguration.searchMode = HF_SEARCH_MODE_EXHAUSTIVE;
30 ret = HFFeatureHubDataEnable(featureHubConfiguration);
31 if (ret != HSUCCEED) {
32 HFLogPrint(HF_LOG_ERROR, "Enable feature hub error: %d", ret);
33 return ret;
34 }
35
36 // 2. Create session
37 HFSession session;
38 ret = HFCreateInspireFaceSessionOptional(HF_ENABLE_FACE_RECOGNITION, HF_DETECT_MODE_ALWAYS_DETECT, 1, 320, -1, &session);
39 if (ret != HSUCCEED) {
40 HFLogPrint(HF_LOG_ERROR, "Create session error: %d", ret);
41 return ret;
42 }
43
44 // 3. Load image
45 HFImageBitmap image;
46 ret = HFCreateImageBitmapFromFilePath(imagePath, 3, &image);
47 if (ret != HSUCCEED) {
48 HFLogPrint(HF_LOG_ERROR, "Create image bitmap error: %d", ret);
49 HFReleaseInspireFaceSession(session);
50 return ret;
51 }
52
53 // 4. Create image stream
54 HFImageStream imageHandle;
55 ret = HFCreateImageStreamFromImageBitmap(image, HF_CAMERA_ROTATION_0, &imageHandle);
56 if (ret != HSUCCEED) {
57 HFLogPrint(HF_LOG_ERROR, "Create image stream error: %d", ret);
58 HFReleaseImageBitmap(image);
59 HFReleaseInspireFaceSession(session);
60 return ret;
61 }
62
63 // 5. Detect face

Callers

nothing calls this directly

Calls 15

HFLogPrintFunction · 0.85
HFLaunchInspireFaceFunction · 0.85
HFFeatureHubDataEnableFunction · 0.85
HFReleaseImageBitmapFunction · 0.85
HFExecuteFaceTrackFunction · 0.85
HFReleaseImageStreamFunction · 0.85
HFCreateFaceFeatureFunction · 0.85
HFFaceFeatureExtractToFunction · 0.85

Tested by

no test coverage detected