本申请提供一种对图像背景进行透明处理的方法,所述方法由虚幻引擎执行,所述方法包括:基于指定的触发信号,将目标对象的渲染结果写入可被跨进程访问的目标纹理,生成目标纹理句柄,其中,所述渲染结果的背景色为透明;将所述目标纹理句柄写入到可被跨进程访问的内存,以供其他进程读取所述目标纹理句柄,并基于所述目标纹理句柄,访问所述虚幻引擎的所述目标纹理,生成包含目标对象且背景色为透明的图像。图像。图像。
【技术实现步骤摘要】
对图像背景进行透明处理的方法、装置、系统及电子设备
[0001]本申请涉及图像处理
,尤其涉及一种对图像背景进行透明处理的方法、装置、直播系统、电子设备及计算机可读存储介质。
技术介绍
[0002]在直播应用场景中,某些情况下,需要对当前帧图像进行背景去除,即保留当前帧中的目标对象,将其余部分进行透明处理。相关技术中,基于虚幻引擎所制作的直播图像,如果要进行背景透明,一般通过在开播端使用绿幕抠图的方式实现:基于开源软件OBS(Open Broadcaster Software)的色度键功能将除了目标对象以外的背景设置为纯绿色,然后将该纯绿色区域的颜色设置为透明,达到背景去除的目的。
[0003]然而,由于OBS自身功能的限制,在当前图像的目标对象包含半透明颜色时,OBS会将半透明颜色区域也设置为透明,即将不该进行背景去除的区域也进行了背景透明。那么,人物、礼物等目标对象就不能有半透明的效果,限制了对虚拟对象半透明颜色的使用。
技术实现思路
[0004]为克服相关技术中存在的问题,本申请提供了一种对图像背景进行透明处理的方法、装置、直播系统、电子设备及计算机可读存储介质。
[0005]根据本申请实施例的第一方面,提供一种对图像背景进行透明处理的方法,所述方法由虚幻引擎执行,所述方法包括:基于指定的触发信号,将目标对象的渲染结果写入可被跨进程访问的目标纹理,生成目标纹理句柄,其中,所述渲染结果的背景色为透明;将所述目标纹理句柄写入到可被跨进程访问的内存,以供其他进程读取所述目标纹理句柄,并基于所述目标纹理句柄,访问虚幻引擎的所述目标纹理,生成包含目标对象且背景色为透明的图像。
[0006]根据本申请实施例的第二方面,提供一种开播端对图像背景的透明处理方法,所述方法由开播端执行,所述方法包括:访问虚幻引擎中可被跨进程访问的内存,获取目标纹理句柄,所述目标纹理句柄在虚幻引擎基于指定的触发信号,将目标对象的渲染结果写入可被跨进程访问的目标纹理的过程中生成,其中,所述渲染结果的背景色为透明;基于所述目标纹理句柄,访问虚幻引擎中的所述目标纹理,生成包含目标对象且背景色为透明的图像。
[0007]根据本申请实施例的第三方面,提供一种对图像背景进行透明处理的装置,所述装置包括:第一写入装置,用于基于指定的触发信号,将目标对象的渲染结果写入可被跨进程访问的目标纹理,生成目标纹理句柄,其中,所述渲染结果的背景色为透明;第二写入装置,用于将所述目标纹理句柄写入到可被跨进程访问的内存,以供其他进程读取所述目标纹理句柄,并基于所述目标纹理句柄,访问所述目标纹理,生成包含目标对象且背景色为透明的图像。
[0008]根据本申请实施例的第四方面,提供一种直播系统,所述系统包括虚幻引擎和开
播端;其中,所述虚幻引擎,用于基于指定的触发信号,将目标对象的渲染结果写入可被跨进程访问的目标纹理,生成目标纹理句柄,其中,所述渲染结果的背景色为透明,并将所述目标纹理句柄写入到可被跨进程访问的内存;所述开播端,用于从所述可被跨进程访问的内容中读取所述目标纹理句柄,并基于所述目标纹理句柄,访问虚幻引擎中的所述目标纹理,生成包含目标对象且背景色为透明的图像。
[0009]根据本申请实施例的第五方面,提供一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请第一方面或第二方面所述的方法。
[0010]根据本申请实施例的第六方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本申请第一方面或第二方面所述的方法。
[0011]本申请的实施例提供的技术方案可以包括以下有益效果:
[0012]基于本申请实施例所述的方法,利用了虚幻引擎制作图像的过程中所获得的目标对象的渲染结果,其中所述渲染结果的背景色为透明。通过将所述目标对象的渲染结果写入到可被跨进程访问的目标纹理中,生成的目标纹理句柄;然后将目标纹理句柄写入到可被跨进程访问的内存中,以供其他线程,例如开播端,基于所述目标纹理句柄,直接获取包含目标对象且背景色为透明的图像。可以看到,通过本申请实施例所述的方法,利用虚幻引擎设置图像的背景色为透明,并供其他线程读取,能够使其他线程直接读取到背景色为透明的图像,避免了使用OBS进行背景透明时,对半透明对象不适用的问题。
[0013]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
[0014]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0015]图1A是本申请根据一示例性实施例示出的一种利用OBS来实现绿幕抠图的编辑窗口示意图。
[0016]图1B是本申请根据一示例性实施例示出的一种未进行背景透明的原图像。
[0017]图1C是是本申请根据一示例性实施例示出的一种利用OBS软件进行背景透明的效果示意图。
[0018]图2是本申请根据一示例性实施例示出的一种对图像背景进行透明处理的方法的流程图。
[0019]图3是本申请根据一示例性实施例示出的一种基于虚幻引擎为预先创建的摄像机创建场景捕捉二维组件的视图窗口示意图。
[0020]图4是本申请根据一示例性实施例示出的一种基于本申请实施例对包含目标对象的图像进行背景透明的处理结果图。
[0021]图5是本申请根据一示例性实施例示出的一种开播端对图像背景的透明处理方法的流程图。
[0022]图6是本申请根据一示例性实施例示出的一种对图像背景进行透明处理的装置的
结构框图。
[0023]图7是本申请根据一示例性实施例示出的一种直播系统的结构框图。
[0024]图8是本申请根据一示例性实施例示出的一种电子设备的结构框图。
具体实施方式
[0025]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
[0026]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0027]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种对图像背景进行透明处理的方法,其特征在于,所述方法由虚幻引擎执行,所述方法包括:基于指定的触发信号,将目标对象的渲染结果写入可被跨进程访问的目标纹理,生成目标纹理句柄,其中,所述渲染结果的背景色为透明;将所述目标纹理句柄写入到可被跨进程访问的内存,以供其他进程读取所述目标纹理句柄,并基于所述目标纹理句柄,访问虚幻引擎的所述目标纹理,生成包含目标对象且背景色为透明的图像。2.根据权利要求1所述的方法,其特征在于,所述指定的触发信号为虚幻引擎的指定线程的更新信号,所述指定线程为客户端视口。3.根据权利要求1所述的方法,其特征在于,所述目标对象的渲染结果,通过以下方式获取:监听虚幻引擎的渲染进程的端口;当确定所述渲染进程启动时,将场景捕捉二维组件所存储的渲染数据渲染到渲染目标资源,获得所述目标对象的渲染结果;其中,所述场景捕捉二维组件和渲染目标资源在所述渲染进程启动之前关联创建,所述渲染目标资源的格式包含透明参数通道,所述场景捕捉二维组件所存储的渲染数据为包含所述目标对象且背景色为透明的图像的渲染数据。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在将目标对象的渲染结果写入可被跨进程访问的目标纹理的过程中,对所述目标对象的渲染结果进行高动态范围到低动态范围的色调转换;其中,所述高动态范围的动态范围大于第一阈值,所述低动态范围的动态范围低于第二阈值。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在将目标对象的渲染结果写入可被跨进程访问的目标纹理的过程中,对所述渲染结果的透明参数通道和RGB通道的值进行指定方式的混合处理。6.一种开播端对图像背景的透明处理方法,其特征在于,所述方法由开播端执行,所述方法包括:...
【专利技术属性】
技术研发人员:吴昊,
申请(专利权)人:广州虎牙科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。