logo
当前页

实现图像处理


前提条件

在实现基本的 AI 美颜功能之前,请确保:

使用步骤

1. 导入 AI 资源或模型

使用 AI 美颜 的 AI 相关功能前,必须调用 setResources 接口导入 AI 资源或模型,详情请参考 快速开始 - 导入资源和模型

ZegoEffectsPlugin.instance.setResources();

2. 创建 Effects 对象

注意

调用此方法时,前面必须添加 await 关键字。

// 请确保已调用 [setResources] 方法加载资源、模型。

//appID 和 appSign 为前提条件获取到的参数  必须添加await关键字
await ZegoEffectsPlugin.instance.create(appID,appSign);

3. 初始化并开启 AI 美颜功能

注意

请确保已经初始化 Express SDK,详情可参考 实现视频通话文档

1

开启自定义视频前处理

调用 Express 的 enableCustomVideoProcessing 方法,开启自定义视频前处理。

// 启用 ExpressEngine 的自定义处理
ZegoCustomVideoProcessConfig config = ZegoCustomVideoProcessConfig(ZegoVideoBufferType.GLTexture2D);
if (Platform.isIOS) {
  config.bufferType = ZegoVideoBufferType.CVPixelBuffer;
} else if (Platform.isAndroid) {
  config.bufferType = ZegoVideoBufferType.GLTexture2D;
}

// 启用自定义前处理
ZegoExpressEngine.instance.enableCustomVideoProcessing(true, config);
2

启用图像处理功能

调用 AI 美颜的 enableImageProcessing 方法,启用图像处理功能。

// 使用 AI 美颜的自定义处理
ZegoEffectsPlugin.instance.enableImageProcessing(true);
3

开启预览

调用 Express 的 createCanvasView 方法创建用语预览的视图,并调用 Express 的 startPreview 开启预览。

// 必须在 ZegoExpressSDK 创建引擎成功后调用
ZegoExpressEngine.instance.createCanvasView((viewID) {
    _previewId = viewID;
    print('createCanvasView viewId: $viewID');
    startPreview(_previewId);
    }).then((widget) {
    print('createCanvasView widget: $widget');
    setState(() {
        _previewViewWidget = widget!;
    });
    }).catchError((err){
    // 输出相关错误码
    print('createCanvasView Error: $err' );
    });
4

开启美颜功能

开启美颜功能。

调用 enableSmooth/enableFaceLifting 等接口开启美颜功能。

// 启用并配置磨皮效果以获得更好的美化效果
ZegoEffectsPlugin.instance.enableSmooth(true);
ZegoEffectsSmoothParam param = ZegoEffectsSmoothParam();
param.intensity = 100;
ZegoEffectsPlugin.instance.setSmoothParam(param);

// 启用瘦脸效果以创建更小的脸部外观
ZegoEffectsPlugin.instance.enableFaceLifting(true);
ZegoEffectsFaceLiftingParam param = ZegoEffectsFaceLiftingParam();
param.intensity = 100;
ZegoEffectsPlugin.instance.setFaceLiftingParam(param);

Previous

导入资源和模型

Next

美颜