The ZegoEffects SDK provides various face beautification features that help users look like their best selves on live video, including skin tone enhancement, skin smoothing, cheek blusher, image sharpening, and more.
Before you begin to use the SDK's face beautification features in your project, make sure you complete the following steps:
ZegoEffects
object with the width and height of the image to be processed.In general, take the following steps to use a face beautification feature:
Use this feature to make the skin tone whiter or tanner.
To use the skin tone enhancement feature, import the related resource file FaceWhiteningResources
first; otherwise, this feature can't take effect. For details, see Import resources and models.
Call the enableWhiten
method to enable the skin tone enhancement feature.
Call the setWhitenParam
method to set the intensity
.
The value range of the intensity
property of ZegoEffectsWhitenParam
is [0, 100], and the default value is 50. As this value gets larger, the skin tone gets whiter.
// Enable the skin tone enhancement feature.
[self.effects enableWhiten:YES];
// Set the whitening intensity. The value range is [0, 100], and the default value is 50.
ZegoEffectsWhitenParam *param = [[ZegoEffectsWhitenParam alloc] init];
param.intensity = 100;
[self.effects setWhitenParam:param];
Call the enableSmooth
method to enable the skin smoothing feature.
Call the setSmoothParam
method to set the smoothing intensity.
The value range of the intensity
property of ZegoEffectsSmoothParam
is [0, 100], and the default value is 50. As this value gets larger, the skin looks smoother.
// Enable the skin smoothing feature
[self.effects enableSmooth:YES];
// Set the intensity of skin smoothing. The value range is [0, 100], and the default value is 50.
ZegoEffectsSmoothParam *param = [[ZegoEffectsSmoothParam alloc] init];
param.intensity = 100;
[self.effects setSmoothParam:param];
For this feature to work correctly, you need to import the related resource files first. For details, see Import resources.
Call the enableRosy
method to enable the cheek blusher feature.
Call the setRosyParam
interface to set the rosy intensity.
The value range of the intensity
property of ZegoEffectsRosyParam
is [0, 100], and the default value is 50. As this value gets larger, the cheek gets rosier.
// Enable the cheek blusher feature.
[self.effects enableRosy:YES];
// Set the blusher intensity. The value range is [0, 100], and the default value is 50.
ZegoEffectsRosyParam *param = [[ZegoEffectsRosyParam alloc] init];
param.intensity = 100;
[self.effects setRosyParam:param];
Call the enableSharpen
method to enable the image sharpening feature.
Call the setSharpenParam
method to set the sharpening strength.
The value range of the intensity
property of ZegoEffectsSharpenParam
is [0, 100], and the default value is 50. As this value gets larger, the image looks sharper.
// Enable the image sharpening feature.
[self.effects enableSharpen:YES];
// Set the sharpening intensity. The value range is [0, 100], and the default value is 50.
ZegoEffectsSharpenParam *param = [[ZegoEffectsSharpenParam alloc] init];
param.intensity = 100;
[self.effects setSharpenParam:param];
Call the enableWrinklesRemoving
method to enable the nasolabial folds removing feature.
Call the setWrinklesRemovingParam
to set the intensity.
The value range of the intensity
property of the ZegoEffectsWrinklesRemovingParam
is [0, 100], and the default value is 50. As this value gets larger, the more thoroughly the nasolabial folds are removed.
// Enable the nasolabial folds removing feature.
[self.effects enableWrinklesRemoving:YES];
// Set the instensity, the value range is [0, 100], and the default value is 50.
ZegoEffectsWrinklesRemovingParam *param = [[ZegoEffectsWrinklesRemovingParam alloc] init];
param.intensity = 100;
[self.effects setWrinklesRemovingParam:param];
Call the enableDarkCirclesRemoving
method to enable the dark circles removing feature.
Call the setDarkCirclesRemovingParam
method to set the intensity.
The value range of the intensity
property of the ZegoEffectsDarkCirclesRemovingParam
is [0, 100], and the default value is 50. As this value gets larger, the more thoroughly the dark circles are removed.
// Enable the dark circles removing feature.
[self.effects enableDarkCirclesRemoving:YES];
// Set the instensity, the value range is [0, 100], and the default value is 50.
ZegoEffectsDarkCirclesRemovingParam *param = [[ZegoEffectsDarkCirclesRemovingParam alloc] init];
param.intensity = 100;
[self.effects setDarkCirclesRemovingParam:param];
Call the enableAcneRemoving interface to enable the acne and spot removal feature, and use the setAcneRemovingParam interface to set the intensity of the acne and spot removal.
The value range of the "intensity" parameter in the ZegoEffectsAcneRemovingParam object is [0, 100], with a default value of "0". A larger value indicates a stronger acne and spot removal effect. Developers can customize the value according to their needs.
// Enable acne and spot removal
[self.effects enableAcneRemoving:YES];
// Set the intensity of acne and spot removal, range [0, 100], default is 0
ZegoEffectsAcneRemovingParam *param = [[ZegoEffectsAcneRemovingParam alloc] init];
param.intensity = 0;
[self.effects setAcneRemovingParam:param];
Before using the clarity enhancement feature, please import the corresponding "ClarityResources" resource files, otherwise the feature will not work. For details, please refer to Quick Starts - Import Resources and Models.
Call the enableClarity interface to enable the clarity enhancement feature, and use the setClarityParam interface to set the clarity level.
The value range of the "intensity" parameter in the ZegoEffectsClarityParam object is [0, 100], with a default value of "0". A larger value indicates a stronger clarity enhancement effect. Developers can customize the value according to their needs.
// Enable clarity enhancement
[self.effects enableClarity:YES];
// Set the clarity level, range [0, 100], default is 0
ZegoEffectsClarityParam *param = [[ZegoEffectsClarityParam alloc] init];
param.intensity = 0;
[self.effects setClarityParam:param];
Before adjusting the skin color, please import and load the corresponding skin resources from "SkinColorResources", otherwise the feature will not work. For details, please refer to Quick Starts - Import Resources and Models.
Call the enableSkinColor interface to enable the skin color adjustment feature, use the setSkinColorResPath interface to load the supported skin resources, and then use the setSkinColorParam interface to set the intensity of the skin color adjustment.
The value range of the "intensity" parameter in the ZegoEffectsSkinColorParam object is [0, 100], with a default value of "0". A larger value indicates a more noticeable change in skin color. Developers can customize the value according to their needs.
// Enable skin color adjustment
[self.effects enableSkinColor:YES];
// Load the supported/specified skin resources
NSString *skinResPath = @"SkinColorResources/***";
[self.effects setSkinColorResPath:skinResPath];
// Set the intensity of skin color adjustment, range [0, 100], default is 0
ZegoEffectsSkinColorParam *param = [[ZegoEffectsSkinColorParam alloc] init];
param.intensity = 0;
[self.effects setSkinColorParam:param];