发明内容
本发明所要解决的技术问题是提供图像的白平衡处理方法,用以解决现有技术中对色温的判断不准确导致的对图像做白平衡处理的结果不够准确的技术问题,进一步的,还能优化视频的处理效果。
本发明的另一个目的是将上述构思应用于具体的应用环境中,提供图像的白平衡处理装置,从而保证该方法的实现和应用。
为解决上述技术问题,本发明实施例提供了图像的白平衡处理方法,包括:
依据预置的色温权重表中的初始权重值计算待处理的原始图像中各个像素点的最终权重值;所述色温权重表用于保存经过标志的各个像素点与其初始权重值之间的对应关系;
依据所述最终权重值计算所述原始图像的rgb通道增益;
按照所述rgb通道增益的大小对所述原始图像进行白平衡调整。
优选的,所述色温权重表的建立方式为:
对色板的灰色和白色色块进行均匀分布式采样,得到多个灰色和白色像素点;
采用如下方式对所述灰色和白色像素点进行标志:
横坐标值x(i,j)=GET_INT(r(i,j)/g(i,j)/UNIT),纵坐标值y(i,j)=GET_INT(b(i,j)/g(i,j)/UNIT),其中,所述GET_INT为取整函数;i∈[1,row],j∈[1,col];所述row为图像高,所述col为图像宽;
对所述得到的多个横坐标值和纵坐标值通过多项式拟合得到色温曲线;
在所述色温曲线的两侧分别按照第一距离和第二距离建立两条第一曲线和两条第二曲线,所述第二距离大于第一距离;
建立一张色温权重表,所述色温权重表中的坐标点值即为经过标志的各个像素点对应的初始权重值。
优选的,所述依据预置的色温权重表中的初始权重值计算待处理的原始图像中各个像素点的最终权重值,具体包括:
依据如下公式计算所述原始图像中各个像素点的饱和度:saturation(i,j)=1-MIN(r(i,j),g(i,j),b(i,j))/MEAN(r(i,j),g(i,j),b(i,j)),所述MIN为取最小值函数,所述MEAN为取平均值函数;所述(i,i)为所述原始图像中的任一像素点,其中,i∈[1,row],j∈[1,col];
依据如下公式计算所述各个像素点的最终权重值:weight(i,j)=satuation(i,j)*p(i,j);所述saturation为饱和度;所述weight(i,j)为像素点的最终权重值。
优选的,所述依据所述最终权重值计算所述各个像素点的各通道增益,具体包括:
依据如下公式计算所述原始图像的r通道增益:
依据如下公式计算所述原始图像的b通道增益:
依据如下公式计算所述原始图像的g通道增益:gain_g=1。
优选的,所述按照所述各通道增益的大小对所述原始图像进行调整,具体为:
将所述原始图像的r通道值和b通道值分别乘以所述gainr和gain_b,并保持g通道值不变;
对调整后的r通道和b通道进行嵌位限制,以得到调整后的原始图像。
本发明实施例还提供了图像的白平衡处理装置,包括:获取权重值模块,用于依据预置的色温权重表中的初始权重值计算待处理的原始图像中各个像素点的最终权重值;所述色温权重表用于保存经过标志的各个像素点与其初始权重值之间的对应关系;
获取通道增益模块,用于依据所述最终权重值计算所述原始图像的rgb通道增益;
白平衡调整模块,用于按照所述rgb通道增益的大小对所述原始图像进行白平衡调整。
优选的,所述色温权重表的建立由建立色温权重表模块实现,所述建立色温权重表模块具体包括:
分布式采样子模块,用于对色板的灰色和白色色块进行均匀分布式采样,得到多个灰色和白色像素点;
标志子模块,用于采用如下方式对所述灰色和白色像素点进行标志:
横坐标值x(i,j)=GET_INT(r(i,j)/g(i,j)/UNIT),纵坐标值y(i,j)=GET_INT(b(i,j)/g(i,j)/UNIT),其中,所述GET_INT为取整函数;i∈[1,row],j∈[1,col];所述row为图像高,所述col为图像宽;
拟合色温曲线子模块,用于对所述得到的多个横坐标值和纵坐标值通过多项式拟合得到色温曲线;
建立曲线子模块,用于在所述色温曲线的两侧分别按照第一距离和第二距离建立两条第一曲线和两条第二曲线,所述第二距离大于第一距离;
设置初始权重子模块,用于若图像中任一像素点通过标志得到的坐标点落在所述第一曲线和色温曲线之间,则将此像素点的初始权重设为1;若图像中任一像素点通过标志方式得到的坐标点落在所述第一曲线和第二曲线之间,则通过如下公式获取该像素点的初始权重:p(i,j)=k*(DIS_2-DIS(x(i,j),y(i,j)))/(DIS_2-DIS_1),k∈[0,1];
建立色温权重表子模块,用于建立一张色温权重表,所述色温权重表中的坐标点值即为经过标志的各个像素点对应的初始权重值。
优选的,所述获取权重值模块具体包括:
计算饱和度子模块,用于依据如下公式计算所述原始图像中各个像素点的饱和度:
saturation(i,j)=1一MIN(r(i,j),g(i,j),b(i,j))/MEAN(r(i,j),g(i,j),b(i,j)),所述MIN为取最小值函数,所述MEAN为取平均值函数;所述(i,j)为所述原始图像中的任一像素点,其中,i∈[1,row],j∈[1,co l];
计算最终权重值子模块,用于依据如下公式计算所述各个像素点的最终权重值:weight(i,j)=satuation(i,j)*p(i,j);所述saturation为饱和度;所述weight(i,j)为像素点的最终权重值。
优选的,所述获取通道增益模块具体包括:
第一计算子模块,用于依据如下公式计算所述原始图像的r通道增益:
第二计算子模块,用于依据如下公式计算所述原始图像的b通道增益:
第三计算子模块,用于依据如下公式计算所述原始图像的g通道增益:gain_g=1。
优选的,所述白平衡调整模块具体包括:
通道值调整子模块,用于将所述原始图像的r通道值和b通道值分别乘以所述gain_r和gain_b,并保持g通道值不变;
获取输出图像子模块,用于对调整后的r通道和b通道进行嵌位限制,以得到调整后的原始图像。
本发明实施例还提供了一种摄像机,所述摄像机包括权利要求6-10任一项所述的图像的白平衡处理装置。
与现有技术相比,本发明具有以下优点:
在本实施例中,在本发明实施例中,采用了加权值的色温估计方式,以及饱和度处理方法来优化对不同色温的判断结果,本发明实施例并不划分各种色温,而是将概率权重值赋予所述原始图像的每一个像素点,权重值大的象素是灰色或白色像素点的概率要大,反之,权重值小的象素是灰色或白色像素点的概率要小。本发明实施例可以解决现有技术中对色温的判断不准确导致的对图像做白平衡处理的结果不够准确的技术问题,提升对图像的白平衡处理效果,进一步的,还能优化视频的处理效果。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
参考图1,示出了本发明的图像的白平衡处理方法实施例1的流程图,可以包括以下步骤:
步骤101:依据预置的色温权重表中的初始权重值计算待处理的原始图像中各个像素点的最终权重值;所述色温权重表用于保存经过标志的各个像素点与其初始权重值之间的对应关系。
在本发明实施例中,需要预先建立一个色温权重表,用来保存经过标志的各个像素点与其权重值之间的对应关系,这里经过标志的含义是将各个像素点转换为所述色温权重表中的坐标点,其中,参考图2所示,所述预置的色温权重表可以采用如下方式建立:
步骤201:对色板的灰色和白色色块进行均匀分布式采样,得到多个灰色和白色像素点。
在色温箱中调整色温,对色板的灰色和白色色块(即19到24色块)进行均匀分布式的采样,采样中可以采用比较多的采样点,以减少噪音等对白平衡处理结果的影响。
步骤202:采用如下方式对所述灰色和白色像素点进行标志:
横坐标值x(i,j)=GET_INT(r(i,j)/g(i,j)/UNIT),纵坐标值y(i,j)=GET_INT(b(i,j)/g(i,j)/UNIT),其中,所述GET_INT为取整函数;i∈[1,row],j∈[1,col];所述row为图像高,所述col为图像宽。i和j是图像的像素点,即是(i,j)为某一像素点在原始图像中的坐标。
在本步骤中,主要是在采样得到灰色和白色像素点之后,对样点进行标志。样点的标志采用近似的方法,以UINT=1/255为单位,对每个[r/g,b/g]值,经过单位转换并取整得到。
步骤203:对所述得到的多个横坐标值和纵坐标值通过多项式拟合得到色温曲线。
将得到的样点标志于r/g,b/g空间中,由于经过大量的数据采集,此类灰色和白色像素点在r/g,b/g空间中占据一段连续的灰色和白色像素区域,后续可以拟合得到一条色温曲线。本步骤即是用采样得到的数据(xi,ti),i<N(N为采样点总数)来训练以得到一条多项式曲线:
其中,m是多项式的最大次数,w
0,w
1...w
m为多项式的系数,W为w
0,w
1...w
m集合。多项式的系数w
0,w
1...w
m采用最小化误差函数的形式得到:
在本发明实施例中,优选情况下可以采用m=3的曲线来训练得到色温曲线。
步骤204:在所述色温曲线的两侧分别按照第一距离和第二距离建立两条第一曲线和两条第二曲线,所述第二距离大于第一距离。
本步骤需要以色温曲线为中心,在此中心曲线两侧各建立一条第一距离(DIS_1)和一条第二距离(DIS_2)的曲线(DIS_2>DIS_1),参考图3所示,是本实施例中建立的色温曲线示意图。
步骤205:建立一张色温权重表。
在本步骤中,以wmap_row和wmap_col为该表的高和宽,即为该表的大小设定一定的范围;对该表中的每一个坐标点[x,y],若落在步骤204所述第一曲线和色温曲线之间,则将此查找表坐标点的权重值设为1,即认为与该查找表坐标点相对应的图像像素点为灰色或白色像素点;若落在所述第一曲线和第二曲线之间,则通过如下公式获取该查找表坐标点的权重值:p(i,j)=k*(DIS_2-DIS(x,y))/(DIS_2-DIS_1),k∈[0,1],即认为与该查找表坐标点相对应的图像像素点被认为是灰白象素的初始权重为p(i,j)。其中,k可以在其区间任意取值,优选值为2/3。其中,k∈[0,1],i∈[1,row],j∈[1,col]
因为需要确定色温权重表上每一个坐标位置的值,在这种情况下,一般都会限定一下该表的大小来进行比较少的运算(例如:色温权重表的宽度为wmap_col=300,高度为wmap_row=400)。色温权重表越小,运算量越少。参考图4所示,为本实施例中色温权重表显示的界面示意图,其中,色温权重表的宽为300,高为400,k优选值为2/3。以上步骤201~205即是建立色温权重表的过程,建立色温权重表之后,对于需要处理的一副原始图像,对于其任何一个像素点pixel(i,j),按照步骤202标志可以计算得到此象素点在色温权重表上的坐标[x(i,j),y(i,j)],那么通过色温权重表即可返回一个初始色温权重值,同时在本发明实施例中,需要依据初始色温权重值再计算得到相对应的最终权重值作为计算各通道增益的源数据。
步骤102:依据所述最终权重值计算所述各个像素点的r,g,b通道增益。
因为依据得到的原始图像的像素点可以计算出其标志在r/g,b/g空间时的坐标值,再依据这个坐标值落在所述色温权重表中的坐标点,就查找到了权重值,在依据所述各个像素点的权重值得到各个像素点的r,g,b通道增益。
步骤103:按照所述r,g,b通道增益的大小对所述原始图像进行白平衡调整。
得到所述原始图像的r,g,b通道增益的大小对原始图像进行白平衡调整。
在本发明实施例中,采用了加权值的色温估计方式,以及饱和度处理方法来优化对不同色温的判断结果,本发明实施例并不划分各种色温,而是将概率权重值赋予所述原始图像的每一个像素点,权重值大的象素是灰色或白色像素点的概率要大,反之,权重值小的象素是灰色或白色像素点的概率要小。本发明实施例可以解决现有技术中对色温的判断不准确导致的对图像做白平衡处理的结果不够准确的技术问题,提升对图像的白平衡处理效果,进一步的,还能优化视频的处理效果。
参考图5,示出了本发明的图像的白平衡处理方法实施例2的流程图,本实施例可以包括以下步骤:
步骤501:依据如下公式计算所述原始图像中各个像素点的饱和度:saturation(i,j)=1-MIN(r(i,j),g(i,j),b(i,j))/MEAN(r(i,j),g(i,j),b(i,j)),所述MIN为取最小值函数,所述MEAN为取平均值函数;所述(i,j)为所述原始图像中的任一像素点,其中,i∈[1,row],j∈[1,col]。
同时在大量的实验中,我们考虑到有些色调在某些色温下具有与灰色或白色很近似的特征。为减少此类像素点被误判为灰色或白色象素,在权重计算中本实施例加入了饱和度的考虑。其中,该饱和度表示像素点的颜色偏离灰色或白色的程度,饱和度越高,像素点的颜色偏离灰色或白色的程度越高,其计算公式如下:
saturation(i,j)=1-MIN(r(i,j),g(i,j),b(i,j))/MEAN(r(i,j),g(i,j),b(i,j))其中MIN为取最小值函数,MEAN为取平均值函数。
步骤502:依据如下公式计算所述各个像素点的最终权重值:weight(i,j)=satuation(i,j)*p(i,j);所述saturation为饱和度;所述p(i,j)为像素点的初始权重值,色温权重表用于保存经过标志的各个像素点与所述初始权重值之间的对应关系。
得到饱和度之后,依据该饱和度可以计算出各个像素点的最终权重,计算方式为:
weight(i,j)=satuation(i,j)*p(i,j)
其中,p(i,j)为像素点(i,j)的初始权重值,所述satuation(i,j)为像素点(i,j)的饱和度。
步骤503:依据如下公式计算所述原始图像的r通道增益值:
步骤504:依据如下公式计算所述原始图像的b通道增益值:
步骤505:依据如下公式计算所述原始图像的g通道增益值:gain_g=1
步骤506:将所述原始图像的r通道值和b通道值分别乘以所述gain_r和gain_b,并保持g通道值不变。
将所述原始图像的r,b通道值分别乘以gain_r和gain_b来进行白平衡调整,同时保持g通道值不变(即gain_g=1)。
步骤507:对调整后的r通道和b通道进行嵌位限制,以得到调整后的原始图像。
同时,需要对增益调整后的r,b通道进行嵌位限制,保证它们的值不超过其色阶范围。参考图6(a)和图6(b)所示,图6(a)为未做白平衡处理的原始图像,图6(b)为经过白平衡处理后的输出图像。可以很明显的看出,图6(a)所示的图像各颜色都有偏色,而经过本实施例进行白平衡处理后的图6(b)的色彩则还原到接近真实场景,图中D形白色区更白。
本发明的白平衡处理方法纠正了由于色温影响引起的图像偏离真实场景的现象,采用了线性地调整r,b通道的方法,大大提高了图像的视觉效果,对视频处理的效果好,且实施起来稳定性强,极大地恢复了图像成像的真实性。采用本发明实施例可以提高灰色和白色象素判断的准确性,提高了白平衡视觉处理效果,同时也给后续的线性或非线性的图像操作提供了良好的基础,提升了后续操作的准确性,增强了后续操作的视觉效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参考图7,示出了本发明的图像的白平衡处理装置实施例1的结构框图,可以包括以下模块:
获取权重值模块701,用于依据预置的色温权重表中的初始权重值计算待处理的原始图像中各个像素点的最终权重值;所述色温权重表用于保存经过标志的各个像素点与其初始权重值之间的对应关系。
所述色温权重表的建立方式可以参考图8所示,由建立色温权重表模块80实现,所述建立色温权重表模块80具体可以包括:
分布式采样子模块801,用于对色板的灰色和白色色块进行均匀分布式采样,得到多个灰色和白色像素点;
标志子模块802,用于采用如下方式对所述灰色和白色像素点进行标志:
横坐标值x(i,j)=GET_INT(r(i,j)/g(i,j)/UNIT),纵坐标值y(i,j)=GET_INT(b(i,j)/g(i,j)/UNIT),其中,所述GET_INT为取整函数;i∈[1,row],j∈[1,col];所述row为图像高,所述col为图像宽;
拟合色温曲线子模块803,用于对所述得到的多个横坐标值和纵坐标值通过多项式拟合得到色温曲线;
建立曲线子模块804,用于在所述色温曲线的两侧分别按照第一距离和第二距离建立两条第一曲线和两条第二曲线,所述第二距离大于第一距离;
建立色温权重表子模块805,用于建立一张色温权重表,所述色温权重表中的坐标点值即为经过标志的各个像素点对应的初始权重值。
获取通道增益模块702,用于依据所述最终权重值计算所述原始图像的rgb通道增益。
白平衡调整模块703,用于按照所述rgb通道增益的大小对所述原始图像进行白平衡调整。
在本实施例中,采用了加权值的色温估计方式,以及饱和度处理方法来优化对不同色温的判断结果,本发明实施例并不划分各种色温,而是将概率权重值赋予所述原始图像的每一个像素点,权重值大的象素是灰色或白色像素点的概率要大,反之,权重值小的象素是灰色或白色像素点的概率要小。本发明实施例可以解决现有技术中对色温的判断不准确导致的对图像做白平衡处理的结果不够准确的技术问题,提升对图像的白平衡处理效果,进一步的,还能优化视频的处理效果。
参考图9,示出了本发明的图像的白平衡处理装置实施例2的结构框图,可以包括以下模块:
计算饱和度子模块901,用于依据如下公式计算所述原始图像中各个像素点的饱和度:
saturation(i,j)=1-MIN(r(i,j),g(i,j),b(i,j))/MEAN(r(i,j),g(i,j),b(i,j)),所述MIN为取最小值函数,所述MEAN为取平均值函数;所述(i,j)为所述原始图像中的任一像素点,其中,i∈[1,row],j∈[1,col]。
计算最终权重值子模块902,用于依据如下公式计算所述各个像素点的最终权重值:weight(i,j)=satuation(i,j)*p(i,j);所述saturation为饱和度;所述weight(i,j)为像素点的最终权重值,所述p(i,j)为像素点的初始权重值。
第一计算子模块903,用于依据如下公式计算所述原始图像的r通道增益:
第二计算子模块904,用于依据如下公式计算所述原始图像的b通道增益:
第三计算子模块905,用于依据如下公式计算所述原始图像的g通道增益:gain_g=1。
通道值调整子模块906,用于将所述原始图像的r通道值和b通道值分别乘以所述gain_r和gain_b,并保持g通道值不变。
获取输出图像子模块907,用于对调整后的r通道和b通道进行嵌位限制,以得到调整后的原始图像。
本发明实施例还公开了一种摄像机,所述摄像机可以包括本发明任一实施例公开的图像的白平衡处理装置。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的图像的白平衡处理方法、装置及摄像机进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。