本发明涉及图片处理领域,具体而言,涉及一种图片处理方法和装置、存储介质及电子装置。
背景技术:
现有技术中,在投射在图片上的灯光发生变化的情况下,为了使图片中的对象(如人)更好的呈现灯光效果,通过所采用的方式是对图片采用3d模型,通过图片所在场景中布局实时光源或烘焙场景实现灯光投影,而采用这种方式,实时光源会消耗性能,在移动终端设备上会增加功耗,进而会给性能低的移动终端设备的运行造成卡顿现象,另,图片对象中的3d建模,成像会有锯齿。
针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明实施例提供了一种图片处理方法和装置、存储介质及电子装置,以至少解决现有技术中,对图片渲染增加移动终端设备的功耗,导致移动终端设备卡顿的技术问题。
根据本发明实施例的一个方面,提供了一种图片处理方法,包括:获取待渲染的第一图片;获取与所述第一图片对应的目标掩膜图片,其中,所述目标掩膜图片的g分量和b分量中的一个分量存储了第一灯光变化数据,所述目标掩膜图片的g分量和b分量中的另一个分量存储了第二灯光变化数据,所述第一灯光变化数据为在渲染所述第一图片时采用的位于所述第一图片左侧的灯光的变化数据,所述第二灯光变化数据为在渲染所述第一图片时采用的位于所述第一图片右侧的灯光的变化数据;使用所述目标掩膜图片对所述第一图片进行渲染,得到第二图片。
根据本发明实施例的另一方面,还提供了一种图片处理装置,包括:第一获取单元,用于获取待渲染的第一图片;第二获取单元,用于获取与所述第一图片对应的目标掩膜图片,其中,所述目标掩膜图片的g分量和b分量中的一个分量存储了第一灯光变化数据,所述目标掩膜图片的g分量和b分量中的另一个分量存储了第二灯光变化数据,所述第一灯光变化数据为在渲染所述第一图片时采用的位于所述第一图片左侧的灯光的变化数据,所述第二灯光变化数据为在渲染所述第一图片时采用的位于所述第一图片右侧的灯光的变化数据;渲染单元,用于使用所述目标掩膜图片对所述第一图片进行渲染,得到第二图片。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述图片处理方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的图片处理方法。
在本发明实施例中,通过获取待渲染的第一图片;获取与第一图片对应的目标掩膜图片,其中,目标掩膜图片的g分量和b分量中的一个分量存储了第一灯光变化数据,目标掩膜图片的g分量和b分量中的另一个分量存储了第二灯光变化数据,第一灯光变化数据为在渲染第一图片时采用的位于第一图片左侧的灯光的变化数据,第二灯光变化数据为在渲染第一图片时采用的位于第一图片右侧的灯光的变化数据;使用目标掩膜图片对第一图片进行渲染,得到第二图片,达到了通过图片的目标掩膜图片所存储的灯光的变化数据实现对图片的渲染的目的,从而避免采用3d模型,通过场景中布局实时光源或烘焙场景实现灯光投影,进而解决了现有技术中,对图片渲染增加移动终端设备的功耗,导致移动终端设备卡顿的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的图片处理方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的图片处理方法的流程图;
图3是根据本发明实施例的一种可选的对第一图片使用自定义着色器来完成渲染的流程图;
图4是根据本发明实施例的一种可选的gpu一次渲染的工程流程图;
图5是根据本发明实施例的一种可选的第一图片渲染结果的对比图;
图6是根据本发明实施例的一种可选的第一图片以及第一图片对应的mask图;
图7是根据本发明实施例的一种可选的图片处理装置的结构示意图;
图8是根据本发明实施例的一种可选的图片处理方法的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种图片处理方法,可选地,作为一种可选的实施方式,上述图片处理方法可以但不限于应用于如图1所示的硬件环境中的图片处理系统中,其中,该图片处理系统可以包括但不限于终端设备102、网络110及服务器112。其中,该终端设备102用于显示待处理渲染的第一图片,以及渲染第一图片得到的第二图片。
其中,上述终端设备102中可以包括但不限于:人机交互屏幕104,处理器106及存储器108。人机交互屏幕104用于通过人机交互接口获取人机交互指令,还用于呈现待渲染的第一图片;处理器106用于响应上述人机交互指令,使用第一图片对应的目标掩膜图片对第一图片进行渲染。存储器108用于存储待渲染的第一图片、第一图片对应的目标掩膜图片的属性信息。这里服务器可以包括但不限于:数据库114及处理引擎116,处理引擎116用于调用数据库114中存储的第一图片对应的目标掩膜图片,使用该目标掩膜图片对第一图片进行渲染,得到第二图片。达到了通过图片的目标掩膜图片所存储的灯光的变化数据实现对图片的渲染的目的,从而避免采用3d模型,通过场景中布局实时光源或烘焙场景实现灯光投影,进而解决了现有技术中,对图片渲染增加移动终端设备的功耗,导致移动终端设备卡顿的技术问题。
具体过程如以下步骤:在终端设备102中的人机交互屏幕104显示待渲染的第一图片(如图1所示射击游戏中的游戏画面,目标虚拟角色正在狙击远处的目标对象)。如步骤s102-s112,获取待渲染的第一图片,并将该第一图片通过网络110发送服务器112。在服务器112获取与第一图片对应的目标掩膜图片,其中,目标掩膜图片的g分量和b分量中的一个分量存储了第一灯光变化数据,目标掩膜图片的g分量和b分量中的另一个分量存储了第二灯光变化数据,第一灯光变化数据为在渲染第一图片时采用的位于第一图片左侧的灯光的变化数据,第二灯光变化数据为在渲染第一图片时采用的位于第一图片右侧的灯光的变化数据;使用目标掩膜图片对第一图片进行渲染,得到第二图片。然后将上述确定出的结果返回终端设备102。
然后,如步骤s102-s108,终端设备102获取待渲染的第一图片;获取与第一图片对应的目标掩膜图片,其中,目标掩膜图片的g分量和b分量中的一个分量存储了第一灯光变化数据,目标掩膜图片的g分量和b分量中的另一个分量存储了第二灯光变化数据,第一灯光变化数据为在渲染第一图片时采用的位于第一图片左侧的灯光的变化数据,第二灯光变化数据为在渲染第一图片时采用的位于第一图片右侧的灯光的变化数据;使用目标掩膜图片对第一图片进行渲染,得到第二图片,达到了通过图片的目标掩膜图片所存储的灯光的变化数据实现对图片的渲染的目的,从而避免采用3d模型,通过场景中布局实时光源或烘焙场景实现灯光投影,进而解决了现有技术中,对图片渲染增加移动终端设备的功耗,导致移动终端设备卡顿的技术问题。
可选地,在本实施例中,上述图片处理方法可以但不限于应用于服务器112中,用于协助应用客户端使用第一图片对应的掩膜图片对该第一图片进行渲染处理。其中,上述应用客户端可以但不限于运行在终端设备102中,该终端设备102可以但不限于为手机、平板电脑、笔记本电脑、pc机等支持运行应用客户端的终端设备。上述服务器112和终端设备102可以但不限于通过网络实现数据交互,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、wifi及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图2所示,上述图片处理方法包括:
步骤202,获取待渲染的第一图片。
步骤204,获取与第一图片对应的目标掩膜图片,其中,目标掩膜图片的g分量和b分量中的一个分量存储了第一灯光变化数据,目标掩膜图片的g分量和b分量中的另一个分量存储了第二灯光变化数据,第一灯光变化数据为在渲染第一图片时采用的位于第一图片左侧的灯光的变化数据,第二灯光变化数据为在渲染第一图片时采用的位于第一图片右侧的灯光的变化数据。
步骤206,使用目标掩膜图片对第一图片进行渲染,得到第二图片。
可选的,在本实施例中,待渲染的第一图片可包括但不限于:包含人物对象的图片,包含静态物品的图片。
在实际应用中,选择人物使用2d真人图片,屏幕灯光位置是固定的,由美术人员根据灯光方向输出灯光mask图(即目标掩图)。mask图为不透明图片,其r,g,b数据的r,g,b分量对应了不同的数据。由于需要独立控制人物两侧的颜色变化,mask图的g分量存储左侧的灯光变化数据,b分量存储右侧的灯光变化数据。
对第一图片使用自定义着色器来完成渲染,程序工作流程图如图3所述。
步骤1,开始;
即开始第一图片的渲染工作。
步骤2,加载着色器到gpu(graphicsprocessingunit图像处理器t);
步骤3,调用update函数;
步骤4,判断灯光参数是否有变化;在是的情况下执行步骤5,在否的情况下执行步骤6;
步骤5,修改片元着色器灯光输入参数;
步骤6,向gpu提交ui顶点数据(包括mask纹理,,第一图片纹理),设置渲染状态(着色器,开始混合)
步骤7,向gpu提交渲染命令;
步骤8,判断渲染是否结束;在是的情况下,执行步骤9,在否的情况下,执行步骤3;
步骤9,结束。
其中,对第一图片启动渲染后,cpu每一帧会调用一次update函数。在update函数中判断屏幕的灯光参数是否有改变,若有改变修改着色器的左右灯光颜色输入参数。每一帧会提交所有的渲染数据,自定义的着色器会提交到gpu中。
gpu负责渲染cpu提交的数据。gpu一次渲染的工程流程图如图4所示。
步骤1,gpu一次渲染处理开始;
步骤2,gpu渲染流水线;
步骤3;片元着色器处理:采用第一图片和第一图片对应的mask图,混合灯光颜色,返回片元颜色值;
步骤4;gpu渲染流水线;
步骤5,修好显示缓存数据;
步骤6,结束。
其中,gpu渲染选手图片时,会调用自定义的着色器代码。在着色器的片元函数中,对选手图像和mask图进行采样。左右灯光颜色已作为参数传递到着色器变量中,混合叠加灯光颜色和图片采样数据即可得到片元的rgba数据值。
通过本申请提供的实施例,通过获取待渲染的第一图片;获取与第一图片对应的目标掩膜图片,其中,目标掩膜图片的g分量和b分量中的一个分量存储了第一灯光变化数据,目标掩膜图片的g分量和b分量中的另一个分量存储了第二灯光变化数据,第一灯光变化数据为在渲染第一图片时采用的位于第一图片左侧的灯光的变化数据,第二灯光变化数据为在渲染第一图片时采用的位于第一图片右侧的灯光的变化数据;使用目标掩膜图片对第一图片进行渲染,得到第二图片,达到了通过图片的目标掩膜图片所存储的灯光的变化数据实现对图片的渲染的目的,从而避免采用3d模型,通过场景中布局实时光源或烘焙场景实现灯光投影,进而解决了现有技术中,对图片渲染增加移动终端设备的功耗,导致移动终端设备卡顿的技术问题。
在实际应用中,使用2d图片可以达到高清效果,人物衣服褶皱的光影可以实现得很细腻,同时保证游戏的性能。将alpha数据和灯光数据合并到了mask图,不会额外增加游戏的图片数量。采用本申请提供的技术方案可以实现如图5所示的效果图。
屏幕灯光变化,人物身体左右两侧会按照环境灯光的变化出现不同颜色的灯光投影。左图为未实现效果的截图,右图为采用本申请的技术方案实现效果的截图。右图人物两侧的脸庞,肩膀和手臂会出现细致的灯光投影效果。
作为一种可选的实施例,使用目标掩膜图片对第一图片进行渲染,得到第二图片,包括:
在目标掩膜图片的r分量存储了第三图片的alpha值的情况下,使用目标掩模图片的r分量、g分量和b分量对第一图片进行渲染,得到第二图片,其中,第一图片是将第三图片压缩得到的图片、且第三图片为具有透明度的图片,alpha值用于表示第三图片的透明度。
为了支持android性能低的手机且减少游戏内存,本申请中对图片的压缩算法采用了etc压缩。etc压缩不支持有透明度的图片,现有技术中,图片的alpha值需保存到另外的图片。在本申请中为减少图片数量,减少磁盘空间,将原人物图片的alpha值保存到了mask图的r分量。如图6所示,第一图片以及第一图片对应的mask图,即左侧图是第一图片,右侧图是第一图片对应的mask图。其中,mask图大体呈现颜色1,为代表alpha值的r分量。左侧数据为r g分量,呈现颜色2。右侧数据为r b分量数据,呈现颜色3。
作为一种可选的实施例,使用目标掩膜图片对第一图片进行渲染之前,在第一图片是将第三图片压缩得到的图片、且第三图片为具有透明度的图片的情况下,将第三图片的alpha值存储到目标掩膜图片的r分量。
作为一种可选的实施例,使用目标掩膜图片对第一图片进行渲染,得到第二图片,包括:
采集第一图片中的原始数据;
获取目标掩膜图片的g分量存储的第一灯光变化量数据,以及目标掩膜图片的b分量存储的第二灯光变化量数据;
将第一灯光变化量数据和第二灯光变化量数据与第一图片中的原始数据进行叠加,得到第二图片。
作为一种可选的实施例,获取第一图片中的待渲染的原始数据之后,包括:
获取目标掩膜图片的g分量存储的第一灯光变化后的数据,目标掩膜图片的b分量存储的第二灯光变化后的数据;
将第一灯光变化后的数据和第二灯光变化后的数据覆盖第一图片中待渲染的数据,得到第二图片。
作为一种可选的实施例,,使用目标掩膜图片对第一图片进行渲染,得到第二图片,包括:
通过调用目标函数将第一图片的原始数据与第一图片对应的目标掩膜图片中的g分量和b分量进行叠加,得到第二图片。
作为一种可选的实施例,,获取待渲染的第一图片之前,通过判断函数检测到第三图片对应的目标掩膜图片的g分量、b分量所对应的数据发生变化的情况下,确定第三图片为待渲染的第一图片。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述图片处理方法的图片处理装置。如图7所示,该装置包括:第一获取单元71、第二获取单元73以及渲染单元75。
第一获取单元71,用于获取待渲染的第一图片。
第二获取单元73,用于获取与第一图片对应的目标掩膜图片,其中,目标掩膜图片的g分量和b分量中的一个分量存储了第一灯光变化数据,目标掩膜图片的g分量和b分量中的另一个分量存储了第二灯光变化数据,第一灯光变化数据为在渲染第一图片时采用的位于第一图片左侧的灯光的变化数据,第二灯光变化数据为在渲染第一图片时采用的位于第一图片右侧的灯光的变化数据。
渲染单元75,用于使用目标掩膜图片对第一图片进行渲染,得到第二图片。
可选的,渲染单元75,包括:
渲染模块,用于在目标掩膜图片的r分量存储了第三图片的alpha值的情况下,使用目标掩模图片的r分量、g分量和b分量对第一图片进行渲染,得到第二图片,其中,第一图片是将第三图片压缩得到的图片、且第三图片为具有透明度的图片,alpha值用于表示第三图片的透明度。
通过本申请提供的实施例,第一获取单元71获取待渲染的第一图片;第二获取单元73获取与第一图片对应的目标掩膜图片,其中,目标掩膜图片的g分量和b分量中的一个分量存储了第一灯光变化数据,目标掩膜图片的g分量和b分量中的另一个分量存储了第二灯光变化数据,第一灯光变化数据为在渲染第一图片时采用的位于第一图片左侧的灯光的变化数据,第二灯光变化数据为在渲染第一图片时采用的位于第一图片右侧的灯光的变化数据;渲染单元73使用目标掩膜图片对第一图片进行渲染,得到第二图片。达到了通过图片的目标掩膜图片所存储的灯光的变化数据实现对图片的渲染的目的,从而避免采用3d模型,通过场景中布局实时光源或烘焙场景实现灯光投影,进而解决了现有技术中,对图片渲染增加移动终端设备的功耗,导致移动终端设备卡顿的技术问题。
作为一种可选的实施例,上述装置还包括:
存储模块,用于在使用目标掩膜图片对第一图片进行渲染之前,在第一图片是将第三图片压缩得到的图片、且第三图片为具有透明度的图片的情况下,将第三图片的alpha值存储到目标掩膜图片的r分量。
作为一种可选的实施例,上述渲染单元75,包括:
采集模块,用于采集第一图片中的原始数据;
获取模块,用于获取目标掩膜图片的g分量存储的第一灯光变化量数据,以及目标掩膜图片的b分量存储的第二灯光变化量数据;
叠加模块,用于将第一灯光变化量数据和第二灯光变化量数据与第一图片中的原始数据进行叠加,得到第二图片。
作为一种可选的实施例,上述装置还包括:
第三获取单元,用于获取第一图片中的待渲染的原始数据之后,获取目标掩膜图片的g分量存储的第一灯光变化后的数据,目标掩膜图片的b分量存储的第二灯光变化后的数据;
处理单元,用于将第一灯光变化后的数据和第二灯光变化后的数据覆盖第一图片中待渲染的数据,得到第二图片。
作为一种可选的实施例,上述装置还包括,包括:
叠加模块,用于通过调用目标函数将第一图片的原始数据与第一图片对应的目标掩膜图片中的g分量和b分量进行叠加,得到第二图片。
根据本发明实施例的又一个方面,还提供了一种用于实施上述图片处理方法的电子装置,如图8所示,该电子装置包括存储器802和处理器804,该存储器802中存储有计算机程序,该处理器804被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
s1,获取待渲染的第一图片;
s2,获取与第一图片对应的目标掩膜图片,其中,目标掩膜图片的g分量和b分量中的一个分量存储了第一灯光变化数据,目标掩膜图片的g分量和b分量中的另一个分量存储了第二灯光变化数据,第一灯光变化数据为在渲染第一图片时采用的位于第一图片左侧的灯光的变化数据,第二灯光变化数据为在渲染第一图片时采用的位于第一图片右侧的灯光的变化数据;
s3,使用目标掩膜图片对第一图片进行渲染,得到第二图片。
可选地,本领域普通技术人员可以理解,图8所示的结构仅为示意,电子装置也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图8其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图8中所示更多或者更少的组件(如网络接口等),或者具有与图8所示不同的配置。
其中,存储器802可用于存储软件程序以及模块,如本发明实施例中的图片处理方法和装置对应的程序指令/模块,处理器804通过运行存储在存储器802内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的图片处理方法。存储器802可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器802可进一步包括相对于处理器804远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器802具体可以但不限于用于存储待渲染的第一图片,第一图片对应的目标掩膜图片以及第二图片等信息。作为一种示例,如图8所示,上述存储器802中可以但不限于包括上述图片处理装置中的第一获取单元71、第一获取单元73以及渲染单元75。此外,还可以包括但不限于上述图片处理装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置806用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置806包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置806为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器808,用于显示上述待渲染的第一图片,以及第二图片;和连接总线810,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
s1,获取待渲染的第一图片;
s2,获取与第一图片对应的目标掩膜图片,其中,目标掩膜图片的g分量和b分量中的一个分量存储了第一灯光变化数据,目标掩膜图片的g分量和b分量中的另一个分量存储了第二灯光变化数据,第一灯光变化数据为在渲染第一图片时采用的位于第一图片左侧的灯光的变化数据,第二灯光变化数据为在渲染第一图片时采用的位于第一图片右侧的灯光的变化数据;
s3,使用目标掩膜图片对第一图片进行渲染,得到第二图片。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
1.一种图片处理方法,其特征在于,包括:
获取待渲染的第一图片;
获取与所述第一图片对应的目标掩膜图片,其中,所述目标掩膜图片的g分量和b分量中的一个分量存储了第一灯光变化数据,所述目标掩膜图片的g分量和b分量中的另一个分量存储了第二灯光变化数据,所述第一灯光变化数据为在渲染所述第一图片时采用的位于所述第一图片左侧的灯光的变化数据,所述第二灯光变化数据为在渲染所述第一图片时采用的位于所述第一图片右侧的灯光的变化数据;
使用所述目标掩膜图片对所述第一图片进行渲染,得到第二图片。
2.根据权利要求1所述的方法,其特征在于,使用所述目标掩膜图片对所述第一图片进行渲染,得到第二图片,包括:
在所述目标掩膜图片的r分量存储了第三图片的alpha值的情况下,使用所述目标掩模图片的r分量、g分量和b分量对所述第一图片进行渲染,得到所述第二图片,其中,所述第一图片是将所述第三图片压缩得到的图片、且所述第三图片为具有透明度的图片,所述alpha值用于表示所述第三图片的透明度。
3.根据权利要求2所述的方法,其特征在于,在使用所述目标掩膜图片对所述第一图片进行渲染之前,所述方法还包括:
在所述第一图片是将所述第三图片压缩得到的图片、且所述第三图片为具有透明度的图片的情况下,将所述第三图片的alpha值存储到所述目标掩膜图片的r分量。
4.根据权利要求1至3中任一项所述的方法,其特征在于,使用所述目标掩膜图片对所述第一图片进行渲染,得到第二图片,包括:
采集所述第一图片中的原始数据;
获取所述目标掩膜图片的g分量存储的第一灯光变化量数据,以及所述目标掩膜图片的b分量存储的第二灯光变化量数据;
将所述第一灯光变化量数据和所述第二灯光变化量数据与所述第一图片中的原始数据进行叠加,得到所述第二图片。
5.根据权利要求4中所述的方法,其特征在于,获取所述第一图片中的待渲染的原始数据之后,所述方法包括:
获取所述目标掩膜图片的g分量存储的第一灯光变化后的数据,所述目标掩膜图片的b分量存储的第二灯光变化后的数据;
将所述第一灯光变化后的数据和所述第二灯光变化后的数据覆盖所述第一图片中待渲染的数据,得到所述第二图片。
6.根据权利要求1中所述的方法,其特征在于,使用所述目标掩膜图片对所述第一图片进行渲染,得到第二图片,包括:
通过调用目标函数将所述第一图片的原始数据与所述第一图片对应的目标掩膜图片中的g分量和b分量进行叠加,得到所述第二图片。
7.根据权利要求1中所述的方法,其特征在于,获取待渲染的第一图片之前,所述方法还包括:
通过判断函数检测到第三图片对应的目标掩膜图片的g分量、b分量所对应的数据发生变化的情况下,确定所述第三图片为所述待渲染的第一图片。
8.一种图片处理装置,其特征在于,包括:
第一获取单元,用于获取待渲染的第一图片;
第二获取单元,用于获取与所述第一图片对应的目标掩膜图片,其中,所述目标掩膜图片的g分量和b分量中的一个分量存储了第一灯光变化数据,所述目标掩膜图片的g分量和b分量中的另一个分量存储了第二灯光变化数据,所述第一灯光变化数据为在渲染所述第一图片时采用的位于所述第一图片左侧的灯光的变化数据,所述第二灯光变化数据为在渲染所述第一图片时采用的位于所述第一图片右侧的灯光的变化数据;
渲染单元,用于使用所述目标掩膜图片对所述第一图片进行渲染,得到第二图片。
9.根据权利要求8所述的装置,其特征在于,所述渲染单元,包括:
渲染模块,用于在所述目标掩膜图片的r分量存储了第三图片的alpha值的情况下,使用所述目标掩模图片的r分量、g分量和b分量对所述第一图片进行渲染,得到所述第二图片,其中,所述第一图片是将所述第三图片压缩得到的图片、且所述第三图片为具有透明度的图片,所述alpha值用于表示所述第三图片的透明度。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
存储模块,用于在使用所述目标掩膜图片对所述第一图片进行渲染之前,在所述第一图片是将所述第三图片压缩得到的图片、且所述第三图片为具有透明度的图片的情况下,将所述第三图片的alpha值存储到所述目标掩膜图片的r分量。
11.根据权利要求9至10中任一项所述的装置,其特征在于,所述渲染单元,包括:
采集模块,用于采集所述第一图片中的原始数据;
获取模块,用于获取所述目标掩膜图片的g分量存储的第一灯光变化量数据,以及所述目标掩膜图片的b分量存储的第二灯光变化量数据;
叠加模块,用于将所述第一灯光变化量数据和所述第二灯光变化量数据与所述第一图片中的原始数据进行叠加,得到所述第二图片。
12.根据权利要求11中所述的装置,其特征在于,所述装置包括:
第三获取单元,用于获取所述第一图片中的待渲染的原始数据之后,获取所述目标掩膜图片的g分量存储的第一灯光变化后的数据,所述目标掩膜图片的b分量存储的第二灯光变化后的数据;
处理单元,用于将所述第一灯光变化后的数据和所述第二灯光变化后的数据覆盖所述第一图片中待渲染的数据,得到所述第二图片。
13.根据权利要求1中所述的方法,其特征在于,所述渲染单元,包括:
叠加模块,用于通过调用目标函数将所述第一图片的原始数据与所述第一图片对应的目标掩膜图片中的g分量和b分量进行叠加,得到所述第二图片。
14.一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
技术总结