Face Engine SDK  5.17.0
A face detection, recognition and tracking engine.
include/fsdk/IWarper.h
Go to the documentation of this file.
00001 
00008 #pragma once
00009 
00010 #include <fsdk/IDescriptor.h>
00011 #include <fsdk/Types/Span.h>
00012 #include <fsdk/Types/Transformation.h>
00013 
00014 #include <fsdk/vlc/future.h>
00015 
00016 namespace fsdk {
00017     struct EyesEstimation;
00018     struct GazeEstimation;
00019 }
00020 
00021 namespace fsdk {
00022     
00023 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00024     DECLARE_SMARTPTR(IWarper);
00025 #endif
00026 
00037     struct IWarper : IRefCounted {
00045         virtual Transformation
00046         createTransformation(
00047             const Detection& detection,
00048             const Landmarks5& landmarks) const noexcept = 0;
00049 
00059         virtual Result<FSDKError>
00060         warp(
00061             const Image& image,
00062             const Transformation& transformation,
00063             Image& transformedImage) const noexcept = 0;
00064 
00082         virtual Result<FSDKError>
00083         warp(
00084             Span<const Image> images,
00085             Span<const Transformation> transformations,
00086             Span<Image> transformedImages) const noexcept = 0;
00087 
00098         virtual Result<FSDKError>
00099         warp(
00100             const Landmarks5& landmarks,
00101             const Transformation& transformation,
00102             Landmarks5& transformedLandmarks) const noexcept = 0;
00103         
00114         virtual Result<FSDKError>
00115         warp(
00116             const Landmarks68& landmarks68,
00117             const Transformation& transformation,
00118             Landmarks68& transformedLandmarks68) const noexcept = 0;
00119         
00131         virtual Result<FSDKError>
00132         unwarp(
00133             const EyesEstimation& eyesEstimationInWarpCoordinates,
00134             const Transformation& transformation,
00135             EyesEstimation& eyesEstimation) const noexcept = 0;
00136         
00145         virtual Result<FSDKError>
00146         unwarp(
00147             const Landmarks5& warpedLandmarks5,
00148             const Transformation& transformation,
00149             Landmarks5& landmarks5) const noexcept = 0;
00150         
00159         virtual Result<FSDKError>
00160         unwarp(
00161             const Landmarks68& warpedLandmarks68,
00162             const Transformation& transformation,
00163             Landmarks68& landmarks68) const noexcept = 0;
00164 
00165         virtual Result<FSDKError>
00166         unwarp(
00167             const GazeEstimation& warpedAngles,
00168             const Transformation& transformation,
00169             GazeEstimation& angles
00170         ) const noexcept = 0;
00171 
00175         using ImageBatch = std::vector<Image>;
00176         using ImageBatchFuture = vlc::future<ImageBatch>;
00177 
00190         virtual ImageBatchFuture warpAsync(
00191             Span<const Image> images,
00192             Span<const Transformation> transformations) const = 0;
00193     };
00195 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines