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

Function main

cpp/sample/cpp_api/cpp_gray_input.cpp:5–38  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3#include <inspireface/inspireface.hpp>
4
5int main() {
6 INSPIREFACE_CONTEXT->Reload("test_res/pack/Pikachu");
7 // Create session
8 inspire::CustomPipelineParameter param;
9 param.enable_recognition = true;
10 param.enable_liveness = true;
11 param.enable_mask_detect = true;
12 param.enable_face_attribute = true;
13 param.enable_face_quality = true;
14 std::shared_ptr<inspire::Session> session(inspire::Session::CreatePtr(inspire::DETECT_MODE_ALWAYS_DETECT, 1, param, 320));
15 // Prepare image
16 inspirecv::Image img = inspirecv::Image::Create("data.jpg", 3);
17 inspirecv::Image gray_img = img.ToGray();
18
19 // Create image and frame process
20 inspirecv::FrameProcess process =
21 inspirecv::FrameProcess::Create(gray_img.Data(), gray_img.Height(), gray_img.Width(), inspirecv::GRAY, inspirecv::ROTATION_0);
22 auto decode = process.ExecutePreviewImageProcessing(true);
23 decode.Write("decode.jpg");
24
25 // Detect
26 std::vector<inspire::FaceTrackWrap> results;
27 int32_t ret;
28 ret = session->FaceDetectAndTrack(process, results);
29 std::cout << "Face size: " << results.size() << std::endl;
30 for (const auto& result : results) {
31 // Draw face
32 inspirecv::Rect2i rect = inspirecv::Rect2i::Create(result.rect.x, result.rect.y, result.rect.width, result.rect.height);
33 img.DrawRect(rect, inspirecv::Color::Red);
34 }
35 img.Write("result.jpg");
36
37 return 0;
38}

Callers

nothing calls this directly

Calls 5

CreatePtrFunction · 0.85
ReloadMethod · 0.80
sizeMethod · 0.80
FaceDetectAndTrackMethod · 0.45

Tested by

no test coverage detected