首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 修改 / 用于修改图像的照度的方法和装置

用于修改图像的照度的方法和装置

阅读:336发布:2020-05-31

专利汇可以提供用于修改图像的照度的方法和装置专利检索,专利查询,专利分析的服务。并且依据示例 实施例 ,提供了一种方法、装置和 计算机程序 产品。该方法包括将图像划分为多个超 像素 单元区域,并且针对多个超像素单元区域确定表面方位。表面方位基于与图像相关联的深度信息而针对多个超像素单元区域中的超像素单元区域被确定。该方法进一步包括接收用于 修改 与图像相关联的照度的至少一个虚拟 光源 指示。通过基于至少一个虚拟光源指示以及针对多个超像素单元区域所确定的表面方位中的对应于一个或多个超像素单元区域的表面方位修改与多个超像素单元区域中的一个或多个超像素单元区域相关联的 亮度 来修改照度。,下面是用于修改图像的照度的方法和装置专利的具体信息内容。

1.一种用于修改图像的照度的方法,所述方法包括:
将所述图像划分为多个超像素单元区域;
针对所述多个超像素单元区域确定表面方位,其中表面方位基于与所述图像相关联的深度信息而针对所述多个超像素单元区域中的超像素单元区域被确定,其中所述深度信息是通过针对所述图像至少生成深度图视差图之一的粗略估计而被生成的;
接收用于修改与所述图像相关联的照度的至少一个虚拟光源指示;以及通过基于所述至少一个虚拟光源指示以及针对所述多个超像素单元区域所确定的表面方位中的对应于一个或多个超像素单元区域的表面方位修改与所述多个超像素单元区域中的所述一个或多个超像素单元区域相关联的亮度来修改与所述图像相关联的所述照度。
2.根据权利要求1所述的方法,其中通过以下步骤来确定针对所述超像素单元区域的所述表面方位:
基于与所述图像相关联的所述深度信息为对应于所述超像素单元区域的像素指定法向量,以及
对向所述像素指定的所述法向量求平均以生成平均法向量,其中所述平均法向量被确定为针对所述超像素单元区域的所述表面方位。
3.根据权利要求2所述的方法,进一步包括采用一个或多个滤镜来抵消在针对所述超像素单元区域确定所述表面方位期间生成的伪像。
4.根据权利要求1所述的方法,其中接收所述至少一个虚拟光源指示包括接收至少一个矢量,其中所述至少一个矢量中的矢量指示虚拟光源方向。
5.根据权利要求1所述的方法,其中接收所述至少一个虚拟光源指示包括接收至少一个虚拟光源位置,其中所述至少一个虚拟光源位置中的虚拟光源位置包括对应于虚拟光源的二维位置信息和三维位置信息之一。
6.根据权利要求5所述的方法,进一步包括:
根据所述至少一个虚拟光源位置计算至少一个矢量,其中所述至少一个矢量中的矢量指示虚拟光源方向。
7.根据权利要求4或6所述的方法,其中修改与所述一个或多个超像素单元区域相关联的亮度包括执行以下步骤之一:
在对应的表面方位面向由所述矢量表示的所述虚拟光源方向的情况下,提高所述一个或多个超像素单元区域中的超像素单元区域内包括的像素的亮度;以及在对应的表面方位面向不同于由所述矢量表示的所述虚拟光源方向的方向的情况下,降低所述一个或多个超像素单元区域中的超像素单元区域内包括的像素的亮度。
8.根据权利要求7所述的方法,其中所述一个或多个超像素单元区域内包括的像素中的像素的个体亮度与当前像素亮度成比例地被修改。
9.根据权利要求8所述的方法,其中对所述像素的所述个体亮度的修改进一步基于所述像素的原始颜色、与所述像素相关联的深度信息、以及与对应于所述至少一个虚拟光源指示的一个或多个虚拟光源相关联的至少一个预定因素被执行,所述至少一个预定因素包括与所述一个或多个虚拟光源中的每个虚拟光源相关联的颜色以及与所述每个虚拟光源相关联的功率因数。
10.根据权利要求9所述的方法,进一步包括基于与所述一个或多个虚拟光源中的所述每个虚拟光源相关联的所述颜色来修改与所述多个超像素单元区域中的一个或多个超像素单元区域相关联的颜色。
11.根据权利要求1所述的方法,其中所述一个或多个超像素单元区域对应于基于与所述图像相关联的所述深度信息所识别的图像前景区和图像背景区之一。
12.根据权利要求9所述的方法,其中修改与所述图像相关联的所述照度包括沿由所述矢量表示的所述虚拟光源方向执行与所述一个或多个超像素单元区域相关联的所述亮度的逐渐衰减和突然衰减之一。
13.根据权利要求1所述的方法,其中修改与所述一个或多个超像素单元区域相关联的所述亮度包括执行从所述一个或多个超像素单元区域中的个体超像素单元区域去除亮度和增加亮度之一。
14.根据权利要求1所述的方法,进一步包括:
识别所述图像中的多个非重叠分区,所述多个非重叠分区中的每个非重叠分区与基本上相同的颜色相关联并且包括所述多个超像素单元区域中的至少一个超像素单元区域,其中所述多个非重叠分区与比包括所述多个超像素单元区域中的其余超像素单元区域的分区更高的亮度平相关联;
针对所述多个非重叠分区计算分区表面方位,其中所述分区表面方位中的分区表面方位对应于针对所述多个非重叠分区中的非重叠分区所计算的表面方位;以及通过计算所述分区表面方位的加权平均来确定对应于照亮所述图像的主光源的光源方向,其中对应于所述分区表面方位的所述加权平均的方向被确定为所述光源方向。
15.根据权利要求14所述的方法,其中通过将与所述多个非重叠分区中的对应的非重叠分区内所包括的所述至少一个超像素单元区域相对应的表面方位求平均来计算出所述分区表面方位中的分区表面方位。
16.根据权利要求15所述的方法,进一步包括:
针对所述多个非重叠分区计算深度估计和亮度估计,其中所述深度估计中的深度估计和所述亮度估计中的亮度估计针对所述每个非重叠分区被计算;以及
向所述分区表面方位指定权重,其中基于针对所述多个非重叠分区中的相对应的非重叠分区所计算的所述深度估计中的深度估计和所述亮度估计中的亮度估计而向所述分区表面方位中的分区表面方位指定权重,其中基于所指定的权重计算所述分区表面方位的所述加权平均。
17.根据权利要求16所述的方法,其中针对所述每个非重叠分区的所述深度估计对应于所述每个非重叠分区内所包括的所述至少一个超像素单元区域的平均深度,并且其中针对所述每个非重叠分区的所述亮度估计对应于与所述每个非重叠分区内所包括的所述至少一个超像素单元区域中最明亮的超像素单元区域相关联的亮度。
18.根据权利要求1所述的方法,其中所述图像是立体图像对中的一个图像。
19.根据权利要求1所述的方法,进一步包括在修改与所述图像相关联的所述照度之后显示所述图像。
20.一种用于修改图像的照度的装置,所述装置包括:
用于将所述图像划分为多个超像素单元区域的部件;
用于针对所述多个超像素单元区域确定表面方位的部件,其中表面方位基于与所述图像相关联的深度信息而针对所述多个超像素单元区域中的超像素单元区域被确定,其中所述深度信息是通过针对所述图像至少生成深度图和视差图之一的粗略估计而被生成的;
用于接收用于修改与所述图像相关联的照度的至少一个虚拟光源指示的部件;以及用于通过基于所述至少一个虚拟光源指示以及针对所述多个超像素单元区域所确定的表面方位中的对应于一个或多个超像素单元区域的表面方位修改与所述多个超像素单元区域中的所述一个或多个超像素单元区域相关联的亮度来修改与所述图像相关联的所述照度的部件。
21.根据权利要求20所述的装置,其中为了确定针对所述超像素单元区域的所述表面方位,所述装置进一步包括:
用于基于与所述图像相关联的所述深度信息为对应于所述超像素单元区域的像素指定法向量的部件,以及
用于对向所述像素指定的所述法向量求平均以生成平均法向量的部件,其中所述平均法向量被确定为针对所述超像素单元区域的所述表面方位。
22.根据权利要求21所述的装置,其中所述装置进一步包括:
用于采用一个或多个滤镜来抵消在针对所述超像素单元区域确定所述表面方位期间生成的伪像的部件。
23.根据权利要求20所述的装置,其中接收所述至少一个虚拟光源指示包括接收至少一个矢量,其中所述至少一个矢量中的矢量指示虚拟光源方向。
24.根据权利要求20所述的装置,其中接收所述至少一个虚拟光源指示包括接收至少一个虚拟光源位置,其中所述至少一个虚拟光源位置中的虚拟光源位置包括对应于虚拟光源的二维位置信息和三维位置信息之一。
25.根据权利要求24所述的装置,其中所述装置进一步包括:
用于根据所述至少一个虚拟光源位置计算至少一个矢量的部件,其中所述至少一个矢量中的矢量指示虚拟光源方向。
26.根据权利要求23或25所述的装置,其中为了修改与所述一个或多个超像素单元区域相关联的亮度,所述装置进一步包括:
用于在对应的表面方位面向由所述矢量表示的所述虚拟光源方向的情况下提高所述一个或多个超像素单元区域中的超像素单元区域内包括的像素的亮度的部件;以及用于在对应的表面方位面向不同于由所述矢量表示的所述虚拟光源方向的方向的情况下降低所述一个或多个超像素单元区域中的超像素单元区域内包括的像素的亮度的部件。
27.根据权利要求26所述的装置,其中所述一个或多个超像素单元区域内包括的像素中的像素的个体亮度与当前像素亮度成比例地被修改。
28.根据权利要求27所述的装置,其中对所述像素的所述个体亮度的修改进一步基于所述像素的原始颜色、与所述像素相关联的深度信息、以及与对应于所述至少一个虚拟光源指示的一个或多个虚拟光源相关联的至少一个预定因素被执行,所述至少一个预定因素包括与所述一个或多个虚拟光源中的每个虚拟光源相关联的颜色以及与所述每个虚拟光源相关联的功率因数。
29.根据权利要求28所述的装置,其中所述装置进一步包括:
用于基于与所述一个或多个虚拟光源中的所述每个虚拟光源相关联的所述颜色来修改与所述多个超像素单元区域中的一个或多个超像素单元区域相关联的颜色的部件。
30.根据权利要求20所述的装置,其中所述一个或多个超像素单元区域对应于基于与所述图像相关联的所述深度信息所识别的图像前景区和图像背景区之一。
31.根据权利要求28所述的装置,其中所述装置进一步包括:
用于沿由所述矢量表示的所述虚拟光源方向执行与所述一个或多个超像素单元区域相关联的所述亮度的逐渐衰减和突然衰减之一以便修改与所述图像相关联的所述照度的部件。
32.根据权利要求20所述的装置,其中修改与所述一个或多个超像素单元区域相关联的所述亮度包括执行从所述一个或多个超像素单元区域中的个体超像素单元区域去除亮度和增加亮度之一。
33.根据权利要求20所述的装置,其中所述装置进一步包括:
用于识别所述图像中的多个非重叠分区的部件,所述多个非重叠分区中的每个非重叠分区与基本上相同的颜色相关联并且包括所述多个超像素单元区域中的至少一个超像素单元区域,其中所述多个非重叠分区与比包括所述多个超像素单元区域中的其余超像素单元区域的分区更高的亮度水平相关联;
用于针对所述多个非重叠分区计算分区表面方位的部件,其中所述分区表面方位中的分区表面方位对应于针对所述多个非重叠分区中的非重叠分区所计算的表面方位;以及用于通过计算所述分区表面方位的加权平均来确定对应于照亮所述图像的主光源的光源方向的部件,其中对应于所述分区表面方位的所述加权平均的方向被确定为所述光源方向。
34.根据权利要求33所述的装置,其中通过将与所述多个非重叠分区中的对应的非重叠分区内所包括的所述至少一个超像素单元区域相对应的表面方位求平均来计算出所述分区表面方位中的分区表面方位。
35.根据权利要求34所述的装置,其中所述装置进一步包括:
用于针对所述多个非重叠分区计算深度估计和亮度估计的部件,其中所述深度估计中的深度估计和所述亮度估计中的亮度估计针对所述每个非重叠分区被计算;以及用于向所述分区表面方位指定权重的部件,其中基于针对所述多个非重叠分区中的相对应的非重叠分区所计算的所述深度估计中的深度估计和所述亮度估计中的亮度估计而向所述分区表面方位中的分区表面方位指定权重,其中基于所指定的权重计算所述分区表面方位的所述加权平均。
36.根据权利要求35所述的装置,其中针对所述每个非重叠分区的所述深度估计对应于所述每个非重叠分区内所包括的所述至少一个超像素单元区域的平均深度,并且其中针对所述每个非重叠分区的所述亮度估计对应于与所述每个非重叠分区内所包括的所述至少一个超像素单元区域中最明亮的超像素单元区域相关联的亮度。
37.根据权利要求20所述的装置,其中所述图像是立体图像对中的一个图像。
38.根据权利要求20所述的装置,其中所述装置进一步包括:
用于在修改与所述图像相关联的所述照度之后显示所述图像的部件。
39.根据权利要求20所述的装置,其中所述装置进一步包括电子设备,所述电子设备包括:
用于促成用户通过使用显示器控制所述电子设备的至少一个功能并且进一步对用户输入作出响应的部件;以及
用于显示所述电子设备的用户接口的至少一部分并且促使所述用户对所述电子设备的至少一个功能进行控制的部件。
40.根据权利要求39所述的装置,其中所述电子设备包括立体相机。
41.根据权利要求39或40所述的装置,其中所述电子设备包括移动电话

