Perfectly Clear SDK Documentation  8.3.0.146
PerfectlyClearPro.h
Go to the documentation of this file.
1 
7 #ifndef __PERFECTLYCLEARPRO_H__
8 #define __PERFECTLYCLEARPRO_H__
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 #ifdef _LINUX
14 #define BOOL int
15 #define ULONG unsigned long
16 #define UINT unsigned int
17 #define TRUE 1
18 #define FALSE 0
19 //#define NULL 0
20 #endif
21 
23 #define NRRETCODE(x) (x & 0x000000FF)
24 #define CORERETCODE(x) ((x >> 8) & 0x000000FF)
26 #define FBRETCODE(x) ((x >> 16) & 0x000000FF)
28 #define RERETCODE(x) ((x >> 24) & 0x000000FF)
30 #define PFCINTERNAL void*
32 
36 typedef BOOL (*PFC_PROGRESS)(int iPercent);
37 
39 typedef enum {
153 
155 typedef enum {
160 
162 typedef enum {
163  CALC_CORE = 1,
164  CALC_NR = 2,
165  CALC_FB = 4,
166  CALC_RE = 8,
167  CALC_ALL = 15,
169  CALC_NOFAE = 32,
171 } PFCFEATURE;
172 
174 typedef enum {
180 } PFCPRESETID;
181 
183 typedef struct {
184  int x;
185  int y;
186 }
187 PFCPOINT;
188 
190 typedef struct {
191  int left;
192  int top;
193  int width;
194  int height;
195 }
196 PFCRECT;
197 
199 typedef struct {
203 }
205 
215 typedef struct PFCFaceRect{
222  int angle;
229  int yawAngle;
230  int FAE[3];
233  struct PFCFaceRect *pNext;
234 } PFCFACERECT;
235 typedef PFCFACERECT* LPPFCFACERECT;
236 
238 typedef struct {
241 } PFCENGINE;
242 
244 typedef struct {
245  int width;
246  int height;
247  int stride;
249  unsigned char *data;
250 } PFCIMAGE;
251 
253 typedef enum {
258 }
260 
262 typedef enum {
265 }
267 
269 typedef enum {
272 }
273 DCFMODE;
274 
276 typedef enum {
280 }
282 
284 typedef enum {
289 }
290 BIASMODE;
291 
293 typedef enum {
296 }
297 SKINMODE;
298 
300 typedef enum {
304 }
306 
308 typedef enum {
314 }
316 
318 typedef enum {
322 }
324 
326 typedef enum {
335 } PFCNR_STATUS;
336 
338 typedef enum {
347 
349 typedef enum {
361 } PFCFB_STATUS;
362 
364 typedef enum {
374 } PFCRE_STATUS;
375 
377 typedef enum {
386 
388 typedef struct {
389  BOOL bEnabled;
392  float fTintScale;
394  BOOL bVibrancy;
395  int iVibrancy;
396  int iStrength;
397  BOOL bContrast;
399  int iContrast;
401  float fBiasScale;
402  BOOL bSharpen;
405  BOOL bUseFAE;
408  BOOL bInfrared;
409  float fInfrared;
413  BOOL bDCF;
415  float fDCF;
416 } PFCCOREPARAM;
417 
419 typedef struct {
420  BOOL bEnabled;
421  BOOL bSmooth;
425  BOOL bEnlarge;
427  BOOL bEnhance;
429  BOOL bEyeCirc;
430  int iEyeCirc;
431  BOOL bTeeth;
433  BOOL bBlemish;
434  int iBlemish;
435  BOOL bSlim;
436  int iSlim;
437  BOOL bDeFlash;
438  int iDeFlash;
439  BOOL bCatchLight;
442  BOOL bSkinToning;
452  BOOL bLipSharpen;
455  BOOL bBlush;
456  int iBlush;
457 } PFCFBPARAM;
458 
460 typedef struct {
461  BOOL bEnabled;
462  int iPreset;
463  int iStrengthOffset;
472 } PFCNRPARAM;
473 
475 typedef struct {
476  BOOL bEnabled;
477 } PFCREPARAM;
478 
479 #define PFC3DLutGuidLength 32
480 typedef struct {
482  char guid[PFC3DLutGuidLength + 1];
483  unsigned char strength;
484 } PFC3DLutInfo;
485 
494 };
495 
497 typedef struct PFCCOREMask
498 {
499  PFCCORE_MASK_TYPE type;
500  float centerX;
501  float centerY;
502  float width;
503  float height;
504  float radius;
505  float feather;
506  float angle;
507  float transparency;
508  bool invert;
509  // if two layers (top and bottom) - swap params between layers instead.
510 } PFCCOREMask;
511 
513 typedef struct {
514  // Image Ambulance
517 
518  // built-in 3D luts
525  // custom output 3D Lut
527 
528  // Finishing
539 } PFCV3PARAM;
540 
542 typedef struct {
547 #ifndef No_V3PARAM
549  PFCV3PARAM layer[3];
550  PFCCOREMask mask[3];
551 #endif
552 } PFCPARAM;
553 
555 typedef struct {
561 
566 
567  int Status;
576 #define PFCPROFILE PFCIMAGEPROFILE*
577 
579 #define PFCBGPROFILE PFCINTERNAL
580 
587 bool PFC_HasFaceBeautification(PFCENGINE *pEngine);
588 
595 int PFC_FBFaceCount(PFCPROFILE pImageProfile);
596 
614 
622 bool PFC_IsNoiseDetected(PFCIMAGEPROFILE *pImageProfile, int iNoisePreset);
623 
645 bool PFC_GetFaceInfo(PFCIMAGEPROFILE *pImageProfile, PFCFBFACEINFO *pFace, int index);
646 
656 bool PFC_AbnormalTintDetected(PFCIMAGEPROFILE *pImageProfile, TINTCORRECTION eTintMethod);
657 
666 
694 PFCAPPLYSTATUS PFC_Apply(PFCIMAGE *pImage, PFCENGINE *pEngine, PFCPROFILE pImageProfile, PFCPARAM &param, PFC_PROGRESS progfn=NULL, int iOpacity=100);
695 
717 PFCAPPLYSTATUS PFC_ApplyLocal(PFCIMAGE *pImage, int xOffset, int yOffset, int widthOrig, int heightOrig, PFCENGINE *pEngine, PFCPROFILE pImageProfile, PFCPARAM &param, int iOpacity=100);
718 
744 PFCPROFILE PFC_Calc(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCENGINE* pEngine, unsigned int feature=CALC_ALL, int iISO=-1, char *pCameraModel=NULL, PFCPROFILE pImageProfile=NULL, PFC_PROGRESS progfn=NULL, BOOL bRejectMonolith=TRUE);
745 
751 
759 
766 void PFC_ReleaseProfile(PFCPROFILE pProfile);
767 
794 int PFC_AutoCorrect(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCPARAM &param, int iISO=-1, char *pCameraModel=NULL, BOOL bFastFAE=FALSE, PFC_PROGRESS progfn=NULL);
795 
822 int PFC_AutoCorrectPreset(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCPRESETID id=PRESET_INTELLIGENTAUTO, int iISO=-1, char *pCameraModel=NULL, BOOL bFastFAE=FALSE, PFC_PROGRESS progfn=NULL);
823 
844 int PFC_ReadPresets(PFCPARAM &param, char *filename);
845 
866 int PFC_ReadPresetsFromStream(PFCPARAM &param, const char *s);
867 
875 void PFC_SetSingleThreadedEngine(PFCENGINE* p, bool bSingleThreaded);
876 
882 void PFC_GetVersion(char* buf, int *len, bool bFormatted = false);
883 
888 int PFC_Resize(PFCIMAGE *pImageSrc, PFCIMAGE *pImageDst);
889 
921 int PFC_SetProtectionPath(const char*utf8FolderPath);
922 
923 /* \brief Releases resources from PFC_SetProtectionPath function call
924  */
925 void PFC_ReleaseProtectionPath();
926 
930 
935 void PFC_ReleaseBGProfile(PFCBGPROFILE pProfile);
936 
941 void PFC_ResetBGProfile(PFCBGPROFILE pProfile);
942 
949 void PFC_CombineBGProfile(void* pProfile1, void* pProfile2);
950 
955 void PFC_ScaleBGProfile(void* pProfile, double scaleR, double scaleG, double scaleB);
956 
970 int PFC_BGSyncCalc(PFCIMAGE *pImage, PFCENGINE *pEngine, PFCBGPROFILE pProfile, BOOL bFastFAE = TRUE);
971 
985 int PFC_BGSyncApply(PFCIMAGE *pImage, PFCENGINE *pEngine, PFCBGPROFILE pProfile, BOOL bFastFAE = TRUE);
986 
987 #ifdef __cplusplus
988 }
989 #endif
990 #endif //__PERFECTLYCLEARPRO_H__
BIASMODE eBiasMode
Skin and depth bias control. Recommended value is BIAS_AVERAGE_PREFERENCE, unless you are printing to...
BOOL bContrast
Set to TRUE to also apply Athentech's patented Medical Imaging contrast technology.
int iTeethLevel
Teeth whitening level. Range 0 to 100.
float centerY
Y of center.
BOOL bEnabled
Set to true to enable the entire Core correction.
PFCPIXELFORMAT
defines the format of the image data
1.0 everywhere (background)
SKINTONINGTYPE eSkinToningType
See enum definition of SKINTONINGTYPE.
DCFMODE
Enumeration defining DCF analysis mode.
PFCFB_STATUS
Enumeration defining status of Face Beautification pre-calculation.
SKINMODE eSmoothMode
Use SKINMODE_FACE to apply correction ONLY on skin regions included in faces. Use SKINMODE_BODY to ap...
Adjust skin to user defined foundation color.
BOOL bUseAutomaticStrengthSelection
Set to TRUE (recommended default) to enable Automatic Strength Selection. Perfectly Clear will determ...
int iEnlargeLevel
Eye enlargement level. Range 0 to 100.
int iColorVibrancy
Color Vibrancy amount.
For normal photo.
int childLevel
We don't implement this.
bool bPreprocessEV
Enable EV correction (Image Ambulance)
Error reading image data.
Skip pre-calculations on Abnormal Tint Correction during Core pre-calculations.
int iEnhanceLevel
Eye enhancement level. Range 0 to 100.
Process aborted because of insufficient memory.
Invalid License or validation failed.
PFCCORE_STATUS
Enumeration defining status of Core pre-calculation.
int iFinishTemp
Temp correction amount.
LIPSHARPENTYPE eLipSharpenType
See definition of LIPSHARPENTYPE.
AGGRESSIVENESS
Enumeration defining Auto Exposure calculation modes.
PFCINTERNAL pPfcParam
Internal use only.
Full res image (pImage) is missing.
PFC3DLutInfo lutInputSky
LUT data to apply.
PFCFBPARAM fb
Face Beautification corrections.
Engine created successfully.
PFCCORE_MASK_TYPE
Enumeration describing mapping of PFCMask and PFC_MASK_TYPE with 'PFC' -> 'PFCCORE'.
BOOL bEyeCirc
Set to TRUE to enable eye circle removal.
float transparency
overall transparency applied to the whole mask (strength 100 means transparency 0.0, 0 -> 1.0)
Process cancelled.
This type of correction provides a more uniform appearance to the complexion. It combines the natural...
TINTCORRECTION
Enumeration defining different abnormal tint analysis mode.
PFCNRPARAM nr
Noise reduction corrections.
int iContrast
Intensity of contrast or depth. Range 0 to 100.
No correction occur during process.
float fBiasScale
Scalar value of how much BIAS correction should be applied. Range 0.0 to 1.0.
BOOL bEnabled
Set to TRUE to enable noise removal.
int iNeutralDensity
Neutral density filter amout.
Feature not enabled.
int widthImage
image width
PFCPOINT ptEyeR
Specifies the x,y coordinates of the right eye, in fixed-point arithmetics (10 bit precision)...
Structure encapsulating the CORE processing parameters.
void PFC_ReleaseProfile(PFCPROFILE pProfile)
Release PFCPROFILE instance.
PFCREPARAM re
Red Eye Removal.
BOOL bAbnormalTintRemoval
Set to true to enable Abnormal Tint Removal. Recommended default is FALSE.
int stride
Byte width of each scanline.
int PFC_ReadPresetsFromStream(PFCPARAM &param, const char *s)
Load image processing settings from a char buffer.
Pixel format not supported.
Feature not enabled.
PFC3DLutInfo lutOutput
LUT data to apply.
float width
radial/rounded: w of bounding rect, linear: ignored
PFCPOINT ptEyeL
Specifies the x,y coordinates of the left eye, in fixed-point arithmetics (10 bit precision)...
int left
x in point coordinate of this rect.
SKINMODE
Enumeration defining modes in Perfect Smooth analysis.
bool PFC_AbnormalTintDetected(PFCIMAGEPROFILE *pImageProfile, TINTCORRECTION eTintMethod)
Query if abnormal tint is detected.
rounded rect
Struct defining a rectangle.
Noise not found.
BOOL bLipSharpen
Set to TRUE to enable lip sharpening.
int iEyeCirc
Eye circle removal level. Range 0 to 100.
Warning. e.g. face not detected.
float height
radial/rounded: h of bounding rect, linear: dist from centerY where grad becomes 1.0
For average usage.
BOOL bVibrancy
Set to true (recommended default) to enable Color Vibrancy in the library.
#define PFCPROFILE
Define.
#define PFCBGPROFILE
For use in background color synchronization.
This is a more aggressive and effective correction where the appearance of the entire skin (including...
int height
Pixel height of image.
PFCRECT rcMouth
Specifies the bounding rectangle of the mouth.
BOOL bDCF
Set to TRUE to enable Digital Color Fidelity. Recommended value is FALSE.
If set, the library is unable to locate SFB functions from the loaded library.
PFCPROFILE PFC_Calc(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCENGINE *pEngine, unsigned int feature=CALC_ALL, int iISO=-1, char *pCameraModel=NULL, PFCPROFILE pImageProfile=NULL, PFC_PROGRESS progfn=NULL, BOOL bRejectMonolith=TRUE)
Perform initial analysis on images.
PFCRECT face
Bounding rectangle of detected face.
int iSmoothLevel
Face smoothing level. Range 0 to 100.
PFCV3PARAM v3
V3 Corrections.
Highest sensitivity level of tint detection.
Apply correction ONLY on skin regions included in faces.
PFCINTERNAL pEngine
Pointer to binary definition of the processing engine.
void PFC_CombineBGProfile(void *pProfile1, void *pProfile2)
Combine two PFCBGPROFILE instance.
Struct defining an PFC engine instance.
int iDetailOffset
Offset to recommended level of preservation of details. Range -30 to 30.
Moderate level of tint detection.
bool PFC_IsNoiseDetected(PFCIMAGEPROFILE *pImageProfile, int iNoisePreset)
Query if noise is detected.
PFCPOINT leftEye
Point of left eye in detected face.
Full res image (pImage) is missing.
BOOL bEnabled
Set to TRUE to enable red eye removal.
Moderate level of exposure correction.
Feature not enabled.
int iFinishWhites
Whites correction amount.
PFC3DLutInfo lutInputCorrective
LUT data to apply.
Struct PFCPARAM the master structure of all processing parameters.
DCFMODE eDCFMode
Select different class of DCF.
Whitens (bleaches) face. Recommended mainly for darker skin.
int blinkLevelR
Right eye Blink level.
PFC3DLutInfo lutInputFoliageGreen
LUT data to apply.
int angle
Roll angle of the face, from -179 to 180 degrees. 0 degrees means the face it oriented "normally"...
General error.
int PFC_BGSyncCalc(PFCIMAGE *pImage, PFCENGINE *pEngine, PFCBGPROFILE pProfile, BOOL bFastFAE=TRUE)
Background sync calculations.
Fine tuned for Asian skin tone.
int blinkLevel
Indicates the presence of a blink.
Operation cancelled by user.
int iFinishShadows
Shadows correction amount.
Unable to locate function in the SFBEngine library.
float fInfrared
Scale value to control intensity of infrared correction. Range 0.0 to 1.0.
BOOL bBlemish
Set to TRUE to enable blemish removal.
Use Fast mode of Face Aware Exposure pre-calculations.
Calculates for all of the above.
float centerX
X of center.
PFCENGINESTATUS
ENUM for engine initialization status.
Process cancelled.
int PFC_SetProtectionPath(const char *utf8FolderPath)
Set path to location of SDK License files This enables license protection and allows activation using...
Structure encapsulating Face Beautification parameters.
Struct describing V3 parameters.
For more color vibrancy.
int PFC_BGSyncApply(PFCIMAGE *pImage, PFCENGINE *pEngine, PFCBGPROFILE pProfile, BOOL bFastFAE=TRUE)
Performs background sync.
int width
Pixel width of image.
Apply correction on most skin regions regardless they are linked with a face or not.
int iFinishContrast
Contrast correction amount.
PFCCORE_STATUS CORE_Status
Status code for CORE pre-calc analysis.
void PFC_DestroyEngine(PFCENGINE *p)
Destroy PFCENGINE instance and release associated resources.
Struct defining an image to be used in PFC library.
Average usage with brighter tone.
Optimized to bring out more details in the shadows, more details in the highlights, and more pleasing skin tones.
int PFC_FBFaceCount(PFCPROFILE pImageProfile)
Return number of faces detected.
int iFinishVibrancy
Vibrancy correction amount.
AGGRESSIVENESS eAggressiveness
The desired level of lighting for Automatic Strength Selection to target at the Exposure Correction...
Pointer pEngine is NULL.
The face analysis did not complete successfully.
SKINSMOOTHTYPE eSmoothType
See enum definition of SKINSMOOTHTYPE.
More aggressive in exposure correction.
CONTRASTMODE eContrastMode
Select contrast mode.
PFCINTERNAL pSFBParam
Internal use only.
int PFC_AutoCorrectPreset(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCPRESETID id=PRESET_INTELLIGENTAUTO, int iISO=-1, char *pCameraModel=NULL, BOOL bFastFAE=FALSE, PFC_PROGRESS progfn=NULL)
Single function to perform Perfectly Clear corrections.
void PFC_GetVersion(char *buf, int *len, bool bFormatted=false)
Get info string with version and features.
BOOL bUseFAE
Set to TRUE (recommended) to enable Face Aware Exposure selection. Recommended exposure will be calcu...
int top
y in point corrdinate of this rect.
PFC3DLutInfo lutInputFoliageBrown
LUT data to apply.
int blinkLevelL
Left eye Blink level.
PFCCOREPARAM core
Core corrections to apply.
int x
x coordinate of this point.
Image side dimension smaller than 32 pixels.
void PFC_ResetBGProfile(PFCBGPROFILE pProfile)
Reset a PFCBGPROFILE instance for next use.
BOOL(* PFC_PROGRESS)(int iPercent)
PFCNR_STATUS
Enumeration defining status of Noise Removal pre-calculation.
Structure defining face attributes detected by the Face Detection library.
PFCENGINE * PFC_CreateEngine()
Create PFCENGINE instance.
Stronger sharpening. Details are more pronounced.
int iDeFlash
Deflash level. Range 0 to 100.
Priority on minimum false positive detection.
float fTintScale
Scalar value of how much tint correction should be applied. Range 0.0 to 1.0.
Struct defining an image profile as calculated from PFC_Calc() function.
PFCRECT rcEyeR
Specifies the bounding rectangle of the right eye.
PFCRECT rect
Specifies the bounding rectangle of a face.
Monolith source image.
Struct defining a point.
PFCFEATURE
ENUM controlling types of calculations at the pre-calculation stage.
Feature not enabled.
int height
height of this rect.
Structure encapsulating Red Eye Correction parameters.
int iBlackEnhancement
Set luminance threshold for Noise Management. Range 0 to 25.
BOOL bDynamicRange
Set to TRUE to enable dynamic range correction.
Intelligent Auto.
int width
width of this rect.
BOOL bBlush
Set to TRUE to add blush.
PFCAPPLYSTATUS PFC_ApplyLocal(PFCIMAGE *pImage, int xOffset, int yOffset, int widthOrig, int heightOrig, PFCENGINE *pEngine, PFCPROFILE pImageProfile, PFCPARAM &param, int iOpacity=100)
Apply correction locally.
int yawAngle
The Yaw or profile angle, from -90 (left profile) to 90 (right profile)
Pointer pImage is NULL.
int FAE[3]
Internal data for Face Aware Exposure.
float radius
only for MASK_ROUNDRECT - corner radius, relative to image w.
Darkens skin, makes it look naturally tanned.
0.0 everywhere, don't apply
PFCPOINT rightEye
Point of right eye in detected face.
int iStrength
Set the strength of exposure correction. If Automatic Strength Selection is enabled, the recommended value is put in this variable upon function return. Range 0 to 150.
Warms skin tone.
Error in settings.
void PFC_ReleaseBGProfile(PFCBGPROFILE pProfile)
Release a PFCBGPROFILE instance.
int confidence
A numerical parameter describing the confidence attributed by the detection algorithm to each face...
BOOL bInfrared
Set to TRUE (recommended default) to enable infrared correction. It's a good idea to turn Infrared Co...
Less aggressive in exposure correction.
void PFC_SetSingleThreadedEngine(PFCENGINE *p, bool bSingleThreaded)
Force processing to be single threaded.
linear from 1.0 on top
unsigned char * data
Pointer pointing to the first byte of image data buffer.
int iCatchLight
Catchlight level. Range 0 to 100.
Process cancelled.
Makes skin look lighter and more pale.
BOOL bEnabled
Set to TRUE to enable entire face beautification.
PFCINTERNAL pInternal
Internal use only.
BOOL bEnlarge
Set to TRUE to enable eye enlargement.
Process cancelled.
Pointer pProfile is NULL.
SKINMODE eSkinToningMode
Use SKINMODE_FACE to apply correction ONLY on skin regions included in faces. Use SKINMODE_BODY to ap...
Structure encapsulating Noise Removal parameters.
void PFC_SetParam(PFCPARAM &param, PFCPRESETID id=PRESET_INTELLIGENTAUTO)
Initialize a PFCPARAM structure.
PFCFB_STATUS FB_Status
Status code for Face Beautification pre-calc analysis.
bool PFC_GetFaceInfo(PFCIMAGEPROFILE *pImageProfile, PFCFBFACEINFO *pFace, int index)
Utility function to query geometry of detected faces.
PFCRE_STATUS
Enumeration defining status of Red Eye pre-calculation.
int iPreprocessEV
EV correction amount (Image Ambulace)
Unable to create SFB Engine object for processing.
Calculates for Perfectly Clear Core correction.
int smileLevel
Indicates the presence of a smile.
Red eye not found.
PFCINTERNAL pNoiseParam
Internal use only.
struct PFCCOREMask PFCCOREMask
Struct describing mask for grad filter, all coordinates are relative (Y/height, X/width) in final cro...
BOOL bSharpen
Set to TRUE to enable sharpening.
int PFC_Resize(PFCIMAGE *pImageSrc, PFCIMAGE *pImageDst)
Perform image resizing.
BOOL bLightDiffusion
Set to TRUE to enable light diffusion during DCF correction.
PFCPIXELFORMAT format
Defines byte order of input buffer.
int PFC_ReadPresets(PFCPARAM &param, char *filename)
Load image processing settings from a .preset file.
int heightImage
image height
float feather
relative length of gradient, from where it starts (1.0) to where it is 0.0,
PFCBGPROFILE PFC_CreateBGProfile()
Create and initialize a PFCBGPROFILE instance.
Calculates for Perfectly Clear Noise Removal.
PFCRECT rcEyeL
Specifies the bounding rectangle of the left eye.
#define PFCINTERNAL
Internal used pointer type.
bool PFC_HasFaceBeautification(PFCENGINE *pEngine)
Check if Face Beautification is available.
BOOL bCatchLight
Set to TRUE to enable catchlight removal.
Struct describing mask for grad filter, all coordinates are relative (Y/height, X/width) in final cro...
PFCAPPLYSTATUS
Enumeration defining return code from the Apply() function.
struct PFCFaceRect PFCFACERECT
Structure defining face attributes detected by the Face Detection library.
bool invert
invert mask (x = 1.0 - x). NOTE: UI meaning of invert is: if one mask layer set invert = true ...
PFCPRESETID
ENUM for presets support by this SDK.
Structure defining face area detected from the SFB library.
PFCNR_STATUS NR_Status
Status code for Noise Removal pre-calc analysis.
BIASMODE
Enumeration defining BIAS analysis mode.
Skip Face Aware Exposure pre-calculations during Core pre-calculations.
The subtle correction removes the wrinkles and spots alone while it keeps the texture of the face unc...
BOOL bTeeth
Set to TRUE to enable teeth whitening.
int iFinishHighlights
Highlights correction amount.
int iFinishExposure
Exposure correction amount.
Face beautification feature not available.
int iSkinToning
Skin Toning level. Range 0 to 100.
Full res image (pImage) is missing.
float fDCF
Scale value to control intensity of Digital Color Fidelity correction. Range 0.0 to 1...
SKINSMOOTHTYPE
Enumeration defining types of Skin Smoothing correction.
BOOL bEnhance
Set to TRUE to enable eye enhancement.
Full res source image (pImage) is missing.
Calculates for Red Eye Removal.
int iMaxStrength
Use this value to limit the maximum Exposure to be applied on the Automatic Exposure Strength Selecti...
Fine touch of sharpening.
CONTRASTMODE
Enumeration defining contrast mode.
Insufficient memory.
Turn off bias correction.
int iFinishSaturation
Saturation correction amount.
Lip details are coarsely pronounced.
int iLipSharpen
Lip sharpening level. Range 0 to 100.
int iBlemish
Blemish removal level. Range 0 to 100.
int iBlush
Blush level. Range 0 to 100.
LIPSHARPENTYPE
Enumeration defining Lip Sharpening mode.
float fLightDiffusion
Scale value to control intensity of light diffusion correction.
int y
y coordinate of this point.
int iVibrancy
Degree of color vibrancy. This value will only be use when bVibrancy is TRUE. Very large values can p...
Optimized to bring higher contrast to the image.
PFCAPPLYSTATUS PFC_Apply(PFCIMAGE *pImage, PFCENGINE *pEngine, PFCPROFILE pImageProfile, PFCPARAM &param, PFC_PROGRESS progfn=NULL, int iOpacity=100)
Correct image with parameters.
int iFinishTint
Tint correction amount.
BOOL bSlim
Set to TRUE to enable face slimming.
SKINTONINGTYPE
Enumeration defining type of Skin Toning correction.
PFCRE_STATUS RE_Status
Status code for Red Eye pre-calc analysis.
PFCENGINESTATUS status
Status of engine defined in PFCENGINESTATUS. For NO-SFB version the status will always be ENGINESTATU...
float fSharpenScale
Sharpening intensity. This value controls how much sharpening to be applied. Range 0...
TINTCORRECTION eTintMode
ENUM value defined in TINTCORRECTION. It sets the aggressiveness of Tint Removal. ...
BOOL bSmooth
Set to TRUE to enable face smoothing.
PFCINTERNAL pRedEyeParam
Internal use only.
int PFC_AutoCorrect(PFCIMAGE *pImage, PFCIMAGE *pImageds, PFCPARAM &param, int iISO=-1, char *pCameraModel=NULL, BOOL bFastFAE=FALSE, PFC_PROGRESS progfn=NULL)
Single function to perform Perfectly Clear correction.
linear from 1.0 on bottom
Aggressive detection of tint.
void PFC_ScaleBGProfile(void *pProfile, double scaleR, double scaleG, double scaleB)
Apply scaling to the PFCBGPROFILE instance.
int iFinishBlacks
Blacks correction amount.
If set, the library is unable to load the SFB library.
BOOL bDeFlash
Set to TRUE to enable deflash.
Calculates for Face Beautification.
LPPFCFACERECT PFC_EnumFAEFaceRect(PFCIMAGEPROFILE *pImageProfile, LPPFCFACERECT p)
Utility function to enumerate faces detected during Face Aware Exposure analysis. ...
int iSlim
Face slimming level. Range 0 to 100.