Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
FaceDetectsInfo.h
1#pragma once
2
3#include "FrameMetadata.h"
4#include "Frame.h"
5#include "Utils.h"
6#include "Module.h"
7#include <boost/serialization/vector.hpp>
8#include "ApraFaceInfo.h"
9#include <opencv2/core/types.hpp>
10
12{
13public:
15 {
16 }
17
18 static FaceDetectsInfo deSerialize(frame_container &frames)
19 {
20 FaceDetectsInfo result;
22 if (!frame.get())
23 {
24 return result;
25 }
26 Utils::deSerialize<FaceDetectsInfo>(result, frame->data(), frame->size());
27
28 return result;
29 }
30
31 void serialize(void *buffer, size_t size)
32 {
33 auto &info = *this;
34 facesFound = faces.size() > 0;
35 Utils::serialize<FaceDetectsInfo>(info, buffer, size);
36 }
37
39 {
40 size_t totalFacesSize = 0;
41 for (auto &face : faces)
42 {
43 totalFacesSize += face.getSerializeSize();
44 }
45 return sizeof(FaceDetectsInfo) + sizeof(facesFound) + sizeof(faces) + totalFacesSize;
46 }
47
49 std::vector<ApraFaceInfo> faces;
50
51private:
53 template <class Archive>
54 void serialize(Archive &ar, const unsigned int /*file_version*/)
55 {
56 ar &facesFound;
57 ar &faces;
58 }
59};
Definition FaceDetectsInfo.h:12
void serialize(void *buffer, size_t size)
Definition FaceDetectsInfo.h:31
std::vector< ApraFaceInfo > faces
Definition FaceDetectsInfo.h:49
size_t getSerializeSize()
Definition FaceDetectsInfo.h:38
void serialize(Archive &ar, const unsigned int)
Definition FaceDetectsInfo.h:54
FaceDetectsInfo()
Definition FaceDetectsInfo.h:14
friend class boost::serialization::access
Definition FaceDetectsInfo.h:52
static FaceDetectsInfo deSerialize(frame_container &frames)
Definition FaceDetectsInfo.h:18
bool facesFound
Definition FaceDetectsInfo.h:48
@ FACEDETECTS_INFO
Definition FrameMetadata.h:47
static frame_sp getFrameByType(frame_container &frames, int frameType)
Definition Module.cpp:973
static void serialize(T &obj, void *buffer, size_t size)
Definition Utils.h:31
static void deSerialize(T &obj, void *buffer, size_t size)
Definition Utils.h:41