Face SDK  1.13.0 Mozart release
Face Recognition Software Development Kit
serialize.h
1 
3 #ifndef FACE_SDK_SERIALIZE
4 #define FACE_SDK_SERIALIZE
5 
6 #include <face_sdk_base/export.h>
7 
8 #include <face_sdk_base/face.h>
9 #include <face_sdk_base/alignment_info.h>
10 #include <face_sdk_base/fir.h>
11 
12 namespace face_sdk
13 {
20  class serializer
21  {
22  public:
23 
24  virtual ~serializer() = default;
25 
28  virtual std::vector<uint8_t> serialize_face(const std::shared_ptr<face_sdk::face> &face) const = 0;
29 
35  virtual std::vector<uint8_t> serialize_face(const std::shared_ptr<face_sdk::face> &face, bool serialize_full_frame) const = 0;
36 
43  virtual std::shared_ptr<face_sdk::face> deserialize_face(const std::vector<uint8_t> &data) const = 0;
44 
50  virtual std::vector<uint8_t> serialize_alignment_info(const std::shared_ptr<face_sdk::alignment_info> &info) const = 0;
51 
58  virtual std::shared_ptr<face_sdk::alignment_info> deserialize_alignment_info(const std::vector<uint8_t> &data) const = 0;
59 
60 
67  virtual std::shared_ptr<face_sdk::fir> deserialize_fir(const std::vector<uint8_t> &data) const = 0;
68 
73  virtual std::vector<uint8_t> serialize_fir(const std::shared_ptr<face_sdk::fir> &fir) const = 0;
74 
75  };
76 
79  std::shared_ptr<face_sdk::serializer> FACE_SDK_EXPORT make_serializer();
80 
82 }
83 
84 
85 #endif // FACE_SDK_SERIALIZE
std::shared_ptr< face_sdk::serializer > make_serializer()
Makes the face_sdk::serializer object.
The serializer object. The serializer object allows serialize and deserialize face_sdk::face, face_sdk::alignment_info, face_sdk::fir objects.
Definition: serialize.h:20
virtual std::shared_ptr< face_sdk::fir > deserialize_fir(const std::vector< uint8_t > &data) const =0
Deserialize a face_sdk::fir object object from binary data.
virtual std::vector< uint8_t > serialize_fir(const std::shared_ptr< face_sdk::fir > &fir) const =0
Serialize the face_sdk::fir object into binary data.
virtual std::shared_ptr< face_sdk::alignment_info > deserialize_alignment_info(const std::vector< uint8_t > &data) const =0
Deserialize a alignment_info object from binary data.
The face object. Face object contains information about face bounding box on the image and the origin...
Definition: face.h:37
Definition: alignment_info.h:8
The FIR object. FIR - Face Identification Record, biometric template.
Definition: fir.h:23
virtual std::shared_ptr< face_sdk::face > deserialize_face(const std::vector< uint8_t > &data) const =0
Deserialize a face object from binary data.
virtual std::vector< uint8_t > serialize_face(const std::shared_ptr< face_sdk::face > &face) const =0
Serialize the face object into binary data.
virtual std::vector< uint8_t > serialize_alignment_info(const std::shared_ptr< face_sdk::alignment_info > &info) const =0
Serialize the alignment_info object into binary data.