1 背景分割功能简介

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

2 视频中背景分割功能实现的前提条件

在使用 ZegoEffects SDK AI视觉SDK的背景分割功能前,请确保:

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即时通讯一个月免费试用 "产品优惠;

Android如何实现实时音视频会议的背景分割的更多相关文章

  1. 用声网 Android UIKit 为实时视频通话应用添加自定义背景丨声网 SDK 教程

    使用声网 SDK 和 UIKit 创建视频推流应用非常简单,而且声网还有许多功能,可以提高视频通话的质量和便利性.例如,我们可以在视频通话过程中使用虚拟背景,为视频通话增添趣味性. 我们可以通过以下三 ...

  2. 腾讯互动白板+即时通讯+实时音视频,Android学生端接入

    腾讯互动白板+即时通讯+实时音视频,Android学生端接入 一.简介 线上教学方案:腾讯云互动白板(Tencent Interactive Whiteboard,TIW)+即时通信(Instant ...

  3. 了不起的WebRTC:生态日趋完善,或将实时音视频技术白菜化

    本文原文由声网WebRTC技术专家毛玉杰分享. 1.前言 有人说 2017 年是 WebRTC 的转折之年,2018 年将是 WebRTC 的爆发之年,这并非没有根据.就在去年(2017年),WebR ...

  4. 实时音视频互动系列(下):基于 WebRTC 技术的实战解析

    在 WebRTC 项目中,又拍云团队做到了覆盖系统全局,保证项目进程流畅.这牵涉到主要三大块技术点: 网络端.服务端的开发和传输算法 WebRTC 协议中牵扯到服务端的应用协议和信令服务 客户端iOS ...

  5. 声网 X 远程超声:实时音视频解决基层“看病难” 推动医疗资源均衡化

    实时互联网像触角一样,通过情景的共享延伸开来,链接着我们彼此的线下.线上生活,形成一张不可分割的网络.随着社交直播.在线教育.视频会议成为大众生活不可或缺的一部分的同时,智能手表.智能作业灯.视频双录 ...

  6. 转 Android RadioButton设置选中时文字和背景颜色同时改变

    主要应用在购物车,像淘宝的那样,点击以后弹出一个选择种类颜色这样的popuwindow以后,然后这个选择种类的地方要用到类似这个玩意儿. 搜了一下,效果和这个文章一致.转了. 原文地址:http:// ...

  7. 实时音视频互动系列(上):又拍云UTUN网络详解

    如何定义实时音视频互动, 延迟 400ms 内才能无异步感 实时音视频互动如果存在1秒左右的延时会给交流者带来异步感,必须将视频播放延迟限制在400ms以内,才能给用户较好的交互体验. 当延迟控制在4 ...

  8. 融云携新版实时音视频亮相 LiveVideoStack 2019

    4 月 19 日,LiveVideoStack 2019 音视频大会在上海隆重开幕,全球多媒体创新专家.音视频技术工程师.产品负责人.高端行业用户等共襄盛会,聚焦音频.视频.图像.AI 等技术的最新探 ...

  9. 小程序升级实时音视频录制及播放能力,开放 Wi-Fi、NFC(HCE) 等硬件连接功能

    “ 小程序升级实时音视频录制及播放能力,开放 Wi-Fi.NFC(HCE) 等硬件连接功能.同时提供按需加载.自定义组件和更多访问层级等新特性,增强了第三方平台的能力,以满足日趋丰富的业务需求.” 0 ...

  10. Android RadioButton设置选中时文字和背景颜色同时改变

    主要应用在购物车,像淘宝的那样,点击以后弹出一个选择种类颜色这样的popuwindow以后,然后这个选择种类的地方要用到类似这个玩意儿. 搜了一下,效果和这个文章一致.转了. 原文地址:http:// ...

随机推荐

  1. 实战:Dify智能体+Java=自动化运营工具!

    我们在运营某个圈子的时候,可能每天都要将这个圈子的"热门新闻"发送到朋友圈或聊天群里,但依靠传统的实现手段非常耗时耗力,我们通常要先收集热门新闻,再组装要新闻内容,再根据内容设计海 ...

  2. UML类图-UML Class Diagram

    .wj_nav { display: inline-block; width: 100%; margin-top: 0; margin-bottom: 0.375rem } .wj_nav_1 { p ...

  3. K8s中的污点和容忍

    概述 官方文档:https://kubernetes.io/zh-cn/docs/concepts/scheduling-eviction/taint-and-toleration/ 污点是作用在k8 ...

  4. 五分钟扫盲:25个工作中常用的Linux命令

    目录 §基础篇 cd 命令 ls / ll 和 clear 命令 grep 命令 : 查找关键字 find命令 kill tail cp命令 mv命令 rm命令 mkdir命令 rmdir 命令 ca ...

  5. CF1988D The Omnipotent Monster Killer

    CF1988D The Omnipotent Monster Killer 本文同步于我的网站. Problem 怪物们在一棵有 \(n\) 个顶点的树上,编号为 \(i(1\le i\le n)\) ...

  6. js加密手机号码中间四位方法

    一.实现效果: 二.方法代码封装: 方法一: //encryptPhoneNumber.ts /** * 加密手机号码中间四位 * @param phone 手机号 * @returns { stri ...

  7. 爆肝整理!0 基础 AI 编程必拿的 3 大神器:源码一键跑 + 推广秘籍 + 私教答疑

    2025年预期的 AI 应用爆发并没有到来,但是编程领域却是个特例.AI 编程工具正在引领大模型落地的浪潮,展现出明显的产品市场契合度(Product Market Fit,PMF). 那么在全面智能 ...

  8. STM32深度学习实战

    STM32深度学习实战 1. 前言 ​ 本文主要记录基于 tensorflow 的简单模型在 stm32 上运行测试的调试记录,开发人员应对深度学习基础理论和 tensorflow 框架基础操作有一定 ...

  9. 12-搭建小实战和Sequential使用

    1. 神经网络 ① 把网络结构放在Sequential里面,好处就是代码写起来比较简介.易懂. ② 可以根据神经网络每层的尺寸,根据下图的公式计算出神经网络中的参数. 2. 搭建神经网络 import ...

  10. 十二、buildroot系统 adb登录权限设置

    4.6.4.adb权限设置 ​ android-adbd 是 ADB(Android Debug Bridge)的守护进程,允许开发者远程访问和调试设备.它通常用于 Android 设备,但在嵌入式 ...