具体实施方式
虽然本申请的概念易于进行各种修改和替代形式,但是其具体实施例已经通过附图中的示例示出并且将在本文中详细描述。然而,应当理解,没有意图将本申请的概念限制为所公开的特定形式,而是相反,意图是覆盖与本申请以及所附权利要求一致的所有修改、等同物和替代物。
说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用,指示所描述的实施例可包括特定特征、结构或特性,但是每个实施例可以或可以不必包括特定特征、结构或特性。此外,这样的短语不一定指的是相同的实施例。进一步地,认为在本领域技术人员的知识范围内,当结合实施例描述特定特征、结构或特性时,结合无论是否明确描述的其它实施例影响这样的特征,结构或特性。另外,应当理解,以“A,B和C中的至少一个”的形式包括在列表中的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C);或(A,B和C)。类似地,以“A,B或C中的至少一个”的形式列出的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C)或(A,B和C)。
在一些情况下,所公开的实施例可以在硬件、固件、软件或其任何组合中实现。所公开的实施例还可以被实现为由一个或多个暂时性或非暂时性机器可读(例如,计算机可读)存储介质携带或存储的指令,其可以由一个或多个处理器读取和执行。机器可读存储介质可以体现为用于以机器可读形式(例如,易失性或非易失性存储器、介质盘或其他介质)存储或传输信息的任何存储设备,机制或其他物理结构的设备)。
在附图中,一些结构或方法特征可以以特定布置和/或顺序示出。然而,应当理解,可能不需要这样的具体布置和/或排序。相反,在一些实施例中,这些特征可以以与说明性附图中所示不同的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示这种特征在所有实施例中都是需要的,并且在一些实施例中可以不包括或可以与其他特征组合。
目前常用的通过调整伽马曲线(Gamma曲线)参数或者利用一些算法对低光照图像进行亮度增强处理,这些方法存在以下几个问题:
(1)通过调整伽马曲线(Gamma曲线)参数对低光照图像进行亮度增强处理是一种在PhotoShop等图像处理软件中广泛使用的方法,但是在调整Gamma曲线时难以自动选择合适的参数,需要用户的手动调节才能达到增强图像较暗区域的亮度,防止图像较亮区域出现过曝现象的目的,其中过曝是指由于光圈过大或者快门过慢等原因造成的图像中亮度较高的区域泛白的现象。而对于手机拍摄模块来说,为了增强用户的体验,这种图像增强处理过程应该自动完成,而不是由用户手动调整完成。而且通过调整伽马曲线(Gamma曲线)参数时,需要对曲线的参数进行多次尝试才能得到合适的参数。
(2)利用算法对低光照图像进行亮度增强处理时,一般在RGB颜色空间中进行,如上背景技术所述,在RGB颜色空间中难以对图像的细节进行数字化的处理。
本申请实施例提供亮度增强处理方法在YUV颜色空间中对图像进行处理。在YUV颜色空间中,Y表示明亮度(Luminance或Luma),也就是灰阶值;U和V表示的则是色度(Chrominance或Chroma)作用是描述图像的色彩及饱和度,用于指定像素的颜色。YUV颜色空间的亮度信号Y和色度信号U、V是分离的。
本申请以下的实施例中采用Y通道代表YUV颜色空间中的Y信号分量、用U通道代表U信号分量、用V通道代表V信号分量。
目前针对低光照图像进行亮度增强处理时,有一种在YUV颜色空间中对图像进行亮度增强处理的方法。但是该方法仅针对Y通道进行伽马曲线调整,当Y通道的调整幅度比较大时图像的亮度增强的幅度大,但亮度增强会造成图像的颜色饱和度明显减小,饱和度是指色彩的鲜明程度,图像的整体亮度提升,那么相应的饱和度就会有所下降。比如,获取到的原图像颜色比较鲜明的区域(比如彩色的衣服、绿色植物等)经过对Y通道的调整使得整个图像的亮度增强时,颜色较为鲜明的区域会显得苍白,造成颜色的饱和度下降,影响了照片的质量和视觉效果。
为了解决上述提到的问题,本申请实施例提供的图像处理方法中,对YUV颜色空间中的Y通道、U通道、V通道分别进行了处理。本申请实施例提供的方法对图像直接在YUV颜色空间中进行处理,实现了对图像的高效处理,对低光照图像中的较暗区域达到了较好的增强效果,并可进一步防止图像中较亮区域出现过曝现象。
本申请以下的实施例中,描述了针对一个像素的处理过程,同一图像中的其他像素可采用同样的处理方式。
参见图1A,为本申请实施例提供的图像处理装置的结构示意图。该装置可包括亮度增益确定模块101、亮度增强模块102、对比度增强模块103。可选地,该装置还可以包括对比度调整模块104,如图1B所示。
亮度增益确定模块101可获取第一图像,确定该第一图像中的像素的亮度增益,该第一图像为YUV颜色编码格式的图像。亮度增强模块102可根据确定的亮度增益分别对像素的Y通道、U通道和V通道进行亮度增强。对比度增强处理模块103可对像素亮度增强后的Y通道值进行对比度增强。对比度调整模块104可调整像素对比度增强后的Y通道值,调整后的Y通道值匹配于所述像素调整前的Y通道值与所述像素亮度增强前的Y通道值的加权值。
图2A示例性的示出了图像处理方法的流程示意图,该流程示意图可由图1A所示的图像处理装置执行,该流程主要包括:
S201:获取第一图像,该第一图像为YUV颜色编码格式的图像。可选地,若获取的图像为RGB颜色编码格式的图像,则将该图像转换为YUV颜色编码格式图像。
S202:确定第一图像中像素的亮度增益,该亮度增益用于确定第一图像中不同区域需要被增强的幅度。
在一些实施例中,在S202中确定亮度增益时,先对像素的Y通道值进行高斯滤波得到GY,并对高斯滤波后的像素值进行归一化,使其的取值范围在0和1之间。将经过高斯滤波后的像素的Y通道值进行伽马变换,对伽马变换后的结果取倒数,得到相应像素的亮度增益G。
具体的,可按照如下公式(1)计算像素x的亮度增益:
公式(1)中,G(x)代表像素x的亮度增益,GY(x)代表高斯滤波后的Y通道值,γ用来控制亮度增强的幅度,其取值范围在[0、1]之间,ε是一个非常小的数,用来防止除以零的错误。从该步骤可以看出,通过该步骤中的取倒数之后,图像中较亮区域的亮度增益较小,较暗区域的亮度增益较大。
本申请实施例中针对确定的像素的亮度增益可以组成一幅亮度增强图,该亮度增强图中的每个像素值用于表示图像中相应像素的亮度增益。当然也可以采用数组等其他方式记录图像中的像素的亮度增益,本申请实施例对此不作限制。
上述S201和S202可由图1A中的亮度增益确定模块101执行。
S203:根据确定的亮度增益分别对第一图像中的像素的Y通道、U通道和V通道进行亮度增强。
其中,像素亮度增强后的Y通道值等于像素亮度增强前的Y通道值与亮度增益的乘积。像素亮度增强后的U通道值等于亮度增强前的U通道值与第一设定参考值加权平均的结果。像素亮度增强后的V通道值等于亮度增强前的V通道值与第二设定参考值加权平均的结果。U通道值、V通道值、第一设定参考值和第二设定参考值所对应的权重根据像素的亮度增益确定。
具体地,针对一个像素的Y通道进行亮度增强的处理过程包括:将亮度增强前该像素的Y通道值与该像素的亮度增益相乘,根据相乘得到的结果设置该像素的Y通道值。可按照公式(2)计算亮度增强的Y通道值:
Y'(x)=Y(x)*G(x)…………………………(2)
公式(2)中,Y'(x)代表像素x亮度增强后的Y通道值,Y(x)代表亮度增强前像素x的Y通道值,G(x)代表像素x的亮度增益。因为在S201中确定亮度增益时,图像中较亮区域的亮度增益较小,较暗区域的亮度增益较大,通过公式(2)的计算可以看出,图像中较亮区域被增强的幅度较小,较暗区域被增强的幅度较大。
具体地,进行亮度增强处理时,针对同一像素的Y通道值、U通道值、V通道值均进行同等程度的缩放,以保持图像的颜色不发生变化。Y通道表示图像的亮度,U通道值表示红色差信号,V通道值表示蓝色差信号。在YUV颜色空间表示方法中,为了保证U通道和V通道的非负性,在对U通道和V通道进行处理时,有一个加128的操作。因此在对U通道和V通道进行亮度增强处理时,与Y通道的处理略有区别。
具体的,针对一个像素的U通道进行亮度增强的处理过程参见公式(3):
U'(x)=min(255,max(0,(U(x)-128)*G(x)+128))…………(3)
公式(3)中,U'(x)代表像素x亮度增强后的U通道值,U(x)代表像素x亮度增强前的U通道值,G(x)代表像素x的亮度增益。min代表求取两个数的最小值,max代表求取两个数的最大值。U(x)的取值范围在0至255之间,通过公式(3)的处理后,可以保证U'(x)的值为非负值,且取值范围在0至255之间。
具体地,针对一个像素的V通道进行亮度增强的处理过程,参见公式(4):
V'(x)=min(255,max(0,(V(x)-128)*G(x)+128))…………(4)
公式(4)中,V'(x)代表像素x亮度增强后的V通道值,V(x)代表像素x亮度增强前的V通道值,G(x)代表像素x的亮度增益。V(x)的取值范围在0至255之间,通过公式(4)的处理后,可以保证V'(x)的值为非负值,且取值范围在0至255之间。
在另外的一些实施例中,针对Y通道、U通道、V通道进行亮度增强处理的处理方式均一致。具体处理时,将亮度增强前像素的各通道值与该像素的亮度增益相乘,根据相乘得到的结果设置该像素相应的通道值。针对Y通道、U通道、V通道的进行处理时,可根据具体情况选择处理的方法,本申请实施例对此不做限制。
上述S203可由图1A中的亮度增强模块102执行。
S204:对像素亮度增强后的Y通道值进行对比度增强。
在S204中,可仅对像素亮度增强后的Y通道值进行对比度增强的处理。图像对比度增强有多种不同的实现方法,比如包括直方图均衡化,局部直方图均衡化等方法。本申请采用像素值拉伸的方法对图像对比度进行增强,具体方法为:
确定第一增量,该第一增量等于像素亮度增强前的Y通道值减去亮度增强后的所有像素的Y通道值的均值所得到的差值与设定的对比度增强幅度的乘积。将亮度增强后的所有像素的均值与确定出的第一增量相加,根据相加的结果设置该像素的Y通道值。可按照公式(5)计算对比度增强后的V通道值:
Y”(x)=(Y'(x)-MY')*σ+MY'…………………………(5)
公式(5)中,Y”(x)代表像素x对比度增强后的Y通道值,Y′(x)表示像素x亮度增强后的Y通道值,MY′代表亮度增强后的所有像素的Y通道值的均值,σ代表设定的对比度增强的幅度值。其中,σ取值大于1,(Y'(x)-MY')*σ代表第一增量。
上述S204可由图1A中的对比度增强模块103执行。
通过上述实施例所描述的图像处理方法,可以看出,本申请实施例提供的方法,对Y通道、U通道、V通道分别进行处理,进一步地,对Y通道的处理方式和对U通道、V通道的处理方式不同,对Y通道进行亮度增强处理时图像中亮度较亮区域亮度增强的幅度较小,亮度较暗区域亮度增强的幅度较大,从而使亮度较暗区域达到增强亮度的效果,并防止了图像较亮区域过曝的现象;通过对U通道和V通道进行亮度增强处理,有效的增强了亮度处理后图像的颜色饱和度。
为了避免对比度增强处理后图像中的较亮区域出现过曝现象,本申请另外的实施例中,针对对比度增强处理后的像素与原图像对应的像素进行加权平均,根据该加权平均得到的值调整像素对比度增强后的Y通道值,达到既增强图像亮度,又保持图像对比度,且防止图像的较亮区域出现过曝现象的效果。
图2B示例性的示出了另外的实施例提供的图像处理方法的流程示意图,该流程示意图可由图1B所示的图像处理装置执行,该流程在上述图2A所示的流程的基础上,在S204之后,包括:
S205:调整像素对比度增强后的Y通道值。调整后的Y通道值匹配于所述像素调整前的Y通道值与所述像素亮度增强前的Y通道值的加权值。
在一些实施例中,调整像素对比度增强后的Y通道值时,可将对比度增强后的像素的Y通道值与获取到的第一图像中的像素的Y通道值(即原图像中的Y通道值)进行加权平均,并根据加权平均得到的结果调整对比度增强后的像素的Y通道值,经过上述调整后,对对比度增强后的Y通道值与获取到的第一图像的Y通道值进行加权平均,既达到了增强亮度的效果,又可以保持对比度,还消除了可能出现的过曝现象。具体地,可按照公式(6)对对比度增强后的Y通道值与获取到的第一图像的Y通道值进行加权平均:
Y”'(x)=Y”(x)*(1-α)+Y(x)*α…………………………(6)
公式(6)中,Y”'(x)代表像素x加权平均后的Y通道值,Y”(x)代表像素x对比度增强后的Y通道值,Y(x)代表亮度增强前的像素x的Y通道值。其中,α代表加权平均的权重,α=Y(x)/255。可以看出α的取值与原图像中的像素的Y通道值成正比。α代表的权重的意义在于,针对原图像中较亮区域的像素,α取值较大,因此Y”'(x)的值更接近Y(x)的值,即亮度和对比度增强的幅度较小,可以防止过曝;针对原图像中较暗区域的像素,α取值较小,因此Y”'(x)的值更接近Y”(x)的值,即亮度和对比度增强的幅度较大,增强了较暗区域的亮度。
上述步骤S205可由图1B中的对比度调整模块104执行。
通过上述实施例所描述的图像处理方法,可以看出,本申请实施例提供的方法,根据确定的亮度增益分别对第一图像中的像素的Y通道、U通道和V通道进行亮度增强处理。进一步地,进行亮度增强处理后再进行对比度增强;进一步地,为了避免对比度增强后较亮区域出现过曝现象,可通过加权平均将对比度增强后的Y通道值与亮度增强前的Y通道值进行加权平均,既对图像进行了亮度增强处理,又保持了对比度,且还防止了图像中的较亮区域出现过曝现象。
图3示例性地示出了采用本申请实施例的上述流程进行图像处理时,各个步骤的处理效果示意图。
如图3所示,(a)中示出了S201中获取到的第一图像,该第一图像为低光照图像,颜色较暗;(b)中示出了经过S202确定像素亮度增益后得到的亮度增强图,其中,颜色较暗的区域,亮度增益较小,颜色较亮的区域,亮度增益较大;(c)中示出了S203中对Y通道、U通道和V通道进行亮度增强后的效果图,可以看出,与(a)中的第一图像相比,其中较暗的区域的亮度得到增强;(d)中示出了S204中对Y通道值进行对比度增强后的效果图,可以看出,与(c)中的图像相比,(d)中的图像对比度更加明显;(e)示出了S205中对Y通道进行调整后的效果图,可以看出,与(d)中的图像相比,(e)中的图像消除或减弱了部分区域的过曝现象。(e)中显示的图像与(a)中显示的图像相比,处理后的图像与处理前的图像相比,增强了亮度,保持了对比度,并且未出现较亮区域的过曝现象。
本申请的上述实施例可适用于相机或配置有相机的终端,该终端可以是配置有摄像头和相机功能的终端,比如智能手机等。
以智能手机为例,本申请实施例可针对智能手机实时拍摄到的图像采用上述描述的方法进行处理,并在处理完成后进行输出显示,比如在用于展示拍摄到的图像的显示界面中,对处理得到的图像进行展示。
具体实施时,作为一个例子,在S201中,可拍摄得到第一图像;S202、S203和S204,发生在对当前拍摄到的第一图像进行显示之前;在S204之后可显示处理后的图像。
作为另一个例子,在S201中,可拍摄得到第一图像;S202、S203、S204、S205,发生在对当前拍摄到的第一图像进行显示之前;在S205之后可显示处理后的图像。
以智能手机为例,本申请实施例也可以离线方式,针对智能手机拍摄到的图像采用上述描述的方法进行处理,并在处理完成后进行输出显示。
具体实施时,作为一个例子,在S201中,可从存储的图像中选取第一图像,比如从智能手机的图片库中选取一个图像;在S201之后,可接收对第一图像进行处理的指令,比如,用户选取第一图像后,可点击用户界面中提供的“图像编辑”功能键,触发该指令,该指令可触发S202、S203和S204的执行;在S204之后可显示处理后的图像。
作为另一个例子,在S201中,可从存储的图像中选取第一图像,比如从智能手机的图片库中选取一个图像;在S201之后,可接收对第一图像进行处理的指令,比如,用户选取第一图像后,可点击用户界面中提供的“图像编辑”功能键,触发该指令,该指令可触发S202、S203、S204和S205的执行;在S205之后可显示处理后的图像。
基于相同的技术构思,本申请实施例还提供了一种装置1000,该装置1000可实现前述实施例描述的流程。图4示例性地示出了根据各种实施例的示例装置1000。装置1000可包括一个或多个处理器1002,系统控制逻辑1001耦合于至少一个处理器1002,非易失性存储器(non-volatile memory,NMV)/存储器1004耦合于系统控制逻辑1001,网络接口1006耦合于系统控制逻辑1001。
处理器1002可包括一个或多个单核处理器或多核处理器。处理器1002可包括任何一般用途处理器或专用处理器(如图像处理器、应用处理器基带处理器等)的组合。
一个实施例中的系统控制逻辑1001,可包括任何适当的接口控制器,以提供到处理器1002中的至少一个的任何合适的接口,和/或提供到与系统控制逻辑1001通信的任何合适的设备或组件的任何合适的接口。
一个实施例中的系统控制逻辑1001,可包括一个或多个内存控制器,以提供到系统内存1003的接口。系统内存1003用来触发以及存储数据和/或指令。例如,对应装置1000,在一个实施例中,系统内存1003可包括任何合适的易失性存储器。
NVM/存储器1004可包括一个或多个有形的非暂时的计算机可读介质,用于存储数据和/或指令。例如,NVM/存储器1004可包括任何合适的非易失性存储装置,如一个或多个硬盘(hard disk device,HDD),一个或多个光盘(compact disk,CD),和/或一个或多个数字通用盘(digital versatile disk,DVD)。
NVM/存储器1004可包括存储资源,该存储资源物理上是该系统所安装的或者可以被访问的设备的一部分,但不一定是设备的一部分。例如,NVM/存储器1004可经由网络接口1006被网络访问。
系统内存1003以及NVM/存储器1004可分别包括临时的或持久的指令1010的副本。指令1010可包括当由处理器1002中的至少一个执行时导致装置1000实现图2A和图2B描述的方法之一或组合的指令。各实施例中,指令1010或硬件、固件,和/或软件组件可另外地/可替换地被置于系统控制逻辑1001,网络接口1006和/或处理器1002。
网络接口1006可包括一个接收器来为装置1000提供无线接口来与一个或多个网络和/或任何合适的设备进行通信。网络接口1006可包括任何合适的硬件和/或固件。网络接口1006可包括多个天线来提供多输入多输出无线接口。在一个实施例中,网络接口1006可包括一个网络适配器、一个无线网络适配器、一个电话调制解调器,和/或无线调制解调器。
在一个实施例中,处理器1002中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑一起封装。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑一起封装以形成系统级封装。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑集成在相同的管芯上。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑集成在相同的管芯上以形成系统芯片。
装置1000可进一步包括输入/输出装置1005,输入/输出装置1005可包括用户接口旨在使用户与装置1000进行交互,可包括外围组件接口,其被设计为使得外围组件能够与系统交互,和/或,可包括传感器,旨在确定环境条件和/或有关装置1000的位置信息。
本申请实施例还提供了一种通信装置,包括:一个或多个处理器;以及,一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述通信装置执行前述实施例描述的方法。