说明书全文

用于修改图像的照度的方法和装置

技术领域

[0001] 各种实施方式总体上涉及用于修改图像中的照度的方法、装置和计算机程序产品。

背景技术

[0002] 如移动电话平板电脑之类的电子设备越来越多地配置有数码相机以便促成图像捕捉。数码相机包括一个或多个图像传感器。图像传感器敏感于入射光(诸如在图像捕捉期间从感兴趣对象反射的光),这促成了对象图像的捕捉。诸如周围光照条件和/或光源方向之类的多种因素可能影响到与所捕捉图像中的对象相关联的照度。在某些情况下,图像照度可能需要在考虑各种原因的情况下进行修改,作为示例,诸如为了促进虚拟现实应用,为了引入光照效果(例如黑白照片)等。通常,修改图像照度涉及到利用特殊编辑设备和软件来控制成像伪像 (artefact)。这样,在排除复杂度以及特殊的编辑设备/软件的同时对图像中的照度进行修改就成为一项挑战。发明内容
[0003] 权利要求中给出了示例实施例的各个方面。
[0004] 在第一方面,提供了一种方法,包括:将图像划分为多个超像素单元区域;针对多个超像素单元区域确定表面方位,其中表面方位基于与图像相关联的深度信息而针对多个超像素单元区域中的超像素单元区域被确定;接收用于修改与图像相关联的照度的至少一个虚拟光源指示;并且通过基于至少一个虚拟光源指示以及针对多个超像素单元区域所确定的表面方位中的对应于一个或多个超像素单元区域的表面方位修改与多个超像素单元区域中的一个或多个超像素单元区域相关联的亮度来修改与图像相关联的照度。
[0005] 在第二方面,提供了一种装置,包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使得该装置至少执行:将图像划分为多个超像素单元区域;针对多个超像素单元区域确定表面方位,其中表面方位基于与图像相关联的深度信息而针对多个超像素单元区域中的超像素单元区域被确定;接收用于修改与图像相关联的照度的至少一个虚拟光源指示;并且通过基于至少一个虚拟光源指示以及针对多个超像素单元区域所确定的表面方位中的对应于一个或多个超像素单元区域的表面方位修改与多个超像素单元区域中的一个或多个超像素单元区域相关联的亮度来修改与图像相关联的照度。
[0006] 在第三方面,提供了一种包括至少一个计算机可读存储介质的计算机程序产品,计算机可读存储介质包括指令集合,当被一个或多个处理器执行时,指令集合使得装置至少执行:将图像划分为多个超像素单元区域;针对多个超像素单元区域确定表面方位,其中表面方位基于与图像相关联的深度信息而针对多个超像素单元区域中的超像素单元区域被确定;接收用于修改与图像相关联的照度的至少一个虚拟光源指示;并且通过基于至少一个虚拟光源指示以及针对多个超像素单元区域所确定的表面方位中的对应于一个或多个超像素单元区域的表面方位修改与多个超像素单元区域中的一个或多个超像素单元区域相关联的亮度来修改与图像相关联的照度。
[0007] 在第四方面,提供了一种装置,包括:用于将图像划分为多个超像素单元区域的部件;用于针对多个超像素单元区域确定表面方位的部件,其中表面方位基于与图像相关联的深度信息而针对多个超像素单元区域中的超像素单元区域被确定;用于接收用于修改与图像相关联的照度的至少一个虚拟光源指示的部件;以及用于通过基于至少一个虚拟光源指示以及针对多个超像素单元区域所确定的表面方位中的对应于一个或多个超像素单元区域的表面方位修改与多个超像素单元区域中的一个或多个超像素单元区域相关联的亮度来修改与图像相关联的照度的部件。
[0008] 在第五方面,提供了一种包括程序指令的计算机程序,当被装置执行时,程序指令使得该装置:将图像划分为多个超像素单元区域;针对多个超像素单元区域确定表面方位,其中表面方位基于与图像相关联的深度信息而针对多个超像素单元区域中的超像素单元区域被确定;接收用于修改与图像相关联的照度的至少一个虚拟光源指示;并且通过基于至少一个虚拟光源指示以及针对多个超像素单元区域所确定的表面方位中的对应于一个或多个超像素单元区域的表面方位修改与多个超像素单元区域中的一个或多个超像素单元区域相关联的亮度来修改与图像相关联的照度。附图说明
[0009] 在附图的示图中通过示例而非限制对各个实施例进行图示,其中:
[0010] 图1图示了依据示例实施例的设备;
[0011] 图2图示了依据示例实施例的用于修改图像中的照度的装置;
[0012] 图3描绘了依据示例实施例的被划分为多个超像素单元区域的图像的示例视觉表示形式;
[0013] 图4描绘了依据示例实施例的图3中经放大的超像素单元区域的示例视觉表示形式以便图示针对超像素单元区域的表面方位的确定;
[0014] 图5A、5B和5C描绘了依据示例实施例的在相关联图像中提供虚拟光源以便修改与图像相关联的照度的简化概况;
[0015] 图6描绘了依据示例实施例的图像的示例视觉表示形式以便图示对应于照射图像的主光源的光源方向的确定;
[0016] 图7是描绘依据示例实施例的用于修改图像中的照度的示例方法的流程图;以及[0017] 图8是描绘依据另一示例实施例的用于修改图像中的照度的示例方法的流程图。

