Android如何实现实时音视频会议的背景分割
1 背景分割功能簡介
ZegoEffects SDK AI視覺SDK提供背景分割功能,適用于在線教育、視頻會議、美發、短視頻等多種場景。
2 視頻中背景分割功能實現的前提條件
在使用 ZegoEffects SDK AI視覺SDK的背景分割功能前,請確保:
- 已在項目中集成 ZegoEffects SDK,實現基本的圖像處理功能,詳情請參考 快速開始 - 集成 SDK。
- 導入 “SegmentationModel” 模型路徑,詳情請參考 快速開始 - 導入資源和模型。
3 AI視覺SDK使用步驟
背景分割包括人像分割、綠幕分割,以及背景虛化、背景馬賽克等功能。
3.1 人像分割
使用人像分割功能前,請先導入對應的 “SegmentationModel” 模型文件,否則功能無法生效。詳情請參考 快速開始 - 導入資源和模型。
調用 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);調用 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 綠幕分割
調用 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);調用 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如何实现实时音视频会议的背景分割的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ebistrategy亦策软件提升仙婷贸
- 下一篇: 自学编程的妙方法,直接省了几万块钱报班,