提交工单
咨询集成、功能及报价等问题
在实现基本的 AI 功能之前,请确保:
本节介绍如何使用 ZegoEffects SDK 实现基本的图像处理功能,API 调用时序如下图:
传入 AI 资源或模型。
使用 Effects 的 AI 相关功能前,必须调用 setResources 接口导入 AI 资源或模型,详情请参考 快速开始 - 导入资源和模型。
// 传入人脸识别模型的绝对路径。人脸检测、大眼、瘦脸功能均须导入
NSString *faceDetectionModelPath = [[NSBundle mainBundle] pathForResource:@"FaceDetectionModel" ofType:@"bundle"];
// 传入人像分割模型的绝对路径。AI 人像分割功能须导入
NSString *segmentationModelPath = [[NSBundle mainBundle] pathForResource:@"SegmentationModel" ofType:@"bundle"];
NSArray<NSString *> * modelList = @[faceDetectionModelPath, segmentationModelPath];
// 传入模型路径列表,必须在 create 之前调用
[ZegoEffects setResources:resourcesList];
部署高级配置项
调用 setAdvancedConfig 接口,部署高级配置项,如配置设备性能等级,详情请参考 配置设备性能等级。
// 设置advancedConfig
ZegoEffectsAdvancedConfig *config = [ZegoEffectsAdvancedConfig alloc];
// 可配置设备性能等级
[ZegoEffects setAdvancedConfig:config];
导入鉴权文件,创建 Effects 对象。
调用 create 接口,传入 1 前提条件 获取到的鉴权文件,创建 Effects 对象。
// 创建 effects 对象,传入鉴权文件 License 内容(鉴权内容请以实际获取的文件为准)
NSString* license = @"xxxxxxxx";
ZegoEffects* effects = [ZegoEffects create:license];
传入待处理的原始图像宽、高,调用 initEnv 接口初始化 Effects 对象。
// 初始化 Effects 对象,传入当前待处理的原始图像宽高
[self.effects initEnv:CGSizeMake(1280, 720)];
调用 enableWhiten/enableBigEyes/setPortraitSegmentationBackgroundPath/enablePortraitSegmentation 接口开启各项 AI 功能。
// 1. 开启美白功能
[self.effects enableWhiten:YES];
// 2. 开启大眼功能
[self.effects enableBigEyes:YES];
// 3. 开启 AI 人像分割功能,并传入分割背景图的绝对路径
[self.effects setPortraitSegmentationBackgroundPath: @"MY_BACKGROUND_PATH" mode:ZegoEffectsScaleModeAspectFill];
[self.effects enablePortraitSegmentation:YES];
以下示例代码是通过 processImageBuffer 接口传入待处理的原始视频图像,处理结果会回写到原来的 Buffer 中。
iOS 端 ZegoEffects SDK 的 processImageBuffer
接口只支持 BGRA32 和 RGBA32 格式的 pixelbuffer 数据。
// 传入待处理的原始视频图像,处理结果将回写到原来的 buffer 中
[self.effects processImageBuffer:pixelBuffer];
联系我们
文档反馈