启用美颜和特效
本文将介绍如何在 TRTC 直播功能时实现美颜特效的功能。通过美颜管理,您可以使用以下功能:
设置“磨皮”、“美白”、“红润”等美颜特效。
设置“大眼”、“瘦脸”、“V脸”、“下巴”、“短脸”、“小鼻”、“亮眼”、“白牙”、“祛眼袋”、“祛皱纹”、“祛法令纹”等修脸特效。
设置“发际线”、“眼间距”、“眼角”、“嘴形”、“鼻翼”、“鼻子位置”、“嘴唇厚度”、“脸型”等修脸特效。
设置“眼影”、“腮红”等美妆特效。
设置动态贴纸和人脸挂件等动画特效。
前提条件
设置美颜算法和级别
TRTC 为您提供了多种磨皮算法,包括光滑、自然和优图三种,您可以根据自己的产品选择最适合的方案。
// 声明 TRTCCloud 变量及初始化private TRTCCloud mCloud;mCloud = TRTCCloud.sharedInstance(getApplicationContext());TXBeautyManager beautyManager = mCloud.getBeautyManager();beautyManager.setBeautyStyle(TXBeautyManager.TXBeautyStyleSmooth); // 美颜风格设置为光滑beautyManager.setBeautyLevel(9); // 美颜级别设置为 9
// AppDelegate.h@property (nonatomic, strong) TRTCCloud *trtcCloud;// AppDelegate.m_trtcCloud = [TRTCCloud sharedInstance]; // 创建 TRTC 实例TXBeautyManager * beautyManager = [self.trtcCloud getBeautyManager];[beautyManager setBeautyStyle:TXBeautyStyleSmooth]; // 美颜风格设置为光滑[beautyManager setBeautyLevel:9]; // 美颜级别设置为 9
// AppDelegate.h@property (nonatomic, strong) TRTCCloud *trtcCloud;// AppDelegate.m_trtcCloud = [TRTCCloud sharedInstance]; // 创建 TRTC 实例TXBeautyManager * beautyManager = [self.trtcCloud getBeautyManager];[beautyManager setBeautyStyle:TXBeautyStyleSmooth]; // 美颜风格设置为光滑[beautyManager setBeautyLevel:9]; // 美颜级别设置为 9
ITRTCCloud* trtc_cloud_;trtc_cloud_->setBeautyStyleSmooth(TRTCBeautyStyleSmooth, 5, 5, 5); // 设置美颜、美白、红润等特效
说明:
美颜级别取值范围为:0-9,其中 0 表示关闭,9表示效果最明显。
当您仅设置美颜风格,而没有设置美颜级别时,由于默认关闭美颜级别为0,您将无法看到美颜风格的效果。
设置美白级别和红润级别
调用
setWhitenessLevel
和 setRuddyLevel
可以分别设置美白级别和红润级别,以上两个接口参数与 setBeautyLevel
相同。// 声明 TRTCCloud 变量及初始化private TRTCCloud mCloud;mCloud = TRTCCloud.sharedInstance(getApplicationContext());TXBeautyManager beautyManager = mCloud.getBeautyManager();beautyManager.setWhitenessLevel(9); // 美白级别设置为 9beautyManager.setRuddyLevel(9); // 红润级别设置为 9
// AppDelegate.h@property (nonatomic, strong) TRTCCloud *trtcCloud;// AppDelegate.m_trtcCloud = [TRTCCloud sharedInstance]; // 创建 TRTC 实例TXBeautyManager * beautyManager = [self.trtcCloud getBeautyManager];[beautyManager setWhitenessLevel:9]; // 美白级别设置为 9[beautyManager setRuddyLevel:9]; // 红润级别设置为 9
// AppDelegate.h@property (nonatomic, strong) TRTCCloud *trtcCloud;// AppDelegate.m_trtcCloud = [TRTCCloud sharedInstance]; // 创建 TRTC 实例TXBeautyManager * beautyManager = [self.trtcCloud getBeautyManager];[beautyManager setWhitenessLevel:9]; // 美白级别设置为 9[beautyManager setRuddyLevel:9]; // 红润级别设置为 9
设置色彩滤镜效果和强度
色彩滤镜是一副包含色彩映射关系的颜色查找表图片,SDK 会根据该查找表中的映射关系,对摄像头采集出的原始视频画面进行二次处理,以达到预期的滤镜效果。
// 声明 TRTCCloud 变量及初始化private TRTCCloud mCloud;mCloud = TRTCCloud.sharedInstance(getApplicationContext());TXBeautyManager beautyManager = mCloud.getBeautyManager();Bitmap filterMap = BitmapFactory.decodeResource(getResources(), R.drawable.filterImage); beautyManager.setFilter(filterMap); // 设置滤镜效果beautyManager.setFilterStrength(1); // 设置色彩滤镜强度为 1
// AppDelegate.h@property (nonatomic, strong) TRTCCloud *trtcCloud;// AppDelegate.m_trtcCloud = [TRTCCloud sharedInstance]; // 创建 TRTC 实例TXBeautyManager * beautyManager = [self.trtcCloud getBeautyManager];UIImage *filterImage = [UIImage imageNamed:@"filterImage"];[beautyManager setFilter:filterImage]; // 设置滤镜效果[beautyManager setFilterStrength:1]; // 设置色彩滤镜强度为 1
// AppDelegate.h@property (nonatomic, strong) TRTCCloud *trtcCloud;// AppDelegate.m_trtcCloud = [TRTCCloud sharedInstance]; // 创建 TRTC 实例TXBeautyManager * beautyManager = [self.trtcCloud getBeautyManager];NSImage *filterImage = [NSImage imageNamed:@"filterImage"];[beautyManager setFilter:filterImage]; // 设置滤镜效果[beautyManager setFilterStrength:1]; // 设置色彩滤镜强度为 1
说明:
滤镜色彩强度取值范围为:0 - 1,默认取值为0.5,数值越大滤镜效果越明显。
设置修脸特效
TRTC 为 Android 和 iOS 平台提供了多种修脸特效,包括“大眼”、“瘦脸”、“V脸”、“下巴”、“短脸”、“小鼻”、“亮眼”、“白牙”、“祛眼袋”、“祛皱纹”、“祛法令纹”等效果,需要集成 TEBeautyKit 进行使用,请参考 Android 平台集成TEBeautyKit 和 iOS 平台集成TEBeautyKit。
Android 平台高级美颜功能参考:Android 腾讯美颜特效SDK
iOS 平台高级美颜功能参考:iOS 腾讯美颜特效SDK
联系我们
如果有任何需要或者反馈,您可以联系:info_rtc@tencent.com。