19 #ifndef DOXYGEN_SHOULD_SKIP_THIS
43 :
distance(std::numeric_limits<
float>::infinity())
128 virtual bool getDescriptor(uint8_t* buffer)
const noexcept = 0;
134 virtual void setDescriptor(
const uint8_t* buffer) noexcept = 0;
247 virtual uint32_t
getCount() const noexcept = 0;
303 return "Error during reading/writing";
305 return "Internal error";
307 return "Batch is full";
309 return "Descriptor out of range";
311 return "Incompatible descriptor";
313 return "Invalid input";
315 return "Unknown error";
338 extractFromWarpedImage(
const Image& warp,
IDescriptor* descriptor)
const noexcept = 0;
virtual uint32_t getModelVersion() const noexcept=0
Get algorithm model version this descriptor was created with.
DescriptorVersion
Minimum descriptor model version. Determines which minimum version of descriptor to use...
Definition: IDescriptor.h:71
virtual bool getDescriptor(uint8_t *buffer) const noexcept=0
Copy descriptor data to user provided buffer.
#define DECLARE_SMARTPTR(X)
Smart ptr declaration helper macro.
Definition: Def.h:56
regular human descriptor.
Definition: IDescriptor.h:91
An internal processing error (Ex: memopry allocation or misalignment).
A structure that encapsulates an action result enumeration.
Definition: Result.h:27
Common data types and structures.
An error structure designed for functions which can return errors from different enum classes...
Definition: MultiError.h:14
Error
Descriptor batch error enumeration.
Definition: IDescriptor.h:153
virtual ResultValue< FSDKError, IDescriptorPtr > getDescriptorFast(uint32_t index) noexcept=0
Get descriptor from batch by index without copying.
precise human descriptor, heavy and slow.
Definition: IDescriptor.h:82
HumanDescriptorVersion
Human descriptor model versions. Determines which version of human descriptor to use.
Definition: IDescriptor.h:80
Descriptor batch interface.
Definition: IDescriptor.h:148
human tracking descriptor, light and fast version.
Definition: IDescriptor.h:84
Object system types and interfaces.
precise human descriptor, heavy and slow.
Definition: IDescriptor.h:92
virtual uint32_t getDescriptorLength() const noexcept=0
return size of descriptor in bytes.
Serializable object interface.
Definition: IObject.h:71
virtual Result< Error > add(IDescriptor *descriptor) noexcept=0
Add a descriptor to the batch.
Trying to add an incompatible descriptor.
human tracking descriptor, light and fast version.
Definition: IDescriptor.h:81
Base strong reference counted object interface.
Definition: IRefCounted.h:37
virtual Result< Error > removeFast(uint32_t index) noexcept=0
Remove a descriptor from batch.
virtual uint32_t getMaxCount() const noexcept=0
Get maximum number of descriptors in this batch.
Descriptor matcher interface.
Definition: IDescriptor.h:451
virtual void setDescriptor(const uint8_t *buffer) noexcept=0
Copy descriptor from user providedbuffer.
human descriptor.
Definition: IDescriptor.h:64
virtual DescriptorType getDescriptorType() const noexcept=0
Get type of descriptor.
Error while accessing descriptor out of range.
float similarity
similarity (normalized in [0..1] range).
Definition: IDescriptor.h:37
virtual ResultValue< FSDKError, IDescriptorPtr > getDescriptorSlow(uint32_t index) const noexcept=0
Get descriptor from batch by index with copying.
Addon for Result to output some value aside the result. Specialization for copiable types...
Definition: ResultValue.h:21
Face detector interfaces.
virtual uint32_t getModelVersion() const noexcept=0
Get algorithm model version the descriptors in this batch were created with.
virtual uint32_t getDescriptorLength() const noexcept=0
Get length of one descriptor. Specified by version of descriptors in batch.
virtual uint32_t getCount() const noexcept=0
Get actual number of descriptors in this batch.
MatchingResult(void) noexcept
Initializes result to default values.
Definition: IDescriptor.h:42
virtual Result< Error > removeSlow(uint32_t index) noexcept=0
Remove a descriptor from batch.
Image.
Definition: Image.h:38
precise human descriptor, heavy and slow.
Definition: IDescriptor.h:90
Result of descriptor matching.
Definition: IDescriptor.h:35
regular human descriptor.
Definition: IDescriptor.h:89
Descriptor interface.
Definition: IDescriptor.h:100
Data storage object interface helper.
Definition: IObject.h:167
face descriptor.
Definition: IDescriptor.h:72
regular human descriptor.
Definition: IDescriptor.h:83
Error while trying open/read/write file.
Archive interface.
Definition: IObject.h:38
const char * toString(Image::MemoryResidence residence)
Returns a string representation of a MemoryResidence type.
precise human descriptor, heavy and slow.
Definition: IDescriptor.h:85
FSDKError
Common SDK error codes.
Definition: FSDKError.h:17
human descriptor.
Definition: IDescriptor.h:73
float distance
distance between descriptor vectors.
Definition: IDescriptor.h:36
DescriptorType
Descriptor type enum. Determines which type of descriptor to use.
Definition: IDescriptor.h:62
regular human descriptor.
Definition: IDescriptor.h:93
Invalid input (Ex: null pointer while a valid object is expected).
MatchingResult(float distance, float similarity) noexcept
Initializes result.
Definition: IDescriptor.h:52
precise human descriptor, heavy and slow.
Definition: IDescriptor.h:88
virtual Result< MultiError< ISerializableObject::Error, Error > > loadAndAdd(IArchive *archive)=0
Load a descriptor/descriptors from archive and add it to the batch.
Span. Not owning data view. It incapsulated pointer to the continuous array with one or more T objec...
Definition: Span.h:14
face descriptor.
Definition: IDescriptor.h:63
virtual DescriptorType getDescriptorType() const noexcept=0
Get type of descriptor.
human tracking descriptor, light and fast version.
Definition: IDescriptor.h:87
regular human descriptor.
Definition: IDescriptor.h:86