背景分割
功能简介
ZegoEffects SDK 提供背景分割功能,适用于在线教育、视频会议、美发、短视频等多种场景。
前提条件
在使用 ZegoEffects SDK 背景分割功能前,请确保:
- 已在项目中集成 ZegoEffects SDK,实现基本的图像处理功能,详情请参考 快速开始 - 实现图像处理。
- 导入 “SegmentationModel” 模型路径,详情请参考 快速开始 - 导入资源和模型。
使用步骤
背景分割包括人像分割、绿幕分割,以及背景虚化、背景马赛克等功能。
人像分割
使用人像分割功能前,请先导入对应的 “SegmentationModel” 模型文件,否则功能无法生效。详情请参考 快速开始 - 导入资源和模型。
- 调用 setPortraitSegmentationBackgroundPath 或 setPortraitSegmentationBackgroundBuffer 接口,设置人像分割使用的背景路径或背景 Buffer(二选一)。
// 设置人像分割使用的背景路径(和设置 Buffer 的方式二选一即可)
[self.effects setPortraitSegmentationBackgroundPath: @"MY_BACKGROUND_PATH" mode:ZegoEffectsScaleModeAspectFill];
// 设置人像分割使用的背景 Buffer(和设置路径的方式二选一即可)
[self.effects setPortraitSegmentationBackgroundBuffer:pixelbuffer mode:ZegoEffectsScaleModeAspectFill];
// 设置人像分割使用的背景路径(和设置 Buffer 的方式二选一即可)
[self.effects setPortraitSegmentationBackgroundPath: @"MY_BACKGROUND_PATH" mode:ZegoEffectsScaleModeAspectFill];
// 设置人像分割使用的背景 Buffer(和设置路径的方式二选一即可)
[self.effects setPortraitSegmentationBackgroundBuffer:pixelbuffer mode:ZegoEffectsScaleModeAspectFill];
- 调用 setPortraitSegmentationBackgroundPath、setPortraitSegmentationBackgroundBuffer 或 setPortraitSegmentationBackgroundTexture 接口,设置人像分割使用的背景路径、背景 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);
// 设置人像分割使用的背景路径(和设置 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);
- 调用 zego_effects_set_portrait_segmentation_background_path、zego_effects_set_portrait_segmentation_background_buffer 或 zego_effects_set_portrait_segmentation_background_texture 接口,设置人像分割使用的背景路径、背景 Buffer 或背景 Texture(三选一)。
// 设置人像分割使用的背景路径(和设置 Buffer、Texture 的方式三选一即可)
zego_effects_set_portrait_segmentation_background_path(handle, "MY_BACKGROUND_PATH", zego_effects_scale_mode_aspect_fill);
// 设置人像分割使用的背景 Buffer(和设置路径、Texture 的方式三选一即可)
zego_effects_set_portrait_segmentation_background_buffer(handle, buffer, buffer_length, param, zego_effects_scale_mode_aspect_fill);
// 设置人像分割使用的背景 Texture(和设置路径、Buffer 的方式三选一即可)
zego_effects_set_portrait_segmentation_background_texture(handle, texture_id, param, zego_effects_scale_mode_aspect_fill);
// 设置人像分割使用的背景路径(和设置 Buffer、Texture 的方式三选一即可)
zego_effects_set_portrait_segmentation_background_path(handle, "MY_BACKGROUND_PATH", zego_effects_scale_mode_aspect_fill);
// 设置人像分割使用的背景 Buffer(和设置路径、Texture 的方式三选一即可)
zego_effects_set_portrait_segmentation_background_buffer(handle, buffer, buffer_length, param, zego_effects_scale_mode_aspect_fill);
// 设置人像分割使用的背景 Texture(和设置路径、Buffer 的方式三选一即可)
zego_effects_set_portrait_segmentation_background_texture(handle, texture_id, param, zego_effects_scale_mode_aspect_fill);
调用 setPortraitSegmentationBackgroundPath 接口,设置人像分割使用的背景路径。
// 设置人像分割使用的背景路径
ZegoEffectsPlugin.instance.setPortraitSegmentationBackgroundPath('MY_BACKGROUND_PATH', ZegoEffectsScaleMode.AspectFill);
// 设置人像分割使用的背景路径
ZegoEffectsPlugin.instance.setPortraitSegmentationBackgroundPath('MY_BACKGROUND_PATH', ZegoEffectsScaleMode.AspectFill);
// 设置人像分割使用的背景路径
mEffects.setPortraitSegmentationBackgroundPath("MY_BACKGROUND_PATH", ZegoEffectsScaleMode.ASPECT_FILL);
// 设置人像分割使用的背景路径
mEffects.setPortraitSegmentationBackgroundPath("MY_BACKGROUND_PATH", ZegoEffectsScaleMode.ASPECT_FILL);
- 调用 enablePortraitSegmentation 接口开启人像分割功能。
// 开启人像分割功能
[self.effects enablePortraitSegmentation:YES];
// 开启人像分割功能
[self.effects enablePortraitSegmentation:YES];
// 开启人像分割功能
mEffects.enablePortraitSegmentation(true);
// 开启人像分割功能
mEffects.enablePortraitSegmentation(true);
// 开启人像分割功能
zego_effects_enable_portrait_segmentation(handle, true);
// 开启人像分割功能
zego_effects_enable_portrait_segmentation(handle, true);
// 开启人像分割功能
ZegoEffectsPlugin.instance.enablePortraitSegmentation(true);
// 开启人像分割功能
ZegoEffectsPlugin.instance.enablePortraitSegmentation(true);
// 开启人像分割功能
mEffects.enablePortraitSegmentation(true);
// 开启人像分割功能
mEffects.enablePortraitSegmentation(true);
开启人像分割功能后,开发者可以根据需要进一步设置背景虚化、背景马赛克等功能。
人像分割背景虚化
调用 enablePortraitSegmentationBackgroundBlur 接口开启人像分割背景虚化功能,打开虚化功能后可调用 setPortraitSegmentationBackgroundBlurParam 接口设置 ZegoEffectsBlurParam 对象的 “intensity” 参数,调整背景虚化的程度。
开启人像分割背景虚化功能后,会覆盖自定义背景及背景马赛克功能。
// 开启人像分割背景虚化
[self.effects enablePortraitSegmentationBackgroundBlur:YES];
// 设置人像分割背景虚化参数
ZegoEffectsBlurParam *param = [[ZegoEffectsBlurParam alloc] init];
param.intensity = 100;
[self.effects setPortraitSegmentationBackgroundBlurParam:param];
// 开启人像分割背景虚化
[self.effects enablePortraitSegmentationBackgroundBlur:YES];
// 设置人像分割背景虚化参数
ZegoEffectsBlurParam *param = [[ZegoEffectsBlurParam alloc] init];
param.intensity = 100;
[self.effects setPortraitSegmentationBackgroundBlurParam:param];
// 开启人像分割背景虚化
mEffects.enablePortraitSegmentationBackgroundBlur(true);
// 设置人像分割背景虚化参数
ZegoEffectsBlurParam param = new ZegoEffectsBlurParam();
param.intensity = 100;
mEffects.setPortraitSegmentationBackgroundBlurParam(param);
// 开启人像分割背景虚化
mEffects.enablePortraitSegmentationBackgroundBlur(true);
// 设置人像分割背景虚化参数
ZegoEffectsBlurParam param = new ZegoEffectsBlurParam();
param.intensity = 100;
mEffects.setPortraitSegmentationBackgroundBlurParam(param);
// 开启人像分割背景虚化
zego_effects_enable_portrait_segmentation_background_blur(handle, true);
// 设置人像分割背景虚化参数
zego_effects_blur_param param{};
param.intensity = 100;
zego_effects_set_portrait_segmentation_background_blur_param(handle, ¶m);
// 开启人像分割背景虚化
zego_effects_enable_portrait_segmentation_background_blur(handle, true);
// 设置人像分割背景虚化参数
zego_effects_blur_param param{};
param.intensity = 100;
zego_effects_set_portrait_segmentation_background_blur_param(handle, ¶m);
// 开启人像分割背景虚化
ZegoEffectsPlugin.instance.enablePortraitSegmentationBackgroundBlur(true);
// 设置人像分割背景虚化参数
ZegoEffectsBlurParam param = ZegoEffectsBlurParam();
param.intensity = 100;
ZegoEffectsPlugin.instance.setPortraitSegmentationBackgroundBlurParam(param);
// 开启人像分割背景虚化
ZegoEffectsPlugin.instance.enablePortraitSegmentationBackgroundBlur(true);
// 设置人像分割背景虚化参数
ZegoEffectsBlurParam param = ZegoEffectsBlurParam();
param.intensity = 100;
ZegoEffectsPlugin.instance.setPortraitSegmentationBackgroundBlurParam(param);
// 开启人像分割背景虚化
mEffects.enablePortraitSegmentationBackgroundBlur(true);
// 设置人像分割背景虚化参数
mEffects.setPortraitSegmentationBackgroundBlurParam({ intensity: 100 });
// 开启人像分割背景虚化
mEffects.enablePortraitSegmentationBackgroundBlur(true);
// 设置人像分割背景虚化参数
mEffects.setPortraitSegmentationBackgroundBlurParam({ intensity: 100 });
人像分割背景马赛克
调用 enablePortraitSegmentationBackgroundMosaic 接口开启人像分割背景马赛克功能,打开马赛克功能后可调用 setPortraitSegmentationBackgroundMosaicParam 接口设置 ZegoEffectsMosaicParam 对象的 “intensity” 参数参数,调整马赛克的程度。
开启人像分割背景马赛克功能后,会覆盖自定义背景及背景虚化功能。
// 开启人像分割背景马赛克
[self.effects enablePortraitSegmentationBackgroundMosaic:YES];
// 设置人像分割背景马赛克参数
ZegoEffectsMosaicParam *param = [[ZegoEffectsMosaicParam alloc] init];
param.intensity = 100;
[self.effects setPortraitSegmentationBackgroundMosaicParam:param];
// 开启人像分割背景马赛克
[self.effects enablePortraitSegmentationBackgroundMosaic:YES];
// 设置人像分割背景马赛克参数
ZegoEffectsMosaicParam *param = [[ZegoEffectsMosaicParam alloc] init];
param.intensity = 100;
[self.effects setPortraitSegmentationBackgroundMosaicParam:param];
// 开启人像分割背景马赛克
mEffects.enablePortraitSegmentationBackgroundMosaic(true);
// 设置人像分割背景马赛克参数
ZegoEffectsMosaicParam param = new ZegoEffectsMosaicParam();
param.intensity = 100;
mEffects.setPortraitSegmentationBackgroundMosaicParam(param);
// 开启人像分割背景马赛克
mEffects.enablePortraitSegmentationBackgroundMosaic(true);
// 设置人像分割背景马赛克参数
ZegoEffectsMosaicParam param = new ZegoEffectsMosaicParam();
param.intensity = 100;
mEffects.setPortraitSegmentationBackgroundMosaicParam(param);
// 开启人像分割背景马赛克
zego_effects_enable_portrait_segmentation_background_mosaic(handle, true);
// 设置人像分割背景马赛克参数
zego_effects_mosaic_param param{};
param.intensity = 100;
param.type = zego_effects_mosaic_type::zego_effects_mosaic_type_square;
zego_effects_set_portrait_segmentation_background_mosaic_param(handle, ¶m);
// 开启人像分割背景马赛克
zego_effects_enable_portrait_segmentation_background_mosaic(handle, true);
// 设置人像分割背景马赛克参数
zego_effects_mosaic_param param{};
param.intensity = 100;
param.type = zego_effects_mosaic_type::zego_effects_mosaic_type_square;
zego_effects_set_portrait_segmentation_background_mosaic_param(handle, ¶m);
// 开启人像分割背景马赛克
ZegoEffectsPlugin.instance.enablePortraitSegmentationBackgroundMosaic(true);
// 设置人像分割背景马赛克参数
ZegoEffectsMosaicParam param = ZegoEffectsMosaicParam();
param.intesity = 100;
ZegoEffectsPlugin.instance.setPortraitSegmentationBackgroundMosaicParam(param);
// 开启人像分割背景马赛克
ZegoEffectsPlugin.instance.enablePortraitSegmentationBackgroundMosaic(true);
// 设置人像分割背景马赛克参数
ZegoEffectsMosaicParam param = ZegoEffectsMosaicParam();
param.intesity = 100;
ZegoEffectsPlugin.instance.setPortraitSegmentationBackgroundMosaicParam(param);
// 开启人像分割背景马赛克
mEffects.enablePortraitSegmentationBackgroundMosaic(true);
// 设置人像分割背景马赛克参数
mEffects.setPortraitSegmentationBackgroundMosaicParam({ intensity: 100 });
// 开启人像分割背景马赛克
mEffects.enablePortraitSegmentationBackgroundMosaic(true);
// 设置人像分割背景马赛克参数
mEffects.setPortraitSegmentationBackgroundMosaicParam({ intensity: 100 });
绿幕分割
- 调用 setChromaKeyBackgroundPath 或 setChromaKeyBackgroundBuffer 接口,设置绿幕分割使用的背景路径或背景 Buffer(二选一)。
// 设置绿幕分割使用的背景路径(和设置 Buffer 的方式二选一即可)
[self.effects setChromaKeyBackgroundPath: @"MY_BACKGROUND_PATH" mode:ZegoEffectsScaleModeAspectFill];
// 设置绿幕分割使用的背景 Buffer(和设置路径的方式二选一即可)
[self.effects setChromaKeyBackgroundBuffer:pixelbuffer mode:ZegoEffectsScaleModeAspectFill];
// 设置绿幕分割使用的背景路径(和设置 Buffer 的方式二选一即可)
[self.effects setChromaKeyBackgroundPath: @"MY_BACKGROUND_PATH" mode:ZegoEffectsScaleModeAspectFill];
// 设置绿幕分割使用的背景 Buffer(和设置路径的方式二选一即可)
[self.effects setChromaKeyBackgroundBuffer:pixelbuffer mode:ZegoEffectsScaleModeAspectFill];
-
调用 setChromaKeyBackgroundPath、setChromaKeyBackgroundBuffer 或 setChromaKeyBackgroundTexture 接口,设置绿幕分割使用自定义背景路径、背景 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);
// 设置绿幕分割使用的背景路径(和设置 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);
- 调用 zego_effects_set_chroma_key_background_path、zego_effects_set_chroma_key_background_buffer 或 zego_effects_set_chroma_key_background_texture 接口,设置绿幕分割使用的背景路径、背景 Buffer 或背景 Texture(三选一)。
// 设置绿幕分割使用的背景路径(和设置 Buffer、Texture 的方式三选一即可)
zego_effects_set_chroma_key_background_path(handle, "MY_BACKGROUND_PATH", zego_effects_scale_mode_aspect_fill);
// 设置绿幕分割使用的背景 Buffer(和设置路径、Texture 的方式三选一即可)
zego_effects_set_chroma_key_background_buffer(handle, buffer, buffer_length, param, zego_effects_scale_mode_aspect_fill);
// 设置绿幕分割使用的背景 Texture(和设置路径、Buffer 的方式三选一即可)
zego_effects_set_chroma_key_background_texture(handle, texture_id, param, zego_effects_scale_mode_aspect_fill);
// 设置绿幕分割使用的背景路径(和设置 Buffer、Texture 的方式三选一即可)
zego_effects_set_chroma_key_background_path(handle, "MY_BACKGROUND_PATH", zego_effects_scale_mode_aspect_fill);
// 设置绿幕分割使用的背景 Buffer(和设置路径、Texture 的方式三选一即可)
zego_effects_set_chroma_key_background_buffer(handle, buffer, buffer_length, param, zego_effects_scale_mode_aspect_fill);
// 设置绿幕分割使用的背景 Texture(和设置路径、Buffer 的方式三选一即可)
zego_effects_set_chroma_key_background_texture(handle, texture_id, param, zego_effects_scale_mode_aspect_fill);
- 调用 setChromaKeyBackgroundPath 方法,设置绿幕分割使用自定义背景路径。
// 设置绿幕分割使用的背景路径
ZegoEffectsPlugin.instance.setChromaKeyBackgroundPath("MY_BACKGROUND_PATH", ZegoEffectsScaleMode.AspectFill);
// 设置绿幕分割使用的背景路径
ZegoEffectsPlugin.instance.setChromaKeyBackgroundPath("MY_BACKGROUND_PATH", ZegoEffectsScaleMode.AspectFill);
// 设置绿幕分割使用的背景路径
mEffects.setChromaKeyBackgroundPath("MY_BACKGROUND_PATH", ZegoEffectsScaleMode.ASPECT_FILL);
// 设置绿幕分割使用的背景路径
mEffects.setChromaKeyBackgroundPath("MY_BACKGROUND_PATH", ZegoEffectsScaleMode.ASPECT_FILL);
- 调用 enableChromaKey 接口开启绿幕分割功能,然后调用 setChromaKeyParam 接口设置参数,调整颜色容差、边缘平滑指数等。
// 开启功能
[self.effects enableChromaKey:YES]
// 设置绿幕参数
ZegoEffectsChromaKeyParam *param = [[ZegoEffectsChromaKeyParam alloc] init];
[self.effects setChromaKeyParam:param];
// 开启功能
[self.effects enableChromaKey:YES]
// 设置绿幕参数
ZegoEffectsChromaKeyParam *param = [[ZegoEffectsChromaKeyParam alloc] init];
[self.effects setChromaKeyParam:param];
// 开启绿幕分割功能
mEffects.enableChromaKey(true);
// 设置绿幕分割参数
ZegoEffectsChromaKeyParam param = new ZegoEffectsChromaKeyParam();
mEffects.setChromaKeyParam(param);
// 开启绿幕分割功能
mEffects.enableChromaKey(true);
// 设置绿幕分割参数
ZegoEffectsChromaKeyParam param = new ZegoEffectsChromaKeyParam();
mEffects.setChromaKeyParam(param);
// 开启绿幕分割功能
zego_effects_enable_chroma_key(handle, true);
// 获取绿幕参数的默认值,并设置
zego_effects_chroma_key_param param{};
zego_effects_get_default_chroma_key_param(handle, ¶m);
zego_effects_set_chroma_key_param(param);
// 开启绿幕分割功能
zego_effects_enable_chroma_key(handle, true);
// 获取绿幕参数的默认值,并设置
zego_effects_chroma_key_param param{};
zego_effects_get_default_chroma_key_param(handle, ¶m);
zego_effects_set_chroma_key_param(param);
// 开启绿幕分割功能
ZegoEffectsPlugin.instance.enableChromaKey(true);
// 设置绿幕分割参数
ZegoEffectsChromaKeyParam param = ZegoEffectsChromaKeyParam();
param.smoothness = 80;
param.opacity = 100;
param.keyColor = 65280;
param.similarity = 67;
ZegoEffectsPlugin.instance.setChromaKeyParam(param);
// 开启绿幕分割功能
ZegoEffectsPlugin.instance.enableChromaKey(true);
// 设置绿幕分割参数
ZegoEffectsChromaKeyParam param = ZegoEffectsChromaKeyParam();
param.smoothness = 80;
param.opacity = 100;
param.keyColor = 65280;
param.similarity = 67;
ZegoEffectsPlugin.instance.setChromaKeyParam(param);
// 开启绿幕分割功能
mEffects.enableChromaKey(true);
// 设置绿幕分割参数
let param = new ZegoEffectsChromaKeyParam();
param.smoothness = 80;
param.opacity = 100;
param.keyColor = 65280;
param.similarity = 67;
mEffects.setChromaKeyParam(param);
// 开启绿幕分割功能
mEffects.enableChromaKey(true);
// 设置绿幕分割参数
let param = new ZegoEffectsChromaKeyParam();
param.smoothness = 80;
param.opacity = 100;
param.keyColor = 65280;
param.similarity = 67;
mEffects.setChromaKeyParam(param);
开启绿幕分割功能后,开发者可以根据需要进一步设置背景虚化、背景马赛克等功能。
绿幕分割背景虚化
调用 enableChromaKeyBackgroundBlur 接口开启绿幕背景虚化功能,打开虚化功能后可调用 setChromaKeyBackgroundBlurParam 接口设置 ZegoEffectsBlurParam 对下的 “intensity” 参数,调整虚化的程度。
开启绿幕分割背景虚化功能后,会覆盖自定义背景及背景马赛克功能。
// 开启绿幕分割背景虚化
[self.effects enableChromaKeyBackgroundBlur:YES];
// 设置绿幕分割背景虚化参数
ZegoEffectsBlurParam *param = [[ZegoEffectsBlurParam alloc] init];
param.intensity = 100;
[self.effects setChromaKeyBackgroundBlurParam:param];
// 开启绿幕分割背景虚化
[self.effects enableChromaKeyBackgroundBlur:YES];
// 设置绿幕分割背景虚化参数
ZegoEffectsBlurParam *param = [[ZegoEffectsBlurParam alloc] init];
param.intensity = 100;
[self.effects setChromaKeyBackgroundBlurParam:param];
// 开启绿幕分割背景虚化
mEffects.enableChromaKeyBackgroundBlur(true);
// 设置绿幕分割背景虚化参数
ZegoEffectsBlurParam param = new ZegoEffectsBlurParam();
param.intensity = 100;
mEffects.setChromaKeyBackgroundBlurParam(param);
// 开启绿幕分割背景虚化
mEffects.enableChromaKeyBackgroundBlur(true);
// 设置绿幕分割背景虚化参数
ZegoEffectsBlurParam param = new ZegoEffectsBlurParam();
param.intensity = 100;
mEffects.setChromaKeyBackgroundBlurParam(param);
// 开启绿幕分割背景虚化
zego_effects_enable_chroma_key_background_blur(handle, true);
// 设置绿幕分割背景虚化参数
zego_effects_blur_param param{};
param.intensity = 100;
zego_effects_set_chroma_key_background_blur_param(handle, ¶m);
// 开启绿幕分割背景虚化
zego_effects_enable_chroma_key_background_blur(handle, true);
// 设置绿幕分割背景虚化参数
zego_effects_blur_param param{};
param.intensity = 100;
zego_effects_set_chroma_key_background_blur_param(handle, ¶m);
// 开启绿幕分割背景虚化
ZegoEffectsPlugin.instance.enableChromaKeyBackgroundBlur(true);
// 设置绿幕分割背景虚化参数
ZegoEffectsBlurParam param = ZegoEffectsBlurParam();
param.intensity = 100;
ZegoEffectsPlugin.instance.setChromaKeyBackgroundBlurParam(param);
// 开启绿幕分割背景虚化
ZegoEffectsPlugin.instance.enableChromaKeyBackgroundBlur(true);
// 设置绿幕分割背景虚化参数
ZegoEffectsBlurParam param = ZegoEffectsBlurParam();
param.intensity = 100;
ZegoEffectsPlugin.instance.setChromaKeyBackgroundBlurParam(param);
// 开启绿幕分割背景虚化
mEffects.enableChromaKeyBackgroundBlur(true);
// 设置绿幕分割背景虚化参数
mEffects.setChromaKeyBackgroundBlurParam({ intensity: 100 });
// 开启绿幕分割背景虚化
mEffects.enableChromaKeyBackgroundBlur(true);
// 设置绿幕分割背景虚化参数
mEffects.setChromaKeyBackgroundBlurParam({ intensity: 100 });
绿幕分割背景马赛克
调用 enableChromaKeyBackgroundMosaic 接口开启绿幕背景马赛克功能,打开马赛克功能后可调用 setChromaKeyBackgroundMosaicParam 接口设置 ZegoEffectsMosaicParam 对象的 “intensity” 参数,调整马赛克的程度。
开启绿幕分割背景马赛克功能后,会覆盖自定义背景及背景虚化功能。
// 开启绿幕分割背景马赛克
[self.effects enableChromaKeyBackgroundMosaic:YES];
// 设置绿幕分割背景马赛克参数
ZegoEffectsMosaicParam *param = [[ZegoEffectsMosaicParam alloc] init];
param.intensity = 100;
[self.effects setChromaKeyBackgroundMosaicParam:param];
// 开启绿幕分割背景马赛克
[self.effects enableChromaKeyBackgroundMosaic:YES];
// 设置绿幕分割背景马赛克参数
ZegoEffectsMosaicParam *param = [[ZegoEffectsMosaicParam alloc] init];
param.intensity = 100;
[self.effects setChromaKeyBackgroundMosaicParam:param];
// 开启绿幕分割背景马赛克
mEffects.enableChromaKeyBackgroundMosaic(true);
// 设置绿幕分割背景马赛克参数
ZegoEffectsMosaicParam param = new ZegoEffectsMosaicParam();
param.intensity = 100;
mEffects.setChromaKeyBackgroundMosaicParam(param);
// 开启绿幕分割背景马赛克
mEffects.enableChromaKeyBackgroundMosaic(true);
// 设置绿幕分割背景马赛克参数
ZegoEffectsMosaicParam param = new ZegoEffectsMosaicParam();
param.intensity = 100;
mEffects.setChromaKeyBackgroundMosaicParam(param);
// 开启绿幕分割背景马赛克
zego_effects_enable_chroma_key_background_mosaic(handle, true);
// 设置绿幕分割背景马赛克参数
zego_effects_mosaic_param param;
param.intensity = 100;
param.type = zego_effects_mosaic_type::zego_effects_mosaic_type_square;
zego_effects_set_chroma_key_background_mosaic_param(handle, ¶m);
// 开启绿幕分割背景马赛克
zego_effects_enable_chroma_key_background_mosaic(handle, true);
// 设置绿幕分割背景马赛克参数
zego_effects_mosaic_param param;
param.intensity = 100;
param.type = zego_effects_mosaic_type::zego_effects_mosaic_type_square;
zego_effects_set_chroma_key_background_mosaic_param(handle, ¶m);
// 开启绿幕分割背景马赛克
ZegoEffectsPlugin.instance.enableChromaKeyBackgroundMosaic(true);
// 设置绿幕分割背景马赛克参数
ZegoEffectsBlurParam param = ZegoEffectsBlurParam();
param.intensity = 100;
ZegoEffectsPlugin.instance.setChromaKeyBackgroundMosaicParam(param);
// 开启绿幕分割背景马赛克
ZegoEffectsPlugin.instance.enableChromaKeyBackgroundMosaic(true);
// 设置绿幕分割背景马赛克参数
ZegoEffectsBlurParam param = ZegoEffectsBlurParam();
param.intensity = 100;
ZegoEffectsPlugin.instance.setChromaKeyBackgroundMosaicParam(param);
// 开启绿幕分割背景马赛克
mEffects.enableChromaKeyBackgroundMosaic(true);
// 设置绿幕分割背景马赛克参数
mEffects.setChromaKeyBackgroundMosaicParam({ intensity: 100 });
// 开启绿幕分割背景马赛克
mEffects.enableChromaKeyBackgroundMosaic(true);
// 设置绿幕分割背景马赛克参数
mEffects.setChromaKeyBackgroundMosaicParam({ intensity: 100 });