Face Engine SDK
5.17.0
A face detection, recognition and tracking engine.
|
00001 #pragma once 00002 00003 #include <fsdk/Log.h> 00004 #include <fsdk/Def.h> 00005 #include <fsdk/IObject.h> 00006 #include <fsdk/ILicense.h> 00007 #include <fsdk/IDetector.h> 00008 #include <fsdk/IDescriptor.h> 00009 #include <fsdk/ISettingsProvider.h> 00010 #include <fsdk/IWarper.h> 00011 00012 #include <fsdk/Estimators/IAGSEstimator.h> 00013 #include <fsdk/Estimators/IHeadPoseEstimator.h> 00014 #include <fsdk/Estimators/IEyeEstimator.h> 00015 #include <fsdk/Estimators/IGlassesEstimator.h> 00016 #include <fsdk/Estimators/IBestShotQualityEstimator.h> 00017 #include <fsdk/Estimators/ILivenessOneShotRGBEstimator.h> 00018 #include <fsdk/Estimators/ILivenessDepthRGBEstimator.h> 00019 #include <fsdk/Estimators/IMedicalMaskEstimator.h> 00020 #include <fsdk/Estimators/INIRLivenessEstimator.h> 00021 #include <fsdk/Estimators/IQualityEstimator.h> 00022 00023 #include <fsdk/Types/FaceEngineEdition.h> 00024 00047 00048 namespace fsdk { 00049 00050 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00051 DECLARE_SMARTPTR(IFaceEngineMobile); 00052 #endif 00053 00063 struct IFaceEngineMobile : IRefCounted { 00064 00069 virtual ResultValue<FSDKError, IDetectorPtr> createDetector() noexcept = 0; 00070 00075 virtual ResultValue<FSDKError, IHeadPoseEstimatorPtr> createHeadPoseEstimator() noexcept = 0; 00076 00081 virtual ResultValue<FSDKError, IAGSEstimatorPtr> createAGSEstimator() noexcept = 0; 00082 00087 virtual ResultValue<FSDKError, IEyeEstimatorPtr> createEyeEstimator() noexcept = 0; 00088 00094 virtual ResultValue<FSDKError, IMedicalMaskEstimatorPtr> createMedicalMaskEstimator() noexcept = 0; 00095 00101 virtual ResultValue<FSDKError, IGlassesEstimatorPtr> createGlassesEstimator() noexcept = 0; 00102 00108 virtual ResultValue<FSDKError, IQualityEstimatorPtr> createQualityEstimator() noexcept = 0; 00109 00114 virtual ResultValue<FSDKError, IBestShotQualityEstimatorPtr> createBestShotQualityEstimator() noexcept = 0; 00115 00120 virtual ResultValue<FSDKError, ILivenessOneShotRGBEstimatorPtr> createLivenessOneShotRGBEstimator() noexcept = 0; 00121 00127 virtual ResultValue<FSDKError, ILivenessDepthRGBEstimatorPtr> createLivenessDepthRGBEstimator() noexcept = 0; 00128 00136 virtual ResultValue<FSDKError, INIRLivenessEstimatorPtr> 00137 createNIRLivenessEstimator( 00138 const NIRLivenessMode mode = NIRLivenessMode::Default) noexcept = 0; 00139 00148 virtual ResultValue<FSDKError, IDescriptorPtr> createDescriptor(uint32_t version = 0) noexcept = 0; 00149 00156 virtual ResultValue<FSDKError, IDescriptorPtr> createDescriptor(IArchive* archive, uint32_t flags = 0) noexcept = 0; 00157 00167 virtual ResultValue<FSDKError, IDescriptorBatchPtr> createDescriptorBatch(int32_t size, uint32_t version = 0) noexcept = 0; 00168 00177 virtual ResultValue<FSDKError, IDescriptorExtractorPtr> createExtractor(uint32_t version = 0) noexcept = 0; 00178 00187 virtual ResultValue<FSDKError, IDescriptorMatcherPtr> createMatcher(uint32_t version = 0) noexcept = 0; 00188 00193 virtual ResultValue<FSDKError, IWarperPtr> createWarper() noexcept = 0; 00194 00202 virtual FaceEngineEdition getFaceEngineEdition() const noexcept = 0; 00203 00208 virtual void setDataDirectory(const char* path) noexcept = 0; 00209 00215 virtual const char* getDataDirectory() const noexcept = 0; 00216 00221 virtual void setSettingsProvider(ISettingsProvider* provider) noexcept = 0; 00222 00227 virtual void setRuntimeSettingsProvider(ISettingsProvider* provider) noexcept = 0; 00228 00233 virtual ISettingsProvider* getSettingsProvider() const noexcept = 0; 00234 00239 virtual ISettingsProvider* getRuntimeSettingsProvider() const noexcept = 0; 00240 00245 virtual ILicense* getLicense() const noexcept = 0; 00246 }; 00247 00254 FSDK_API Result<FSDKError> activateLicense(ILicense* license, const char* configPath) noexcept; 00255 00262 FSDK_API Result<FSDKError> activateLicense(ILicense* license, ISettingsProvider* settings) noexcept; 00263 00271 FSDK_API ResultValue<FSDKError, IFaceEngineMobilePtr> createFaceEngineMobile( 00272 const char* dataPath = nullptr, 00273 const char* configPath = nullptr, 00274 const char* runtimePath = nullptr) noexcept; 00275 00281 FSDK_API ResultValue<FSDKError, ISettingsProviderPtr> createSettingsProvider(const char* path) noexcept; 00282 00283 } // namespace fsdk