图像中的照明仿真方法、装置、设备、介质及程序产品与流程

文档序号:28917110发布日期:2022-02-16 11:34阅读:55来源:国知局
图像中的照明仿真方法、装置、设备、介质及程序产品与流程

1.本技术涉及图像处理技术领域,尤其涉及一种图像中的照明仿真方法、装置、设备、存储介质及计算机程序产品。


背景技术:

2.随着图像处理技术的不断发展,相关技术中,可通过3d引擎将被照图像放置在3d场景中,然后在3d场景中添加光源并使该光源照向图像,从而模拟针对图像的照明效果,以使图像中的区域被照明而被观看到。但是,该方案需要使用3d引擎,不仅对设备带来额外的性能开销,占用设备处理资源,还会在渲染画面时出现卡顿的情况。


技术实现要素:

3.本技术实施例提供一种图像中的照明仿真方法、装置、设备、存储介质及计算机程序产品,能够减少设备性能开销以及设备处理资源的占用,提高画面渲染速度。
4.本技术实施例的技术方案是这样实现的:
5.本技术实施例提供一种图像中的照明仿真方法,包括:
6.获取待仿真光源对应的光圈图像,所述光圈图像,用于指示所述待仿真光源对应图像的照射区域内各像素点的透明度;
7.获取目标光照状态下目标图像中各像素点的目标像素值,并基于所述目标图像,创建用于放置所述光圈图像的图像容器,所述图像容器中各像素点的透明度低于透明度阈值;
8.基于所述光圈图像以及所述图像容器,对所述目标图像中各像素点的透明度进行调整,得到所述待仿真光源下所述目标图像中各像素点的目标透明度;
9.基于所述目标图像中各像素点的目标像素值以及目标透明度,渲染并输出所述待仿真光源下所述目标图像对应的照明仿真图像。
10.本技术实施例还提供一种图像中的照明仿真装置,包括:
11.第一获取模块,用于获取待仿真光源对应的光圈图像,所述光圈图像,用于指示所述待仿真光源对应图像的照射区域内各像素点的透明度;
12.第二获取模块,用于获取目标光照状态下目标图像中各像素点的目标像素值,并基于所述目标图像,创建用于放置所述光圈图像的图像容器,所述图像容器中各像素点的透明度低于透明度阈值;
13.调整模块,用于基于所述光圈图像以及所述图像容器,对所述目标图像中各像素点的透明度进行调整,得到所述待仿真光源下所述目标图像中各像素点的目标透明度;
14.渲染模块,用于基于所述目标图像中各像素点的目标像素值以及目标透明度,渲染并输出所述待仿真光源下所述目标图像对应的照明仿真图像。
15.上述方案中,所述第一获取模块,还用于获取所述待仿真光源的光强变化信息;
16.基于所述光强变化信息,确定所述待仿真光源对应图像的照射区域内各像素点的
透明度;
17.基于所述待仿真光源对应图像的照射区域内各像素点的透明度,生成所述待仿真光源对应的光圈图像。
18.上述方案中,所述第二获取模块,还用于针对目标光照状态下目标图像中的各所述像素点,分别执行如下处理:
19.获取所述像素点在红r-绿g-蓝b颜色通道上的像素值;
20.将所述像素点在红r-绿g-蓝b颜色通道上的像素值,确定为所述像素点的目标像素值。
21.上述方案中,所述第二获取模块,还用于获取所述目标图像的图像形状和图像尺寸;
22.创建与所述图像形状和图像尺寸相一致的空白图像,作为用于放置所述光圈图像的图像容器。
23.上述方案中,所述图像容器与所述目标图像在形状和尺寸上是一致的;
24.所述调整模块,还用于分别确定所述光圈图像、所述图像容器以及所述目标图像对应的图像层级;
25.将所述光圈图像、所述图像容器以及所述目标图像,按照所述图像层级进行叠加,得到叠加图像;
26.提取所述叠加图像中各像素点的透明度,并将所述叠加图像中各所述像素点的透明度,作为所述待仿真光源下所述目标图像中相应像素点的目标透明度。
27.上述方案中,所述光圈图像、所述图像容器以及所述目标图像对应的图像层级按照从上层到底层的顺序,分别为第一层级、第二层级以及第三层级;
28.所述调整模块,还用于将所述光圈图像叠加至所述图像容器之上,得到中间叠加图像;
29.将所述中间叠加图像叠加至所述目标图像之上,得到所述叠加图像。
30.上述方案中,所述调整模块,还用于当所述图像容器中各像素点的透明度为零时,确定所述叠加图像中对应所述光圈图像的目标像素点;
31.提取所述叠加图像中各所述目标像素点的透明度,将所述目标像素点的透明度,作为所述待仿真光源下所述目标图像中相应像素点的透明度,并将所述目标图像中其它像素点的透明度确定为零,以得到所述待仿真光源下所述目标图像中各像素点的目标透明度。
32.上述方案中,所述渲染模块,还用于创建用于图像绘制的空白位图;
33.基于所述目标图像中各像素点的目标像素值以及目标透明度,按照像素点绘制顺序,将各所述像素点绘制到所述空白位图中,得到绘制图像;
34.渲染所述绘制图像,以输出所述待仿真光源下所述目标图像对应的照明仿真图像。
35.上述方案中,所述渲染模块,还用于按照所述像素点绘制顺序,针对所述目标图像中各像素点执行如下处理,以得到绘制图像:
36.确定所述像素点在所述空白位图中的坐标信息,并获取所述像素点的目标像素值以及目标透明度;
37.调用图形绘制接口,基于所述像素点的目标像素值以及目标透明度,在所述坐标信息所指示的目标位置,将所述像素点绘制到所述空白位图中。
38.上述方案中,所述目标图像为虚拟场景的图像画面,所述装置还包括:
39.呈现模块,用于响应于所述待仿真光源对应所述图像画面的照明指令,呈现以所述图像画面的第一区域为所述待仿真光源的照射区域的照明仿真图像;
40.当接收到针对所述待仿真光源的照射区域的调整指令时,控制所述待仿真光源的照射区域由所述第一区域调整为所述调整指令所指示的第二区域,并
41.呈现以所述第二区域为所述待仿真光源的照射区域的照明仿真图像。
42.上述方案中,所述呈现模块,还用于确定当所述照射区域为第一区域时,所述光圈图像放置于所述图像容器上的光圈位置,并获取所述调整指令所指示的、相对于所述图像容器的目标位置;
43.控制所述光圈图像由所述光圈位置移动至所述目标位置,以控制所述待仿真光源的照射区域由所述第一区域调整为所述调整指令所指示的第二区域。
44.本技术实施例还提供一种电子设备,包括:
45.存储器,用于存储可执行指令;
46.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的图像中的照明仿真方法。
47.本技术实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本技术实施例提供的图像中的照明仿真方法。
48.本技术实施例还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时,实现本技术实施例提供的图像中的照明仿真方法。
49.本技术实施例具有以下有益效果:
50.应用本技术上述实施例,在进行图像中的照明仿真时,首先获取待仿真光源对应的光圈图像、以及目标光照状态下目标图像中各像素点的目标像素值;然后基于目标图像创建用于放置光圈图像的图像容器;由于光圈图像用于指示待仿真光源对应图像的照射区域内各像素点的透明度,图像容器中各像素点也具有低于透明度阈值的透明度,因此基于光圈图像以及图像容器,可以对目标图像中各像素点的透明度进行调整,得到待仿真光源下目标图像中各像素点的目标透明度;从而基于目标图像中各像素点的目标像素值以及目标透明度,渲染并输出待仿真光源下目标图像对应的照明仿真图像。如此,通过调整目标图像中像素点的透明度实现图像的照明仿真,减少了设备性能开销以及设备处理资源的占用,提高了画面渲染速度。
附图说明
51.图1是本技术实施例提供的图像中的照明仿真系统100的架构示意图;
52.图2是本技术实施例提供的实施图像中的照明仿真方法的电子设备500的结构示意图;
53.图3是本技术实施例提供的图像中的照明仿真方法的流程示意图;
54.图4是本技术实施例提供的光圈图像的显示示意图;
55.图5是本技术实施例提供的光圈图像、图像容器和目标图像之间的图层关系示意
图;
56.图6是本技术实施例提供的待仿真光源下目标图像对应的照明仿真图像的示意图;
57.图7是本技术实施例提供的照明仿真图像的显示示意图;
58.图8是本技术实施例提供的照明仿真图像的显示示意图;
59.图9是本技术实施例提供的图像中的照明仿真方法的流程示意图。
具体实施方式
60.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
61.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
62.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
63.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
64.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
65.1)客户端,终端中运行的用于提供各种服务的应用程序,例如浏览器客户端、视频播放客户端、虚拟场景客户端。
66.2)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
67.3)虚拟场景,是应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本发明实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。
68.基于上述对本技术实施例中涉及的名词和术语的解释,下面说明本技术实施例提供的图像中的照明仿真系统。参见图1,图1是本技术实施例提供的图像中的照明仿真系统100的架构示意图,为实现支撑一个示例性应用,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
69.终端400,用于响应于待仿真光源对应目标图像的照明指令,发送待仿真光源对应目标图像的照明请求至服务器200;
70.服务器200,用于接收到待仿真光源对应目标图像的照明请求,获取待仿真光源对应的光圈图像;获取目标光照状态下目标图像中各像素点的目标像素值,并基于目标图像,创建用于放置光圈图像的图像容器;基于光圈图像以及图像容器,对目标图像中各像素点的透明度进行调整,得到待仿真光源下目标图像中各像素点的目标透明度;发送目标图像中各像素点的目标像素值、以及待仿真光源下目标图像中各像素点的目标透明度至终端400;其中,该光圈图像,用于指示待仿真光源对应图像的照射区域内各像素点的透明度;
71.终端400,用于接收到目标图像中各像素点的目标像素值、以及待仿真光源下目标图像中各像素点的目标透明度;基于目标图像中各像素点的目标像素值以及目标透明度,渲染并输出待仿真光源下目标图像对应的照明仿真图像。
72.在实际应用中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表等,但并不局限于此。终端400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
73.参见图2,图2是本技术实施例提供的实施图像中的照明仿真方法的电子设备500的结构示意图。在实际应用中,电子设备500可以为图1示出的服务器或终端,以电子设备500为图1示出的终端为例,对实施本技术实施例的图像中的照明仿真方法的电子设备进行说明,本技术实施例提供的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
74.处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
75.用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
76.存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
77.存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器550旨在包括任意适合类型的存储器。
78.在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括
程序、模块和数据结构或者其子集或超集,下面示例性说明。
79.操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
80.网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
81.呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
82.输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
83.在一些实施例中,本技术实施例提供的图像中的照明仿真装置可以采用软件方式实现,图2示出了存储在存储器550中的图像中的照明仿真装置555,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块5551、第二获取模块5552、调整模块5553和渲染模块5554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
84.在另一些实施例中,本技术实施例提供的图像中的照明仿真装置可以采用软硬件结合的方式实现,作为示例,本技术实施例提供的图像中的照明仿真装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的图像中的照明仿真方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
85.在一些实施例中,终端或服务器可以通过运行计算机程序来实现本技术实施例提供的图像中的照明仿真方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(native)应用程序(app,application),即需要在操作系统中安装才能运行的程序,如视频播放app或者虚拟场景app等;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意app中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
86.基于上述对本技术实施例提供的图像中的照明仿真系统及电子设备的说明,下面说明本技术实施例提供的图像中的照明仿真方法。在一些实施例中,本技术实施例提供的图像中的照明仿真方法可由服务器或终端单独实施,或由服务器及终端协同实施,下面以终端实施为例说明本技术实施例提供的图像中的照明仿真方法。参见图3,图3是本技术实施例提供的图像中的照明仿真方法的流程示意图,本技术实施例提供的图像中的照明仿真方法包括:
87.步骤101:终端获取待仿真光源对应的光圈图像。
88.其中,该光圈图像,用于指示待仿真光源对应图像的照射区域内各像素点的透明度。
89.这里,终端可以安装有应用客户端,比如支持虚拟场景的应用客户端(如游戏客户
端)、支持视频播放的应用客户端等。终端通过运行应用客户端,可以展示待仿真光源下目标图像的照明仿真图像,以通过照明仿真图像,模拟目标图像中某个区域被待仿真光源(比如手电筒、聚光灯等)照明后而被观看到的效果。在本技术实施例中,终端在输出上述照明仿真图像时,需要获取待仿真光源对应的光圈图像。这里,该光圈图像,用于指示待仿真光源对应图像的照射区域内各像素点的透明度,即该图像在该仿真光源下的照射区域内像素点的透明度。如此,基于该光圈图像改变图像在待仿真光源下的照射区域内像素点的原有透明度,来模拟待仿真光源对应图像的照明效果。
90.在实际实施时,上述像素点的透明度的取值范围为0-1,代表透明度的百分比。当透明度为0时则代表透明度的百分比为0%,表示待仿真光源在图像的照射区域的像素点是完全透明的,即对于用户来说是完全看不见的;当透明度为1时则代表透明度的百分比为100%,表示待仿真光源在图像的照射区域的像素点是完全不透明的,即对于用户来说是看得最清楚的;位于0-1之间的其它数值的透明度,表示待仿真光源在图像的照射区域的像素点是部分透明的,即对于用户来说是看起来有类似玻璃般的半透明感。
91.在一些实施例中,终端可通过如下方式获取待仿真光源对应的光圈图像:获取待仿真光源的光强变化信息;基于光强变化信息,确定待仿真光源对应图像的照射区域内各像素点的透明度;基于待仿真光源对应图像的照射区域内各像素点的透明度,生成待仿真光源对应的光圈图像。
92.这里,为通过光圈图像模拟待仿真图像针对目标图像的仿真效果,终端首先获取待仿真光源的光强变化信息,该光强变化信息用于指示待仿真光源在图像的照射区域内光强度的变化。
93.然后基于该光强变化信息确定待仿真光源对应图像的照射区域内各像素点的透明度,该待仿真光源对应图像的照射区域内各像素点的透明度的变化符合光强变化信息。以待仿真光源为点光源为例,可以通过点光源的圆形照射区域的圆心处像素点的透明度为1,以圆心为原点沿着半径的方向依次递减圆形上每个像素点的透明度值直至0,从而通过光圈图像中各像素点的透明度变化来模拟待仿真光源的光强度衰减的过程。
94.最后基于待仿真光源对应图像的照射区域内各像素点的透明度,生成待仿真光源对应的光圈图像。
95.作为示例,参见图4,图4是本技术实施例提供的光圈图像的显示示意图。这里,如图4中a图所示,该光圈图像可以描述图像在待仿真光源下的照射区域内各像素点的透明度,以通过透明度的变化模拟待仿真光源(图示例为点光源)的光强度从圆心向四周衰减的过程。为便于更清楚看到该光圈图像的样子可以将其背景涂成黑色,如图4中b图所示,白色的部分即为光圈图像,在实际实施时,颜色可以根据需要设置。如图4中c图所示,该光圈图像为点光源对应的光圈图像,可以通过点光源的圆形照射区域的圆心处像素点的透明度为1,以圆心为原点沿着半径的方向依次递减圆形上每个像素点的透明度值直至0,从而通过光圈图像中各像素点的透明度变化来模拟待仿真光源的光强度衰减的过程。
96.步骤102:获取目标光照状态下目标图像中各像素点的目标像素值,并基于目标图像,创建用于放置光圈图像的图像容器。
97.其中,图像容器中各像素点的透明度低于透明度阈值。
98.这里,终端在获取到待仿真光源的光圈图像后,由于需要实现待仿真光源下目标
图像的照明仿真,因此终端继续获取目标光照状态下目标图像中各像素点的目标像素值。在实际实施时,该目标光照状态可以为自然光的光照状态,也可以是区别于无光照状态(完全无光黑暗下的状态)的有光照状态(即不限定是何种照射光)。
99.同时,终端还需基于目标图像创建用于放置光圈图像的图像容器,用于遮挡目标图像并放置光圈图像,以通过光圈图像控制待仿真光源对应目标图像的照射区域。该图像容器中不包含任何内容,其中各像素点的透明度低于透明度阈值,比如透明度可以为零,以通过图像容器完全遮蔽目标图像来模拟黑暗状态(即无光照状态)下的目标图像;比如该透明度还可以不为零但是低于透明度阈值,以通过图像容器模糊遮挡(或者半透明遮挡)目标图像来模拟弱光状态(即,模拟得到的光照强度低于目标光照状态下的光照强度)下的目标图像。
100.当图像容器遮挡目标图像且放置有待仿真光源的光圈图像时,在光圈图像的放置区域内,显示目标图像相应的内容,以通过光圈图像控制待仿真光源对应目标图像的照射区域。
101.在一些实施例中,终端可通过如下方式获取目标光照状态下目标图像中各像素点的目标像素值:针对目标光照状态下目标图像中的各像素点,分别执行如下处理:获取像素点在红r-绿g-蓝b颜色通道上的像素值;将像素点在红r-绿g-蓝b颜色通道上的像素值,确定为像素点的目标像素值。
102.这里,在获取目标光照状态下目标图像中各像素点的目标像素值时,可以获取各像素点对应的rgb颜色值,然后将各像素点的rgb颜色值确定为相应像素点的目标颜色值。在实际实施时,可以按照从左到右、从上到下的顺序获取各像素点对应的rgb颜色值。
103.在一些实施例中,基于目标图像,终端可通过如下方式创建用于放置光圈图像的图像容器:获取目标图像的图像形状和图像尺寸;创建与图像形状和图像尺寸相一致的空白图像,作为用于放置光圈图像的图像容器。
104.这里,终端在创建用于放置光圈图像的图像容器时,获取目标图像的图像形状和图像尺寸,然后创建与目标图像的图像形状和图像尺寸相一致的空白图像,将该空白图像作为用于放置光圈图像的图像容器。如此,可以使图像容器与目标图像完全重合,以起到遮挡目标图像的作用。当图像容器遮挡目标图像且放置有待仿真光源的光圈图像时,仅在光圈图像的放置区域内,显示目标图像相应的内容,以通过光圈图像控制待仿真光源对应目标图像的照射区域。
105.步骤103:基于光圈图像以及图像容器,对目标图像中各像素点的透明度进行调整,得到待仿真光源下目标图像中各像素点的目标透明度。
106.这里,在获取待仿真光源的光圈图像以及创建完成图像容器后,基于基于光圈图像以及图像容器,对目标图像中各像素点的透明度进行调整,得到待仿真光源下目标图像中各像素点的目标透明度。
107.在一些实施例中,图像容器与目标图像在形状和尺寸上是一致的;基于此,基于光圈图像以及图像容器,终端可通过如下方式对目标图像中各像素点的透明度进行调整,得到待仿真光源下目标图像中各像素点的目标透明度:分别确定光圈图像、图像容器以及目标图像对应的图像层级;将光圈图像、图像容器以及目标图像,按照图像层级进行叠加,得到叠加图像;提取叠加图像中各像素点的透明度,并将叠加图像中各像素点的透明度,作为
待仿真光源下目标图像中相应像素点的目标透明度。
108.在一些实施例中,光圈图像、图像容器以及目标图像对应的图像层级按照从上层到底层的顺序,分别为第一层级、第二层级以及第三层级;终端可通过如下方式将光圈图像、图像容器以及目标图像,按照图像层级进行叠加,得到叠加图像:将光圈图像叠加至图像容器之上,得到中间叠加图像;将中间叠加图像叠加至目标图像之上,得到叠加图像。
109.在实际应用中,图像容器与目标图像在形状和尺寸上是一致的。在本技术实施例中,圈图像、图像容器以及目标图像均预先设置有对应的图像层级。在确定待仿真光源下目标图像中各像素点的目标透明度时,将光圈图像、图像容器以及目标图像,按照图像层级进行叠加得到叠加图像,并提取叠加图像中各像素点的透明度,从而将叠加图像中各像素点的透明度,作为待仿真光源下目标图像中相应像素点的目标透明度。由于图像容器与目标图像在形状和尺寸上是一致的,所以所得到的叠加图像与目标图像在形状和尺寸上也是一致的,基于此,叠加图像中各像素点的位置、与目标图像中各像素点是重合的,叠加图像中目标像素点的透明度,即可作为待仿真光源下目标图像中、与叠加图像中目标像素点相重合的像素点的目标透明度。
110.在实际应用中,将光圈图像、图像容器以及目标图像,按照图像层级进行叠加,得到叠加图像时,可以将光圈图像叠加至图像容器之上,得到中间叠加图像,然后将中间叠加图像叠加至目标图像之上,得到叠加图像。作为示例,参见图5,图5是本技术实施例提供的光圈图像、图像容器和目标图像之间的图层关系示意图。这里,光圈图像位于图像容器(即光圈容器)之上,图像容器位于目标图像(即明图)之上,目标图像(即明图)位于最底层。
111.在一些实施例中,终端可通过如下方式提取叠加图像中各像素点的透明度,并将叠加图像中各像素点的透明度,作为待仿真光源下目标图像中相应像素点的目标透明度:当图像容器中各像素点的透明度为零时,确定叠加图像中对应光圈图像的目标像素点;提取叠加图像中各目标像素点的透明度,将目标像素点的透明度,作为待仿真光源下目标图像中相应像素点的透明度,并将目标图像中其它像素点的透明度确定为零,以得到待仿真光源下目标图像中各像素点的目标透明度。
112.这里,当图像容器中各像素点的透明度为零时,则表明叠加图像中对应非光圈图像的区域的像素点的透明度也为零。此时,仅需要提取叠加图像中对应光圈图像的目标像素点的透明度,将目标像素点的透明度,作为待仿真光源下目标图像中相应像素点的透明度;同时,将目标图像中其它像素点的透明度确定为零,以得到待仿真光源下目标图像中各像素点的目标透明度。
113.步骤104:基于目标图像中各像素点的目标像素值以及目标透明度,渲染并输出待仿真光源下目标图像对应的照明仿真图像。
114.这里,终端在确定待仿真光源下目标图像中各像素点的目标透明度后,可以基于目标图像中各像素点的目标像素值以及该目标透明度,渲染并输出待仿真光源下目标图像对应的照明仿真图像。在实际应用中,目标图像中各像素点的目标像素值为像素点的rgb颜色值,待仿真光源下目标图像中各像素点的目标透明度即为alpha通道值,因此将目标图像中各像素点的rgb颜色值、与相应像素点的目标透明度(alpha通道值)进行组合,得到待仿真光源下目标图像中各像素点的rgba值,从而基于待仿真光源下目标图像中各像素点的rgba值,渲染得到待仿真光源下目标图像对应的照明仿真图像,该照明仿真图像中即待仿
真光源下的目标图像。
115.作为示例,参见图6,图6是本技术实施例提供的待仿真光源下目标图像对应的照明仿真图像的示意图。这里,如图6中a图所示,为目标光照状态下的目标图像;如图6中b图所示,为待仿真光源下目标图像对应的照明仿真图像,该照明仿真图像指示,待仿真光源在目标图像的照射区域为图像区域m。
116.在一些实施例中,基于目标图像中各像素点的目标像素值以及目标透明度,终端可通过如下方式渲染并输出待仿真光源下目标图像对应的照明仿真图像:创建用于图像绘制的空白位图;基于目标图像中各像素点的目标像素值以及目标透明度,按照像素点绘制顺序,将各像素点绘制到空白位图中,得到绘制图像;渲染绘制图像,以输出待仿真光源下目标图像对应的照明仿真图像。
117.在一些实施例中,基于目标图像中各像素点的目标像素值以及目标透明度,按照像素点绘制顺序,终端可通过如下方式将各像素点绘制到空白位图中,得到绘制图像:按照像素点绘制顺序,针对目标图像中各像素点执行如下处理,以得到绘制图像:确定像素点在空白位图中的坐标信息,并获取像素点的目标像素值以及目标透明度;调用图形绘制接口,基于像素点的目标像素值以及目标透明度,在坐标信息所指示的目标位置,将像素点绘制到空白位图中。
118.这里,终端在渲染待仿真光源下目标图像对应的照明仿真图像时,首先创建用于图像绘制的空白位图,该空白位图中可以不包含任何内容;然后基于目标图像中各像素点的目标像素值以及目标透明度,按照像素点绘制顺序,将各像素点绘制到空白位图中,得到绘制图像;最后渲染所绘制的绘制图像,从而输出待仿真光源下目标图像对应的照明仿真图像。
119.在实际实施时,目标图像中各像素点的目标像素值为像素点的rgb颜色值,待仿真光源下目标图像中各像素点的目标透明度即为alpha通道值,因此将目标图像中各像素点的rgb颜色值、与相应像素点的目标透明度(alpha通道值)进行组合,得到待仿真光源下目标图像中各像素点的rgba值,并将待仿真光源下目标图像中各像素点的rgba值进行存储,得到待仿真光源下目标图像对应的rgba数据。
120.在实际实施时,按照像素点绘制顺序,针对各像素点执行如下处理:终端确定像素点在空白位图中的坐标信息,并从存储的待仿真光源下目标图像的rgba数据中,获取该像素点的目标像素值以及目标透明度;从而调用图形绘制接口,基于像素点的目标像素值以及目标透明度,在坐标信息所指示的目标位置,将像素点绘制到空白位图中。
121.在一些实施例中,上述目标图像为虚拟场景的图像画面,终端响应于待仿真光源对应图像画面的照明指令,呈现以图像画面的第一区域为待仿真光源的照射区域的照明仿真图像;当接收到针对待仿真光源的照射区域的调整指令时,控制待仿真光源的照射区域由第一区域调整为调整指令所指示的第二区域,并呈现以第二区域为待仿真光源的照射区域的照明仿真图像。
122.这里,上述目标图像为虚拟场景的图像画面,该虚拟场景可以为电子游戏场景,该图像画面则为电子游戏场景中的游戏画面。在该虚拟场景中,图像画面处于无光照状态下,用户可以触发待仿真光源针对图像画面的照明指令,终端响应于待仿真光源对应图像画面的照明指令,呈现以图像画面的第一区域为待仿真光源的照射区域的照明仿真图像。在实
际应用中,该照明指令可以通过设置的照明按钮触发,也可以通过点击、双击、长按等触发操作触发。
123.用户还可以调整待仿真光源针对图像画面的照射区域,以查看图像画面中不同于第一区域的其他区域。终端可通过滑动屏幕或者触发照射区域调整功能项触发针对待仿真光源的照射区域的调整指令。当终端接收到针对待仿真光源的照射区域的调整指令时,控制待仿真光源的照射区域由第一区域调整为调整指令所指示的第二区域,并呈现以第二区域为待仿真光源的照射区域的照明仿真图像。
124.在一些实施例中,终端可通过如下方式控制待仿真光源的照射区域由第一区域调整为调整指令所指示的第二区域:确定当照射区域为第一区域时,光圈图像放置于图像容器上的光圈位置,并获取调整指令所指示的、相对于图像容器的目标位置;控制光圈图像由光圈位置移动至目标位置,以控制待仿真光源的照射区域由第一区域调整为调整指令所指示的第二区域。
125.这里,终端首先确定当照射区域为第一区域时,光圈图像放置于图像容器上的光圈位置,并获取调整指令所指示的、相对于图像容器的目标位置。然后控制光圈图像由光圈位置移动至目标位置,从而实现控制待仿真光源的照射区域由第一区域调整为调整指令所指示的第二区域。
126.作为示例,参见图7,图7是本技术实施例提供的照明仿真图像的显示示意图。这里,如图7中a图所示,光圈图像位于图像容器中的x位置,此时,如图7中b图所示,终端呈现以图像画面的第一区域为待仿真光源的照射区域的照明仿真图像;
127.响应于针对待仿真光源的照射区域的调整指令,控制光圈图像由光圈位置(即当照射区域为第一区域时,光圈图像放置于图像容器上的位置)“x位置”移动至目标位置(调整指令所指示的、相对于图像容器的位置)“y位置”,如图7中c图所示,此时,如图7中d图所示,终端呈现以图像画面的第二区域为待仿真光源的照射区域的照明仿真图像。
128.应用本技术上述实施例,在进行图像中的照明仿真时,首先获取待仿真光源对应的光圈图像、以及目标光照状态下目标图像中各像素点的目标像素值;然后基于目标图像创建用于放置光圈图像的图像容器;由于光圈图像用于指示待仿真光源对应图像的照射区域内各像素点的透明度,图像容器中各像素点也具有低于透明度阈值的透明度,因此基于光圈图像以及图像容器,可以对目标图像中各像素点的透明度进行调整,得到待仿真光源下目标图像中各像素点的目标透明度;从而基于目标图像中各像素点的目标像素值以及目标透明度,渲染并输出待仿真光源下目标图像对应的照明仿真图像。如此,通过调整目标图像中像素点的透明度实现图像的照明仿真,无需3d引擎,减少了设备性能开销以及设备处理资源的占用,提高了画面渲染速度,避免卡顿现象发生,提高视觉效果的流畅度。且不需要美术人员进行3d建模,节约制作成本,也不需要程序人员懂3d知识,降低开发成本。
129.下面将说明本技术实施例在一个实际的应用场景中的示例性应用。
130.随着图像处理技术的不断发展,相关技术中,可通过three.js等3d引擎,将被照图像放置在3d场景中,然后在场景中添加一个光源(比如聚光灯、手电筒等)并让其照向图像,从而模拟针对图像的照明效果,以使图像中的某些区域被照明而被用户观看到。但是,上述方案需要使用到3d引擎,而使用3d引擎会带来额外的性能开销,对中低端性能的设备不友好,渲染画面时可能会出现卡顿,影响用户体验;而且制作时需要美术人员进行3d建模,然
后程序人员才能进行后续编程处理工作,提高了制作和开发成本。
131.基于此,本技术实施例提供一种图像中的照明仿真方法,以至少解决上述存在的问题。在本技术实施例中,不使用3d引擎这种对设备性能要求高的技术,而是通过改变目标图像中像素点的透明度的方式来模拟局部光照效果,将3d的问题2d化。第一,不会对设备造成额外的性能开销,能更好地兼顾中低端设备,让更多的用户可以更流畅地体验到模拟照明的视觉交互;第二,也不需要开发者具备3d技术的相关知识,同时也不需要美术进行3d建模,在保证效果表现的同时,降低程序人员和美术人员的工作量,降低开发成本。
132.接下来对本技术实施例提供的图像中的照明仿真方法进行说明,包括:
133.步骤1,放置明图(即上述目标图像)。
134.如图6中b图所示,为目标光照状态下的目标图像,即明图。首先,将这张目标光照状态下(比如自然光下)的目标图像放置于最底层,表示在受光状态下的目标图像。然后,从按照从上到下、从左到右的顺序依次提取该目标图像中的各像素点的rgb颜色数值,从而得到构成该目标图像的每个像素点的红色、绿色和蓝色的颜色数值。最后,将该目标图像中各像素点的rgb颜色数值记录下来。其中,红色、绿色和蓝色的取值范围均为0-255的整数。
135.步骤2,准备光圈图像。
136.参见图4,图4是本技术实施例提供的光圈图像的显示示意图。这里,如图4中a图所示,该光圈图像可以描述图像在待仿真光源下的照射区域内各像素点的透明度,以通过透明度的变化模拟待仿真光源(图示例为点光源)的光强度从圆心向四周衰减的过程。为便于更清楚看到该光圈图像的样子可以将其背景涂成黑色,如图4中b图所示,白色的部分即为光圈图像,在实际实施时,颜色可以根据需要设置。如图4中c图所示,该光圈图像为点光源对应的光圈图像,可以通过点光源的圆形照射区域的圆心处像素点的透明度为1,以圆心为原点沿着半径的方向依次递减圆形上每个像素点的透明度值直至0,从而通过光圈图像中各像素点的透明度变化来模拟待仿真光源的光强度衰减的过程。
137.步骤3,创建光圈容器(即上述图像容器)并放置光圈图像。
138.首先,创建一个与明图(即上述目标图像)的形状和尺寸一致的空白容器作为光圈容器;然后,把上述步骤2中的光圈图像放置于该光圈容器中,该光圈图像可以在光圈容器中移动,在某一时刻,光圈容器仅在光圈图像所处位置范围内的像素点的透明度才会大于0,以模拟待仿真光源对应图像的照射区域。
139.步骤4,放置光圈容器。
140.这里,将步骤3中所得到的放置有光圈图像的光圈容器,放置于明图的上方,并让两者完全重合。参见图5,图5是本技术实施例提供的光圈图像、图像容器和目标图像之间的图层关系示意图。这里,光圈图像位于图像容器(即光圈容器)之上,图像容器位于目标图像(即明图)之上,目标图像(即明图)位于最底层。
141.步骤5,监听屏幕触摸事件。
142.这里,可以监听针对电子设备的屏幕触摸事件。当用户在电子设备屏幕上滑动时,记录用户手指与屏幕接触点的位置坐标,并将光圈图像移动到该位置坐标所指示的位置处,并始终控制光圈图像随手指移动,参见图7中a图和c图,光圈图像跟随用户手指从左上角的位置a移动到右下角的位置b。
143.步骤6,读取光圈容器中每个像素点的透明度。
144.这里,将光圈图像、光圈容器和明图叠加放置后,在每次屏幕渲染之前,按从上到下、从左到右的顺序依次读取叠加放置后光圈容器中每个像素点的透明度并记录下来。由于光圈图像的位置会随着用户触摸屏幕的位置而发生变化,因此在渲染每一帧图像时都需要读取透明度,确保拿到当前时刻的透明度数据。
145.步骤7,利用明图的rgb颜色值与读取的透明度组合出rgba颜色值。
146.这里,图像是由像素点组合而成,而像素点以矩形的形状排列,每个像素点拥有红色(r)、绿色(g)、蓝色(b)三个颜色通道,部分图片格式(如png)中的像素点还会额外拥有透明通道(alpha)。在本技术实施例中需要用到透明通道,拥有透明通道的颜色值称为rgba颜色值。该rgba颜色值则为待仿真光源下目标图像(即上述明图)中各像素点的rgba值。
147.在步骤1中已确定明图中每个像素的rgb颜色值,在步骤6中读取到当前时刻叠加放置后光圈容器中每个像素点的透明度,将两者组合起来得到rgba颜色值。在实际应用中,rgba颜色值以格式“#rrggbbaa”进行存储,其中的每一位都是十六进制的数值,每两位代表一个通道,依次为红色、绿色、蓝色、透明度,每个通道的取值范围都是0-255,如“#ff00007f”代表透明度为50%的红色,具体地,#号后的ff表示红色通道数值为255,而绿色和蓝色通道均为0,因此这三原色混合起来后就是纯红色;透明通道中255代表100%,最后两位7f是127,它是四舍五入后255的一半,代表50%透明度的意思。
148.步骤8,根据rgba颜色值在canvas中绘制出照明仿真图像。
149.canvas提供的putimagedata这个api可以将一组rgba颜色值绘制成一张图片。具体地,canvasrenderingcontext20.putimagedata()将给定imagedata对象的数据绘制到位图上,即通过“context.putimagedata(imagedata,dx,dy)”实现。
150.其中,参数imagedata为包含图像像素信息的imagedata对象,即要传入的rgba颜色值数据;imagedata接口表示《canvas》元素指定区域的像素信息数据,此数据对象可由canvasrenderingcontext2d对象中的createimagedata()和getimagedata()方法返回;imagedata包括如下符合规范标准的属性:
151.1)imagedata.data:只读,是一个包含rgba像素信息的uint8clampedarray,数组中所有的值都是整数,范围是0~255;
152.2)imagedata.height:只读,是无符号长整数,表示imagedata对应的实际像素高度;
153.3)imagedata.width:只读,是无符号长整数,表示imagedata对应的实际像素宽度。
154.其中,dx表示目标canvas(位图)中被图像数据(即rgba颜色值数据)替换的起点横坐标;dy表示目标canvas(位图)中被图像数据(即rgba颜色值数据)替换的起点纵坐标。
155.基于上述步骤绘制出的照明仿真图片的颜色与明图一致,但透明度则会根据光圈图像的位置而实时变化,透明度越接近1的位置,照明仿真图像中所显示的明图的内容就越清晰,透明度越接近0的位置,照明仿真图像中所显示的明图的内容就越暗淡。参见图8,图8是本技术实施例提供的照明仿真图像的显示示意图。这里,为点光源针对明图的照明仿真图像,在靠近光圈图像的中心位置n的区域,透明度越接近1,照明仿真图像中所显示的明图的内容就越清晰;在远离光圈图像的中心位置的区域,透明度越接近0的位置,照明仿真图像中所显示的明图的内容就越暗淡。
156.最后,实时将每次绘制的照明仿真图像渲染到屏幕上,用户就能看到目标图像中某个区域被局部照亮的效果了,该照亮区域随着用户手指的位置变化而变化,如此可以在交互上模拟出使用目标光源(比如手电筒)照亮局部区域的视觉效果了。
157.接下来对本技术实施例提供的图像中的照明仿真方法进行说明,参见图9,图9是本技术实施例提供的照明仿真方法的流程示意图,包括:
158.步骤201:将明图放在最底层;
159.步骤202:按从上到下、从左到右的顺序依次读取明图上每个像素点的红色、绿色、蓝色通道的数值(rgb值),并记录下来;
160.步骤203:创建一个与明图宽度、高度都一样的空白容器(光圈容器),并将光圈图放入其中;
161.步骤204:将光圈容器放在明图上层,并让两者重合;
162.步骤205:侦听屏幕触摸事件;
163.步骤206:当用户滑动屏幕时,记录滑动时针对屏幕的作用位置的坐标值,并将光圈图像移动到该坐标值所指示的位置;
164.步骤207:在屏幕渲染每一帧时,遍历并记录叠加后光圈容器中每个像素点的透明度(alpha);
165.步骤208:将步骤202中明图中各像素点的rgb值和步骤207读取的透明度组合起来得到rgba颜色值;
166.步骤209:根据rgba值在canvas中绘制图片;
167.步骤210:将绘制得到的图片实时渲染到屏幕上。
168.应用本技术上述实施例,只需要一张明图和一张光圈图就可以在设备上模拟出光源(比如手电筒)针对明图的光照效果,规避了使用3d引擎带来的额外性能开销,提高渲染速度,保证视觉效果的同时让用户体验更顺畅;且不需要美术人员进行3d建模,节约制作成本,也不需要程序人员懂3d知识,降低开发成本。
169.下面继续说明本技术实施例提供的图像中的照明仿真装置555的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器550的图像中的照明仿真装置555中的软件模块可以包括:
170.第一获取模块5551,用于获取待仿真光源对应的光圈图像,所述光圈图像,用于指示所述待仿真光源对应图像的照射区域内各像素点的透明度;
171.第二获取模块5552,用于获取目标光照状态下目标图像中各像素点的目标像素值,并基于所述目标图像,创建用于放置所述光圈图像的图像容器,所述图像容器中各像素点的透明度低于透明度阈值;
172.调整模块5553,用于基于所述光圈图像以及所述图像容器,对所述目标图像中各像素点的透明度进行调整,得到所述待仿真光源下所述目标图像中各像素点的目标透明度;
173.渲染模块5554,用于基于所述目标图像中各像素点的目标像素值以及目标透明度,渲染并输出所述待仿真光源下所述目标图像对应的照明仿真图像。
174.在一些实施例中,所述第一获取模块5551,还用于获取所述待仿真光源的光强变化信息;
175.基于所述光强变化信息,确定所述待仿真光源对应图像的照射区域内各像素点的透明度;
176.基于所述待仿真光源对应图像的照射区域内各像素点的透明度,生成所述待仿真光源对应的光圈图像。
177.在一些实施例中,所述第二获取模块5552,还用于针对目标光照状态下目标图像中的各所述像素点,分别执行如下处理:
178.获取所述像素点在红r-绿g-蓝b颜色通道上的像素值;
179.将所述像素点在红r-绿g-蓝b颜色通道上的像素值,确定为所述像素点的目标像素值。
180.在一些实施例中,所述第二获取模块5552,还用于获取所述目标图像的图像形状和图像尺寸;
181.创建与所述图像形状和图像尺寸相一致的空白图像,作为用于放置所述光圈图像的图像容器。
182.在一些实施例中,所述图像容器与所述目标图像在形状和尺寸上是一致的;
183.所述调整模块5553,还用于分别确定所述光圈图像、所述图像容器以及所述目标图像对应的图像层级;
184.将所述光圈图像、所述图像容器以及所述目标图像,按照所述图像层级进行叠加,得到叠加图像;
185.提取所述叠加图像中各像素点的透明度,并将所述叠加图像中各所述像素点的透明度,作为所述待仿真光源下所述目标图像中相应像素点的目标透明度。
186.在一些实施例中,所述光圈图像、所述图像容器以及所述目标图像对应的图像层级按照从上层到底层的顺序,分别为第一层级、第二层级以及第三层级;
187.所述调整模块5553,还用于将所述光圈图像叠加至所述图像容器之上,得到中间叠加图像;
188.将所述中间叠加图像叠加至所述目标图像之上,得到所述叠加图像。
189.在一些实施例中,所述调整模块5553,还用于当所述图像容器中各像素点的透明度为零时,确定所述叠加图像中对应所述光圈图像的目标像素点;
190.提取所述叠加图像中各所述目标像素点的透明度,将所述目标像素点的透明度,作为所述待仿真光源下所述目标图像中相应像素点的透明度,并将所述目标图像中其它像素点的透明度确定为零,以得到所述待仿真光源下所述目标图像中各像素点的目标透明度。
191.在一些实施例中,所述渲染模块5554,还用于创建用于图像绘制的空白位图;
192.基于所述目标图像中各像素点的目标像素值以及目标透明度,按照像素点绘制顺序,将各所述像素点绘制到所述空白位图中,得到绘制图像;
193.渲染所述绘制图像,以输出所述待仿真光源下所述目标图像对应的照明仿真图像。
194.在一些实施例中,所述渲染模块5554,还用于按照所述像素点绘制顺序,针对所述目标图像中各像素点执行如下处理,以得到绘制图像:
195.确定所述像素点在所述空白位图中的坐标信息,并获取所述像素点的目标像素值
以及目标透明度;
196.调用图形绘制接口,基于所述像素点的目标像素值以及目标透明度,在所述坐标信息所指示的目标位置,将所述像素点绘制到所述空白位图中。
197.在一些实施例中,所述目标图像为虚拟场景的图像画面,所述装置还包括:
198.呈现模块,用于响应于所述待仿真光源对应所述图像画面的照明指令,呈现以所述图像画面的第一区域为所述待仿真光源的照射区域的照明仿真图像;
199.当接收到针对所述待仿真光源的照射区域的调整指令时,控制所述待仿真光源的照射区域由所述第一区域调整为所述调整指令所指示的第二区域,并
200.呈现以所述第二区域为所述待仿真光源的照射区域的照明仿真图像。
201.在一些实施例中,所述呈现模块,还用于确定当所述照射区域为第一区域时,所述光圈图像放置于所述图像容器上的光圈位置,并获取所述调整指令所指示的、相对于所述图像容器的目标位置;
202.控制所述光圈图像由所述光圈位置移动至所述目标位置,以控制所述待仿真光源的照射区域由所述第一区域调整为所述调整指令所指示的第二区域。
203.应用本技术上述实施例,在进行图像中的照明仿真时,首先获取待仿真光源对应的光圈图像、以及目标光照状态下目标图像中各像素点的目标像素值;然后基于目标图像创建用于放置光圈图像的图像容器;由于光圈图像用于指示待仿真光源对应图像的照射区域内各像素点的透明度,图像容器中各像素点也具有低于透明度阈值的透明度,因此基于光圈图像以及图像容器,可以对目标图像中各像素点的透明度进行调整,得到待仿真光源下目标图像中各像素点的目标透明度;从而基于目标图像中各像素点的目标像素值以及目标透明度,渲染并输出待仿真光源下目标图像对应的照明仿真图像。如此,通过调整目标图像中像素点的透明度实现图像的照明仿真,无需3d引擎,减少了设备性能开销以及设备处理资源的占用,提高了画面渲染速度,避免卡顿现象发生,提高视觉效果的流畅度。
204.本技术实施例还提供一种电子设备,所述电子设备包括:
205.存储器,用于存储可执行指令;
206.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的图像中的照明仿真方法。
207.本技术实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例提供的图像中的照明仿真方法。
208.本技术实施例还提供一种计算机可读存储介质,存储有可执行指令,当可执行指令被处理器执行时,实现本技术实施例提供的图像中的照明仿真方法。
209.在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
210.在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在
计算环境中使用的其它单元。
211.作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
212.作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
213.以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1