提交工单
咨询集成、功能及报价等问题
在实现基本的 AI 功能之前,请确保:
本节介绍如何使用 ZegoEffects SDK 实现基本的图像处理功能,API 调用时序如下图:
传入 AI 资源或模型。
使用 Effects 的 AI 相关功能前,必须调用 setResources 接口导入 AI 资源或模型,详情请参考 快速开始 - 导入资源和模型。
// 传入人脸识别模型的绝对路径。人脸检测、大眼、瘦脸功能均须导入
ArrayList<String> aiModeInfos = new ArrayList<>();
aiModeInfos.add("sdcard/xxx/xxxxx/FaceDetectionModel.bundle");
aiModeInfos.add("sdcard/xxx/xxxxx/Segmentation.bundle");
// 传入模型路径列表,必须在 create 之前调用
ZegoEffects.setResources(aiModeInfos);
导入鉴权文件,创建 Effects 对象。
调用 create 接口,传入 1 前提条件 获取到的鉴权文件,创建 Effects 对象。
// 创建 effects 对象,传入鉴权文件 License 内容(鉴权内容请以实际获取的文件为准)
String license = "xxxxxxx";
ZegoEffects mEffects = ZegoEffects.create(license, applicationContext);
传入待处理的原始图像宽、高,调用 initEnv 接口初始化 Effects 对象。
// 初始化 Effects 对象,传入当前待处理的原始图像宽高
mEffects.initEnv(1280, 720);
调用 enableWhiten/enableBigEyes/setPortraitSegmentationBackgroundPath/enablePortraitSegmentation 接口开启各项 AI 功能。
// 1. 开启美白功能
// 2. 开启大眼功能
// 3. 开启 AI 人像分割功能,并传入分割背景图的绝对路
mEffects.enableWhiten(true)
.enableBigEyes(true)
.setPortraitSegmentationBackgroundPath("MY_BACKGROUND_PATH", ZegoEffectsScaleMode.ASPECT_FILL);
.enablePortraitSegmentation(true);
SDK 支持 RGB、YUV、Texture 等多种格式来处理图像,开发者可以参考如下表格:
视频帧类型 | 视频数据帧格式 | 处理数据接口 |
---|---|---|
Buff 类型 |
|
processImageBufferRGB |
Buff 类型 |
|
processImageBufferYUV |
Texture 类型 |
|
processTexture |
以下示例代码是通过 processTexture 接口来进行图像处理:
ZegoEffectsVideoFrameParam zegoEffectsVideoFrameParam = new ZegoEffectsVideoFrameParam();
zegoEffectsVideoFrameParam.setFormat(ZegoEffectsVideoFrameFormat.RGBA32);
zegoEffectsVideoFrameParam.setWidth(width);
zegoEffectsVideoFrameParam.setHeight(height);
// 传入待处理的原始视频的 textureID,返回处理后的 textureID。
zegoTextureId = mEffects.processTexture(mTextureId, zegoEffectsVideoFrameParam);
联系我们
文档反馈