OrangePi3588Media/include/behavior/behavior_event.h

43 lines
751 B
C++

#pragma once
#include <cstdint>
#include <string>
#include <vector>
#include "frame/rect.h"
namespace rk3588 {
enum class BehaviorEventType {
Intrusion,
Climb,
Fall,
Fight
};
enum class BehaviorEventStatus {
Pending,
Active,
Ended
};
struct BehaviorEventItem {
int event_id = -1;
BehaviorEventType type = BehaviorEventType::Intrusion;
BehaviorEventStatus status = BehaviorEventStatus::Pending;
float score = 0.0f;
Rect bbox{};
std::vector<int> track_ids;
uint64_t start_pts = 0;
uint64_t last_pts = 0;
uint64_t duration_ms = 0;
std::string source;
std::string region_id;
};
struct BehaviorEventResult {
std::vector<BehaviorEventItem> items;
};
} // namespace rk3588