最近,“你的背景太假了”刷遍全网。由于身后风景优美,网友质疑背景太假。某主播为了证明自己,直接把手里的水桶丢到身后的水里。短短几天,浏览量就达到了数十亿,引发了全网的P图狂潮。网友将他们在短视频App中的头像剪掉,换上了不同的背景。各种创意视频迅速成为热搜。如今,视频人像抠图有着广泛的应用。在直播APP中,可以为人像添加各种背景效果、贴纸和道具,提供更丰富的娱乐氛围;会议APP中可更换背景,保护用户隐私;在教育APP中,背景可以更换为课件等内容;短视频App中的人像抠图可以给用户更大的发挥空间,无需绿屏拍摄和后期制作,即可轻松拍出震撼人心的穿越时空大片。那么,APP是如何实现一键人像提取功能的呢?HMSCore视频剪辑服务提供人像和头部分割能力,支持对输入的视频或图片进行人像或头部分割,生成分割后的视频、图片或贴纸。开发步骤1.开发准备详细准备步骤请参考华为开发者联盟官网。2.编辑项目集成2.1设置应用认证信息您可以通过api_key或AccessToken设置应用认证信息。通过setAccessToken方法设置AccessToken,在应用启动时初始化一次,无需多次设置。MediaApplication.getInstance().setAccessToken("你的访问令牌");通过setApiKey方法设置api_key,应用启动时初始化一次,无需多次设置。MediaApplication.getInstance().setApiKey("你的ApiKey");2.2设置唯一ID,即LicenseID。LicenseID是用于管理和控制的有效证书。您必须确保许可证ID的唯一性。MediaApplication.getInstance().setLicenseId("许可证ID");2.2.1初始化Editor运行环境创建一个编辑工程,首先需要创建一个Editor对象,并初始化它的运行环境。离开编辑项目时,应该释放Editor实例。(1)创建Editor对象HuaweiVideoEditoreditor=HuaweiVideoEditor.create(getApplicationContext());(2)指定预览窗口的布局位置。预览窗口负责视频画面的渲染,由VideoEditingAtomicAbilitySDK内部创建的SurfaceView实现。在创建窗口之前,您需要指定预览窗口在您的应用中的布局位置。//指定预览窗口LinearLayoutmSdkPreviewContainer=view.findViewById(R.id.video_content_layout);//设置预览窗口承载的布局editor.setDisplay(mSdkPreviewContainer);(3)初始化运行环境,如果license认证失败,将抛出LicenseException。Editor对象创建后,此时并不占用实际的系统资源,需要手动选择其环境初始化的时机。此时视频编辑原子能力SDK会创建必要的线程和定时器。尝试{editor.initEnvironment();}catch(LicenseExceptionerror){SmartLog.e(TAG,"initEnvironmentfailed:"+error.getErrorMsg());结束();返回;}3。人像与头部分割能力整合//初始化分割AI引擎。segPart为int类型,值为1时进行人像分割;值为other时,进行头部分割visibleAsset.initBodySegEngine(segPart,newHVEAIInitialCallback(){@OverridepublicvoidonProgress(intprogress){//初始化进度}@OverridepublicvoidonSuccess(){//初始化成功}@OverridepublicvoidonError(interrorCode,StringerrorMessage){//初始化失败}});//分割处理结果成功后,添加分割AI特效visibleAsset.addBodySegEffect(newHVEAIProcessCallback(){@OverridepublicvoidonProgress(intprogress){//分割AI特效处理进度}@OverridepublicvoidonSuccess(){//分割AI特效处理成功}@OverridepublicvoidonError(interrorCode,StringerrorMsg){//分割AI特效processingfailed}});//中断分割AI特效处理visibleAsset.interruptBodySegEffect();//移除分割AI特效visibleAsset.removeBodySegEffect();//释放分割AI引擎visibleAsset.releaseBodySegEngine();了解更多详情>>访问华为开发者联盟官网获取开发指导文档华为移动服务开源仓库地址:GitHub、Gitee关注我们,第一时间了解HMSCore最新技术资讯~