通过阅读本文,您可以了解阿里云RTC SDK对接RACE美颜的集成方式、接口说明和实现步骤。
集成RACE SDK
支持pods与本地集成两种方式。
- pods集成方式:
pod 'AliyunRace', '1.0.0.12196201'
- 本地集成方式:
获取AliyunRace.framework、Face3D.framwork、opencv2.framework文件并添加到工程中。
说明 请您正确添加动态库Embed Frameworks。
RTC SDK对接RACE接口说明
以下为RTC SDK对接RACE时需要使用的接口说明,RACE美颜SDK中的其他接口不在本文说明。
API | 描述 |
---|---|
aliyun_beautify_create | 创建美颜美型实例 |
aliyun_beautify_setFaceDebug | 美颜美型调试开关 |
aliyun_setLogLevel | 设置输出日志等级 |
aliyun_beautify_setSkinBuffing | 设置磨皮等级 |
aliyun_beautify_setSharpen | 设置锐化等级 |
aliyun_beautify_setSkinWhitening | 设置美白等级 |
aliyun_beautify_setFaceSwitch | 美型开关 |
aliyun_beautify_setFaceShape | 设置美型等级 |
aliyun_beautify_processTextureToTexture | 美颜美型纹理输入渲染 |
aliyun_beautify_destroy | 销毁美颜美型实例 |
- aliyun_beautify_create:创建美颜美型实例。
int aliyun_beautify_create(race_t *handle);
参数 类型 描述 context Context 上下文 返回值:成功返回0,失败返回<0。
- aliyun_beautify_setFaceDebug:美颜美型调试开关。
int aliyun_beautify_setFaceDebug(race_t handle, bool enable);
参数 类型 描述 handle race_t 美颜美型句柄 enable bool 调试开启标志 返回值:成功返回0,失败返回<0。
- aliyun_setLogLevel:设置输出日志等级。
void aliyun_setLogLevel(int level);
参数 类型 描述 level int 日志等级 - aliyun_beautify_setSkinBuffing:设置磨皮等级。
int aliyun_beautify_setSkinBuffing(race_t handle, float level);
参数 类型 描述 handle race_t 美颜美型句柄 level float 磨皮等级,范围:0~1 返回值:成功返回0,失败返回<0。
- aliyun_beautify_setSharpen:设置锐化等级。
int aliyun_beautify_setSharpen(race_t handle, float level);
参数 类型 描述 handle race_t 美颜美型句柄 level float 锐化等级,范围:0~1 返回值:成功返回0,失败返回<0。
- aliyun_beautify_setSkinWhitening:设置美白等级。
int aliyun_beautify_setSkinWhitening(race_t handle, float level);
参数 类型 描述 handle race_t 美颜美型句柄 level float 美白等级,范围:0~1 返回值:成功返回0,失败返回<0。
- aliyun_beautify_setFaceSwitch:美型开关。
void aliyun_beautify_setFaceSwitch(race_t handle, bool switchOn);
参数 类型 描述 handle race_t 美颜美型句柄 switchOn bool 是否开启人脸检测及美型处理,取值:true|false - aliyun_beautify_setFaceShape:设置美型等级。
int aliyun_beautify_setFaceShape(race_t handle, ALRFaceShape type, float level);
参数 类型 描述 handle race_t 美颜美型句柄 type ALRFaceShape 美型类型 level float 美型等级,可以超出ALRFaceShape中定义的参数范围 返回值:成功返回0,失败返回<0。
ALRFaceShape 定义和建议范围如下:typedef enum ALRFaceShape { ALR_FACE_TYPE_CUT_CHEEK = 0,//颧骨,取值:0~1 ALR_FACE_TYPE_CUT_FACE = 1,//削脸,取值:0~1 ALR_FACE_TYPE_THIN_FACE = 2,//瘦脸,取值:0~1 ALR_FACE_TYPE_LONG_FACE = 3,//脸长,取值:0~1 ALR_FACE_TYPE_LOWER_JAW = 4,//下巴缩短,取值:-1~1 ALR_FACE_TYPE_HIGHER_JAW = 5,//下巴拉长,取值:-1~1 ALR_FACE_TYPE_THIN_JAW = 6,//瘦下巴,取值:-1~1 ALR_FACE_TYPE_THIN_MANDIBLE = 7,//瘦下颌,取值:0~1 ALR_FACE_TYPE_BIG_EYE = 8, //大眼,取值:0~1 ALR_FACE_TYPE_EYE_ANGLE1 = 9,//眼角1,取值:0~1 ALR_FACE_TYPE_CANTHUS = 10,//眼距,取值:-1~1 ALR_FACE_TYPE_CANTHUS1 = 11,//拉宽眼距,取值:-1~1 ALR_FACE_TYPE_EYE_ANGLE2 = 12,//眼角2,取值:-1~1 ALR_FACE_TYPE_EYE_TDANGLE = 13,//眼睛高度,取值:-1~1 ALR_FACE_TYPE_THIN_NOSE = 14,//瘦鼻,取值:0~1 ALR_FACE_TYPE_NOSE_WING = 15,//鼻翼,取值:0~1 ALR_FACE_TYPE_NASAL_HEIGHT = 16,//鼻长,取值:-1~1 ALR_FACE_TYPE_NOSE_TIP_HEIGHT = 17,//鼻头长,取值:-1~1 ALR_FACE_TYPE_MOUTH_WIDTH = 18,//唇宽,取值:-1~1 ALR_FACE_TYPE_MOUTH_SIZE = 19,//嘴唇大小,取值:-1~1 ALR_FACE_TYPE_MOUTH_HIGH = 20,//唇高,取值:-1~1 ALR_FACE_TYPE_PHILTRUM = 21, //人中 ALR_FACE_TYPE_MAX = 22 } ALRFaceShape;
- aliyun_beautify_processTextureToTexture:美颜美型纹理输入渲染。
int aliyun_beautify_processTextureToTexture(race_t handle, uint32_t textureIn, uint32_t width, uint32_t height, aliyun_rotation_t rotation, uint8_t flags);
参数 类型 描述 handle race_t 美颜美型句柄 textureIn uint32_t 输入图像纹理 width uint32_t 输入图像纹理宽度 height uint32_t 输入图像纹理高度 rotation aliyun_rotation_t 输入图像纹理旋转角度(顺时针),RTC 对接时该参数必须设置为ALR_ROTATE_180_CW flags uint8_t RTC对接时该参数必须设置为0 返回值:成功返回美颜处理后的textureId,失败返回<0。
- aliyun_beautify_destroy:销毁美颜美型实例。
void aliyun_beautify_destroy(race_t handle);
参数 类型 描述 handle race_t 美颜美型句柄
在文档使用中是否遇到以下问题
更多建议
匿名提交