CN107820070B - 白平衡调整方法 - Google Patents
白平衡调整方法 Download PDFInfo
- Publication number
- CN107820070B CN107820070B CN201711005151.6A CN201711005151A CN107820070B CN 107820070 B CN107820070 B CN 107820070B CN 201711005151 A CN201711005151 A CN 201711005151A CN 107820070 B CN107820070 B CN 107820070B
- Authority
- CN
- China
- Prior art keywords
- pixel
- component subgraph
- curve
- neuron
- point
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/73—Colour balance circuits, e.g. white balance circuits or colour temperature control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种白平衡调整方法,包括以下步骤:对所述原始彩色图像进行颜色空间转换,将RGB颜色空间转换为HSI颜色空间;基于脉冲耦合神经网络,确定并调整每个分量子图的像素点的像素值;对调整像素点像素后的分量子图进行区域分割;对于每个区域,其对应的所有像素点进行等比例调节;将HSI图像转换为RGB图像,得到白平衡调整后的图像。优点为:每个区域中的所有像素点采用同一个像素调节比例值,直接将该区域中的所有像素点的像素进行等比例的调节,从而完成白平衡调整方法,由此加快了白平衡调整的速度,降低了资源消耗,且经实验证明,本发明提供的白平衡调整方法,白平衡调整的准确度仍然非常高。
Description
技术领域
本发明属于影像处理技术领域,具体涉及一种白平衡调整方法。
背景技术
白平衡,字面上的理解是白色的平衡。白平衡是描述显示器中红、绿、蓝三基色混合生成后白色精确度的一项指标。白平衡是电视摄像领域一个非常重要的概念,通过它可以解决色彩还原和色调处理等一系列问题。白平衡是随着电子影像再现色彩真实而产生的,在专业摄像领域,白平衡应用的较早,现在家用电子产品(家用摄像机、数码照相机)中也广泛地使用。
在电视摄像中,白平衡调整是控制画面色调的主要方法。目前主流的各种白平衡调整方法,需要逐点计算调整其像素值,普遍具有耗时长、资源消耗大的问题。
发明内容
针对现有技术存在的缺陷,本发明提供一种白平衡调整方法,可有效解决上述问题。
本发明采用的技术方案如下:
本发明提供一种白平衡调整方法,包括以下步骤:
步骤1,获取原始彩色图像;
步骤2,对所述原始彩色图像进行颜色空间转换,将RGB颜色空间转换为HSI颜色空间,得到转换后的图像;
步骤3,分别提取所述转换后的图像的色相H、饱和度S和亮度I三通道数据,进而获得与色相H对应的第1分量子图、与饱和度S对应的第2分量子图和与亮度I对应的第3分量子图;
步骤3,对于所述第1分量子图、所述第2分量子图和所述第3分量子图,均进行以下操作:
步骤3.1,构建脉冲耦合神经网络,所述脉冲耦合神经网络的神经元个数与被处理的分量子图的像素点个数相同,并且,每个神经元与每个分量子图的像素点一一对应;
步骤3.2,对步骤3.1得到的脉冲耦合神经网络进行迭代点火处理,生成与被处理的分量子图对应的脉冲点火时刻表;其中,所述脉冲点火时刻表记录了每个神经元的点火时刻;
步骤3.3,采用以下方法定位被处理的分量子图中需要被调整的像素点:
对于脉冲耦合神经网络中的每个神经元,均进行以下处理:
假设脉冲耦合神经网络中的任意神经元(i,j),其与被处理的分量子图中的像素点(i,j)对应;其中,i代表该神经元所对应的像素点在被处理的分量子图中的行号,j代表该神经元所对应的像素点在被处理的分量子图中的列号;(i,j)代表该神经元所对应的像素点在被处理的分量子图中的位置;
因此,判断以下条件是否成立:设神经元(i,j)的点火时刻为t1,则:在神经元(i,j)的n1×n1去心邻域内,正好有一半的神经元的点火时刻早于t1,而另一半的神经元的点火时刻晚于t1;其中,n1为设定的去心邻域的边长;
如果以上条件成立,则该神经元(i,j)所对应的像素点(i,j)的像素保持不变;否则,采用以下步骤3.4-步骤3.5,对像素点(i,j)的像素进行调整:
步骤3.4,对于像素点(i,j),如果在其n1×n1去心邻域内,有超过半数的像素点的点火时刻早于t1,则选取提前点火的像素点构建集合Γ={x1,x2,...,xL};其中,x1,x2,...,xL为点火时刻早于t1且属于像素点(i,j)去心邻域内的像素点的编号;
采用以下公式,从x1,x2,...,xL这L个像素点中选取到一个像素点作为中心像素点:
其中:D(l,k)=||xl-xk||2代表xl和xk这两个像素点之间的欧几里得距离;xl和xk均属于集合Γ中的元素;arg表示使目标函数取最小值时的变量值;
同样的,对于像素点(i,j),如果在其n1×n1去心邻域内,有超过半数的像素点的点火时刻晚于t1,则选取落后点火的像素点构建集合Γa={xa1,xa2,...,xaL};其中,xa1,xa2,...,xaL为点火时刻晚于t1且属于像素点(i,j)去心邻域内的像素点的编号;
采用以下公式,从xa1,xa2,...,xaL这L个像素点中选取到一个像素点作为中心像素点:
其中:D(al,ak)=||xal-xak||2代表xal和xak这两个像素点之间的欧几里得距离;xal和xak均属于集合Γa中的元素;arg表示使目标函数取最小值时的变量值;
步骤3.5,然后,将像素点(i,j)的像素调整为步骤3.4确定的中心像素点的像素值;
步骤3.6,采用以下方法对调整像素点像素后的分量子图进行区域分割:
步骤3.6.1,对于调整像素点像素后的分量子图中的每个像素点(i,j),其像素值表示为f(i,j);
步骤3.6.2,采用下式计算x方向的梯度算子Gi以及y方向的梯度算子Gj:
Gi=[f(i+1,j)-f(i,j)+f(i+1,j+1)-f(i,j+1)]/2
Gj=[f(i,j+1)-f(i,j)+f(i+1,j+1)-f(i+1,j)]/2;
则:
梯度幅值梯度方向
步骤3.6.3,如果以下三个条件均满足,则判定像素点(i,j)为边界点;将邻接的边界点连接起来,将分量子图划分为若干个区域,由此完成对图像的初步分割;
条件1:像素点(i,j)的梯度幅值大于沿梯度方向的两个相邻像素点的梯度幅值;
条件2:像素点(i,j)的梯度方向与该梯度方向上两个相邻像素点的方向小45°;
条件3:以该像素点(i,j)为中心的3×3邻域中的梯度幅度的极大值小于设定阈值;
步骤3.7,经步骤3.6进行区域分割,将分量子图分割为若干个区域,对于每个区域,均执行以下步骤3.7.1-步骤3.7.3:
步骤3.7.1,区域中的每个像素点均对应像素值,用t代表像素值变量,用P(t)代表该像素值在该区域对应的像素点数目,因此,t作为横坐标,P(t)作为纵坐标建立坐标系,并在坐标系中标识该区域所对应的离散点;
利用三阶贝塞尔曲线拟合离散点,得到拟合后的曲线;
步骤3.7.2,以拟合后的曲线的曲线起始点PSTART、曲线波谷点PVALLEY、曲线波峰点PPEAK和曲线终止点PEND作为波段划分位置,将拟合后的曲线划分为三段;
取参数θ1=S(PSTART,PPEAK)+S(PVALLEY,PEND),θ2=S(PSTART,PVALLEY)+S(PPEAK,PEND)
其中:
S(PSTART,PPEAK)代表曲线起始点PSTART到曲线波峰点PPEAK所对应的一段曲线下的积分面积;
S(PVALLEY,PEND)代表曲线波谷点PVALLEY到曲线终止点PEND所对应的一段曲线下的积分面积;
S(PSTART,PVALLEY)代表曲线起始点PSTART到曲线波谷点PVALLEY所对应的一段曲线下的积分面积;
S(PPEAK,PEND)代表曲线波峰点PPEAK到曲线终止点PEND所对应的一段曲线下的积分面积;
步骤3.7.3,因此,该分量子图在该区域中的每个像素点(i,j),采用以下公式调整其像素值:
步骤4,所述第1分量子图经过步骤3处理后,得到第1-1分量子图;所述第2分量子图经过步骤3进行处理后,得到第2-1分量子图;所述第3分量子图经过步骤3进行处理后,得到第3-1分量子图;
融合第1-1分量子图、第2-1分量子图和第3-1分量子图,得到HSI图像;
步骤5,当步骤4得到的所述HSI图像转换为RGB图像,得到白平衡调整后的图像。
优选的,步骤3.3中,n1×n1去心邻域为5×5去心邻域。
优选的,步骤3.6.3对图像进行初步分割之后,在步骤3.7之前,还包括:
步骤3.6.4,判断经步骤3.6.3进行图像分割后,形成的区域总数是否大于给定阈值,如果大于,则转到步骤3.7;否则,执行步骤3.6.5;
步骤3.6.5,计算每两个相邻区域的面积和;将计算得到的所有面积和进行升序排列,将排名第1的两个相邻区域合并;
步骤3.6.6,然后再判断经步骤3.6.5合并后得到的区域总数是否大于给定阈值,如果大于,则转到步骤3.7;否则,返回步骤3.6.5,如此迭代执行。
本发明提供的白平衡调整方法具有以下优点:
首先基于脉冲耦合神经网络,确定每个分量子图中需要被调整的像素点,并采用脉冲耦合神经网络技术对其像素点的像素值进行调整,从而有利于后续的图像区域分割的精确度;然后,在对每个分量子图进行图像分割后,得到若干个区域,本发明中,每个区域中的所有像素点采用同一个像素调节比例值,直接将该区域中的所有像素点的像素进行等比例的调节,从而完成白平衡调整方法,由此加快了白平衡调整的速度,降低了资源消耗,且经实验证明,本发明提供的白平衡调整方法,白平衡调整的准确度仍然非常高。
附图说明
图1为本发明提供的白平衡调整方法的流程示意图;
图2为本发明提供的脉冲耦合神经网络的模型图。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种白平衡调整方法,参考图1,包括以下步骤:
步骤1,获取原始彩色图像;
步骤2,对所述原始彩色图像进行颜色空间转换,将RGB颜色空间转换为HSI颜色空间,得到转换后的图像;
具体的,输入的图像是RGB(R:Red,红;G:Green,绿;B:Blue,蓝)彩色空间的,首先将图像转换到HSI(H:Hue,色相;S:Saturation,饱和度;I:Intensity,亮度)彩色空间。
步骤3,分别提取所述转换后的图像的色相H、饱和度S和亮度I三通道数据,进而获得与色相H对应的第1分量子图、与饱和度S对应的第2分量子图和与亮度I对应的第3分量子图;
对于所述第1分量子图、所述第2分量子图和所述第3分量子图,均进行以下步骤3.1-步骤3.7的操作:
步骤3.1,构建脉冲耦合神经网络,所述脉冲耦合神经网络的神经元个数与被处理的分量子图的像素点个数相同,并且,每个神经元与每个分量子图的像素点一一对应;
步骤3.2,对步骤3.1得到的脉冲耦合神经网络进行迭代点火处理,生成与被处理的分量子图对应的脉冲点火时刻表;其中,所述脉冲点火时刻表记录了每个神经元的点火时刻;
下面对脉冲耦合神经网络进行解释:
脉冲耦合神经网络(Pulse coupled neural network,PCNN)是一个离散反馈型的单循环网络,每个网络节点是一个神经元。一般情况下,将脉冲耦合神经网络应用于数字图像处理时,常常将每个神经元与每个待处理的图像像素一一对应,从而将对图像像素的处理转换为对相对应的脉冲耦合神经网络里面神经元的处理。
在脉冲耦合神经网络中,每个神经元由输入部分,链接部分和脉冲发生器组成。神经元接受由馈送输入与链接输入耦合的输入信号。馈送输入是神经元所接受的主要输入源,邻近神经元可以通过链接方式对神经元的馈送输入信号产生影响。外部刺激由馈送输入域接收,然后与链接输入域所接受的邻近神经元脉冲信号耦合后送往内部活动项。内部活动项的数值随着循环逐步上升,而动态阈值随着循环逐步下降,每次循环都将内部活动项的数值与动态阈值相比较,当内部活动项的数值超过动态阈值时,神经元通过阶跃函数点火,产生脉冲输出,同时动态阈值的数值也骤然提高,随后神经元的输出又回归零值,如此周而复始。脉冲耦合神经网络模型的离散数学表现形式如下式所示:
Uij[n]=Fij[n](1+βLij[n])
Yij[n]=step(Uij[n]-Eij[n])
在上式中:下标ij为神经元的标号,n为网络运行时刻,I为相应神经元的外部刺激,F,L,U,Y及E分别为神经元的馈送输入(Feeding Input)、链接输入(Linking Input)、内部活动项(Internal Activation)、脉冲输出(Pulse Output)和动态阀值(DynamicThreshold),M和W分别是馈送输入域和链接输入域的链接权矩阵,VF,VL及VE分别为馈送输入域,链接输入域及内部活动域的幅度常数,β为内部活动域的链接强度,αF,αL及αE分别为馈送输入域,链接输入域及内部活动域的衰减系数。
脉冲耦合神经网络的模型图如图2所示:
对于馈送输入域而言,αF定义了馈送输入域的衰减系数。当αF设置较大值时,馈送输入域会衰减较快,反之,当αF设置较小时,馈送输入域会衰减较慢。VF参数决定了是否缩小或者扩大邻近神经元对馈送输入域的影响。使用链接权矩阵M设置邻近区域内神经元的链接模式。链接强度β是一个非常重要的参数,因为它决定了链接输入域在内部活动项上的权重。链接强度参数的设置通常由所进行的数据处理任务的具体需求而决定,如果需要更多考虑邻域的影响,则需要设置较大数值的链接强度。一般而言,所有的神经元都使用相同的链接强度,但每个神经元也可以设置其自己独有的链接强度。对于脉冲发生器,衰减系数αE决定了阈值在每次循环时的衰减比率。因为该参数直接决定了神经元的点火时刻,所以它是一个十分重要的参数。设置较小的衰减系数αE能使内部动态阈值在一次点火之后缓慢下降,从而延长点火时间间隔,也即增加距离下次输出脉冲信号的循环次数,使脉冲耦合神经网络以一种“谨慎”的模式工作,但是需要花费更多的时间以完成数据处理任务;相反,设置较大的衰减系数αE会使内部动态阈值在一次点火时间迅速下降,缩短点火的间隔,也即缩小距离下次输出脉冲信号的循环次数,从而较大地减少运行循环次数。如果希望脉冲耦合神经网络只点火一次,可以设置较大的衰减系数αE。VE决定了阈值的大小。每次循环以上公式,在脉冲耦合神经网络中的每个神经元产生一个二进制输出(0或者1)。当输出为1时,称之为一次点火。使用一个和脉冲耦合神经网络同样大小的矩阵来记录每个神经元第一次点火的时刻,我们可以得到一个点火时刻表(Firing Time Map,FTM)。神经元有两种同步激发现象:当某个神经元自然发放脉冲时,称之为强制性激发,而当该神经元捕获周围神经元同步激发,此时对于周围神经元而言,称之为诱导性激发。脉冲耦合神经网络的神经元具有变阈值衰减特性,随时间指数规律衰减,当神经元的内部活动项大于当前的动态阈值时而引发脉冲。脉冲耦合神经网络所具有的周期性点火特征是由动态阈值E的变阈值特性所决定的。脉冲耦合神经网络神经元利用连接输入L对反馈输入F进行非线性调制,从而实现了神经元之间的相互影响。当一个神经元点火时,它会捕获其周围与其具有相似属性的神经元也同步地产生脉冲。这使得脉冲耦合神经网络具有神经元之间相互影响的捕获特性与同步脉冲输出现象。这种捕获具有相似属性神经元产生同步发放脉冲的现象也被称之为神经元同步振荡现象。各神经元点火周期不一样,在一段时间内,各神经元的动态门限按照各自的周期衰减,在不同时刻产生脉冲,呈现出动态脉冲发放的现象。动态发放脉冲的现象反映在所有神经元状态时,可以看到点火区域以类似波的形式传播,波传播到的地方是与波前神经元类似的神经元周围区域。这就是脉冲耦合神经网络的动态脉冲发放现象和自动波特性。可以将同步脉冲的发放现象和捕获特性与动态脉冲的发放现象和自动波特性对应起来:前者是静态的,而后者是动态的。静态时,脉冲输出反映了输入激励的空间特性,而动态输出的脉冲则反映了输入激励的时间特性。即同一时刻输出的脉冲数量反映了空间特性,而不同时刻输出的脉冲数量和顺序反映了输入激励大小的时间特性,这就是脉冲耦合神经网络的综合时空特性。
步骤3.3,采用以下方法定位被处理的分量子图中需要被调整的像素点:
对于脉冲耦合神经网络中的每个神经元,均进行以下处理:
假设脉冲耦合神经网络中的任意神经元(i,j),其与被处理的分量子图中的像素点(i,j)对应;其中,i代表该神经元所对应的像素点在被处理的分量子图中的行号,j代表该神经元所对应的像素点在被处理的分量子图中的列号;(i,j)代表该神经元所对应的像素点在被处理的分量子图中的位置;
因此,判断以下条件是否成立:设神经元(i,j)的点火时刻为t1,则:在神经元(i,j)的n1×n1去心邻域内,正好有一半的神经元的点火时刻早于t1,而另一半的神经元的点火时刻晚于t1;其中,n1为设定的去心邻域的边长,通常情况下,n1取值为5。
如果以上条件成立,则该神经元(i,j)所对应的像素点(i,j)的像素保持不变;否则,采用以下步骤3.4-步骤3.5,对像素点(i,j)的像素进行调整:
步骤3.4,对于像素点(i,j),如果在其n1×n1去心邻域内,有超过半数的像素点的点火时刻早于t1,则选取提前点火的像素点构建集合Γ={x1,x2,...,xL};其中,x1,x2,...,xL为点火时刻早于t1且属于像素点(i,j)去心邻域内的像素点的编号;
采用以下公式,从x1,x2,...,xL这L个像素点中选取到一个像素点作为中心像素点:
其中:D(l,k)=||xl-xk||2代表xl和xk这两个像素点之间的欧几里得距离;xl和xk均属于集合Γ中的元素;arg表示使目标函数取最小值时的变量值;
例如,假设共有4个像素点,分别为x1,x2,x3,x4,则:
对于像素点x1,计算x1分别到x2,x3,x4这三个像素点的欧几里得距离,再将计算得到的3个欧几里得距离求和,值为U1;
对于像素点x2,计算x2分别到x1,x3,x4这三个像素点的欧几里得距离,再将计算得到的3个欧几里得距离求和,值为U2;
对于像素点x3,计算x3分别到x1,x2,x4这三个像素点的欧几里得距离,再将计算得到的3个欧几里得距离求和,值为U3;
对于像素点x4,计算x4分别到x2,x3,x1这三个像素点的欧几里得距离,再将计算得到的3个欧几里得距离求和,值为U4;
假设U1、U2、U3和U4这4个值中,U4最小,则U4所对应的像素点x4即为最终选取到的中心像素点。
同样的,对于像素点(i,j),如果在其n×n去心邻域内,有超过半数的像素点的点火时刻晚于t1,则选取落后点火的像素点构建集合Γa={xa1,xa2,...,xaL};其中,xa1,xa2,...,xaL为点火时刻晚于t1且属于像素点(i,j)去心邻域内的像素点的编号;
采用以下公式,从xa1,xa2,...,xaL这L个像素点中选取到一个像素点作为中心像素点:
其中:D(al,ak)=||xal-xak||2代表xal和xak这两个像素点之间的欧几里得距离;xal和xak均属于集合Γa中的元素;arg表示使目标函数取最小值时的变量值;
步骤3.5,然后,将像素点(i,j)的像素调整为步骤3.4确定的中心像素点的像素值;
步骤3.6,采用以下方法对调整像素点像素后的分量子图进行区域分割:
步骤3.6.1,对于调整像素点像素后的分量子图中的每个像素点(i,j),其像素值表示为f(i,j);
步骤3.6.2,采用下式计算x方向的梯度算子Gi以及y方向的梯度算子Gj:
Gi=[f(i+1,j)-f(i,j)+f(i+1,j+1)-f(i,j+1)]/2
Gj=[f(i,j+1)-f(i,j)+f(i+1,j+1)-f(i+1,j)]/2;
则:
梯度幅值梯度方向
步骤3.6.3,如果以下三个条件均满足,则判定像素点(i,j)为边界点;将邻接的边界点连接起来,将分量子图划分为若干个区域,由此完成对图像的初步分割;
条件1:像素点(i,j)的梯度幅值大于沿梯度方向的两个相邻像素点的梯度幅值;
条件2:像素点(i,j)的梯度方向与该梯度方向上两个相邻像素点的方向小45°;
条件3:以该像素点(i,j)为中心的3×3邻域中的梯度幅度的极大值小于设定阈值;
步骤3.6.3对图像进行初步分割之后,在步骤3.7之前,还包括:
步骤3.6.4,判断经步骤3.6.3进行图像分割后,形成的区域总数是否大于给定阈值,如果大于,则转到步骤3.7;否则,执行步骤3.6.5;
步骤3.6.5,计算每两个相邻区域的面积和;将计算得到的所有面积和进行升序排列,将排名第1的两个相邻区域合并;
步骤3.6.6,然后再判断经步骤3.6.5合并后得到的区域总数是否大于给定阈值,如果大于,则转到步骤3.7;否则,返回步骤3.6.5,如此迭代执行。
步骤3.7,经步骤3.6进行区域分割,将分量子图分割为若干个区域,对于每个区域,均执行以下步骤3.7.1-步骤3.7.3:
步骤3.7.1,区域中的每个像素点均对应像素值,用t代表像素值变量,用P(t)代表该像素值在该区域对应的像素点数目,因此,t作为横坐标,P(t)作为纵坐标建立坐标系,并在坐标系中标识该区域所对应的离散点;
利用三阶贝塞尔曲线拟合离散点,得到拟合后的曲线;
其中,设贝塞尔四个控制点参数为A、B、C、D,则贝塞尔曲线的拟合公式如下:P(t)=A·(1-t)3+B·(1-t)2t+C·(1-t)t2+D·t3。
步骤3.7.2,以拟合后的曲线的曲线起始点PSTART、曲线波谷点PVALLEY、曲线波峰点PPEAK和曲线终止点PEND作为波段划分位置,将拟合后的曲线划分为三段;
取参数θ1=S(PSTART,PPEAK)+S(PVALLEY,PEND),θ2=S(PSTART,PVALLEY)+S(PPEAK,PEND)
其中:
S(PSTART,PPEAK)代表曲线起始点PSTART到曲线波峰点PPEAK所对应的一段曲线下的积分面积;用数学公式表示为:
S(PVALLEY,PEND)代表曲线波谷点PVALLEY到曲线终止点PEND所对应的一段曲线下的积分面积;
S(PSTART,PVALLEY)代表曲线起始点PSTART到曲线波谷点PVALLEY所对应的一段曲线下的积分面积;
S(PPEAK,PEND)代表曲线波峰点PPEAK到曲线终止点PEND所对应的一段曲线下的积分面积;
步骤3.7.3,因此,该分量子图在该区域中的每个像素点(i,j),采用以下公式调整其像素值:
步骤4,所述第1分量子图经过步骤3处理后,得到第1-1分量子图;所述第2分量子图经过步骤3进行处理后,得到第2-1分量子图;所述第3分量子图经过步骤3进行处理后,得到第3-1分量子图;
融合第1-1分量子图、第2-1分量子图和第3-1分量子图,得到HSI图像;
步骤5,当步骤4得到的所述HSI图像转换为RGB图像,得到白平衡调整后的图像。
本发明提供的白平衡调整方法具有以下优点:
首先基于脉冲耦合神经网络,确定每个分量子图中需要被调整的像素点,并采用脉冲耦合神经网络技术对其像素点的像素值进行调整,从而有利于后续的图像区域分割的精确度;然后,在对每个分量子图进行图像分割后,得到若干个区域,本发明中,每个区域中的所有像素点采用同一个像素调节比例值,直接将该区域中的所有像素点的像素进行等比例的调节,从而完成白平衡调整方法,由此加快了白平衡调整的速度,降低了资源消耗,且经实验证明,本发明提供的白平衡调整方法,白平衡调整的准确度仍然非常高。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (3)
1.一种白平衡调整方法,其特征在于,包括以下步骤:
步骤1,获取原始彩色图像;
步骤2,对所述原始彩色图像进行颜色空间转换,将RGB颜色空间转换为HSI颜色空间,得到转换后的图像;
步骤3,分别提取所述转换后的图像的色相H、饱和度S和亮度I三通道数据,进而获得与色相H对应的第1分量子图、与饱和度S对应的第2分量子图和与亮度I对应的第3分量子图;
对于所述第1分量子图、所述第2分量子图和所述第3分量子图,均进行以下步骤3.1-步骤3.7的操作:
步骤3.1,构建脉冲耦合神经网络,所述脉冲耦合神经网络的神经元个数与被处理的分量子图的像素点个数相同,并且,每个神经元与每个分量子图的像素点一一对应;
步骤3.2,对步骤3.1得到的脉冲耦合神经网络进行迭代点火处理,生成与被处理的分量子图对应的脉冲点火时刻表;其中,所述脉冲点火时刻表记录了每个神经元的点火时刻;
步骤3.3,采用以下方法定位被处理的分量子图中需要被调整的像素点:
对于脉冲耦合神经网络中的每个神经元,均进行以下处理:
假设脉冲耦合神经网络中的任意神经元(i,j),其与被处理的分量子图中的像素点(i,j)对应;其中,i代表该神经元所对应的像素点在被处理的分量子图中的行号,j代表该神经元所对应的像素点在被处理的分量子图中的列号;(i,j)代表该神经元所对应的像素点在被处理的分量子图中的位置;
因此,判断以下条件是否成立:设神经元(i,j)的点火时刻为t1,则:在神经元(i,j)的n1×n1去心邻域内,正好有一半的神经元的点火时刻早于t1,而另一半的神经元的点火时刻晚于t1;其中,n1为设定的去心邻域的边长;
如果以上条件成立,则该神经元(i,j)所对应的像素点(i,j)的像素保持不变;否则,采用以下步骤3.4-步骤3.5,对像素点(i,j)的像素进行调整:
步骤3.4,对于像素点(i,j),如果在其n1×n1去心邻域内,有超过半数的像素点的点火时刻早于t1,则选取提前点火的像素点构建集合Γ={x1,x2,...,xL};其中,x1,x2,...,xL为点火时刻早于t1且属于像素点(i,j)去心邻域内的像素点的编号;
采用以下公式,从x1,x2,...,xL这L个像素点中选取到一个像素点作为中心像素点:
其中:D(l,k)=||xl-xk||2代表xl和xk这两个像素点之间的欧几里得距离;xl和xk均属于集合Γ中的元素;arg表示使目标函数取最小值时的变量值;
同样的,对于像素点(i,j),如果在其n1×n1去心邻域内,有超过半数的像素点的点火时刻晚于t1,则选取落后点火的像素点构建集合Γa={xa1,xa2,...,xaL};其中,xa1,xa2,...,xaL为点火时刻晚于t1且属于像素点(i,j)去心邻域内的像素点的编号;
采用以下公式,从xa1,xa2,...,xaL这L个像素点中选取到一个像素点作为中心像素点:
其中:D(al,ak)=||xal-xak||2代表xal和xak这两个像素点之间的欧几里得距离;xal和xak均属于集合Γa中的元素;arg表示使目标函数取最小值时的变量值;
步骤3.5,然后,将像素点(i,j)的像素调整为步骤3.4确定的中心像素点的像素值;
步骤3.6,采用以下方法对调整像素点像素后的分量子图进行区域分割:
步骤3.6.1,对于调整像素点像素后的分量子图中的每个像素点(i,j),其像素值表示为f(i,j);
步骤3.6.2,采用下式计算x方向的梯度算子Gi以及y方向的梯度算子Gj:
Gi=[f(i+1,j)-f(i,j)+f(i+1,j+1)-f(i,j+1)]/2
Gj=[f(i,j+1)-f(i,j)+f(i+1,j+1)-f(i+1,j)]/2;
则:
梯度幅值梯度方向
步骤3.6.3,如果以下三个条件均满足,则判定像素点(i,j)为边界点;将邻接的边界点连接起来,将分量子图划分为若干个区域,由此完成对图像的初步分割;
条件1:像素点(i,j)的梯度幅值大于沿梯度方向的两个相邻像素点的梯度幅值;
条件2:像素点(i,j)的梯度方向与该梯度方向上两个相邻像素点的方向小45°;
条件3:以该像素点(i,j)为中心的3×3邻域中的梯度幅度的极大值小于设定阈值;
步骤3.7,经步骤3.6进行区域分割,将分量子图分割为若干个区域,对于每个区域,均执行以下步骤3.7.1-步骤3.7.3:
步骤3.7.1,区域中的每个像素点均对应像素值,用t代表像素值变量,用P(t)代表该像素值在该区域对应的像素点数目,因此,t作为横坐标,P(t)作为纵坐标建立坐标系,并在坐标系中标识该区域所对应的离散点;
利用三阶贝塞尔曲线拟合离散点,得到拟合后的曲线;
步骤3.7.2,以拟合后的曲线的曲线起始点PSTART、曲线波谷点PVALLEY、曲线波峰点PPEAK和曲线终止点PEND作为波段划分位置,将拟合后的曲线划分为三段;
取参数θ1=S(PSTART,PPEAK)+S(PVALLEY,PEND),θ2=S(PSTART,PVALLEY)+S(PPEAK,PEND)
其中:
S(PSTART,PPEAK)代表曲线起始点PSTART到曲线波峰点PPEAK所对应的一段曲线下的积分面积;
S(PVALLEY,PEND)代表曲线波谷点PVALLEY到曲线终止点PEND所对应的一段曲线下的积分面积;
S(PSTART,PVALLEY)代表曲线起始点PSTART到曲线波谷点PVALLEY所对应的一段曲线下的积分面积;
S(PPEAK,PEND)代表曲线波峰点PPEAK到曲线终止点PEND所对应的一段曲线下的积分面积;
步骤3.7.3,因此,调整像素点像素后的分量子图在该区域中的每个像素点(i,j),采用以下公式调整其像素值,像素点(i,j)像素值调整后的像素值为f′(i,j):
步骤4,所述第1分量子图经过步骤3处理后,得到第1-1分量子图;所述第2分量子图经过步骤3进行处理后,得到第2-1分量子图;所述第3分量子图经过步骤3进行处理后,得到第3-1分量子图;
融合第1-1分量子图、第2-1分量子图和第3-1分量子图,得到HSI图像;
步骤5,将步骤4得到的所述HSI图像转换为RGB图像,得到白平衡调整后的图像。
2.根据权利要求1所述的白平衡调整方法,其特征在于,步骤3.3中,n1×n1去心邻域为5×5去心邻域。
3.根据权利要求1所述的白平衡调整方法,其特征在于,步骤3.6.3对图像进行初步分割之后,在步骤3.7之前,还包括:
步骤3.6.4,判断经步骤3.6.3进行图像分割后,形成的区域总数是否小于给定阈值,如果小于,则转到步骤3.7;否则,执行步骤3.6.5;
步骤3.6.5,计算每两个相邻区域的面积和;将计算得到的所有面积和进行升序排列,将排名第1的两个相邻区域合并;
步骤3.6.6,然后再判断经步骤3.6.5合并后得到的区域总数是否小于给定阈值,如果小于,则转到步骤3.7;否则,返回步骤3.6.5,如此迭代执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711005151.6A CN107820070B (zh) | 2017-10-25 | 2017-10-25 | 白平衡调整方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711005151.6A CN107820070B (zh) | 2017-10-25 | 2017-10-25 | 白平衡调整方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107820070A CN107820070A (zh) | 2018-03-20 |
CN107820070B true CN107820070B (zh) | 2019-05-17 |
Family
ID=61608488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711005151.6A Active CN107820070B (zh) | 2017-10-25 | 2017-10-25 | 白平衡调整方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107820070B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113823237B (zh) * | 2021-09-16 | 2022-09-27 | 惠州华星光电显示有限公司 | 显示装置及其驱动方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4106774B2 (ja) * | 1998-11-19 | 2008-06-25 | 株式会社ニコン | デジタルカメラ |
EP1657936A1 (en) * | 2004-11-10 | 2006-05-17 | Sony Ericsson Mobile Communications AB | White balance adjustment |
CN101212693A (zh) * | 2006-12-27 | 2008-07-02 | 兆宏电子股份有限公司 | 白平衡方法及图像调整装置 |
CN103327345B (zh) * | 2012-03-19 | 2015-03-11 | 华晶科技股份有限公司 | 白平衡处理方法及其处理装置 |
US20150172513A1 (en) * | 2013-12-18 | 2015-06-18 | Nokia Corporation | Methods And Apparatus For Color Balance Correction |
CN104394392B (zh) * | 2014-11-14 | 2016-09-28 | 广东欧珀移动通信有限公司 | 一种白平衡调节方法、装置以及终端 |
CN107105211A (zh) * | 2017-03-22 | 2017-08-29 | 建荣半导体(深圳)有限公司 | 一种白平衡修正方法、装置及电子设备 |
-
2017
- 2017-10-25 CN CN201711005151.6A patent/CN107820070B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107820070A (zh) | 2018-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112614077B (zh) | 一种基于生成对抗网络的非监督低照度图像增强方法 | |
DE60314029T2 (de) | Bildanzeigeverfahren und -vorrichtung | |
US9148581B2 (en) | Multi-function control illumination device | |
CN101345891B (zh) | 基于信息熵和对比度的无参考图像质量评价方法 | |
CN107820070B (zh) | 白平衡调整方法 | |
CN109658341A (zh) | 增强图像对比度的方法及其装置 | |
CN112200757A (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN102779480B (zh) | 显示屏驱动电路及发光二极管显示装置 | |
JP2004509486A (ja) | 色かぶり検出及び除去方法 | |
CN102231264A (zh) | 动态对比度增强装置和方法 | |
CN101442861A (zh) | Led灯光场景控制***及其控制方法 | |
CN101233539A (zh) | 自适应图像对比度增强的方法 | |
CN101472113B (zh) | 一种数字图像亮度对比度增强装置 | |
US7215365B2 (en) | System and method for effectively calculating destination pixels in an image data processing procedure | |
CN101462413A (zh) | 打印控制装置、打印数据生成装置及打印*** | |
JP2013511109A (ja) | イメージ処理方法及びそのための装置 | |
CN106341929A (zh) | 一种灯光与显示内容融合的方法 | |
CN107222685A (zh) | 图像获取装置及其操作方法 | |
CN105958972A (zh) | Pwm控制电路及pwm信号生成方法 | |
CN110392205A (zh) | 图像处理设备、信息显示设备、控制方法和存储介质 | |
CN103761714A (zh) | 一种基于ihs色彩空间的彩色图像增强方法 | |
CN105791710A (zh) | 一种信号灯图像增强处理方法 | |
CN108460823A (zh) | 一种渲染三维场景模型的显示方法及*** | |
CN102238749A (zh) | 一种信道竞争的方法及接入点设备 | |
CN101511033B (zh) | Cmos图像传感器的图像处理方法 |
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 |