| 4 | |
| 5 | |
| 6 | int 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 |
nothing calls this directly
no test coverage detected