MediaInfAiData.hpp
1 //
2 // Created by xiong on 2023/9/12.
3 //
4 
5 #ifndef EMX_MediaInfAiData_HPP
6 #define EMX_MediaInfAiData_HPP
7 
8 #include "media/common/MediaRegion.hpp"
9 #include "media/common/MediaTypedef.hpp"
10 #include "EmxCore.hpp"
11 namespace Emx {
16  struct MediaInfAiPic {
17  enum class TypeE : uint8_t {
18  Jpg = 0,
19  Bmp,
20  Png,
21  Raw
22  } type;
23  int32_t width; /*图片宽*/
24  int32_t height; /*图片高*/
25  int32_t size; /*图片大小*/
26  uint8_t *img; /*图片数据缓存指针*/
27  };
28 
30  public:
32 
33  virtual ~MediaInfAiData() {}
34 
35  virtual int GetSerializeSize() = 0;
36 
37  virtual void Serialize(uint8_t *buffer) = 0;
38 
39  virtual void Parse(const uint8_t *buffer, int size) = 0;
40 
41  public:
43  enum class TypeE : uint8_t {
44  MotionDetection = 0,
47  Classify,
50  TypeNum,
63  };
65  struct Header {
66  int32_t chn;
68  uint64_t timestampMs;
70  int32_t size;
71  uint8_t *data;
72  int32_t off;
73  } header;
74  };
76 }// namespace Emx
77 
78 #endif//EMX_MediaInfAiData_HPP
Definition: MediaInfAiData.hpp:29
MediaInfAiData()
Definition: MediaInfAiData.hpp:31
virtual ~MediaInfAiData()
Definition: MediaInfAiData.hpp:33
virtual void Parse(const uint8_t *buffer, int size)=0
struct Emx::MediaInfAiData::Header header
virtual int GetSerializeSize()=0
virtual void Serialize(uint8_t *buffer)=0
TypeE
AI数据类型
Definition: MediaInfAiData.hpp:43
@ FlameSmokeDetection
火焰烟雾检测
@ ElectricBicycleDetection
电动车检测
@ RegionalPeopleStatistics
区域人数统计
@ PersonRecognition
人形识别数据
@ BabyCryDetection
婴儿啼哭检测
@ MotionDetection
移动侦测数据
@ FaceRecognition
人脸识别数据
@ KeywordSpotting
语义分析,关键字检测
@ PassengerFlowStatistics
客流统计数据
@ CrossingDetection
越界数据
@ InvasionDetection
区域入侵数据
@ PtzTargetTrack
云台追踪目标
@ OffDutyDetection
离岗检测
@ VehicleRecognition
车辆识别含车牌
@ TypeNum
数据类型数量
@ PersonDetection
人形侦测数据
@ PersonVehicleNonDetection
人车非检测
@ FaceDetection
人脸检测数据
Definition: EmxGpio.hpp:10
AI数据头
Definition: MediaInfAiData.hpp:65
int32_t size
信息数据大小
Definition: MediaInfAiData.hpp:70
int32_t chn
通道号
Definition: MediaInfAiData.hpp:66
uint64_t timestampMs
时间戳
Definition: MediaInfAiData.hpp:68
uint8_t * data
信息数据内存指针
Definition: MediaInfAiData.hpp:71
int32_t off
ringbuffer偏移,用户不需要关心
Definition: MediaInfAiData.hpp:72
Size srcPicSize
AI信息里坐标或长宽信息基于的原始图像大小
Definition: MediaInfAiData.hpp:69
TypeE type
Ai数据类型
Definition: MediaInfAiData.hpp:67
Definition: MediaInfAiData.hpp:16
int32_t height
Definition: MediaInfAiData.hpp:24
enum Emx::MediaInfAiPic::TypeE type
uint8_t * img
Definition: MediaInfAiData.hpp:26
TypeE
Definition: MediaInfAiData.hpp:17
int32_t size
Definition: MediaInfAiData.hpp:25
int32_t width
Definition: MediaInfAiData.hpp:23
图像大小
Definition: MediaRegion.hpp:25