跳转到主要内容
SDK 2.0.0。命名空间 facebetter。头文件:facebetter/beauty_effect_engine.h、beauty_params.h、image_frame.h、type_defines.h。风格 / 色号 / 美型枚举见 参数枚举。鉴权见 授权与许可。

日志

LogLevel

LogConfig


引擎

EngineConfig

鉴权优先级: license_token 非空则本地校验该 token,不再用 app_id + app_key 联网。否则用 app_id + app_key 请求 /facebetter/v2/auth。

BeautyEffectEngine

不可拷贝。通过 Create 创建,释放 shared_ptr 即销毁。

SetLogConfig(静态)

在 Create 之前调用。成功返回 0。

Create(静态)

失败返回 nullptr。

皮肤

强度默认 [0.0, 1.0],0 表示关闭。成功返回 0。
SetBeautySkinOnly(true) 时磨皮 / 美白等仅作用于检测到的皮肤。风格枚举见 参数枚举。

美型

intensity 为 [-1.0, 1.0]。0 关闭。正负为相反方向。完整列表见 参数枚举。

美体

intensity 为 [0.0, 1.0]。0 关闭。需要 resource_body.fbd(与 resource.fbd 同目录,或 AddResourcePack)。完整列表见 参数枚举,资源包见 可选资源包。

美妆

每个效果有强度,以及 Style(蒙版)和/或 Color(染色)。口红只有 Color;美瞳只有 Color;修容只有 Style。
取值见 参数枚举。

色度键

用作虚拟背景蒙版。填充仍由 SetVirtualBackgroundBlur / SetVirtualBackground 控制。无填充时抠除区域透明。ClearChromaKey() 恢复人像分割。
ChromaKeyColor:Green = 0、Blue、Red。

虚拟背景

PNG / JPEG。路径不可为空。字节重载为编码后的图片数据。

滤镜(LUT .fbd)

GPU LUT 在下一次 ProcessImage 时创建。没有注册 / ID 接口。

贴纸(.fbd)

3D 贴纸或美体前请先加载对应可选包,见 可选资源包。

统计、回调、处理

将 image_frame->type 设为 FrameType::Image 或 FrameType::Video(默认)。输出格式尽量与输入一致。失败返回 nullptr。

EngineStats

回调与事件

on_face_landmarks 可能每帧触发(无人脸时为空)。

图像

Format

Rotation

FrameType

设置在 ImageFrame::type 上。

ImageFrame

不可拷贝,非线程安全。 工厂方法
多平面 YUV 请用专用工厂,不要用通用 Create。 操作
访问器: Width()、Height()、Stride()、Size()、GetFormat()、Data()、DataY/U/V()、StrideY/U/V()、DataUV()、StrideUV()、Texture()、Buffer()、MirrorHorizontal()、MirrorVertical()。 公开字段:FrameType type = FrameType::Video。

检测类型


错误码

典型 int 返回值:

说明

  • 线程安全: 将 ProcessImage 与会改状态的调用串行化到同一线程(external_context 时则在 GL 线程)。
  • 生命周期: 工厂方法返回 std::shared_ptr。
  • Data() 指针只读,不要写入。
  • SetRenderView 仅 iOS / macOS。
  • Windows 二进制: 链接 facebetter.lib,运行时加载 facebetter.dll。