具体实施方式

[0018] 示例实施例及其可能的效果通过参考附图的图1至图8而被理解。
[0019] 图1图示了依据示例实施例的设备100。然而,应当理解的是,如所图示并且在随后描述的设备100仅是说明可能从各个实施例获益的一种类型的设备,因此不应当被理解为限制实施例的范围。因此,应当意识到的是,以下结合设备100描述的至少一些组件可以是任选的,并且在示例实施例中可以包括与结合图1的示例实施例描述的那些相比更多、更少或不同的组件。设备100可以是任意多种类型的移动电子设备,例如便携式数字助理(PDA)、传呼机、移动电视、游戏设备、蜂窝电话、所有类型的计算机(例如膝上电脑、移动计算机或台式机)、相机、音/视频播放器、无线电广播、全球定位系统(GPS) 设备、媒体播放器、移动数字助理、或者以上所提到的任意组合以及其它类型的通信设备。
[0020] 设备100可以包括与传送器104和接收器106通信的天线102(或多个天线)。设备100可以进一步包括诸如控制器108的装置或者分别往来于传送器104和接收器106提供和接收信号的其它处理设备。信号可以包括依据可应用蜂窝系统的空中接口标准的信令信息和/或还可以包括对应于用户话音的数据、接收的数据和/或用户生成的数据。在这一点上,设备100可以能够采用一个或多个空中接口标准、通信协议、模化类型和访问类型进行操作。通过说明,设备100可以能够依据任意多种的第一、第二、第三和/或第四代通信协议等进行操作。例如,设备100可以能够依据第二代(2G)无线通信协议IS-136  (时分多址(TDMA))、GSM(全球移动通信系统)和IS-95(码分多址(CDMA)),或者依据诸如通用移动通信系统(UMTS)、 CDMA1000、宽带CDMA(WCDMA)和时分同步CDMA(TD-SCDMA) 之类的第三代(3G)无线通信协议进行操作,依据诸如演进通用陆地无线接入网(E-UTRAN)之类的3.9G无线通信协议进行操作,依据第四代(4G)无线通信协议等等进行操作。作为替换(或者另外地),设备100可以能够依据非蜂窝通信机制进行操作。例如,诸如互联网、局域网、广域网等的计算机网络;诸如 网络、 网络、电气与电子工程师协会(IEEE)802.11x网络等的短距离无线通信网络;诸如公共交换电话网(PSTN)之类的有线通信网络。
[0021] 除其它之外,控制器108可以包括实施设备100的音频和逻辑功能的电路。例如,控制器108可以包括但并不局限于一个或多个数字信号处理器设备、一个或多个微处理器设备、具有(多个)所附数字信号处理器的一个或多个处理器、没有(多个)所附数字信号处理器的一个或多个处理器、一个或多个专用计算机芯片、一个或多个现场可编程阵列(FPGA)、一个或多个控制器、一个或多个专用集成电路(ASIC)、一个或多个计算机、各种模数转换器、数模转换器和 /或其它支持电路。设备100的控制和信号处理功能根据其相应能在这些设备之间分配。控制器108因此还可以包括在调制和传输之前对消息和数据进行卷积编码和交织的功能。控制器108还可以包括内部语音编码器,并且可以包括内部数据调制解调器。另外,控制器108 可以包括对可以存储在存储器中的一个或多个软件程序进行操作的功能。例如,控制器108可以能够操作诸如常规Web浏览器之类的连接程序。连接程序随后可以允许设备100根据无线应用协议 (WAP)、超文本传输协议(HTTP)等传送和接收诸如基于位置的内容和/或其它网页内容之类的Web内容。在示例实施例中,控制器 108可以被实现为诸如双核或四核处理器之类的多核处理器。然而,控制器108中可以包括任意数量的处理器。
[0022] 设备100还可以包括用户接口,其包括诸如响铃110、机或扬声器112、麦克114、显示器116之类的输出设备,以及可以耦合至控制器108的用户输入接口。允许设备100接收数据的用户输入接口可以包括允许设备100接收数据的任意数量的设备,诸如小键盘 
118、触摸显示器、麦克风或其它输入设备。在包括小键盘118的实施例中,小键盘118可以包括数字(0-9)和相关按键(#、*),以及用于操作设备100的其它硬按键和软按键。可替换地或除此之外,小键盘118可以包括常规QWERTY小键盘布置。小键盘118还可以包括具有相关联功能的各种软按键。除此之外或可替换地,设备100 可以包括诸如操纵杆或其它用户输入接口之类的接口设备。设备100 进一步包括诸如振动电池组之类的电池120,其用于对用来操作设备 100的各种电路供电,以及可选地提供机械振动作为可检测输出。
[0023] 在示例实施例中,设备100包括与控制器108通信的媒体捕捉元件,诸如相机、视频和/或音频模块。媒体捕捉元件可以是用于捕捉图像、音频和/或视频以便存储、显示或传输的任意部件。在媒体捕捉元件是相机模块122的示例实施例中,相机模块122可以包括能够从所捕捉的图像形成数字图像文件的数字相机。因此,相机模块122包括诸如镜头或其它(多个)光学组件之类的所有硬件以及用于从所捕捉的图像创建数字图像文件的软件。可替换地或者另外地,相机模块 122可以包括观看图像帧所需的硬件,而设备100的存储器设备则以从所捕捉的图像帧创建数字图像文件的软件的形式存储用于供控制器108执行的指令。在示例实施例中,相机模块122可以进一步包括处理元件,诸如在处理图像数据时对控制器108进行辅助的协同处理器以及用于压缩和/或解压缩图像数据的编码器和/或解码器。编码器和/或解码器可以根据JPEG标准格式或另一类似格式进行编码和/或解码。对于视频而言,编码器和/或解码器可以采用任意多种标准格式,例如与H.261、H.262/MPEG-2、H.263、H.264、H.264/MPEG-4、MPEG-4 等相关联的标准。在一些情况下,相机模块122可以向显示器116提供直播图像数据。在示例实施例中,显示器116可以位于设备100的一侧而相机模块122可以包括位于设备100关于显示器116的相对一侧上的透镜,以使得相机模块122能够捕捉在设备100一侧的图像并且为位于设备100另一侧的用户呈现这样的图像的视图。
[0024] 设备100可以进一步包括用户身份模块(UIM)124。UIM 124 可以是具有内建处理器的存储器设备。UIM 124例如可以包括订户身份模块(SIM)、通用集成电路卡(UICC)、通用订户身份模块(USIM)、可移动用户身份模块(R-UIM)或者任意其它智能卡。UIM 124通常存储与移动订户相关的信息要素。除了UIM 124之外,设备100可以配备有存储器。例如,设备100可以包括易失性存储器126,诸如包括用于数据的临时存储的高速缓存区域的易失性随机访问存储器 (RAM)。设备100还可以包括其它非易失性存储器128,其可以是嵌入式的和/或可移动的。非易失性存储器128可以另外地或可替换地包括电可擦除可编程只读存储器(EEPROM)、闪存、硬盘驱动器等。存储器可以存储由设备100用来实施设备100的功能的任意条数的信息和数据。
[0025] 图2图示了依据示例实施例的用于修改图像中的照度的装置200。用于修改图像中的照度的装置200例如可以在图1的设备100中被采用。然而,应当注意的是,装置200也可以在各种其它移动和固定设备上被采用并且因此实施例并不应当被局限于诸如图1的设备100之类的设备上的应用。可替换地,实施例可以在例如包括以上所列出的设备的组合上被采用。因此,各个实施例可以整体在单个设备(例如设备100)处被实现或者以设备的组合被实现。此外,应当注意的是,以下所描述的设备或元件可以并非是强制性的并且因此其中一些可以在某些实施例中被省略。
[0026] 装置200包括至少一个处理器202以及至少一个存储器204或者以其它方式与它们通信。至少一个存储器204的示例包括但并不局限于易失性和/或非易失性存储器。易失性存储器的一些示例包括但并不局限于随机访问存储器、动态随机访问存储器、静态随机访问存储器等。非易失性存储器的一些示例包括但并不局限于硬盘驱动器、磁带、光盘、可编程只读存储器、可擦除可编程只读存储器、电可擦除可编程只读存储器、闪存等。存储器204可以被配置为存储信息、数据、应用、指令等以使得装置200能够依据各个示例实施例执行各种功能。例如,存储器204可以被配置为存储使用装置200的各个组件所捕捉的图像。除此之外或可替换地,存储器204可以被配置为存储指令以便由处理器202执行。
[0027] 处理器202的示例可以包括控制器108。处理器202可以以不同方式来实现。处理器202可以被实现为多核处理器、单核处理器;或者多核处理器和单核处理器的组合。例如,处理器202可以被实现为诸如协同处理器、微处理器、控制器、数字信号处理器(DSP)、具有或没有所附DSP的处理器电路之类的各种处理器件中的一个或多个,或者各种其它处理设备,包括例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、微控制器单元(MCU)、硬件加速器、专用计算机芯片等集成电路。在示例实施例中,多核处理器可以被配置为执行存储器
204中所存储的或者以其它方式可被处理器202所访问的指令。除此之外或可替换地,处理器202可以被配置为执行硬编码功能。这样,无论是以硬件还是软件方法还是其组合进行配置,处理器202都可以表示例如物理上以电路实现的能够在相应配置时执行根据各个实施例的功能的实体。例如,如果处理器202被实现为两个或更多个ASIC、FPGA等,则处理器202可以是用于进行这里所描述的操作的特别配置的硬件。可替换地,作为另一示例,如果处理器202 被实现为软件指令的执行器,则指令可以将处理器202专门配置以在执行指令时实施这里所描述的算法和/或操作。然而,在一些情况下,处理器202可以是特定设备的处理器,例如适于通过用于执行这里所描述的算法和/或操作的指令对处理器202的进一步配置而采用实施例的移动终端或网络设备。除其它之外,处理器202可以包括被配置为支持处理器202的操作的时钟、算术逻辑单元(ALU)和逻辑门
[0028] 用户接口206可以与处理器202通信,用户接口206的示例包括但并不局限于输入接口和/或输出用户接口。输入接口被配置为接收用户输入的指示。输出用户接口向用户提供听觉、视觉、机械或其它输出和/或反馈。输入接口的示例包括但并不局限于键盘、鼠标、操纵杆、小键盘、触摸屏、软按键等。输出接口的示例包括但并不局限于诸如发光二极管显示器、薄膜晶体管(TFT)显示器、液晶显示器、主动矩阵有机发光二极管(AMOLED)显示器之类的显示器、麦克风、扬声器、响铃、振动器等。在示例实施例中,除其它设备或元件之外,用户接口206可以包括任意或全部的扬声器、麦克风、显示器以及键盘、触摸屏等。就此而言,例如,处理器202可以包括被配置为对用户接口206的一个或多个元件(例如扬声器、响铃、麦克风、显示器等)的至少一些功能进行控制的用户接口电路。处理器202和/或包括处理器202的用户接口电路可以被配置为通过计算机程序指令(例如存储在例如至少一个存储器
204等的存储器上可由处理器202访问的软件和/或固件)对用户接口206的一个或多个元件的一个或多个功能进行控制。
[0029] 在示例实施例中,装置200可以包括电子设备。电子设备的一些示例包括通信设备、具有通信能力的媒体捕捉设备、计算设备等。通信设备的一些示例包括移动电话、个人数字助理(PDA)等。计算设备的一些示例包括膝上计算机、个人计算机等。在示例实施例中,电子设备可以包括用户接口,例如用户接口206,其具有被配置为促成用户通过使用显示器控制通信设备的至少一种功能并且进一步被配置为对用户输入作出响应的用户接口电路和用户接口软件。在示例实施例中,电子设备可以包括被配置为显示电子设备的用户接口的至少一部分的显示电路。显示器和显示电路可以被配置为促成用户对电子设备的至少一个功能进行控制。
[0030] 在示例实施例中,电子设备可以被实现为包括收发器。收发器可以是依据软件进行操作的任意设备或电路,或者以其它方式以硬件或者硬件和软件的组合来实现。例如,在软件控制下进行操作的处理器 202或者被实现为专门配置为执行这里所描述的操作的ASIC或FPGA 的处理器202或者其组合因此对装置或电路进行配置以执行收发器的功能。
[0031] 在示例实施例中,电子设备还可以被体现为包括立体相机208。立体相机208可以与处理器和/或装置200的其它组件通信。在一个实施例中,立体相机208可以与其它成像电路和/或软件通信,并且被配置为捕捉数字图像和/或形成视频或其它图形媒体文件。立体相机208 和其它电路可以进行组合而作为设备100的相机模块122的示例。在某些示例实施例中,立体相机208可以处于装置200的外部,但是能够由装置200访问和/或控制。在一个实施例中,立体相机208可以包括一对镜头、图像传感器以及必备成像电路以捕捉并感应在图像捕捉期间从对象反射的入射光。在一个实施例中,用户可以使用装置200 的用户接口206提供用户想要捕捉图像和/或视频的指示,这可以使得装置200的处理器202和存储器204使得立体相机208中的镜头接收入射光并且将入射光沿光学路径指向成像传感器以便促成图像捕捉。
[0032] 装置200的组件202-208可以经由集中电路系统210互相通信以便修改图像中的照度。集中电路系统210可以是各种设备,除其它之外,其被配置为提供或使能装置200的组件202-208之间的通信。在某些实施例中,集中电路系统210可以是中央印刷电路板(PCB),诸如母板、主板、系统板或逻辑板。除此之外或可替换地,集中电路系统210可以包括其它印刷电路组件(PCA)或通信信道媒体。
[0033] 在示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件使得装置200将图像(例如来自使用立体相机208所捕捉的图像对中的图像)划分为多个超像素单元区域。图像可以被划分为多个超像素单元区域(例如被划分为像素集合),以使得每个超像素单元区域包括多个像素。在一个实施例中,图像划分/分割技术可以被用于将图像划分为多个超像素单元区域。图像划分/分割技术的示例可以包括但并不局限于阈值技术、聚类算法 (例如K均值算法)、边缘检测技术等。所划分图像的示例视觉表示形式在图3中被描绘。
[0034] 现在参考图3,描绘了依据示例实施例的被划分为多个超像素单元区域的图像300的示例视觉表示形式。可以采用图像划分/分割技术以便将图像300划分为多个超像素单元区域,诸如超像素单元区域 302、超像素单元区域304、超像素单元区域306等。所要理解的是,超像素单元区域302、304和306在这里出于说明的目的被引用,并且被划分图像300包括多个超像素单元区域,诸如超像素单元区域 302、304和306。多个超像素单元区域中的每个超像素单元区域包括如被放大的超像素单元区域302的插图308中所描绘的若干像素。在插图308中,经放大的超像素单元区域302被描绘为包括多个像素,诸如像素310、像素312和314。所要理解的是,像素310、312和314 在这里出于说明的目的被引用,并且超像素单元区域302包括若干像素,诸如像素310、312和314。在示例实施例中,处理部件可以被配置为将图像300划分为多个超像素单元区域。处理部件的示例包括处理器202,其可以是控制器108的示例。
[0035] 现在参考图2,在示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件以使得装置200 针对多个超像素单元区域确定表面方位。在示例实施例中,基于与图像相关联的深度信息,针对多个超像素单元区域中的每个超像素单元区域可以确定表面方位(例如与超像素单元区域相关联的表面在图像捕捉时相对光源所对向的度)。在一个实施例中,超像素单元区域的表面方位通过以下步骤被确定:(1)基于与图像相关联的深度信息为对应于超像素单元区域的像素指定法向量,并且(2)对针对像素指定的法线求平均以生成平均法向量。平均法向量被确定为超像素单元区域的表面方位。超像素单元区域的表面方位的确定进一步参考图4进行解释。
[0036] 现在参考图4,描绘了经放大的图3中的超像素单元区域302的示例视觉表示形式,以便图示出依据示例实施例的针对超像素单元区域302的表面方位的确定。如参考图3所解释的,超像素单元区域302 包括若干像素,诸如像素314、316、318、320、322和324。可以针对图4中描绘的每个像素指定法向量。例如,像素314与法向量414 相关联,像素316与法向量416相关联,像素318与法向量418相关联,像素320与法向量420相关联,并且像素322与法向量422相关联。诸如法向量414-422之类的法向量可以与超像素单元区域302中的每个像素相关联。在一个示例实施例中,基于与包括超像素单元区域302的图像(例如图3的图像300)相关联的深度信息向像素指定法向量。在一个示例实施例中,处理器202被配置为利用存储器204 的内容以及可选地利用这里所描述的其它组件而使得图2的装置200 至少针对图像
300生成深度图视差图之一的粗略估计,以便生成与图像300相关联的深度信息。在一个实施例中,视差图的粗略估计可以从图2的立体相机208所捕捉的立体图像对(包括作为立体图像对中的图像之一的图像300)得出。深度图的估计可以从视差图得出。立体相机208中的相机对进行的场景捕捉的角度差可以被用来以几何方式得出从立体相机208到对象的距离以构建深度/视差图。生成深度图和视差图的粗略估计可以使用任意多种已知技术来执行,并且在这里出于简明的原因并不进行解释。在一个示例实施例中,处理部件可以被配置为至少针对图像300生成深度图和视差图之一的粗略估计,以便生成与图像300相关联的深度信息。处理部件的示例可以包括处理器202,其可以是控制器108的示例。
[0037] 在一个示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200对为超像素单元区域302的像素所指定的法向量求平均。例如,诸如414-422的法向量连同其它这样的法向量一起可以被平均以生成如在图4中示例性描绘的像素324处的平均法向量400。平均法向量400的方向可以被认为是超像素单元区域302的表面方位的指示。可以类似地针对在图像300的划分之后所获得的每个超像素单元区域(诸如超像素单元区域304、306等)计算表面方位。在一个示例实施例中,处理部件可以被配置为针对多个超像素单元区域确定表面方位。处理部件的示例可以包括处理器202,其可以是控制器108的示例。
[0038] 返回参考图2,在一个示例实施例中,针对诸如图3的超像素单元区域302的超像素单元区域确定表面方位导致一个或多个伪像,这可能使得在后续修改图像照度时使得图像质量下降。例如,由于将图像划分为超像素单元区域并且由于超像素单元区域边缘上的两个相邻像素之间的法向量的非连续性,可能生成导致图像退化的伪像。在一个示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200采用一个或多个滤镜来抵消在为超像素单元区域确定表面方位的期间所生成的伪像。在一个示例实施例中,诸如Phong阴影滤镜(图2中未示出)的阴影滤镜可以被用来抵消在为超像素单元区域确定表面方位的期间所生成的伪像。在一个示例实施例中,可以采用被配置为排除超像素单元区域内的深度不连续性的滤波器来抵消深度估计误差或分割误差在像素平所导致的伪像。在一个示例实施例中,处理部件可以被配置为采用一个或多个滤镜来抵消在为每个超像素单元区域确定表面方位的期间所生成的伪像。处理部件的示例可以包括处理器202,其可以是控制器108的示例。
[0039] 在一个示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200接收至少一个虚拟光源指示以便修改与图像相关联的照度。在一个实施例中,接收至少一个虚拟光源指示包括接收至少一个矢量,其中矢量指示虚拟光源的方向。在一个实施例中,接收至少一个虚拟光源指示包括接收至少一个虚拟光源位置。虚拟光源位置包括对应于虚拟光源的二维 (2D)位置信息和三维(3D)位置信息之一。在一个示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200根据至少一个虚拟光源位置计算至少一个矢量。在一个实施例中,至少一个矢量中的矢量指示虚拟光源方向。以下对接收至少一个虚拟光源指示进一步进行解释。
[0040] 例如,图像可以被立体相机208在周边照明(例如自然照明或人造照明)条件下捕捉并且图像因此可能与照度(这里也被称作当前照度)相关联。与装置200相关联的用户可能想要对所捕捉的图像进行修改。例如,用户可能想要在所捕捉的图像中模仿阳光的效果。针对远距离的虚拟光源(如太阳),用户可以提供方向(例如以x、y和z 坐标信息的形式),这用作指示虚拟光源方向的矢量。在一个示例实施例中,用户还可能想要降低过曝区域(例如遮挡了图像细节的具有较高亮度数量的区域)的亮度。在这样的情况下,矢量可以只是用于通过从图像中的一些区域去除亮度而修改照度的方向。在一个实施例中,用户可能想要在所捕捉的图像中模仿烛光的效果。对于各向同性的光源(如烛光)而言,用户可以提供虚拟光源针对装置200的3D 位置。处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200通过将3D位置连接至个体超像素单元区域的中心来计算矢量以便确定虚拟光源方向。对于点光源 (例如相机闪光灯)而言,除了虚拟光源的3D位置以外,用户可以提供方向矢量来指示主要点方向。在一个实施例中,点光源可以与有向图相关联以针对增加的亮度而指示一个或多个优选方向。在一个示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200对一个或多个矢量规格化。注意到,表示多个虚拟光源的多个这样的矢量可以被装置200接收而作为沿矢量方向修改图像照度的指示。在一个示例实施例中,处理部件可以被配置为接收至少一个虚拟光源指示以便修改与图像相关联的照度。处理部件的示例可以包括处理器
202,其可以是控制器 108的示例。
[0041] 在一个示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200通过基于至少一个虚拟光源指示以及对应于一个或多个超像素单元区域的表面方位修改与多个超像素单元区域中的一个或多个超像素单元区域相关联的亮度来修改与图像相关联的照度。在一个实施例中,修改与一个或多个超像素单元区域相关联的亮度包括执行以下步骤之一:(1) 在对应于超像素单元区域的表面方位面向矢量所表示的虚拟光源方向的情况下提高一个或多个超像素单元区域中的超像素单元区域内包括的像素的亮度,以及(2)在对应于超像素单元区域的表面方位面向不同于矢量所表示的虚拟光源方向的方向的情况下降低一个或多个超像素单元区域中的超像素单元区域内包括的像素的亮度。注意到,术语“照度”在这里参考图像使用而术语“亮度”则参考包括于其中的超像素单元区域和像素使用。所要理解的是,术语“照度”是指构成图像的超像素单元区域的个体亮度所提供的图像整体亮度。还注意到,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200例如在红-绿-蓝(RGB)颜色合成方面对像素的现有亮度进行估计,并且将估计的各个超像素单元区域内的多个像素的亮度记录在存储器204中。这样,修改图像的照度是指修改一个或多个超像素单元区域的亮度,或者例如从其相对应的当前亮度水平修改一个或多个超像素单元区域内的亮度。
[0042] 如参考图3和图4所解释的,每个超像素单元区域与表面方位相关联。如果超像素单元区域的表面方位面向表示虚拟光源方向的矢量的方向,则超像素单元区域内包括的像素的亮度被提高。如果超像素单元区域的表面方位面向不同于表示虚拟光源方向的矢量的方向,则超像素单元区域内包括的像素的亮度被降低。
[0043] 在一个实施例中,可以选择虚拟光源(例如由用户)估计远距离光源(例如太阳),并且因此虚拟光源方向实际上可以为平行射线的形式。在这样的情况下,与图像内的所有超像素单元区域的像素相关联的亮度可以基于它们相对应的面对表示远距离虚拟光源方向的矢量的表面方位被修改。在一个实施例中,虚拟光源可以被选择为例如蜡烛之类的各向同性光源或者诸如相机闪光灯之类的点光源。在一个实施例中,可以仅对落入从诸如灯罩之类的有向光源投射的光所对向的立体角度之内的那些超像素单元区域的像素亮度进行修改。
[0044] 在一个示例实施例中,超像素单元区域内包括的像素中的像素的个体亮度与当前像素亮度成比例地被修改。例如,如果两个像素A和 B的像素亮度为-20和-30单位,则可以成比例地应用10单位的亮度增加,例如,A和B的像素亮度从现有像素亮度被变为-10和-20单位。在以上示例中,像素亮度被描绘为以单位进行测量以便简化当前像素亮度的比例修改的说明,然而所要理解的是,比例修改可以以RGB、青-品红-黄-黑(CMYK)或者任意这样的颜色空间要素被执行。
[0045] 在一个示例实施例中,像素的个体亮度的修改进一步基于像素的原始颜色、与像素相关联的深度信息以及与对应于至少一个虚拟光源方向的一个或多个虚拟光源相关联的至少一个预定因素被执行。在一个实施例中,至少一个预定因素包括与一个或多个虚拟光源中的每个虚拟光源相关联的颜色以及与每个虚拟光源相关联的功率因数。例如,除了超像素单元区域的表面方位以及表示虚拟光源方向的矢量之外,像素的现有颜色、像素的深度信息、虚拟光源的颜色、虚拟光源的功率以及可选地方向图(例如有向光源所对向的立体角度)也可以成为修改超像素单元区域内的像素亮度的因素。在一个实施例中,每个虚拟光源可以与色谱和方向图相关联。因此,像素亮度的修改可以在修改与图像相关联的照度期间以与一个或多个虚拟光源相关联的深度、颜色和功率的累加效应作为因素。
[0046] 在一个实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200基于与一个或多个虚拟光源中的每个虚拟光源相关联的颜色来修改与多个超像素单元区域中的一个或多个超像素单元区域相关联的颜色。例如,如果虚拟光源的颜色对应于非白色的颜色,则除了修改一个或多个超像素单元区域的亮度之外,与一个或多个超像素单元区域相关联的颜色也可以被修改。
[0047] 在一个实施例中,修改与一个或多个超像素单元区域相关联的亮度包括执行从个体超像素单元区域去除亮度和增加亮度之一。在一个实施例中,一个或多个超像素单元区域对应于基于与图像相关联的深度信息所识别的图像前景区和图像背景区之一。例如,用户可能想要仅对图像前景区或图像背景区进行修改。因此,可以仅对处于所选择分区(例如基于深度信息所区分的图像内的分区)内的超像素单元区域内的像素的亮度进行修改。在一个示例实施例中,像素的亮度可以以图像照度可以被局限于诸如图像背景区或图像前景区之类的仅一个图像分区的方式进行修改。在一个示例实施例中,基于表示虚拟光源方向的矢量以及所选择的分区内的超像素单元区域的表面方位,可以向暗的背景区增加亮度,或者可以降低背景区中的亮度。在一个实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200定义阈值极限,例如可以自其中对亮度进行修改以照亮逆光中的图像主体而并不对图像背景区进行修改,或者对图像背景区进行修改而并不修改图像主体的深度上限和深度下限。
[0048] 在一个实施例中,修改与图像相关联的照度包括沿矢量所表示的虚拟光源方向执行与一个或多个超像素单元区域相关联的逐渐衰减和突然衰减中的一种。例如,像素的亮度可以如以上结合前景/背景区所解释的那样被突然衰减,或者可以连同增大(或减小)的深度信息一起被降低以模仿光线漫射和/或吸收的效果。在一个实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200定义漫射/散射因数,其描述了随着深度的相应增大而降低亮度的速率(例如为了使得图像中最接近的对象与图像背景区相比更明亮)。在一个示例实施例中,处理部件可以被配置为基于对应于一个或多个超像素单元区域的至少一个矢量和表面方位修改与多个超像素单元区域中的一个或多个超像素单元区域相关联的亮度而修改与图像相关联的照度。处理部件的示例可以包括处理器 202,其可以是控制器108的示例。与图像相关联的照度的修改进一步参考图5A、图5B和图5C进行解释。
[0049] 图5A、图5B和图5C描绘了依据示例实施例的在相关联图像中提供虚拟光源以便修改与图像相关联的照度的简化概况。例如,图5A 图示了图像500,其描绘了坐在室内环境之中的人。图像500与当前照度相关联,后者在这里由于来自周围光源(图5A中并未描绘)的照度而被称作第一照度502。与图像500相关联的照度(例如第一照度502)可以通过确定与关联于图像500的每个超像素单元区域相关联的亮度被估计。另外,还可以如参考图3和图4所解释的那样来确定每个超像素单元区域的表面方位。图5B描绘了表示与图像500中的虚拟光源504(被描绘为蜡烛)相关联的虚拟光源方向的矢量(被描绘为块箭头)的提供以便修改与图像500相关联的照度。所要理解的是,由于蜡烛是在多个方向提供光照的全相同性光源,所以用户可以提供蜡烛的3D位置并且通过将3D位置与个体超像素单元区域的中心进行连接来计算一个或多个矢量。在图5B中,矢量被描绘为对 3D位置的提供以及后续的数量计算进行符号化表示。此外,矢量出于说明的目的而被描绘为面向图像主体。每个超像素单元区域的表面方位可以被分类为面向矢量方向或者面向不同于矢量方向的方向,并且因此可以提高或降低与超像素单元区域内的像素相关联的亮度。例如,如果超像素单元区域的表面方位面向矢量,则超像素单元区域内的像素的亮度被提高。然而,如果超像素单元区域的表面方位面向不同于矢量的方向,则超像素单元区域内的像素的亮度被降低。在一个实施例中,如参考图2所解释的,基于当前像素亮度而对与一个或多个超像素单元区域中的超像素单元区域内包括的像素相关联的像素亮度成比例地进行修改。一个或多个超像素单元区域可以被相应地修改以便生成图像506。图5C描绘了经修改的图像,例如在修改与图 5A的图像500相关联的第一照度502时生成的与经修改的照度相关联的图像506。如能够从图5C看到的,经修改的照度508包括增亮部分510(对应于蜡烛的亮度),而与增亮部分510相邻的区域的亮度则相应地下降。与图像500相关联的照度可以简单地基于一个或多个光源进行修改以促成多种应用,诸如虚拟现实应用、成像效果等。在图5A、图5B和图5C中,虚拟光源被描绘为各向同性光源(例如蜡烛)。然而,虚拟光源也可以是远距离光源(例如太阳)或点光源 (例如闪光灯)。所要注意的是,如参考图2解释的,可以基于虚拟光源的类型而遵循适当步骤。例如,针对点光源,除了提供点光源的 3D位置之外,用户可以提供有向矢量。另外,在修改与超像素单元区域相关联的像素亮度时还可以考虑有关点光源的功率、虚拟光源的颜色、像素的原始颜色、方向图以及像素的三维位置等信息。在一个示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200在修改与图像相关联的照度之后显示图像。
[0050] 现在参考图2,在一个实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200 确定对应于照亮图像(诸如图3的图像300)的主光源的光源方向。在一个实施例中,识别图像中的多个非重叠分区。例如,识别所划分的图像中最明亮的非重叠分区,而使得每个非重叠分区包括至少一个超像素单元区域,并且每个非重叠分区内的超像素单元区域与基本上相同的颜色相关联。换句话说,选择多个非重叠分区而使得所识别的分区与比包括图像中其余超像素单元区域的分区更高的亮度水平相关联。
[0051] 在一个实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200针对多个非重叠分区计算分区表面方位。分区表面方位指示相应非重叠分区的表面方位。在一个实施例中,将对应于每个非重叠分区内所包括的超像素单元区域的表面方位(如参考图4所解释的)求平均以计算出相对应的分区表面方位。因此,每个非重叠分区与分区表面方位相关联。
[0052] 在一个实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200针对多个非重叠分区计算深度估计和亮度估计。例如,针对每个非重叠分区计算深度估计和亮度估计。在一个实施例中,非重叠分区的深度估计对应于非重叠分区内所包括的超像素单元区域的平均深度。在一个实施例中,非重叠分区的亮度估计对应于与非重叠分区内所包括的超像素单元区域中最明亮的超像素单元区域相关联的亮度。
[0053] 在一个实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200向对应于多个非重叠分区的分区表面方位指定权重。在一个实施例中,基于针对相应非重叠分区所计算的深度估计和亮度估计而向分区表面方位指定权重。在一个实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200通过基于指定的权重计算分区表面方位的加权平均来确定对应于照亮图像的主光源的光源方向。在一个实施例中,对应于分区表面方位的加权平均的方向被确定为光源方向。光源方向的确定借助于图6中的说明性示例进一步进行解释。
[0054] 图6描绘了依据示例实施例的图像600的示例视觉表示形式以便图示对应于照亮图像600的主光源的光源检测的确定。图像600描绘了对象602(例如图像600中的狗)以及照亮图像的主光源604(例如图像600中的太阳)。所要注意的是,图像600中诸如对象602之类的对象可以被多于一个的光源所照亮,然而,图像600中的光源之中的主光源被描绘为主光源604。所要理解的是,术语“主光源”暗示对与图像600相关联的照度贡献最大的光源。图像600被描绘为划分为如参考图3所解释的多个超像素单元区域。
[0055] 为了确定与主光源604相关联的光源方向,识别多个非重叠分区。每个非重叠分区与基本上相同的颜色相关联并且包括至少一个超像素单元区域。另外,非重叠分区被识别而使得所识别的非重叠分区与比包括图像600中的其余超像素单元分区的其它分区更好的亮度水平相关联。在一个实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得图2的装置200从所划分图像600中识别具有更高亮度水平和基本上相同颜色的多个非重叠分区(例如超像素单元区域的非重叠分区)。例如,在图像600中,分区606(由虚线圆圈所标记)被描绘为被识别为一个这样的分区。分区606被描绘为包括诸如超像素单元区域608、610、612、614和 616之类的超像素单元分区,它们基本上为相同的颜色(并且具有稍微不同的亮度水平)。所要理解的是,图像600中可以识别出多个这样的分区(例如互相无重叠)。
[0056] 在一个实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得图2的装置200针对每个非重叠分区计算分区表面方位。如参考图2和图3所解释的,针对图像中的每个超像素单元区域确定表面方位。可以基于一个分区内的超像素单元区域的表面方位来计算平均表面方位以确定分区表面方位。在图6中,分区
606内的超像素单元区域608、610、612、614和616 的表面方位可以被平均以生成分区608的分区表面方位618。在图6 中,描绘了要针对相对应的非重叠区域(图6中未示出)的五个其它分区表面方位620、622、624、626和628。
[0057] 在一个实施例中,针对多个非重叠分区计算深度估计和亮度估计。例如,针对每个非重叠分区计算深度估计和亮度估计。在一个实施例中,非重叠分区的深度估计对应于非重叠分区内所包括的超像素单元区域的平均深度。在一个实施例中,非重叠分区的亮度估计对应于与非重叠分区内所包括的超像素单元区域中最亮的超像素单元区域相关联的亮度。例如,对于分区606而言,与超像素单元区域608、 610、612、614和616相关联的深度信息被确定并且被平均以计算分区606的深度估计。类似地,分区606的亮度估计对应于超像素单元区域608、610、612、614和616中最亮的超像素单元分区的亮度。
[0058] 在一个实施例中,基于相对应的非重叠分区的深度估计和亮度估计对分区表面方位618、620、622、624、626和628中的每个分区表面方位指定权重。例如,分区表面方位618可以基于分区606的深度估计和亮度估计而被指定以权重。例如,可以针对与较小深度估计相关联的分区(例如更接近于诸如立体相机208之类的图像捕捉部件的分区)的分区表面方位指定较高权重。在另一个示例中,可以针对与多个非重叠分区中与较高亮度水平相关联的分区的分区表面方位指定较高权重。所要理解的是,向分区表面方位指定权重可以并不局限于以上所解释的因素,并且因此可以基于多种因素来指定权重。在一个实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得图2的装置200通过基于所指定权重对分区表面方位进行平均来确定光源方向。在图6中,分区表面方位618、620、622、624、626和628基于相对应的所指定权重而被平均以生成平均分区表面方位630,其方向对应于主光源604的光源方向。
[0059] 所要理解的是,光源方向确定的准确性可以取决于多种因素,诸如针对其比较亮度的超像素单元区域的分区中的深度图的准确性,存在照亮图像的主光源之外的额外光源,存在/缺少作为图像一部分的光源(其中光源被当做对象),存在对应于图像的图像场景中的照明或阻挡(例如涉及到室内和室外环境混合的图像场景),具有负的z分量的背光或光照方向(z为朝向背景定向的深度轴线),等等。参考图7对用于修改与图像相关联的照度的方法进行解释。
[0060] 图7是描绘依据示例实施例的用于修改图像中的照度的示例方法 700的流程图。以流程图描绘的方法700例如可以由图2的装置200 来执行。流程图的操作以及流程图中操作的组合可以通过各种手段来实施,诸如硬件、固件、处理器、电路和/或与包括一个或多个计算机程序指令的软件执行相关联的其它设备。例如,各个实施例中所描述的一个或多个过程可以通过计算机程序指令来实现。在示例实施例中,体现各个实施例中所描述过程的计算机程序指令可以由装置的至少一个存储器设备进行存储并且由装置中的至少一个处理器执行。任何这样的计算机程序指令都可以被加载到计算机或其它可编程装置 (例如硬件)上以生产机器而使得所产生的计算机或其它可编程装置实现用于实施流程图中指定操作的器件。这些计算机程序指令还可以存储在计算机可读存储器(与诸如载波或电子信号的传输介质相反) 中,其可以指示计算机或其它可编程装置以特定方式工作,而使得存储在计算机可读存储器中的指令产生其执行实施流程图中所指定的操作的制造品。计算机程序指令还可以加载到计算机或其它可编程装置中而使得一系列操作得以在计算机或其它可编程装置上执行而产生计算机实施的处理,以使得在计算机或其它可编程装置上执行的指令提供用于实施流程图中的操作的操作。借助于图2装置200对方法 700的操作进行描述。然而,该方法的操作可以使用任意其它装置进行描述和/或实践。
[0061] 在方法700的块702,图像被划分为多个超像素单元区域。例如,图像可以被划分为多个超像素单元区域(例如像素集合),而使得每个超像素单元区域包括如图3所描绘的多个像素。在一个实施例中,图像划分/分割技术可以被用于将图像划分为多个超像素单元区域。图像划分/分割技术的示例可以包括但并不局限于阈值技术、聚类算法 (例如K均值算法)、边缘检测技术等。
[0062] 在块704,针对多个超像素单元区域确定表面方位。在一个示例实施例中,可以基于与图像相关联的深度信息,针对多个超像素单元区域中的每个超像素单元区域确定表面方位(例如与超像素单元区域相关联的表面在图像捕捉时相对光源所对向的角度)。针对超像素单元区域确定表面方位可以如参考图4所解释的那样被执行。
[0063] 在块706,接收至少一个虚拟光源指示以便修改与图像相关联的照度。在一个实施例中,接收至少一个虚拟光源指示包括接收至少一个矢量,其中矢量指示虚拟光源方向。在一个实施例中,接收至少一个虚拟光源指示包括接收至少一个虚拟光源位置。虚拟光源位置包括对应于虚拟光源的二维(2D)位置信息和三维(3D)位置信息之一。在一个示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件而使得装置200根据至少一个虚拟光源位置计算至少一个矢量。在一个实施例中,至少一个矢量中的矢量指示虚拟光源方向。如参考图2所解释的,虚拟光源指示可以基于虚拟光源的类型被接收。
[0064] 在块708,通过基于至少一个虚拟光源指示以及对应于一个或多个超像素单元区域的表面方位修改与多个超像素单元区域中的一个或多个超像素单元区域相关联的亮度来修改与图像相关联的照度。在一个实施例中,修改与一个或多个超像素单元区域相关联的亮度包括执行以下步骤之一:(1)在对应于超像素单元区域的表面方位面向由矢量表示的虚拟光源方向的情况下,提高一个或多个超像素单元区域中的超像素单元区域内包括的像素的亮度;以及(2)在对应于超像素单元区域的表面方位面向不同于由矢量表示的虚拟光源方向的方向的情况下,降低一个或多个超像素单元区域中的超像素单元区域内包括的像素的亮度。
[0065] 在一个示例实施例中,如参考图2所解释的,超像素单元区域内包括的像素中的像素的个体亮度与当前像素亮度成比例地被修改。在一个示例实施例中,对像素的个体亮度的修改进一步基于像素的原始颜色、与像素相关联的深度信息、以及与对应于至少一个虚拟光源方向的一个或多个虚拟光源相关联的至少一个预定因素被执行。在一个实施例中,至少一个预定因素包括与一个或多个虚拟光源中的每个虚拟光源相关联的颜色以及与每个虚拟光源相关联的功率因数。例如,除了超像素单元区域的表面方位以及表示虚拟光源方向的矢量之外,像素的现有颜色、像素的深度信息、虚拟光源的颜色、虚拟光源的功率、以及(可选地)方向图(例如有向光源所对向的立体角度)也可以成为修改超像素单元区域内的像素亮度的因素。在一个实施例中,每个虚拟光源可以与色谱和方向图相关联。因此,像素亮度的修改可以在修改与图像相关联的照度期间以与一个或多个虚拟光源相关联的深度、颜色和功率的累加效应作为因素。
[0066] 在一个实施例中,基于与一个或多个虚拟光源中的每个虚拟光源相关联的颜色来修改与多个超像素单元区域中的一个或多个超像素单元区域相关联的颜色。例如,如果虚拟光源的颜色对应于非白色的颜色,则除了修改一个或多个超像素单元区域的亮度之外,与一个或多个超像素单元区域相关联的颜色也可以被修改。
[0067] 在一个实施例中,修改与一个或多个超像素单元区域相关联的亮度包括执行从个体超像素单元区域去除亮度和增加亮度之一。在一个实施例中,如参考图2所解释的,一个或多个超像素单元区域对应于基于与图像相关联的深度信息所识别的图像前景区和图像背景区之一。在一个实施例中,修改与图像相关联的照度包括沿由一个矢量表示的虚拟光源方向执行与一个或多个超像素单元区域相关联的逐渐衰减和突然衰减之一。例如,像素的亮度可以如以上结合前景/背景区所解释的那样被突然衰减,或者可以连同增大(或减小)的深度信息一起被降低以模仿光线漫射和/或吸收的效果。在一个实施例中,可以如参考图5A、图5B和图5C所解释的那样执行图像照度的修改。
[0068] 在一个实施例中,可以确定对应于照亮图像的主光源的光源方向。在一个实施例中,识别图像中的多个非重叠分区。例如,识别所划分图像中最明亮的非重叠分区,以使得每个非重叠分区包括至少一个超像素单元区域,并且每个非重叠分区内的超像素单元区域与基本上相同的颜色相关联。换句话说,选择多个非重叠分区以使得所识别的分区与比包括图像中其余超像素单元区域的分区更高的亮度水平相关联。
[0069] 在一个实施例中,针对多个非重叠分区计算分区表面方位。分区表面方位指示相对应的非重叠分区的表面方位。在一个实施例中,将对应于每个非重叠分区内包括的超像素单元区域的表面方位(如参考图4所解释的)求平均来计算出相对应的分区表面方位。因此,每个非重叠分区与分区表面方位相关联。
[0070] 在一个实施例中,针对多个非重叠分区计算深度估计和亮度估计。例如,针对每个非重叠分区计算深度估计和亮度估计。在一个实施例中,非重叠分区的深度估计对应于非重叠分区内包括的超像素单元区域的平均深度。在一个实施例中,非重叠分区的亮度估计对应于与非重叠分区内包括的超像素单元区域中最明亮的超像素单元区域相关联的亮度。
[0071] 在一个实施例中,向对应于多个非重叠分区的分区表面方位指定权重。在一个实施例中,基于针对相对应的非重叠分区所计算的深度估计和亮度估计而向分区表面方位指定权重。在一个实施例中,通过基于所指定的权重计算分区表面方位的加权平均来确定对应于照亮图像的主光源的光源方向。在一个实施例中,对应于分区表面方位的加权平均的方向被确定为光源方向。可以如参考图6所解释的那样执行光源方向的确定。用于修改与图像相关联的照度的另一种方法参考图8进行解释。
[0072] 图8是描绘依据另一个示例实施例的用于修改图像中的照度的示例方法800的流程图。以流程图描绘的方法800例如可以由图2的装置200来执行。流程图的操作以及流程图中操作的组合可以通过各种手段来实施,诸如硬件、固件、处理器、电路和/或与包括一个或多个计算机程序指令的软件执行相关联的其它设备。例如,各个实施例中所描述的一个或多个过程可以通过计算机程序指令来实现。在示例实施例中,体现各个实施例中所描述过程的计算机程序指令可以由装置的至少一个存储器设备存储并且由装置中的至少一个处理器执行。任何这样的计算机程序指令都可以被加载到计算机或其它可编程装置 (例如硬件)上以生产机器而使得所产生的计算机或其它可编程装置实现用于实施流程图中指定操作的部件。这些计算机程序指令还可以存储在计算机可读存储器(与诸如载波或电子信号的传输介质相反) 中,其可以指示计算机或其它可编程装置以特定方式工作,而使得存储在计算机可读存储器中的指令产生其执行实施流程图中指定操作的制造品。计算机程序指令还可以加载到计算机或其它可编程装置中而使得一系列操作在计算机或其它可编程装置上被执行以产生计算机实施的处理,使得在计算机或其它可编程装置上执行的指令提供用于实施流程图中操作的操作。借助于图2装置200对方法800的操作进行描述。然而,该方法的操作可以使用任意其它装置描述和/或实践。
[0073] 在方法800的块802,针对图像生成深度图和视差图之一的至少一个粗略估计,以便生成与图像相关联的深度信息。在一个实施例中,视差图的粗略估计可以从由立体相机捕捉的立体图像对(包括作为立体图像对中的图像之一的图像)得出。深度图的估计可以从视差图得出。通过立体相机中的相机对的场景捕捉的角度差可以被用来以几何方式得出从立体相机到对象的距离,以构建深度/视差图。生成深度图和视差图的粗略估计可以使用任意多种已知技术被执行,并且在这里出于简明的原因不进行解释。
[0074] 在块804,图像被划分为多个超像素单元区域。如参考图7中的块702所解释的那样执行将图像划分为多个超像素单元区域,并且不在这里进行解释。在块806,针对多个超像素单元区域确定表面方位。在一个实施例中,超像素单元区域的表面方位通过以下步骤被确定: (1)基于与图像相关联的深度信息为对应于超像素单元区域的像素指定法向量,并且(2)对针对像素指定的法向量求平均以生成平均法向量。在一个实施例中,超像素单元区域的平均法向量的方向可以被认为是超像素单元区域的表面方位的指示。表面方位可以类似地针对所划分图像中的每个超像素单元区域进行计算。
[0075] 在一个实施例中,针对超像素单元区域确定表面方位导致一个或多个伪像,这可能使得在后续修改图像照度时使得图像质量下降。例如,由于将图像划分为超像素单元区域并且由于超像素单元区域边缘上的两个相邻像素之间的法向量的非连续性,可能生成导致图像退化的伪像。在一个示例实施例中,采用一个或多个滤镜来抵消在为超像素单元区域确定表面方位期间生成的伪像。在一个示例实施例中,诸如Phong阴影滤镜之类的阴影滤镜可以被用来抵消在为超像素单元区域确定表面方位期间生成的伪像。在一个示例实施例中,可以采用被配置为排除超像素单元区域内的深度不连续性的滤波器来抵消深度估计误差或分割误差在像素水平所导致的伪像。
[0076] 在块808,接收至少一个虚拟光源指示,以便修改与图像相关联的照度。在块810,可以通过基于至少一个虚拟光源指示以及对应于一个或多个超像素单元区域的表面方位修改与多个超像素单元区域中的一个或多个超像素单元区域相关联的亮度来修改与图像相关联的照度。接收至少一个虚拟光源指示以及修改图像的照度如参考图7 中的块706和块708所解释的那样执行。在块812,显示与第二照度相关联的经修改的图像。
[0077] 为了便利对方法700和方法800的讨论,某些操作在这里被描述为构成以某种顺序执行的不同步骤。这样的实施方式是示例性且非限制性的。某些操作可以被分组在一起并且在单个操作中执行,并且某些操作可以以与这里所给出的示例中所采用的顺序不同的顺序来执行。此外,方法700和方法800的某些操作以自动方式执行。这些操作基本上不涉及与用户交互。方法700和方法800的其它操作可以以人工方式或半自动方式来执行。这些操作涉及经由一个或多个用户接口呈现形式与用户交互。
[0078] 在并不以任何方式对以下所出现的权利要求的范围、解释或应用进行限制的情况下,这里所公开的一个或多个示例实施例的技术效果是要促成修改图像中的照度。图像照度可能由于各种原因而需要进行修改,作为示例,诸如为了促进虚拟现实应用,为了引入光照效果(例如黑白照片)等。这样修改图像中的照度通过排除了使用用于控制成像伪像的特殊编辑设备和软件而降低了复杂度。另外,这样的技术排除了重构场景的3D模型以生成良好深度图从而改变图像照度的需求。另外,还由于以这样的方式修改图像照度而避免了消耗资源的3D 重构处理。另外,这里所公开的示例实施例促成了照亮图像的主光源的光源方向的确定。确定主光源的光源方向可以被用于平滑硬阴影或者用于补偿亮度差。例如,如果阴影覆盖了所捕捉图像中的对象的脸的一半而对象的脸的另一半被照亮,则所确定的主光源的光源方向可以被用来照亮对象的整张脸。在一个实施例中,所确定的主光源的光源方向可以被用于根据所估计的方向对图像进行自动归类/检索,或者向与诸如立体相机208之类的图像捕捉元件相关联的阴影检测器提供输入。
[0079] 以上所描述的各个实施例可以以软件、硬件、应用逻辑或者软件、硬件和应用逻辑的组合来实施。软件、应用逻辑和/或硬件可以处于至少一个存储器、至少一个处理器、装置或者计算机程序产品上。在一个示例实施例中,应用逻辑、软件或指令集保存在各种常规计算机可读介质中的任意一种上。在本文的上下文中,“计算机可读介质”可以是能够获得、存储、传输、传播或传送指令以便由诸如计算机之类的指令执行系统、装置或设备使用或者结合其使用的任意介质或部件,在图1和/或图2中描述并描绘了装置的一个示例。计算机可读介质可以包括计算机可读存储介质,其可以是能够包含或存储指令以便由诸如计算机之类的指令执行系统、装置或设备使用或者结合其使用的任意介质或部件。
[0080] 如果需要,这里所讨论的不同功能可以以不同顺序执行和/或互相同时执行。此外,如果需要,以上所描述的一种或多种功能可以是可选的或者可以被组合。
[0081] 虽然在独立权利要求中给出了实施例的各个方面,但是实施例的其它方面包括来自所描述的实施例和/或从属权利要求的特征与独立权利要求的特征的其它组合形式,而不仅是权利要求中明确给出的组合形式。
[0082] 这里还要注意的是,虽然以上对本发明的示例实施例进行了描述,但是这些描述不应当被视为具有限制性的含义。相反,存在有若干变化和修改,这些变化和修改可以在不背离本公开如所附权利要求所限定的范围的情况下进行。
相关专利内容
标题 发布/更新时间 阅读量
修改带 2020-05-11 472
一种修改中性笔 2020-05-12 880
修改分析流 2020-05-11 493
修改带式胶带 2020-05-13 179
修改比特流 2020-05-12 133
修改命令 2020-05-11 389
修改对象的基层 2020-05-13 91
引导过程修改 2020-05-13 886
修改液 2020-05-11 792
修改笔 2020-05-11 82
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