关于人工智能:Android如何实现实时音视频会议的背景分割

1 背景宰割性能简介

ZegoEffects SDK AI视觉SDK提供背景宰割性能,实用于在线教育、视频会议、美发、短视频等多种场景。

2 视频中背景宰割性能实现的前提条件

在应用 ZegoEffects SDK AI视觉SDK的背景宰割性能前,请确保:

  • 已在我的项目中集成 ZegoEffects SDK,实现根本的图像处理性能,详情请参考 疾速开始 – 集成 SDK。
  • 导入 “SegmentationModel” 模型门路,详情请参考 疾速开始 – 导入资源和模型。

3 AI视觉SDK应用步骤

背景宰割包含人像宰割、绿幕宰割,以及背景虚化、背景马赛克等性能。

3.1 人像宰割

应用人像宰割性能前,请先导入对应的 “SegmentationModel” 模型文件,否则性能无奈失效。详情请参考 疾速开始 – 导入资源和模型。

  1. 调用 setPortraitSegmentationBackgroundPathsetPortraitSegmentationBackgroundBuffersetPortraitSegmentationBackgroundTexture 接口,设置人像宰割应用的背景门路、背景 Buffer 或背景 Texture(三选一)。

    // 设置人像宰割应用的背景门路(和设置 Buffer、Texture 的形式三选一即可)
    mEffects.setPortraitSegmentationBackgroundPath("MY_BACKGROUND_PATH", ZegoEffectsScaleMode.ASPECT_FILL);
    
    // 设置人像宰割应用的背景 Buffer(和设置门路、Texture 的形式三选一即可)
    mEffects.setPortraitSegmentationBackgroundBuffer(buffer, bufferLength, param, ZegoEffectsScaleMode.ASPECT_FILL);
    
    // 设置人像宰割应用的背景 Texture(和设置门路、Buffer 的形式三选一即可)
    mEffects.setPortraitSegmentationBackgroundTexture(textureID, param, ZegoEffectsScaleMode.ASPECT_FILL);
  2. 调用 enablePortraitSegmentation 接口开启人像宰割性能。

    // 开启人像宰割性能
    mEffects.enablePortraitSegmentation(true);

开启人像宰割性能后,开发者能够依据须要进一步设置背景虚化、背景马赛克等性能。

人像宰割背景虚化

调用 enablePortraitSegmentationBackgroundBlur 接口开启人像宰割背景虚化性能,关上虚化性能后可调用 setPortraitSegmentationBackgroundBlurParam 接口设置 ZegoEffectsBlurParam 对象的 “intensity” 参数,调整背景虚化的水平。

开启人像宰割背景虚化性能后,会笼罩自定义背景及背景马赛克性能。

// 开启人像宰割背景虚化
mEffects.enablePortraitSegmentationBackgroundBlur(true);

// 设置人像宰割背景虚化参数
ZegoEffectsBlurParam param = new ZegoEffectsBlurParam();
param.intensity = 100;
mEffects.setPortraitSegmentationBackgroundBlurParam(param);
人像宰割背景马赛克

调用 enablePortraitSegmentationBackgroundMosaic 接口开启人像宰割背景马赛克性能,关上马赛克性能后可调用 setPortraitSegmentationBackgroundMosaicParam 接口设置 ZegoEffectsMosaicParam 对象的 “intensity” 参数参数,调整马赛克的水平。

开启人像宰割背景马赛克性能后,会笼罩自定义背景及背景虚化性能。

// 开启人像宰割背景马赛克
mEffects.enablePortraitSegmentationBackgroundMosaic(true);

// 设置人像宰割背景马赛克参数
ZegoEffectsMosaicParam param = new ZegoEffectsMosaicParam();
param.intensity = 100;
mEffects.setPortraitSegmentationBackgroundMosaicParam(param);

3.2 绿幕宰割

  1. 调用 setChromaKeyBackgroundPathsetChromaKeyBackgroundBuffersetChromaKeyBackgroundTexture 接口,设置绿幕宰割应用自定义背景门路、背景 Buffer 或背景 Texture(三选一)。

    // 设置绿幕宰割应用的背景门路(和设置 Buffer、Texture 的形式三选一即可)
    mEffects.setChromaKeyBackgroundPath("MY_BACKGROUND_PATH", ZegoEffectsScaleMode.ASPECT_FILL);
    
    // 设置人像宰割应用的背景 Buffer(和设置门路、Texture 的形式三选一即可)
    mEffects.setChromaKeyBackgroundBuffer(buffer, bufferLength, param, ZegoEffectsScaleMode.ASPECT_FILL);
    
    // 设置人像宰割应用的背景 Texture(和设置门路、Buffer 的形式三选一即可)
    mEffects.setChromaKeyBackgroundTexture(textureID, param, ZegoEffectsScaleMode.ASPECT_FILL);
  2. 调用 enableChromaKey 接口开启绿幕宰割性能,而后调用 setChromaKeyParam 接口设置参数,调整色彩容差、边缘平滑指数等。

    // 开启绿幕宰割性能
    mEffects.enableChromaKey(true);
    
    // 设置绿幕宰割参数
    ZegoEffectsChromaKeyParam param = new ZegoEffectsChromaKeyParam();
    mEffects.setChromaKeyParam(param);

开启绿幕宰割性能后,开发者能够依据须要进一步设置背景虚化、背景马赛克等性能。

绿幕宰割背景虚化

调用 enableChromaKeyBackgroundBlur 接口开启绿幕背景虚化性能,关上虚化性能后可调用 setChromaKeyBackgroundBlurParam 接口设置 ZegoEffectsBlurParam 对下的 “intensity” 参数,调整虚化的水平。

开启绿幕宰割背景虚化性能后,会笼罩自定义背景及背景马赛克性能。

// 开启绿幕宰割背景虚化
mEffects.enableChromaKeyBackgroundBlur(true);

// 设置绿幕宰割背景虚化参数
ZegoEffectsBlurParam param = new ZegoEffectsBlurParam();
param.intensity = 100;
mEffects.setChromaKeyBackgroundBlurParam(param);
绿幕宰割背景马赛克

调用 enableChromaKeyBackgroundMosaic 接口开启绿幕背景马赛克性能,关上马赛克性能后可调用 setChromaKeyBackgroundMosaicParam 接口设置 ZegoEffectsMosaicParam 对象的 “intensity” 参数,调整马赛克的水平。

开启绿幕宰割背景马赛克性能后,会笼罩自定义背景及背景虚化性能。

// 开启绿幕宰割背景马赛克
mEffects.enableChromaKeyBackgroundMosaic(true);

// 设置绿幕宰割背景马赛克参数
ZegoEffectsMosaicParam param = new ZegoEffectsMosaicParam();
param.intensity = 100;
mEffects.setChromaKeyBackgroundMosaicParam(param);

4 获取 Android AI视觉SDK背景宰割性能 更多帮忙

获取本文AI视觉SDK背景宰割性能的开发文档、技术支持,拜访即构文档核心IM即时通讯开发文档页,可多平台实现聊天社交IM即时通讯性能;

近期有开发布局的开发者可上即构官网查看,恰逢即构七周年全线音视频产品1折的优惠,分割商务获取”IM即时通讯一个月收费试用 “产品优惠;

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理