OrangePi3588Media/include/face/face_result.h
sladro 7f30d70d5a
Some checks are pending
CI / host-build (push) Waiting to run
CI / rk3588-cross-build (push) Waiting to run
测试人脸识别功能,刚刚开发完成
2026-01-07 17:15:07 +08:00

56 lines
1.1 KiB
C++

#pragma once
#include <array>
#include <cstdint>
#include <string>
#include <vector>
#include "frame/frame.h"
namespace rk3588 {
struct Point2f {
float x = 0.0f;
float y = 0.0f;
};
struct FaceDetItem {
Rect bbox{}; // x,y,w,h in image coordinates
float score = 0.0f;
bool has_landmarks = false;
std::array<Point2f, 5> landmarks{}; // left_eye, right_eye, nose, left_mouth, right_mouth
int track_id = -1;
};
struct FaceDetResult {
std::vector<FaceDetItem> faces;
int img_w = 0;
int img_h = 0;
std::string model_name;
};
struct FaceRecogItem {
Rect bbox{};
int best_person_id = -1;
std::string best_name;
float best_sim = 0.0f;
bool unknown = true;
float second_sim = 0.0f;
bool has_landmarks = false;
std::array<Point2f, 5> landmarks{};
// Optional; filled only when emit_embedding=true.
std::vector<float> embedding;
};
struct FaceRecogResult {
std::vector<FaceRecogItem> items;
int img_w = 0;
int img_h = 0;
std::string model_name;
};
} // namespace rk3588