CN116055699B - 一种图像处理方法及相关电子设备 - Google Patents
一种图像处理方法及相关电子设备 Download PDFInfo
- Publication number
- CN116055699B CN116055699B CN202210900461.9A CN202210900461A CN116055699B CN 116055699 B CN116055699 B CN 116055699B CN 202210900461 A CN202210900461 A CN 202210900461A CN 116055699 B CN116055699 B CN 116055699B
- Authority
- CN
- China
- Prior art keywords
- image
- white point
- color information
- gain
- white
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Color Television Image Signal Generators (AREA)
- Processing Of Color Television Signals (AREA)
Abstract
本申请提供一种图像处理方法及相关电子设备,该方法包括:响应第一操作,启动相机应用;计算第一图像的白点的颜色信息,所述第一图像为所述摄像头当前采集并输出的图像,所述白点用于表征所述第一图像对应的拍摄环境的光源颜色;在根据所述颜色信息确定当前拍摄环境的光源未发生变化,且根据所述第一图像的像素信息确定所述第一图像对应的场景为第一场景的情况下,根据第一图像队列中目标图像的白点的颜色信息计算白平衡参数;其中,所述目标图像对应的场景不为第一场景,所述目标图像对应的拍摄环境的光源与所述当前拍摄环境的光源相同;根据所述白平衡参数对所述第一图像进行白平衡处理,得到处理后的第一图像。
Description
技术领域
本申请涉及图像处理领域,尤其涉及一种图像处理方法及相关电子设备。
背景技术
白平衡是数码相机设备或相关软件能够对捕获图像进行的一种调整,用于确保图像中的白色能够适当地反映拍摄图像的真实世界场景中的实际白色。白平衡与色温相关,色温是基于图像和场景中的蓝光量与红光量的比率来衡量光的质量,以开尔文为单位。具有较高色温的图像或场景比具有较低色温的图像和场景具有更多的蓝色。因此,“较冷”的光具有较高的色温,“较热”的光具有较低的色温。
人眼和大脑可以适应不同的色温。例如,不管是在阳光下还是在各种灯光下,人眼将白色的物体视为白色,即人眼具有颜色恒常性。由于摄像机内用于将光信号转化为电信号的电荷耦合元件电路(Charge-coupled Device,CCD)或CMOS电路没有办法像人眼一样会对光源的颜色变化进行修正。因此,需要通过白平衡算法来估计捕获图像光源的色度,并通过估计的光源色度来调整图像颜色,使得调整后的图像的色彩与人眼真实观察的色彩一致。如何提高白平衡算法的准确度,是技术人员日益关注的问题。
发明内容
本申请实施例提供了一种图像处理方法及相关电子设备,解决了在光源颜色信息不足的场景下,计算图像白平衡参数准确性不高,进而造成白平衡处理效果不理想的问题。
第一方面,本申请实施例提供了一种图像处理方法,应用于具备摄像头的电子设备,该方法包括:响应第一操作,启动相机应用;计算第一图像的白点的颜色信息,第一图像为摄像头当前采集并输出的图像,白点用于表征第一图像对应的拍摄环境的光源颜色;在根据颜色信息确定当前拍摄环境的光源未发生变化,且根据第一图像的像素信息确定第一图像对应的场景为第一场景的情况下,根据第一图像队列中目标图像白点的颜色信息计算白平衡参数;其中,目标图像对应的场景不为第一场景,目标图像对应的拍摄环境的光源与当前拍摄环境的光源相同;根据白平衡参数对第一图像进行白平衡处理,得到处理后的第一图像。
上述实施例,在环境光源未发生变化且图像对应的场景为第一场景(光源颜色信息不足的场景)的情况下,通过使用存储在第一图像队列中不在第一场景下的目标图像的颜色信息来计算第一图像的白平衡参数。由于该白平衡参数为同一光源下,非第一场景的目标图像的颜色信息计算得到,因此,该白平衡参数的准确性更高。在第一场景下,使用该白平衡参数对第一图像进行白平衡处理的效果比使用第一图像白点的颜色信息对第一图像进行白平衡处理的效果更好。
结合第一方面,在一种可能实现的方式中,白点的颜色信息包括第一颜色信息和第二颜色信息以及白点的亮度值,根据第一图像队列中目标图像的白点的颜色信息计算白平衡参数之前,还包括:电子设备第一图像白点的Rgain与第二图像白点的Rgain的第一偏差值,第一图像白点的Bgain与第二图像白点的Bgain的第二偏差值,LV与LV′的第三偏差值;第一图像白点的Rgain为第一图像白点的第一颜色信息,第二图像白点的Rgain为第二图像白点的第一颜色信息,第一图像白点的Bgain为第一图像白点的第二颜色信息,第二图像白点的Bgain为第二图像白点的第二颜色信息,LV为第一图像白点的亮度值,LV′为第二图像白点的亮度值,第二图像为第一图像的上一帧图像;在均满足第一偏差值小于或等于第一阈值、第二偏差值小于或等于第二阈值、第三偏差值小于或等于第三阈值的情况下,电子设备确定所述当前拍摄环境的光源未发生变化。这样,能够避免使用其他光源的颜色信息对第一图像进行白平衡处理,使得第一图像出现严重的偏色问题。
结合第一方面,在一种可能实现的方式中,第一图像的像素信息包括每个像素的G/R、每个像素的G/B以及每个像素的纹理信息,G为像素的RGB值中的G分量,R为像素的RGB值中的R分量,根据第一图像队列中目标图像的白点的颜色信息计算白平衡参数之前,还包括:电子设备确定第一图像中均满足G/R小于或等于第一目标阈值、G/B小于或等于第二目标阈值,纹理信息小于或等于第三目标阈值的像素为目标像素;在目标像素的数量大于或等于第一数量阈值的情况下,确定第一图像对应的场景为第一场景。
结合第一方面,在一种可能实现的方式中,根据第一图像队列中目标图像的白点的颜色信息计算白平衡参数,具体包括:计算目标图像的权值;基于目标图像的权值、目标图像白点的颜色信息,计算白平衡参数。这样,通过基于第一图像队列中目标图像的颜色信息计算白平衡参数,计算出的白平衡参数的准确性更高,使得基于该白平衡参数处理的第一图像的颜色更接近人眼的视觉效果。
结合第一方面,在一种可能实现的方式中,计算目标图像的权值,具体包括:根据公式计算第一图像队列中,第i帧目标图像的第一权值;W1i为第一权值,Rgain_i为第i帧目标图像白点的第一颜色信息,Rgain为第一图像白点的第一颜色信息,abs为绝对值函数,Rgain_k为在第一图像队列中,第k帧目标图像白点的第一颜色信息,N为第一图像队列中,存储的目标图像的白点颜色信息的数量值;根据公式计算第i帧目标图像的第二权值;W2i为所述第二权值,Bgain_i为第i帧目标图像白点的第二颜色信息,Bgain为第一图像白点的第二颜色信息,Bgain_k为在第一图像队列中,第k帧目标图像白点的第二颜色信息;根据公式/>计算第i帧目标图像的第三权值;W3i为第三权值,LVi为第i帧目标图像白点的亮度值,LV为第一图像白点的亮度值,LVk为在第一图像队列中,第k帧目标图像白点的亮度值;根据公式Wi=(W1i+W2i+W3i)/3计算第i帧目标图像的权值;Wi为第i帧目标图像的权值。
结合第一方面,在一种可能实现的方式中,白平衡参数包括第一白平衡参数和第二白平衡参数,基于目标图像的权值、目标图像白点的颜色信息,计算白平衡参数,具体包括:根据公式计算第一白平衡参数,R′gain为第一白平衡参数,Wi为第一图像队列中,第i帧目标图像的权值,Rgain_i为第i帧目标图像的第一颜色信息,N为第一图像队列中,存储的目标图像白点的颜色信息的数量值;根据公式/>计算第二白平衡参数,B′gain为第二白平衡参数,Bgain_i为第i帧目标图像的第二颜色信息。
结合第一方面,在一种可能实现的方式中,根据白平衡参数对第一图像进行白平衡处理,得到处理后的第一图像,具体包括:根据公式对第一图像进行白平衡处理,得到处理后的第一图像;其中,/>为第一图像中,第i个像素的RGB值,/>为处理后的第一图像中,第i个像素的RGB值,R′gain为第一白平衡参数,B′gain为第二白平衡参数。
第二方面,本申请实施例提供了一种电子设备,该电子设备包括:摄像头、一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行:响应第一操作,启动相机应用;计算第一图像的白点的颜色信息,第一图像为摄像头当前采集并输出的图像,白点用于表征第一图像对应的拍摄环境的光源颜色;在根据颜色信息确定当前拍摄环境的光源未发生变化,且根据第一图像的像素信息确定第一图像对应的场景为第一场景的情况下,根据第一图像队列中目标图像白点的颜色信息计算白平衡参数;其中,目标图像对应的场景不为第一场景,目标图像对应的拍摄环境的光源与当前拍摄环境的光源相同;根据白平衡参数对第一图像进行白平衡处理,得到处理后的第一图像。
结合第二方面,在一种可能实现的方式中,白点的颜色信息包括第一颜色信息和第二颜色信息以及白点的亮度值,根据第一图像队列中目标图像的白点的颜色信息计算白平衡参数之前,还包括:计算Rgain与R′gain的第一偏差值,Bgain与B′gain的第二偏差值,LV与LV′的第三偏差值;Rgain为第一图像白点的第一颜色信息,R′gain为第二图像白点的第一颜色信息,Bgain为第一图像白点的第二颜色信息,B′gain为第二图像白点的第二颜色信息,LV为第一图像白点的亮度值,LV′为第二图像白点的亮度值,第二图像为第一图像的上一帧图像;在均满足第一偏差值小于或等于第一阈值、第二偏差值小于或等于第二阈值、第三偏差值小于或等于第三阈值的情况下,确定所述当前拍摄环境的光源未发生变化。
结合第二方面,在一种可能实现的方式中,第一图像的像素信息包括每个像素的G/R、每个像素的G/B以及每个像素的纹理信息,G为像素的RGB值中的G分量,R为像素的RGB值中的R分量,根据第一图像队列中目标图像的白点的颜色信息计算白平衡参数之前,还包括:确定第一图像中均满足G/R小于或等于第一目标阈值、G/B小于或等于第二目标阈值,纹理信息小于或等于第三目标阈值的像素为目标像素;在目标像素的数量大于或等于第一数量阈值的情况下,确定第一图像对应的场景为第一场景。
结合第二方面,在一种可能实现的方式中,根据第一图像队列中目标图像的白点的颜色信息计算白平衡参数,具体包括:计算目标图像的权值;基于目标图像的权值、目标图像白点的颜色信息,计算白平衡参数。
结合第二方面,在一种可能实现的方式中,计算目标图像的权值,具体包括:根据公式计算第一图像队列中,第i帧目标图像的第一权值;W1i为第一权值,Rgain_i为第i帧目标图像白点的第一颜色信息,Rgain为第一图像白点的第一颜色信息,abs为绝对值函数,Rgain_k为在第一图像队列中,第k帧目标图像白点的第一颜色信息,N为第一图像队列中,存储的目标图像的白点颜色信息的数量值;根据公式计算第i帧目标图像的第二权值;W2i为所述第二权值,Bgain_i为第i帧目标图像白点的第二颜色信息,Bgain为第一图像白点的第二颜色信息,Bgain_k为在第一图像队列中,第k帧目标图像白点的第二颜色信息;根据公式/>计算第i帧目标图像的第三权值;W3i为第三权值,LVi为第i帧目标图像白点的亮度值,LV为第一图像白点的亮度值,LVk为在第一图像队列中,第k帧目标图像白点的亮度值;根据公式Wi=(W1i+W2i+W3i)/3计算第i帧目标图像的权值;Wi为第i帧目标图像的权值。
结合第二方面,在一种可能实现的方式中,白平衡参数包括第一白平衡参数和第二白平衡参数,基于目标图像的权值、目标图像白点的颜色信息,计算白平衡参数,具体包括:根据公式计算第一白平衡参数,R′gain为第一白平衡参数,Wi为第一图像队列中,第i帧目标图像的权值,Rgain_i为第i帧目标图像的第一颜色信息,N为第一图像队列中,存储的目标图像白点的颜色信息的数量值;根据公式/>计算第二白平衡参数,B′gain为第一白平衡参数,Bgain_i为第i帧目标图像的第二颜色信息。
结合第二方面,在一种可能实现的方式中,根据白平衡参数对第一图像进行白平衡处理,得到处理后的第一图像,具体包括:根据公式对第一图像进行白平衡处理,得到处理后的第一图像;其中,/>为第一图像中,第i个像素的RGB值,/>为处理后的第一图像中,第i个像素的RGB值,R′gain为第一白平衡参数,B′gain为第二白平衡参数。
第三方面,本申请实施例提供了一种电子设备,包括:触控屏、摄像头、一个或多个处理器和一个或多个存储器;所述一个或多个处理器与所述触控屏、所述摄像头、所述一个或多个存储器耦合,所述一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如第一方面或第一方面的任意一种可能实现的方式所述的方法。
第四方面,本申请实施例提供了一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面或第一方面的任意一种可能实现的方式所述的方法。
第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种可能实现的方式所述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当该指令在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种可能实现的方式所述的方法。
附图说明
图1A-图1D是本申请实施例提供的一组图像处理方法的应用场景示例图;
图2是本申请实施例提供的一种图像处理方法的流程图;
图3是本申请实施例提供的一种计算图像白点颜色信息的流程图;
图4是本申请实施例提供的一种CCT转换表;
图5是本申请实施例提供的一种Duv转换表;
图6是本申请实施例提供的一种置信度表;
图7是本申请实施例提供的一种CCT融合表;
图8是本申请实施例提供的一种Duv融合表;
图9A是本申请实施例提供的一种普朗克轨迹图;
图9B是本申请实施例提供的摄像头输出的相邻两帧图像示例图;
图9C是本申请实施例提供的第一图像队列的示例图;
图9D是本申请实施例提供的另一种第一图像队列的示例图;
图9E是本申请实施例提供的第一场景下的图像示例图;
图9F是本申请实施例提供的图像的像素示例图;
图9G是本申请实施例提供的另一种第一图像队列的示例图;
图9H是本申请实施例提供的另一种第一图像队列的示例图;
图10是本申请实施例提供的一种电子设备100的硬件结构示意图;
图11是本申请实施例的电子设备100的软件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或者特性可以包含在本实施例申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是相同的实施例,也不是与其它实施例互斥的独立的或是备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中术语“第一”、“第二”、“第三”等是区别于不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元,或者可选地,还包括没有列出的步骤或单元,或者可选地还包括这些过程、方法、产品或设备固有的其它步骤或单元。
附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在本说明书中使用的术语“部件”、“模块”、“系统”、“单元”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,单元可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或分布在两个或多个计算机之间。此外,这些单元可从在上面存储有各种数据结构的各种计算机可读介质执行。单元可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一单元交互的第二单元数据。例如,通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
首先对本申请实施例涉及的名词进行示例性而非限定性的说明。
(1)普朗克轨迹:在辐射作用下既不反射也不完全投射,而能把落在它上面的辐射全部吸收的物体称为黑体或完全辐射体。当黑体连续加热时,它的相对光谱功率分布的最大值将向短波方向移动,相应的光色将按照红、黄、白、蓝的顺序进行变化,在不同温度下,黑体对应的光色变化在色度图上形成的弧形轨迹,叫做黑体轨迹或普朗克轨迹。
(2)相关色温(Correlated Colour Temperature,CCT):是指与具有相同亮度刺激的颜色最相近的黑体辐射体的温度,用K氏温度表示,用于描述位于普朗克轨迹附近的光的颜色的度量。除热辐射光源以外的其它光源具有线状光谱,其辐射特性与黑体辐射特性差别较大。所以这些光源的光色在色度图上不一定准确地落在黑体轨迹上,对这样一类光源,通常用CCT来描述光源的颜色特性。
(3)色度距离(Duv):是指从测试光源的CIE uv空间上的色度值(u,v)到普朗克轨迹上的最近点的距离,Duv表征了测试光源的(u,v)与普朗克轨迹的颜色偏移(绿色或粉红色)和方向的信息。
(4)亮度值(Lighting Value,LV):用于估计环境亮度,其具体计算公式如下:
其中,Exposure为曝光时间,Aperture为光圈大小,Iso为感光度,Luma为图像在XYZ颜色空间中,Y的平均值。
(5)XYZ空间:本申请实施例中的RGB值是DeviceRGB,DeviceRGB颜色空间是与设备相关的颜色空间,即:不同设备对RGB值的理解不同。因此,DeviceRGB不适合用于计算亮度值等参数。计算LV需要将DeviceRGB颜色空间转换为与设备无关的XYZ空间,即:将RGB值转换为XYZ值。
RGB颜色空间转换为XYZ空间的常用方法为:在不同光源环境下(典型的光源包括A、H、U30、TL84、D50、D65、D75等等)标定出一个大小为3*3的颜色校正矩阵(ColorCorrection Matrix,CCM),并将不同光源的CCM存储在电子设备的内存中,通过公式:
得到图像在XYZ空间对应的三维向量,从而实现RGB空间到XYZ空间的转化。在拍摄过程中,往往根据图像中的白平衡基准点(即图像白点)来匹配对应的光源,并选择该光源对应的CCM。若存在白平衡基准点的RGB值在两个光源之间(例如图像的RGB值落在D50和D65之间),CCM可由D50和D65进行双线性插值所得到。例如,D50的颜色校正矩阵为CCM1,相关色温为CCT1,D60的颜色校正矩阵为CCM2,相关色温为CCT2,图像光源的相关色温为CCTa。电子设备可以根据公式:
计算出比例值g,基于比例值,根据公式:
CCM=g*CCM1+(1-g)*CCM2
可以计算出图像的CCM。
(6)白点:表示环境光源的颜色,与光源一一对应。
数码相机或手机等电子设备中的CCD电路或CMOS电路不能对光源的颜色变化作出修正,为了防止拍摄出的图像出现色温等问题,需要将图像进行白平衡处理。目前,使用最多的白平衡算法包括传统的自动白平衡(Automatic White Balance,AWB)算法和人工智能自动白平衡算法(AI AWB算法)。AWB算法包括灰度世界等算法,而AI AWB算法通常是通过训练好的AIAWB模型来计算图像白点的颜色描述值(例如图像白点的RGB值、图像白点的R/G和B/G、图像白点的色度值)。其中,AI AWB模型可以是神经网络模型,也可以是快速傅里叶颜色恒常性(Fast Fourier Color Constancy,FFCC)模型,还可以是其它具有计算图像白点的颜色描述值功能的模型,本申请实施例对此不限制。图像白点的颜色为图像光源的颜色,当计算出白点的RGB值或者R/G、B/G,可以基于该白点的RGB值或R/G、B/G调节图像每个像素的RGB值或R/G、B/G,解决图像的偏色问题,从而实现对图像的白平衡处理。
使用传统的AWB算法对图像进行白平衡处理,其优点是计算量小、应用场景的范围较广。但是,由于其计算逻辑简单且计算量小,当拍摄场景的光源环境复杂时,通过AWB算法计算出的图像白点的RGB值的准确性不高,进而导致基于图像白点的RGB值对图像进行白平衡处理的效果不明显。
对于AI AWB算法,由于其使用的AI AWB模型对输入图像进行复杂的计算处理,在与训练场景类似的拍摄场景下,AI AWB模型计算出的图像白点的RGB值的准确度是非常高的。但是,由于在对AI AWB模型进行训练的过程中,训练样本有限,使得AI AWB模型不能适用所有的拍摄环境。当用户在泛化场景不好的拍摄场景下进行拍照时,AI AWB模型计算图像白点的RGB值的准确度极低,当ISP基于图像白点的RGB值对图像进行白平衡调节时,调节效果不明显。
对于上述两种AWB算法,在纯色场景等复杂拍摄场景下,对图像进行白平衡处理的效果的不佳。为了解决传统AWB或AI AWB等算法在纯色场景下白平衡处理效果不佳的问题,本申请实施例提供了一种图像处理方法,包括:电子设备计算当前帧图像白点的颜色信息,并基于该颜色信息判断当前环境的光源是否发生变化。在判断出当前环境的光源没有发生变化的情况下,确定当前帧图像对应的拍摄场景是否为第一场景(第一场景为颜色信息少的拍摄场景,在第一场景下,很难准确计算图像白点的颜色信息。例如,第一场景可以为纯色场景)。在确定当前帧图像的应用场景为第一场景的情况下,将第一图像队列中目标图像的颜色信息进行融合,得到白平衡参数。电子设备通过白平衡参数对当前帧图像进行白平衡处理,得到处理后的图像。
通过上述方法,在纯色场景等难以准确计算白平衡参数的应用场景下,提高了电子设备计算的白平衡参数的准确性,从而提高对图像白平衡处理的准确度,使得图像更符合人眼的视觉效果。
下面,结合图1A-图1D对本申请实施例提供的一种图像处理方法的应用场景进行介绍。
如图1A所示,电子设备100可以显示有主屏幕的界面110,该界面110中包括多个应用图标。例如,天气应用图标、视频应用图标、备忘录图标、设置应用图标、相机应用图标211。当电子设备100检测到针对相机应用图标111的输入操作后(例如单击),响应该输入操作,电子设备100可以显示如图1B所示的拍摄界面120。
如图1B所示,拍摄界面120包括拍摄预览界面121、拍照控件122以及回显控件123。其中,拍摄预览界面121用于显示当前拍摄环境,当电子设备100检测到针对回显控件123的输入操作(例如单击),电子设备100会显示历史拍摄照片。当电子设备100检测到针对拍照控件122的输入操作(例如单击)后,响应该操作,电子设备显示如图1C所示的照片预览界面130。这样,用户可以在照片预览界面130中预览拍摄照片。
当电子设备100检测到针对图1B中拍照控件122后,电子设备100开始拍照,并对图像进行白平衡处理。如图1D所示,由于拍摄环境光源的色温的不同,导致处理前图像1出现色偏(图像1颜色整体偏灰),当电子设备100对图像1进行白平衡进行处理后,处理后的图像1的整体颜色不再偏灰,与人眼真实观察的颜色一致。
下面,结合附图对本申请实施例所述的一种图像处理方法的流程图进行介绍。请参见图2,图2是本申请实施例提供的一种图像处理方法的流程图,具体流程如下:
步骤201:电子设备启动相机。
示例性的,在上述图1A实施例中,当电子设备检测到针对相机应用图标111的输入操作(例如,单击)后,相机应用启动。
步骤202:所述电子设备计算第一图像白点的颜色信息。
具体地,第一图像为电子设备的摄像头当前获取的拍摄环境的图像,第一图像白点的颜色信息可以包括第一图像白点的第一颜色信息Rgain和第二颜色信息Bgain。其中,Rgain=G/R,Bgain=G/B。其中,G为第一图像白点的RGB值的G分量,R为第一图像白点的RGB值的R分量,B为第一图像白点的RGB值的B分量。第一图像白点的颜色信息还可以包括第一图像白点的亮度值LV。其中,第一图像白点的亮度值的计算可以参考上述名词(4)的相关叙述,在此不再赘述。
电子设备可以通过传统的AWB算法计算第一图像白点的Rgain和Bgain。示例性的,电子设备可以采用流行的灰度世界算法。该算法以灰度世界假设为基础的,即对于一幅有着大量色彩变化的图像,其RGB三颜色分量的平均值趋近于同一灰度值K。其中,灰度值K用于表征单个颜色的亮暗程度。假设自然界景物对于光线的平均反射的均值在总体上是个定值,这个定值近似地为“灰色”。灰度世界算法将这一假设强制应用于待处理图像,可以从图像中消除环境光的影响,获得原始场景图像。灰度世界算法的步骤如下:
1、计算灰度值K。具体地,灰度值K的计算方式有两种:一种是取最亮灰度值的一半(灰度值的取值范围为0~255),即灰度值K为128。另一种是计算图像R、G、B的平均值然后,通过公式(1)得到灰度值K,公式(1)如下所示:
2、根据公式(2)~公式(4)计算第一图像白点的RGB值,公式(2)~公式(4)如下所示:
然后,电子设备可以根据计算出的第一图像的白点的RGB值,得到Rgain和Bgain。
在一些实施例中,电子设备还可以通过AI AWB算法计算第一图像白点的Rgain和Bgain。电子设备可以将第一图像作为训练好的模型的输入,例如,快速傅里叶颜色恒常性(Fast Fourier Color Constancy,FFCC)模型、神经网络模型等。本申请实施例以AI AWB算法中的模型为FFCC模型为例,进行说明。当将第一图像输入FFCC模型后,FFCC模型会输出该第一图像的白点的Rgain和Bgain。
在一些实施例中,电子设备还可以通过传统AWB和AIAWB的融合算法来计算第一图像白点的Rgain和Bgain。
示例性的,电子设备通过传统AWB和AIAWB的融合算法来计算第一图像白点的Rgain和Bgain,如图3所示,计算步骤的具体步骤如下:
步骤301:电子设备将第一图像通过传统AWB算法处理,得到第一相关色温和第一色度距离。
具体地,第一相关色温为CCT1,第一色度距离为Duv1。电子设备通过传统AWB算法计算CCT1和Duv1的方式可以为:
电子设备将第一图像通过传统AWB算法计算处理,得到第一图像的第一调节值。其中,该第一调节值可以是第一图像白点的RGB值,可以是第一图像白点的Rgain和Bgain,还可以是第一图像白点的在CIEuv颜色空间中的色度值(u′,v′),本申请实施例对此不做限制。
若第一调节值为第一图像白点的RGB值,电子设备可以通过公式(5)和公式(6)将第一图像白点的RGB值转换为CIE uv空间上的色度值(u′,v′),公式(5)和公式(6)如下所示:
电子设备在计算出第一图像白点的色度值(u′,v′)后,可以基于(u′,v′)计算CCT1和Duv1。
下面,对电子设备基于(u′,v′)计算CCT1和Duv1的方法进行示例地说明。
首先,介绍Duv1的计算方法,Duv1的计算方法主要有两种:
第一种方法,在CIE uv空间上获取在普朗克轨迹上与(u′,v′)最短距离点的坐标(u0,v0)。然后,可以根据公式(7)计算Duv1,公式(7)如下所示:
Duv1=sgn(v′-v0)*[(u′-u0)2+(v′-v0)2]1/2 (7);
其中,当v′-v0≥0时,sgn(v′-v0)=1;当v′-v0<0时,sgn(v′-v0)=-1。
第二种方法,电子设备可以根据公式(8)~公式(10)计算第一参数LFp、第二参数a1以及第三参数LBB,公式(8)~公式(10)如下所示:
a1=arctan((v′-0.24)/(u′-0.292)) (9)
LBB=k06*a6+k05*a5+k04*a4+k03*a3+k02*a2+k01*a+k00 (10)
其中,k06、k05、k04、k0a、k02、k01、k00为常数。当a1大于或等于0时,a=a1,当a1小于或等于0时,a=a1+π。
然后,电子设备可以通过公式(11),计算得到Duv1,公式(11)如下所示:
Duv1=LFp-LBB (11)
计算出Duv1之后,电子设备可以基于公式(12)计算CCT1,公式(12)如下所示:
CCT1=T2-ΔTc2 (12)
其中,T2=T1-ΔTc1。当a小于2.54时:
T1=1/(k16*a6+k15*a5+k14*a4+k13*a3+k12*a2+k11*a+k10);
ΔTc1=(k36*a6+k35*a5+k34*a4+k33*a3+k32*a2+k31*a+k30)*(LBB+0.01)/LFp*Duv1/0.01;
当a大于或等于2.54时:
T1=1/(k26*a6+k25*a5+k24*a4+k23*a3+k22*a2+k21*a+k20);
ΔTc1=(k46*a6+k45*a5+k44*a4+k43*a3+k42*a2+k41*a+k40)*(LBB+0.01)/LFp*Duv1/0.01;
当Duv1大于或等于0时:
ΔTc2=(k56*c6+k55*c5+k54*c4+k53*c3+k52*c2+k51*c+k50);
当Duv1小于0时:
ΔTc2=(k66*c6+k65*c5+k64*c4+k63*c3+k62*c2+k61*c+k60)·|Duv1/0.03|2
其中,c=log(T2),k10~k16、k20~k26、k30~k36、k40~k46、k50~k56、k60~k66为常数。
应当理解的是,存在多种计算Duv1和CCT1的方法,本申请实施例仅是示例性的列举出一种。电子设备还可以通过其他方法计算Duv1和CCT1,本申请实施例对此不做限制。
步骤302:电子设备将第一图像通过AI AWB算法处理,得到第二相关色温和第二色度距离。
具体地,第二相关色温为CCT2,第二色度距离为Duv2。电子设备通过AI AWB算法计算CCT2和Duv2的方式可以为:
电子设备将第一图像通过AIAWB算法进行计算处理后,得到第二条调节值和置信度Conf。其中,Conf用于表征AIAWB算法中对第一图像进行计算处理的模型的可靠程度,本申请实施例以AIAWB算法中的模型为FFCC模型为例,进行说明。
与第一调节值类似,第二调节值可以是通过AI AWB算法计算出的所述第一图像白点的RGB值,也可以是第一图像白点的色度值(u″,v″),本申请实施例对此不做限制。
当第二调节值为第一图像白点的RGB值时,电子设备可以将其转换为(u″,v″)。其中,电子设备将第二调节值转化为(u″,v″)的方法可以参考上述传统AWB算法输出的RGB值转换为(u′,v′)的方法。
步骤303:电子设备根据相关色温转换表对第二相关色温进行修正。
具体地,由于AI AWB算法中的FFCC模型对图像进行复杂的计算处理,其在绝大部分的场景下输出的图像的第二调节值准确度很高。但是,FFCC模型需要预先在电脑端或其它设备上进行训练,由于训练样本有限,使得FFCC模型不能适用于所有的应用场景。当用户在FFCC模型未被训练过的应用场景下进行拍照时,FFCC模型输出的第二调节值准确性低,进而造成CCT2准确度也很低。
为了有效解决上述问题,电子设备可以将CCT2进行修正,在CCT2与修正值偏离程度过大的情况下,将其限制在合理的数值范围内。
电子设备对CCT2的修正过程为:在电子设备内存储有CCT转换表(CCT ShiftTable)。如图4所示,CCT Shift Table是一个三维坐标表,有三个坐标轴,分别是:CCT轴、Duv轴以及LV轴。在CCT Shift Table的三维空间中,存在许多单元格,每个单元格对应一个CCT修正值,在CCT Shift Table包含的CCT修正值几乎涵盖了所有拍摄场景中光源的CCT。
电子设备可以基于第一图像的LV、CCT2以及Duv2在CCT Shift Table三维坐标系中找到对应的点,确定与这个点相关的单元格。其中,每个相关单元格对应的CCT为第一相关色温修正值。然后通过Trilinear插值(三线性插值)计算每个相关单元格的权值,并将单元格的权值与其对应的第一相关色温修正值相乘,得到每个相关单元格的乘积,将每个相关单元格的乘积进行求和,得到第二相关色温修正值(CCT_new)。最后,电子设备将CCT2更新为CCT_new,实现对CCT2的修正。
步骤304:电子设备根据色度距离转换表对第二色度距离进行修正。
具体地,当用户在FFCC模型未被训练过的应用场景下进行拍照时,FFCC模型输出的Duv2的准确度很低。为了有效解决上述问题,电子设备需要将Duv2进行修正,在Duv2与修正值偏离程度过大的情况下,将其限制在合理的数值范围内。
电子设备对Duv2的修正过程可以为:在电子设备内存储有Duv转换表(Duv ShiftTable)。如图5所示,Duv Shift Table是一个三维坐标表,有三个坐标轴,分别是:Duv轴、CCT轴以及LV轴。在Duv Shift Table的三维空间中,存在许多单元格,每个单元格对应一个Duv修正值,在Duv Shift Table包含的Duv修正值几乎涵盖了所有拍摄场景中光源的Duv。
电子设备基于第一图像的LV、CCT2以及Duv2在Duv Shift Table三维坐标系中找到对应的点,确定与这个点相关的单元格。其中,每个相关单元格对应的Duv为第一色度距离修正值。然后通过Trilinear插值(三线性插值)计算每个相关单元格的权值,并将单元格的权值与其对应的第一色度距离修正值相乘,得到每个相关单元格的乘积,将每个相关单元格的乘积进行求和,得到第二色度距离修正值(Duv_new)。最后,电子设备将Duv2更新为Duv_new,实现对Duv2的修正。
步骤305:电子设备根据置信度修正表对通过AI AWB算法计算的置信度进行修正。
具体地,当用户在FFCC模型未被训练过的应用场景下进行拍照时,FFCC模型输出的置信度(Conf)与其实际的Conf相比,差异较大。为了有效解决该问题,电子设备可以对Conf进行修正,在FFCC模型输出的Conf与其实际的Conf相差较大的情况下,将Conf限制在合理的数值范围之内。
电子设备对Conf的修正过程可以为:在电子设备内存储有置信度表(ConfidenceTable)。如图6所示,Confidence Table是一个三维坐标表,有三个坐标轴,分别是:CCT轴、Duv轴以及LV轴。在Confidence Table的三维空间中,存在许多单元格,每个单元格对应一个置信度调节值(Mult_Conf)。电子设备基于第一图像的LV、CCT2以及Duv2在ConfidenceTable这个三维坐标系中找到对应的点,确定与这个点相关的单元格。其中,每个相关单元格对应的Mult_Conf为第一置信度调节值。然后通过Trilinear插值(三线性插值)计算每个相关单元格的权值,并将单元格的权值与其对应的第一置信度调节值相乘,得到每个相关单元格的乘积,将每个相关单元格的乘积进行求和,得到第二置信度调节值。然后,电子设备根据公式(13)计算置信度修正值,并将AI AWB算法的置信度设置为置信度修正值,实现对置信度的修正。公式(13)如下所示:
Conf_new=Conf*Mult_Conf (13)
在公式(13)中,所述Conf_new为置信度修正值,所述Mult_Conf为置信度调节值,所述Conf为修正前的置信度。应当理解的是,Conf_new可能存在大于1的情况,当Conf_new大于1时,将Conf_new置1。
步骤306:电子设备基于相关色温融合表,将第一相关色温和第二相关色温进行计算,得到第三相关色温。
具体地,第三相关色温为CCT3。在电子设备内存储有CCT融合表(CCT MergingTable)。如图7所示,CCT Merging Table是一个三维坐标表,有三个坐标轴,分别是:CCT轴、Duv轴以及LV轴。在CCT Merging Table的三维空间中,存在许多单元格,每个单元格对应一个概率值X。电子设备基于第一图像的LV、CCT2以及Duv2在CCT Merging Table三维坐标系中找到对应的点,确定与这个点相关的单元格。其中,每个相关单元格对应的概率值为第一概率值。然后,电子设备通过Trilinear插值(三线性插值)计算每个相关单元格的权值,并将单元格的权值与其对应的第一概率值相乘,得到每个相关单元格的乘积,将每个相关单元格的乘积进行求和,得到第二概率值。最后,电子设备通过公式(14)计算第三相关色温。公式(14)如下所示:
CCT3=Conf*X′*CCT2+(1-Conf*X′)*CCT1 (14)
其中,所述Conf为A1自动白平衡算法的置信度,所述X′为第二概率值。
步骤307:电子设备基于色度距离融合表,将第一色度距离和第二色度进行计算,得到第三色度距离。
具体地,第三色度距离为Duv3,在电子设备内存储有Duv融合表(Duv MergingTable)。如图8所示,Duv Merging Table是一个三维坐标表,有三个坐标轴,分别是:CCT轴、Duv轴以及LV轴。在Duv Merging Table的三维空间中,存在许多单元格,每个单元格对应一个概率值Y。电子设备基于第一图像的LV、CCT2以及Duv2在Duv Merging Table三维坐标系中找到对应的点,确定与这个点相关的单元格。其中,每个相关单元格对应的概率值为第三概率值。然后,电子设备通过Trilinear插值(三线性插值)计算每个相关单元格的权值,并将单元格的权值与其对应的第三概率值相乘,得到每个相关单元格的乘积,将每个相关单元格的乘积进行求和,得到第四概率值。最后,电子设备可以通过公式(15)计算Duv3,公式(15)如下所示:
Duv3=Conf*Y′*Duv2+(1-Conf*Y′)*Duv1 (15)
其中,所述Conf为AI AWB算法的置信度,所述Y′为第四概率值。
步骤308:电子设备基于第三相关色温和第三色度距离计算第一图像白点的Rgain和Bgain。
具体地,白点的Rgain和Bgain可以通过第一图像白点的色度值转换得到。
下面,对电子设备通过使用CCT3和Duv3计算第一图像的白点的色度值的具体过程进行介绍。具体过程为:首先,在如图9A所示的普朗克轨迹上找到相关色温为CCT3的点N,并计算出点N的色度坐标(u0,v0)。将点N作为普朗克轨迹的切点,作出普朗克轨迹的切线L,确定点F的色度坐标(u1,v1),使得线段FN的长度等于Duv3。然后,在切线L上计算出ΔT处的点R的色度坐标(u2,v2)。其中,ΔT为CCT3的微小变化。然后,电子设备可以使用公式(16)和公式(17)计算第一图像的白点的色度值(u1,v1),公式(16)和公式(17)如下所示:
然后,电子设备可以通过CIE uv空间转换到RGB颜色空间的转换矩阵,将(u1,v1)转换为RGB值,再由该RGB值计算得到第一图像白点的Rgain和Bgain。
在步骤202中,仅是对电子设备三种计算第一图像白点的Rgain和Bgain的方法做了示例性介绍,电子设备还可以通过其它方法计算第一图像白点的Rgain和Bgain。本申请实施例对电子设备计算第一图像白点的Rgain和Bgain的方法不做限制。
步骤203:所述电子设备基于第一图像白点的颜色信息确定当前环境光源是否发生变化。
具体地,电子设备可以通过第一图像白点的颜色信息中的Rgain、Bgain以及第一图像白点的LV来判断第一图像对应的环境的光源是否发生了变化。在环境光源发生变化的情况下,电子设备确定当前的拍摄环境发生了变化。在环境光源未发生变化的情况下,电子设备确定当前的拍摄环境未发生变化。由于图像的白点可以用于表示光源的颜色,因此,电子设备可以通过计算第一图像白点的颜色信息与上一帧图像白点的颜色信息的偏差值来确定拍摄环境的光源是否发生变化,进而确定当前拍摄环境是否发生变化。
例如,如图9B所示,图像1为摄像头输出的图像,图像2为图像1的上一帧图像。图像1的拍摄环境为室内环境,光源为电灯。图像2的拍摄环境为室外环境,光源为太阳。摄像头输出图像2~图像1这一时间段,拍摄环境的发生了变化,即从室外环境转换到了室内环境。示例性的,在第一图像为首帧图像的情况下,电子设备可以计算第一图像白点的Rgain与第二图像白点的Rgain的第一偏差值(第一偏差值为这两帧图像白点的Rgain的模值),计算第一图像白点的Bgain与第二图像白点的Bgain的第二偏差值(第二偏差值为这两帧图像白点的Bgain的模值),计算第一图像白点的LV与第二图像白点的LV的第三偏差值(第三偏差值为这两帧图像白点的LV)。若均满足第一偏差值大于或等于第一阈值,且第二偏差值大于或等于第二阈值,且第三偏差值大于或等于第三阈值时,电子设备判断当前的环境光源。反之,电子设备判断环境光源未发生变化。
其中,第二图像为第一图像的上一帧图像,第一阈值、第二阈值以及第三阈值可以基于历史值得到,也可以基于历史经验值得到,还可以基于实验数据得到,本申请实施例不做限制。
在一些实施例中,当第一图像为首帧图像的情况下,电子设备默认当前环境光源未发生变化。
步骤204:在当前环境光源发生变化的情况下,所述电子设备清空第一图像队列。
具体地,第一图像队列用于存储目标图像白点的颜色信息(白点的Rgain、Bgain以及LV),即:目标图像对应拍摄环境的光源的颜色信息。其中,目标图像为在本次相机应用启动后,摄像头输出的历史图像。此外,目标图像对应的拍摄环境的光源为同一光源,即任意相邻两帧目标图像之间第一偏差值小于第一阈值,第二偏差值小于第二阈值,第三偏差值小于第三阈值且目标图像对应的场景不为第一场景。其中,第一场景为颜色信息不充足的场景,针对第一场景的叙述会在后续说明,在本步骤中,暂不说明。
电子设备每次启动相机应用之后,会初始化第一图像队列中目标图像白点的颜色信息,从而避免第一图像队列中存储有与当前拍摄环境光源不一致的光源白点的颜色信息,从而影响后续电子设备计算白平衡参数的准确性。
示例性的,如图9C所示为第一图像队列的示例图,在该第一图像队列中存储有5帧目标图像(图像1~图像5)白点的颜色信息,按照摄像头输出图像的时序从先到后分别为:图像1、图像2、图像3、图像4以及图像5,且图像1~图像5对应的光源为同一光源(都是太阳光)。在第一图像队列中,包括每帧目标图像白点的颜色信息,所述颜色信息包括白点的Rgain、Bgain以及LV。例如,图像1的白点的颜色信息包括Rgain1、Bgain1以及LV1,图像2的白点的颜色信息包括Rgain2、Bgain2以及LV2,图像3的白点的颜色信息包括Rgain3、Bgain3以及LV3,图像4的白点的颜色信息包括Rgain4、Bgain4以及LV4,图像5的白点的颜色信息包括Rgain5、Bgain5以及LV5。可选的,电子设备还可以根据第一图像队列中,白点的颜色信息对应图像输出的时间,按照从先到后的顺序给白点的颜色信息按照从小到大进行编号。在图9C中,图像1为摄像头最先输出的图像,图像1的白点的颜色信息编号为1;同理,图像2的白点的颜色信息的编号为2。图像5是摄像头最后输出的图像,图像5的白点的颜色信息的编号为5。在一些实施例中,电子设备也可以按照目标图像的输出次序,按照从先到后的顺序,给白点的颜色信息按照从大到小进行编号,本申请实施例对编号的方式不做限制。白点的颜色信息的编号与目标图像的编号相对应,例如,在图9C中,图像1白点的颜色信息的编号为1,图像1为当前第一图像队列对应的第1帧目标图像。图像2白点的颜色信息的编号为2,图像2为当前第一图像队列对应的第2帧目标图像。图像3白点的颜色信息的编号为3,图像3为当前第一图像队列对应的第3帧目标图像。图像4白点的颜色信息的编号为4,图像4为当前第一图像队列对应的第4帧目标图像。图像5白点的颜色信息的编号为5,图像5为当前第一图像队列对应的第5帧目标图像。
若电子设备基于第一图像白点的颜色信息和第二图像白点的颜色信息检测到当前环境的光源发生了变化,则第一图像队列中存储的白点的颜色信息不能用于计算第一图像的白平衡参数,从而使用该白平衡参数来对图像进行白平衡处理。因此,电子设备需要将第一图像队列中白点的颜色信息清除,以缓存新的光源下目标图像白点的颜色信息。
示例性地,如图9D所示,第一图像队列中存储有5帧目标图像(图像1~图像5)的白点的颜色信息,且图像1~图像5的环境光源均为太阳。那么,图像1~图像5中白点的颜色信息为太阳光的颜色信息。第一图像的光源为电灯,那么,第一图像的白点的颜色信息为灯光的颜色信息。由于,第一图像在未白平衡处理前,其造成偏色的原因是由于灯光的影响,因此,需要计算利用灯光的颜色信息来对第一图像进行白平衡处理才能解决由于灯光的颜色等因素而使得第一图像偏色的问题。由于第一图像和目标图像对应的光源是不同的。如果后续在计算第一图像的白平衡参数中,使用太阳光的颜色信息(目标图像的白点信息)来进行白平衡参数的计算,相当于就是用太阳光的颜色信息来调整灯光造成的第一图像的偏色。这不仅达不到解决第一图像偏色的问题,还可能加重第一图像的偏色程度。因此,在判断出环境光源变化(当前拍摄环境的光源与目标图像对应的光源不一致)的情况下,电子设备会清空第一图像队列中存储的白点的颜色信息。
步骤205:在当前环境光源未发生变化的情况下,所述电子设备基于第一图像的像素信息确定第一图像对应的场景是否为第一场景。
具体地,第一图像的像素信息可以为第一图像中每个像素的Rgain和Bgain。
第一图像的像素信息还可以包括第一图像中每个像素的纹理信息。其中,纹理信息用于反映图像中同质现象的视觉特征,它体现了物体表面的具有缓慢变化或者周期性变化的表面结构组织排列属性。电子设备可以使用灰度共生矩阵的逆方差或熵来表征像素的纹理信息,当像素对应的灰度共生矩阵的逆方差或熵越大时,该像素中的纹理越复杂或越多;当像素对应的灰度共生矩阵的逆方差或熵越小时,该像素中的纹理越简单或越少。其中,灰度共生矩阵能反映图像灰度关于方向、相邻间隔、变化幅度等综合信息,它是分析图像的局部模式和它们排列规则的基础。
当图像中的颜色信息较少时,可以判断图像的场景为第一场景,例如,当图像的颜色为纯色或者图像的纯色区域占比较大时,可以确定图像对应的场景为第一场景。示例性的,如图9E所示,在图像1中,颜色1对应的区域占比高(大于75%左右),图像1对应的场景为第一场景。
电子设备判断第一图像对应的场景是否为第一场景的方法可以为:电子设备判断第一图像中目标像素的数量是否大于或等于第一数量阈值,若大于第一数量阈值,则确定第一图像对应的场景为第一场景;否则,电子设备确定第一图像对应的场景不为第一场景。
目标像素为第一图像中,均满足G/R小于或等于第一目标阈值,G/B小于或等于第二目标阈值,纹理信息小于或等于第三目标阈值的像素。其中,G为像素RGB值的G分量,R为像素RGB值的R分量,B为像素RGB值的B分量。
其中,第一数量阈值、第一目标阈值、第二目标阈值以及第三目标阈值可以基于经验值得到,也可以通过历史数据得到,还可以通过实验数据得到,本申请实施例不做限制。
示例性的,如图9F所示,图像1的包括16个像素,第一数量阈值为7,像素的纹理信息为像素灰度共生矩阵的熵X,第一目标阈值为26,第二目标阈值为18,第三目标阈值为56。像素1~像素16的G/R分别为6、8、56、41、23、18、44、52、31、22、21、14、25、14、30、31。像素1~像素16的G/B分别为3、15、16、17、6、7、22、34、15、17、10、11、19、23、26、29。像素1~像素16的X分别为44、50、67、59、55、44、68、102、32、22、33、54、33、25、41、66。其中,像素1、像素2、像素5、像素6、像素9、像素10、像素11、像素12这八个像素均满足G/R小于26、G/B小于18、X小于56,因此,上述八个像素为图像1的目标像素。
在一些实施例中,电子设备还可以通过检测到第一图像接近普朗克轨迹附近有效的白点数目来判断第一图像对应的场景是否为第一场景。当有效的白点数目小于第二数量阈值时,电子设备判断第一图像对应的场景为第一场景。其中,第二数量阈值可以基于经验值得到,也可以通过历史数据得到,还可以通过实验数据得到,本申请实施例不做限制。
步骤206:在第一图像对应的场景不为第一场景的情况下,所述电子设备将第一图像白点的颜色信息缓存到所述第一图像队列中,并使用该白点的颜色信息对第一图像进行白平衡处理,得到处理后的第一图像。
具体地,在第一图像对应的拍摄场景不为第一场景的情况下,电子设备计算的第一图像白点的Rgain和Bgain的准确性较高,电子设备可以将第一图像白点的颜色信息(颜色信息包括Rgain和Bgain)缓存到第一图像队列中。这样,在拍摄场景不变的情况下,若后续摄像头获取的第三图像的场景为第一场景时,电子设备可以基于第一图像白点的颜色信息计算第三图像的白平衡参数,并使用该白平衡参数对第三图像进行白平衡处理,从而提高对第三图像白平衡处理的准确性。
示例性的,如图9G所示,第一图像的对应的环境光源与图像1~图像5对应的环境光源相同(光源均为太阳光),且第一图像对应的场景不为第一场景。此时电子设备可以将第一图像白点的颜色信息缓存到第一图像队列中。
当第一图像队列当前存储的白点的颜色信息未超过其最大容量M时,电子设备可以直接将第一图像白点的颜色信息缓存到第一图像队列中。例如,在第一图像队列最多只能存储6帧目标图像白点的颜色信息的情况下(M=6),电子设备将第一图像白点的颜色信息缓存到第一图像队列中,并将该白点的颜色信息编号为6。
当第一图像队列当前存储的白点的颜色信息的数量刚好为其最大容量M时,电子设备需要清除其第一图像队列中最先存储的图像白点的颜色信息。例如,在第一图像队列做多只能存储5帧目标图像白点的颜色信息的情况下(M=5),电子设备要首先清除图像1白点的颜色信息(在图像1~图像5中,摄像头最先输出图像1)。然后,调整第一图像队列中白点的颜色信息的编号。例如,将编号为2的颜色信息的编号改为1,将编号为3的颜色信息的编号改为2,将编号为4的颜色信息的编号改为3,将编号为5的颜色信息的编号改为4。然后,将第一图像白点的颜色信息缓存到第一图像队列中,并将该白点的颜色信息编号改为5。
此外,在第一图像对应的场景不为第一场景的情况下,电子设备可以直接使用第一图像白点的颜色信息对第一图像进行白平衡处理。示例性的,电子设备通过公式(18)对图像进行白平衡处理,公式(18)如下所示:
其中,为第一图像中,第i个像素的RGB值,/>为白平衡调节后的第一图像中,第i个像素的RGB值,所述Rgain和Bgain为所述第一图像白点的颜色信息。
步骤207:在当前拍摄场景为第一场景的情况下,所述电子设备计算缓存所述第一图像队列中每帧目标图像白点的颜色信息的权值。
具体地,在第一场景下,由于图像的颜色信息比较少(例如,在一幅颜色全为橙色的图像的像素中,整帧图像的像素RGB值都为(255,97,0)),当电子设备用AWB算法基于图像像素的RGB值等像素值进行白点的颜色信息的计算时,计算出的白点的颜色信息的准确度不高。如果在这种情况下,利用图像白点的颜色信息对该图像进行白平衡处理时,可能不能很好地解决图像的偏色问题,从而造成白平衡的处理效果不佳。因此,由于第一图像队列中的环境光源与第一图像对应的环境光源相同,且目标图像对应的场景不为第一场景。因此,在相同光源环境下,第一图像队列中的白点的颜色信息比第一图像的白点的颜色信息更准确,用第一图像队列中白点的颜色信息对第一图像进行白平衡处理比用第一图像白点的颜色信息对第一图像进行白平衡处理的效果更好。因此,可以通过计算第一图像队列中,每帧目标图像白点颜色信息的权值,基于该权值,对第一图像队列中白点的颜色信息进行融合计算,得到白平衡参数,并根据该白平衡参数对第一图像进行白平衡处理,以解决第一图像的偏色问题。
电子设备计算权值的方法主要分为两种情况,第一种情况:
在第一图像队列中仅存在一帧目标图像白点的颜色信息,则该帧目标图像白点的颜色信息的权值为1,即电子设备可以用该目标图像白点的颜色信息来对第一图像进行白平衡处理。
第二种情况:
若在第一图像队列中,存在多帧目标图像白点的颜色信息,电子设备可以根据公式(19)计算第一图像队列中第i帧目标图像的第一权值,公式(19)如下所示:
其中,W1i为第i帧目标图像的第一权值,Rgain_i为第i帧目标图像白点的颜色信息,Rgain为第一图像白点的颜色信息,所述abs为绝对值计算函数,所述Rgain_k为第一图像队列中,第k帧目标图像白点的颜色信息,所述m为第一图像队列中,白点的颜色信息的最小编号,所述N为第一图像队列中,白点的颜色信息的最大编号。例如,在第一图像队列中存储的白点的颜色信息的编号为0~4时,m为0,N为4;在第一图像队列中存储的白点的颜色信息的编号为1~5时,m为1,N为5。
电子设备可以根据公式(20)计算当前第一图像队列中第i帧目标图像的第二权值,公式(20)如下所示:
其中,W2i为第i帧目标图像的第二权值,Bgain_i为第i帧目标图像白点的颜色信息,Bgain为第一图像白点的颜色信息,所述Bgain_k为第一图像队列中,第k帧目标图像白点的颜色信息。电子设备可以根据公式(21)计算第一图像队列中第i帧目标图像的第三权值,公式(21)如下所示:
其中,W3i为第i帧目标图像的第三权值,LVi为第i帧目标图像白点的亮度值,LV为第一图像白点的亮度值,LVk为在第一图像队列中,第k帧目标图像白点的亮度值。
然后,电子设备可以根据公式(22)计算第一图像队列中,第i帧目标图像白点的颜色信息的权值Wi,公式(22)如下所示:
Wi=(W1i+W2i+W3i)/3 (22)
通过上述方法,可以计算当前第一图像队列中每一帧目标图像白点的颜色信息的权值。
步骤208:所述电子设备基于所述第一图像白点的颜色信息、所述目标图像白点的颜色信息以及所述目标图像白点颜色信息的权值计算白平衡参数。
具体地,所述白平衡参数包括第一白平衡参数R′gain和第二白平衡参数B′gain,电子设备可以通过公式(23)计算第一白平衡参数,公式(23)如下所示:
电子设备可以根据公式(24)计算第二白平衡参数,公式(24)如下所示:
示例性的,如图9H所示,在第一图像队列中,编号为1的白点的颜色信息的权值W1为0.2,编号为2的白点的颜色信息的权值W2为0.1,编号为3的白点的颜色信息的权值W3为0.1,编号为4的白点的颜色信息的权值W4为0.3,编号为5的白点的颜色信息的权值W5为0.3。假设,Rgain_1~Rgain_5分别为20、26、30、18、22,Bgain_1~Bgain_5分别为26、54、33、17、60。
那么:
R′gain=0.2×20+0.1×26+0.1×30+0.3×18+0.3×22=21.6
B′gain=0.2×26+0.1×54+0.1×33+0.3×17+0.3×60=37
步骤209:所述电子设备根据所述白平衡参数对所述第一图像进行白平衡处理,得到处理后的第一图像。
具体的,电子设备可以根据公式(25)对第一图像进行白平衡处理,得到处理后的第一图像,公式(25)如下所示:
其中,为第一图像中,第i个像素的RGB值,/>为白平衡调节后的第一图像中,第i个像素的RGB值。
在一些实施例中,电子设备可以根据第一图像的像素信息判断第一图像对应的场景是否为第一场景。在为第一场景的情况下,基于第一图像白点的颜色信息确定当前环境光源是否发生变化。在当前环境光源未发生变化的情况下,再计算白平衡参数。
本申请实施例所述的一种图像处理方法,电子设备计算摄像头输出的当前帧图像白点的颜色信息,并基于该颜色信息判断当前环境的光源是否发生变化。在判断出当前环境的光源没有发生变化的情况下,确定当前帧图像对应的拍摄场景是否为第一场景。在确定当前帧图像的应用场景为第一场景的情况下,将第一图像队列中前几帧目标图像的颜色信息进行融合,得到白平衡参数。电子设备通过白平衡参数对当前帧图像进行白平衡处理,得到处理后的图像。通过上述方法,在纯色场景等难以计算准确计算白平衡参数的应用场景下,提高了电子设备计算的白平衡参数的准确性,从而提高对图像白平衡处理的准确度,使得图像更符合人眼的视觉效果。
下面,对电子设备100的硬件结构进行介绍。
电子设备100可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digitalassistant,PDA)、增强现实(augmentedreality,AR)\虚拟现实(virtual reality,VR)设备等。本申请实施例对该电子设备100的具体类型不作特殊限制。
请参见图10,图10是本申请实施例提供的一种电子设备100的硬件结构示意图。
电子设备100可以包括处理器1100,外部存储器接口1200,内部存储器1210,通用串行总线(universal serialbus,USB)接口1300,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器1100可以包括一个或多个处理单元,例如:处理器1100可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器1100中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器1100中的存储器为高速缓冲存储器。该存储器可以保存处理器1100刚用过或循环使用的指令或数据。如果处理器1100需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器1100的等待时间,因而提高了系统的效率。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器1100可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
内部存储器1210可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器1100通过运行存储在内部存储器1210的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器1210可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器1210可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别终端设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。图11是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图11所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图11所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGLES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
总之,以上所述仅为本发明技术方案的实施例,并非用于限定本发明的保护范围。凡根据本发明的揭露,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种图像处理方法,其特征在于,应用于具备摄像头的电子设备,所述方法包括:
响应第一操作,启动相机应用;
计算第一图像的白点的颜色信息,所述第一图像为所述摄像头当前采集并输出的图像,所述白点用于表征所述第一图像对应的拍摄环境的光源颜色;
在根据所述颜色信息确定当前拍摄环境的光源未发生变化,且根据所述第一图像的像素信息确定所述第一图像对应的场景为第一场景的情况下,根据第一图像队列中目标图像的白点的颜色信息计算白平衡参数;其中,所述目标图像对应的场景不为第一场景,所述目标图像对应的拍摄环境的光源与所述当前拍摄环境的光源相同;所述第一场景为颜色信息不充足的场景;
根据所述白平衡参数对所述第一图像进行白平衡处理,得到处理后的第一图像。
2.如权利要求1所述的方法,其特征在于,所述白点的颜色信息包括第一颜色信息和第二颜色信息以及所述白点的亮度值,所述根据第一图像队列中目标图像的白点的颜色信息计算白平衡参数之前,还包括:
所述电子设备计算所述第一图像白点的Rgain与第二图像白点的Rgain的第一偏差值,所述第一图像白点的Bgain与所述第二图像白点的Bgain的第二偏差值,LV与LV′的第三偏差值;所述第一图像白点的Rgain为所述第一图像白点的第一颜色信息,所述第二图像白点的Rgain为所述第二图像白点的第一颜色信息,所述第一图像白点的Bgain为所述第一图像白点的第二颜色信息,所述第二图像白点的Bgain为所述第二图像白点的第二颜色信息,所述LV为所述第一图像白点的亮度值,所述LV′为所述第二图像白点的亮度值,所述第二图像为所述第一图像的上一帧图像;
在均满足所述第一偏差值小于或等于第一阈值、所述第二偏差值小于或等于第二阈值、所述第三偏差值小于或等于第三阈值的情况下,所述电子设备确定所述当前拍摄环境的光源未发生变化。
3.如权利要求1-2任一项所述的方法,其特征在于,所述第一图像的像素信息包括每个像素的G/R、每个像素的G/B以及每个像素的纹理信息,所述G为所述像素的RGB值中的G分量,所述R为所述像素的RGB值中的R分量,所述根据第一图像队列中目标图像的白点的颜色信息计算白平衡参数之前,还包括:
所述电子设备确定第一图像中均满足G/R小于或等于第一目标阈值、G/B小于或等于第二目标阈值,纹理信息小于或等于第三目标阈值的像素为目标像素;
在所述目标像素的数量大于或等于第一数量阈值的情况下,确定所述第一图像对应的场景为第一场景。
4.如权利要求1所述的方法,其特征在于,所述根据第一图像队列中目标图像的白点的颜色信息计算白平衡参数,具体包括:
计算所述目标图像的权值;
基于所述目标图像的权值、所述目标图像白点的颜色信息,计算所述白平衡参数。
5.如权利要求4所述的方法,其特征在于,所述计算所述目标图像的权值,具体包括:
根据公式计算所述第一图像队列中,第i帧目标图像的第一权值;所述W1i为所述第一权值,所述Rgain_i为所述第i帧目标图像白点的第一颜色信息,所述Rgain为所述第一图像白点的第一颜色信息,所述abs为绝对值函数,所述Rgain_k为在所述第一图像队列中,第k帧目标图像白点的第一颜色信息,所述m为所述第一图像队列中,白点的颜色信息的最小编号,所述N为所述第一图像队列中,白点的颜色信息的最大编号;
根据公式计算所述第i帧目标图像的第二权值;所述W2i为所述第二权值,所述Bgain_i为所述第i帧目标图像白点的第二颜色信息,所述Bgain为所述第一图像白点的第二颜色信息,所述Bgain_k为在所述第一图像队列中,第k帧目标图像白点的第二颜色信息;
根据公式计算所述第i帧目标图像的第三权值;所述W3i为所述第三权值,所述LVi为所述第i帧目标图像白点的亮度值,所述LV为所述第一图像白点的亮度值,所述LVk为在所述第一图像队列中,第k帧目标图像白点的亮度值;
根据公式Wi=(W1i+W2i+W3i)/3计算所述第i帧目标图像的权值;所述Wi为所述第i帧目标图像的权值。
6.如权利要求4-5任一项所述的方法,其特征在于,所述白平衡参数包括第一白平衡参数和第二白平衡参数,所述基于所述目标图像的权值、所述目标图像白点的颜色信息,计算所述白平衡参数,具体包括:
根据公式计算所述第一白平衡参数,所述R′gain为所述第一白平衡参数,所述Wi为所述第一图像队列中,第i帧目标图像的权值,所述Rgain_i为所述第i帧目标图像的第一颜色信息,所述N为所述第一图像队列中,存储的目标图像白点的颜色信息的数量值;所述m为所述第一图像队列中,白点的颜色信息的最小编号,所述N为所述第一图像队列中,白点的颜色信息的最大编号;
根据公式计算所述第二白平衡参数,所述B′gain为所述第二白平衡参数,所述Bgain_i为所述第i帧目标图像的第二颜色信息。
7.如权利要求1-2、4-5任一项所述的方法,其特征在于,所述根据所述白平衡参数对所述第一图像进行白平衡处理,得到处理后的第一图像,具体包括:
根据公式对所述第一图像进行白平衡处理,得到处理后的第一图像;
其中,所述为第一图像中,第i个像素的RGB值,所述/>为处理后的第一图像中,第i个像素的RGB值,所述R′gain为第一白平衡参数,所述B′gain为第二白平衡参数。
8.一种电子设备,其特征在于,包括:存储器、处理器和触控屏;其中:
所述触控屏用于显示内容;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器用于调用所述程序指令,使得所述电子设备执行如权利要求1-7任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,实现如权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210900461.9A CN116055699B (zh) | 2022-07-28 | 2022-07-28 | 一种图像处理方法及相关电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210900461.9A CN116055699B (zh) | 2022-07-28 | 2022-07-28 | 一种图像处理方法及相关电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116055699A CN116055699A (zh) | 2023-05-02 |
CN116055699B true CN116055699B (zh) | 2023-10-20 |
Family
ID=86120586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210900461.9A Active CN116055699B (zh) | 2022-07-28 | 2022-07-28 | 一种图像处理方法及相关电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116055699B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117119316B (zh) * | 2023-10-25 | 2024-05-31 | 荣耀终端有限公司 | 图像处理方法、电子设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618702A (zh) * | 2014-12-31 | 2015-05-13 | 湖南国科微电子有限公司 | 一种基于白块假设的数码摄像装置自动白平衡方法 |
CN106162135A (zh) * | 2016-07-29 | 2016-11-23 | 广东欧珀移动通信有限公司 | 白平衡调整方法以及装置 |
CN107959839A (zh) * | 2017-11-27 | 2018-04-24 | 努比亚技术有限公司 | 一种白平衡调整的方法、终端及计算机可读存储介质 |
CN113727086A (zh) * | 2021-08-30 | 2021-11-30 | 重庆紫光华山智安科技有限公司 | 白平衡调节方法、装置、监控设备和计算机可读存储介质 |
CN113727085A (zh) * | 2021-05-31 | 2021-11-30 | 荣耀终端有限公司 | 一种白平衡处理方法和电子设备 |
WO2022067761A1 (zh) * | 2020-09-30 | 2022-04-07 | 深圳市大疆创新科技有限公司 | 图像处理方法、装置、拍摄设备、可移动平台及计算机可读存储介质 |
WO2022067762A1 (zh) * | 2020-09-30 | 2022-04-07 | 深圳市大疆创新科技有限公司 | 图像处理方法、装置、拍摄设备、可移动平台及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8049789B2 (en) * | 2006-12-15 | 2011-11-01 | ON Semiconductor Trading, Ltd | White balance correction using illuminant estimation |
US10567721B2 (en) * | 2017-08-23 | 2020-02-18 | Motorola Mobility Llc | Using a light color sensor to improve a representation of colors in captured image data |
-
2022
- 2022-07-28 CN CN202210900461.9A patent/CN116055699B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618702A (zh) * | 2014-12-31 | 2015-05-13 | 湖南国科微电子有限公司 | 一种基于白块假设的数码摄像装置自动白平衡方法 |
CN106162135A (zh) * | 2016-07-29 | 2016-11-23 | 广东欧珀移动通信有限公司 | 白平衡调整方法以及装置 |
CN107959839A (zh) * | 2017-11-27 | 2018-04-24 | 努比亚技术有限公司 | 一种白平衡调整的方法、终端及计算机可读存储介质 |
WO2022067761A1 (zh) * | 2020-09-30 | 2022-04-07 | 深圳市大疆创新科技有限公司 | 图像处理方法、装置、拍摄设备、可移动平台及计算机可读存储介质 |
WO2022067762A1 (zh) * | 2020-09-30 | 2022-04-07 | 深圳市大疆创新科技有限公司 | 图像处理方法、装置、拍摄设备、可移动平台及计算机可读存储介质 |
CN113727085A (zh) * | 2021-05-31 | 2021-11-30 | 荣耀终端有限公司 | 一种白平衡处理方法和电子设备 |
CN113727086A (zh) * | 2021-08-30 | 2021-11-30 | 重庆紫光华山智安科技有限公司 | 白平衡调节方法、装置、监控设备和计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于暗通道先验和灰度世界的自动白平衡算法改进;李晓川;黄成强;祝永新;田犁;闵嘉华;汪辉;;工业控制计算机(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116055699A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114640783B (zh) | 一种拍照方法及相关设备 | |
CN113452969B (zh) | 图像处理方法和装置 | |
CN116055699B (zh) | 一种图像处理方法及相关电子设备 | |
CN114463191B (zh) | 一种图像处理方法及电子设备 | |
CN115550556B (zh) | 一种曝光强度调节方法及相关装置 | |
CN117201930B (zh) | 一种拍照方法和电子设备 | |
CN115514948B (zh) | 图像调节方法以及电子设备 | |
CN116668862B (zh) | 图像处理方法与电子设备 | |
CN116668656A (zh) | 图像处理方法及电子设备 | |
CN110473156A (zh) | 图像信息的处理方法、装置、存储介质及电子设备 | |
WO2023015993A9 (zh) | 一种色度信息的确定方法及相关电子设备 | |
CN113891008B (zh) | 一种曝光强度调节方法及相关设备 | |
CN114841863A (zh) | 一种图像颜色校正方法和设备 | |
CN114336998A (zh) | 充电控制方法、装置及存储介质 | |
CN116051434B (zh) | 一种图像处理方法及相关电子设备 | |
CN117133252B (zh) | 图像处理方法和电子设备 | |
CN117119316B (zh) | 图像处理方法、电子设备及可读存储介质 | |
CN115529448B (zh) | 图像处理方法及相关装置 | |
CN116723418B (zh) | 拍照方法和相关装置 | |
CN115514947B (zh) | 一种ai自动白平衡的算法和电子设备 | |
CN114630153B (zh) | 用于应用处理器的参数传输方法、装置及存储介质 | |
WO2023035919A1 (zh) | 控制曝光的方法、装置与电子设备 | |
CN117692788A (zh) | 一种图像处理方法及电子设备 | |
CN116664701A (zh) | 光照估计方法及其相关设备 | |
CN117133252A (zh) | 图像处理方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |