文档中心
AI_Vision AI 美颜
文档中心
体验 App
SDK 中心
API 中心
常见问题
代码市场
进入控制台
立即注册
登录
中文站 English
  • 文档中心
  • AI 美颜
  • 快速开始
  • 实现图像处理

实现图像处理

更新时间:2025-04-07 18:19

1 前提条件

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

  • 已在项目中集成 SDK,详情请参考 快速开始 - 集成 SDK。
  • 已获取到 Effects SDK 唯一的鉴权文件,详情请参考 快速开始 - 在线鉴权。
  • 登录 ZEGO 控制台 创建项目,获取接入 ZegoEffects SDK 服务所需的 AppID 和 AppSign,详情请参考 控制台 - 项目信息。

2 使用步骤

本节介绍如何使用 ZegoEffects SDK 实现基本的图像处理功能,API 调用时序如下图:

/Pics/AI_Vision/QuickStarts/Implemention_iOS_zh.png

2.1 创建 Effects 对象

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

    // 传入人脸识别模型的绝对路径。人脸检测、大眼、瘦脸功能均须导入
    NSString *faceDetectionModelPath = [[NSBundle mainBundle] pathForResource:@"FaceDetectionModel" ofType:@"model"];
    
    // 传入人像分割模型的绝对路径。AI 人像分割功能须导入
    NSString *segmentationModelPath = [[NSBundle mainBundle] pathForResource:@"SegmentationModel" ofType:@"model"];
    
    NSArray<NSString *> * modelList = @[faceDetectionModelPath, segmentationModelPath];
    
    // 传入模型路径列表,必须在 create 之前调用
    [ZegoEffects setResources:resourcesList];
  2. 部署高级配置项

    调用 setAdvancedConfig 接口,部署高级配置项,如配置设备性能等级,详情请参考 配置设备性能等级。

    // 设置advancedConfig
    ZegoEffectsAdvancedConfig *config = [ZegoEffectsAdvancedConfig alloc];
    // 可配置设备性能等级
    [ZegoEffects setAdvancedConfig:config];
  3. 创建 Effects 对象。

    将 1 前提条件 中申请到的 AppID、AppSign 直接传入 create 接口,由 SDK 内部鉴权之后,创建 Effects 对象并返回相关 错误码。

    NSInteger appId = *******;
    NSString *appSign = @"********";
    self.effects = [ZegoEffects create:appid appSign:appSign];

2.2 初始化 Effects 对象

  1. 传入待处理的原始图像宽、高,调用 initEnv 接口初始化 Effects 对象。

    // 初始化 Effects 对象,传入当前待处理的原始图像宽高
    [self.effects initEnv:CGSizeMake(1280, 720)];
  2. 调用 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];

2.3 处理图像

以下示例代码是通过 processImageBuffer 接口传入待处理的原始视频图像,处理结果会回写到原来的 Buffer 中。

iOS 端 ZegoEffects SDK 的 processImageBuffer 接口只支持 BGRA32 和 RGBA32 格式的 pixelbuffer 数据。

// 传入待处理的原始视频图像,处理结果将回写到原来的 buffer 中
[self.effects processImageBuffer:pixelBuffer];
本篇目录
  • 免费试用
  • 提交工单
    咨询集成、功能及报价等问题
    电话咨询
    400 1006 604
    咨询客服
    微信扫码,24h在线

    联系我们

  • 文档反馈