SDK 2.0.0。C++ API 与 Windows 相同。枚举见 参数枚举。
resource_path 指向 resource.fbd
传入 文件路径,不要填目录:
fopen 失败。
一个引擎,串行 ProcessImage
Create 返回 shared_ptr。引擎 不是单例。将 ProcessImage(以及会改状态的 setter)串行化到同一线程。若 external_context = true,该线程必须持有当前 GL 上下文。
在帧上设置 FrameType
相册大图(预览与导出)
高分辨率静图不要在每次拖动滑条时把原图像素送进ProcessImage,也不要缩放后丢掉原图。
打开照片时保留完整缓冲,并另做一份预览帧(长边约 1280–1440)。调参打预览(FrameType::Image);导出对全尺寸帧再处理一次,同一套 setter。输出尺寸等于输入。摄像头预览仍用采集分辨率 + FrameType::Video。
强度与仅皮肤美颜
实时场景建议从0.15–0.3 起步。美型范围为 [-1.0, 1.0]。使用 SetBeautySkinOnly(true) 让磨皮只作用在皮肤上。
滤镜与贴纸
.fbd 路径或字节。在下一次 ProcessImage 后生效。不要每帧切换资源。
GetStats
动态库
- 开发:
LD_LIBRARY_PATH - 发布:
RPATH/RUNPATH,或安装到/usr/local/lib后ldconfig libfacebetter.so与头文件必须来自 同一套 SDK(./scripts/build_linux.sh或下载包)
OpenGL
默认external_context = false 由 SDK 管理 OpenGL 上下文。若 GLFW / EGL 已持有上下文,设为 true 并在该线程处理。需要可用的 Mesa / NVIDIA / AMD 驱动;glxinfo 应报告 3.0+。
空闲时暂停
窗口不可见时跳过ProcessImage。会话结束调用 engine.reset()。
授权
离线主机用license_token;否则 app_id + app_key 在线 v2。密钥从环境变量 / 配置读取,不要写进源码。见 授权与许可。
