一种图像处理方法及装置与流程

文档序号:18219421发布日期:2019-07-19 22:53阅读:158来源:国知局
一种图像处理方法及装置与流程

本申请涉及图像处理技术领域,尤其是涉及一种图像处理方法和图像处理装置。



背景技术:

位偏色差(colorshading)为使用拍照设配,例如手机或相机拍照时图像会出现的现象,其表现为图像中心区域偏红,四周偏绿。造成colorshading现象是由贴在感光元件上的红外截止滤光片(ircutfilter)的物理特性引起的。ircutfilter对于波长较长的红色光的透射度会因入射角的增加而减小,图像中心区域的红色光入射角较小,四周的红色光入射角较大,进入图像中心区域的红色光多于进入图像四周的红色光,所以图像中心区域偏红,四周偏绿。

由于不同色温的光源的红色光强度不同,拍照环境下不同色温的光源决定了colorshading的程度,所以可以利用自动白平衡(autowhitebalance,awb)算法计算拍照环境下的光源色温,再利用当前的光源色温对应的colorshading补偿表对预览图像的rbg值进行补偿,从而调整预览图像出现的colorshading现象,以防止拍摄出的照片出现该现象。利用awb算法计算拍照环境下的光源色温的具体过程是,首先确定预览图像中各个像素点的色彩信息,该色彩信息包括像素点的r/g值以及b/g值,再利用预览图像中各个像素点的色彩信息计算拍照环境下的光源色温。

但是,由于awb算法是利用图像的色彩信息确定的光源色温,而图像中物体的原本颜色会引起对光源色温的误判。例如高色温的光源在图像中的色彩偏向淡蓝色,如果图像中存在淡蓝色的物体,则容易将当前的光源色温误判为高色温,从而导致无法准确选取补偿表,也就无法准确地调整图像的colorshading现象。



技术实现要素:

本申请提供了一种图像处理方法及装置,用于解决现有图像处理方法无法准确选取colorshading补偿表,进而无法准确地调整图像的colorshading现象的问题。

第一方面,本申请提供了一种图像处理方法,该方法包括以下步骤:将目标图像划分为至少两个区块;从所述至少两个区块中确定至少一个区块群,所述至少一个区块群中每个区块群中各个区块所展示的物体材质均相同;使用至少两个补偿表分别对所述至少一个区块群进行预补偿以得到每个补偿表对应的色彩差异值,将色彩差异值最小的补偿表确定为目标补偿表;根据所述目标补偿表对所述目标图像进行色彩补偿。

本申请通过使用各个补偿表对图像中物体材质相同的区块群进行预补偿,得到各个补偿表对应的色彩差异值,能够较准确地选出拍照环境下的光源色温对应的目标补偿表,以用于准确修正具有colorshading现象的图像。

结合第一方面,在第一方面的第一种实现方式中,所述从所述至少两个区块中确定至少一个区块群包括:确定每个区块在三维图像坐标系中的位置点,所述位置点的坐标值分别为每个区块的第一r/g值、第一b/g值以及亮度值;在所述三维图像坐标系中确定至少两个基准点,并将每个区块的位置点归入所述至少两个基准点中一个基准点所属的群中以得到至少两个第一位置点群,所述至少两个基准点中每个基准点为所述每个基准点所属的第一位置点群中所有位置点的重心;在至少一个第一位置点群中确定目标群,所述每个第一位置点群的重心位于所述每个第一位置点群中的目标群内,所述目标群中每个目标群中各个位置点距离所述每个目标群所属的第一位置点群的重心不大于距离阈值;确定所述每个目标群对应的区块群,所述每个目标群对应的每个区块群包括所述每个目标群中至少一个位置点对应的区块。

结合第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述将每个区块的位置点归入所述至少两个基准点中一个基准点所属的群中以得到至少两个第一位置点群包括:将每个区块的位置点归入距离所述每个区块的位置点最近的一个基准点所属的群中以得到至少两个第二位置点群;如果所述至少两个第二位置点群中每个第二位置点群的重心均与所述每个第二位置点群中的基准点重合,则确定所述每个第二位置点群为第一位置点群;如果所述至少两个第二位置点群中任一第二位置点群的重心与所述任一第二位置点群中的基准点不重合,则以所述每个第二位置点群的重心作为新的基准点,利用所述新的基准点对各个所述位置点进行分群,以得到所述第一位置点群。

结合第一方面的第一种实现方式,在第一方面的第三种实现方式中,所述在至少一个第一位置点群中确定目标群,包括:在所述三维图像坐标系中,以所述至少两个第一位置点群中每个第一位置点群的重心为中心建立球形的目标群;如果当所述目标群中每个目标群的半径为第一半径阈值时,所述每个目标群中的位置点的个数不小于数量阈值,则将所述每个目标群的半径设置为所述第一半径阈值;如果当所述目标群中每个目标群的半径为第一半径阈值时,所述每个目标群中的位置点的个数小于所述数量阈值,则增大所述每个目标群的半径直至所述每个目标群中的位置点的个数不小于所述数量阈值,增大后的所述半径不大于第二半径阈值。

结合第一方面的第三种实现方式,在第一方面的第四种实现方式中,所述第一半径阈值rmin=(1/5)*d,所述第二半径阈值rmax=d,其中,d为在r/g与b/g的二维坐标系中d65标准光源下得到的灰卡图像的色彩信息对应的点与d50标准光源下得到的灰卡图像的色彩信息对应的点之间的距离。

结合第一方面,第一方面的第一种至第四种的实现方式中任一种实现方式,在第一方面的第五种实现方式中,所述使用至少两个补偿表分别对所述至少一个区块群进行预补偿以得到每个补偿表对应的色彩差异值包括:使用至少两个补偿表分别对每个区块群中各个区块进行预补偿以得到每个区块群中各个区块的第二r/g值以及第二b/g值;根据所述每个区块群中各个区块的第二r/g值确定所述每个区块群的r/g差异值,根据所述每个区块群中各个区块的第二b/g值确定所述每个区块群的b/g差异值;根据所述每个区块群的r/g差异值以及b/g差异值,确定所述每个预补偿表对应的色彩差异值,所述每个预补偿表对应的色彩差异值为所有区块群的r/g差异值的平均值与所有区块群的b/g差异值的平均值之和。

结合第一方面的第五种实现方式,在第一方面的第六种实现方式中,所述r/g差异值的表达式为:

r/g_dvj=(|c_r/g1-avg_c_r/g|+|c_r/g2-avg_c_r/g|+…+|c_r/gp-avg_c_r/g|)/p

其中,r/g_dvj为所有区块群中第j个区块群的r/g差异值,c_r/gi为所述第j个区块群中第i个区块的第二r/g值,p为所述第j个区块群中区块的个数,avg_c_r/g为所述第j个区块群中所有区块的第二r/g值的平均值;

所述b/g差异值的表达式为:

b/g_dvj=(|c_b/g1-avg_c_b/g|+|c_b/g2-avg_c_b/g|+…+|c_b/gp-avg_c_b/g|)/p

其中,b/g_dvj为所有区块群中第j个区块群的b/g差异值,c_b/gi为所述第j个区块群中第i个区块的第二b/g值,avg_c_b/g为所述第j个区块群中所有区块的第二r/g值的平均值。

结合第一方面的第五种实现方式,在第一方面的第七种实现方式中,所述每个预补偿表对应的色彩差异值为所有区块群的r/g差异值的加权平均值与所有区块群的b/g差异值的加权平均值之和;

所有区块群的r/g差异值的加权平均值的表达式为:

r/g_tdv=(r/g_dv1*v1/n1+r/g_dv2*v2/n2+…+r/g_dvk*vk/nk)/k

其中,r/g_tdv表示所有区块群的r/g差异值的加权平均值,r/g_dvj为所有区块群中第j个区块群的r/g差异值,vj为所述第j个区块群对应的目标群的空间大小值,nj为所述第j个区块群中区块的个数,k为所有区块群的个数;

所有区块群的b/g差异值的加权平均值的表达式为:

b/g_tdv=(b/g_dv1*v1/n1+b/g_dv2*v2/n2+…+b/g_dvk*vk/nk)/k

其中,b/g_tdv表示所有区块群的b/g差异值的加权平均值,b/g_dvj为所有区块群中第j个区块群的b/g差异值。

在该实现方式中,通过使用所有区块群的r/g差异值的加权平均值与所有区块群的b/g差异值的加权平均值之和表示补偿表对应的色彩差异值,能够更加全面地评估各个补偿表的补偿效果,从而提高选取目标补偿表的准确性。

第二方面,本申请还提供了一种图像处理装置,该装置可以配置在拍照设备中或为拍照设备本身,该装置包括:划分单元,用于将目标图像划分为至少两个区块;第一确定单元,用于从所述至少两个区块中确定至少一个区块群,所述至少一个区块群中每个区块群中各个区块所展示的物体材质均相同;第二确定单元,用于使用至少两个补偿表分别对所述至少一个区块群进行预补偿以得到每个补偿表对应的色彩差异值,将色彩差异值最小的补偿表确定为目标补偿表;补偿单元,用于根据所述目标补偿表对所述目标图像进行色彩补偿。

结合第二方面,在第二方面的第一种实现方式中,所述第一确定单元具体用于:确定每个区块在三维图像坐标系中的位置点,所述位置点的坐标值分别为每个区块的第一r/g值、第一b/g值以及亮度值;在所述三维图像坐标系中确定至少两个基准点,并将每个区块的位置点归入所述至少两个基准点中一个基准点所属的群中以得到至少两个第一位置点群,所述至少两个基准点中每个基准点为所述每个基准点所属的第一位置点群中所有位置点的重心;在至少一个第一位置点群中确定目标群,所述每个第一位置点群的重心位于所述每个第一位置点群中的目标群内,所述目标群中每个目标群中各个位置点距离所述每个目标群所属的第一位置点群的重心不大于距离阈值;确定所述每个目标群对应的区块群,所述每个目标群对应的每个区块群包括所述每个目标群中至少一个位置点对应的区块。

结合第二方面的第一种实现方式,在第二方面的第二种实现方式中,所述第一确定单元还具体用于:将每个区块的位置点归入距离所述每个区块的位置点最近的一个基准点所属的群中以得到至少两个第二位置点群;如果所述至少两个第二位置点群中每个第二位置点群的重心均与所述每个第二位置点群中的基准点重合,则确定所述每个第二位置点群为第一位置点群;如果所述至少两个第二位置点群中任一第二位置点群的重心与所述任一第二位置点群中的基准点不重合,则以所述每个第二位置点群的重心作为新的基准点,利用所述新的基准点对各个所述位置点进行分群,以得到所述第一位置点群。

结合第二方面的第一种实现方式,在第二方面的第三种实现方式中,所述第一确定单元还具体用于:在所述三维图像坐标系中,以所述至少两个第一位置点群中每个第一位置点群的重心为中心建立球形的目标群;如果当所述目标群中每个目标群的半径为第一半径阈值时,所述每个目标群中的位置点的个数不小于数量阈值,则将所述每个目标群的半径设置为所述第一半径阈值;如果当所述目标群中每个目标群的半径为第一半径阈值时,所述每个目标群中的位置点的个数小于所述数量阈值,则增大所述每个目标群的半径直至所述每个目标群中的位置点的个数不小于所述数量阈值,增大后的所述半径不大于第二半径阈值;其中,所述第一半径阈值rmin=(1/5)*d,所述第二半径阈值rmax=d,其中,d为在r/g与b/g的二维坐标系中d65标准光源下得到的灰卡图像的色彩信息对应的点与d50标准光源下得到的灰卡图像的色彩信息对应的点之间的距离。

结合第二方面,第二方面的第一种至第三种的实现方式中任一种实现方式,在第一方面的第四种实现方式中,所述第二确定单元具体用于:使用至少两个补偿表分别对每个区块群中各个区块进行预补偿以得到每个区块群中各个区块的第二r/g值以及第二b/g值;根据所述每个区块群中各个区块的第二r/g值确定所述每个区块群的r/g差异值,根据所述每个区块群中各个区块的第二b/g值确定所述每个区块群的b/g差异值;根据所述每个区块群的r/g差异值以及b/g差异值,确定所述每个预补偿表对应的色彩差异值,所述每个预补偿表对应的色彩差异值为所有区块群的r/g差异值的平均值与所有区块群的b/g差异值的平均值之和。

结合第二方面的第四种实现方式,在第二方面的第五种实现方式中,所述r/g差异值的表达式为:

r/g_dvj=(|c_r/g1-avg_c_r/g|+|c_r/g2-avg_c_r/g|+…+|c_r/gp-avg_c_r/g|)/p

其中,r/g_dvj为所有区块群中第j个区块群的r/g差异值,c_r/gi为所述第j个区块群中第i个区块的第二r/g值,p为所述第j个区块群中区块的个数,avg_c_r/g为所述第j个区块群中所有区块的第二r/g值的平均值;

所述b/g差异值的表达式为:

b/g_dvj=(|c_b/g1-avg_c_b/g|+|c_b/g2-avg_c_b/g|+…+|c_b/gp-avg_c_b/g|)/p

其中,b/g_dvj为所有区块群中第j个区块群的b/g差异值,c_b/gi为所述第j个区块群中第i个区块的第二b/g值,avg_c_b/g为所述第j个区块群中所有区块的第二r/g值的平均值。

结合第二方面的第四种实现方式,在第二方面的第六种实现方式中,所述每个预补偿表对应的色彩差异值为所有区块群的r/g差异值的加权平均值与所有区块群的b/g差异值的加权平均值之和;

所有区块群的r/g差异值的加权平均值的表达式为:

r/g_tdv=(r/g_dv1*v1/n1+r/g_dv2*v2/n2+…+r/g_dvk*vk/nk)/k

其中,r/g_tdv表示所有区块群的r/g差异值的加权平均值,r/g_dvj为所有区块群中第j个区块群的r/g差异值,vj为所述第j个区块群对应的目标群的空间大小值,nj为所述第j个区块群中区块的个数,k为所有区块群的个数;

所有区块群的b/g差异值的加权平均值的表达式为:

b/g_tdv=(b/g_dv1*v1/n1+b/g_dv2*v2/n2+…+b/g_dvk*vk/nk)/k

其中,b/g_tdv表示所有区块群的b/g差异值的加权平均值,b/g_dvj为所有区块群中第j个区块群的b/g差异值。

第三方面,本申请还提供了一种图像处理装置,该装置包括处理器、存储器和总线系统。其中,处理器和存储器通过总线系统相连,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以实现第一方面以及第一方面的各种实现方式所述的图像处理方法。

由于本申请提供的装置能够实现第一方面以及第一方面的各种实现方式所述的图像处理方法,所以本申请提供的装置具有的有益效果与第一方面所述的图像处理方法具有的有益效果相同,在此不再赘述。

第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的图像处理方法。

第四方方面,本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的图像处理方法。

第五方方面,本申请还提供了一种芯片,所述芯片包括处理器和/或程序指令,当所述芯片运行时,实现本申请第一方面所述的图像处理方法。

附图说明

图1为本申请提供的一种图像处理方法的一个实施例的流程图;

图2为本申请提供的由r/g值、b/g值以及亮度值相似的区块组成为区块群的效果图;

图3为本申请提供的一种确定区块群的方法的一个实施例的流程图;

图4为本申请提供的对位置点进行分群后的效果图;

图5为本申请提供的标准光源点以及区块点在r/g与b/g的二维坐标系中的分布示意图;

图6为本申请提供的一种确定补偿表对应的色彩差异值的方法的一个实施例的流程图;

图7为本申请提供的一种图像处理装置的一个实施例的结构框图;

图8为本申请提供的一种图像处理装置的另一个实施例的结构框图。

具体实施方式

本申请提供的图像处理方法可以应用于拍照设备中,可以防止拍摄出图像出现colorshading现象。该拍照设备可以为任一设置有摄像头的设备,例如照相机、手机、摄像机等。本申请中的目标图像可以是镜头中的预览图像,也可以是拍摄后的图像,本申请在此不做具体限制。

本申请的发明构思为首先将目标图像分割为多个区块,利用各个区块的r/g值、b/g值以及亮度值确定图像中材质相同物体所在的区域,该区域中的各个区块的r/g值相近,b/g值相近,亮度值相似,然后利用各个补偿表分别对该区域中各个区块进行预补偿,以得到补偿表对应的色彩差异值,将色彩差异值最小的补偿表确定为目标补偿表,用以对目标图像进行色彩补偿。由于每个补偿表对应的色彩差异值能够反映出每个补偿表对目标图像进行色彩补偿后的效果,从而能够较准确地选出拍照环境下的光源色温对应的目标补偿表,以用于准确修正具有colorshading现象的图像。

光源的色温由高到低可以分为:d75光源,色温为7500°k;d65光源,色温为6500°k;d55光源,色温为5500°k;d50光源,色温为5000°k;cwf光源,色温为4100°k;tl84光源,色温为4000°k;u30光源,色温为3000°k;a光源,色温为2850°k;h光源,色温为2300°k。这九个光源可以称为标准光源,其中,d75光源、d65光源、d55光源及d50光源可以归为高色温光源,cwf光源、tl84光源及u30光源可以归为中色温光源,a光源与h光源可以归为低色温光源。

不同色温的光源中的红色光强度不同,会导致不同程度的colorshading,但是由于在相同色温的光源下,不同材质的物体对红色光的反射强度不同,所以材质相同物体所在的图像区域的色彩差异程度才能较准确地反应出一定光源色温下图像的colorshading程度,再利用各个补偿表对图像中材质相同物体所在的区域进行预补偿,通过评价各个补偿表的补偿效果,选出补偿效果较好的补偿表,从而可以提高选取目标补偿表的准确性。

像素点的r/g值为像素点的红色r值与绿色g值的比值,b/g值为像素点的蓝色b值与绿色g值,r值、b值、及g值的取值范围可以为0至255。rgb颜色空间可以转换为ycbcr颜色空间或yuv颜色空间,其中,y可以表示像素点的亮度值,亮度值的表达式可以为y=0.299*r+0.578*g+0.114*b。需要说明的是,本申请中的色彩信息可以利用r/g值以及b/g值进行表示,也可以利用ycbcr颜色空间中的cb以及cr进行表示,或者利用yuv颜色空间中的u以及v进行表示,本申请不对色彩信息的表示方式进行具体限定。

需要说明的是,本申请中的各个阈值可以根据本申请的说明,在无需付出任何创造性劳动的情况下即可进行确定,并且同一个阈值可以为不同的数值,以解决本申请要解决的技术问题,所以本申请不对各个阈值的取值进行具体限定。

参考图1,为本申请提供的一种图像处理方法的一个实施例的流程图,该方法具体可以包括以下步骤。

步骤101,将目标图像划分为至少两个区块。

在具体实现中,可以将目标图像划分为n*m个区块,其中n可以表示区块的行数,m可以表示区块的列数,每个区块包括至少一个像素点。

步骤102,从所述至少两个区块中确定至少一个区块群,所述至少一个区块群中每个区块群中各个区块所展示的物体材质均相同。

图像中材质相同物体所在的区域中的各个像素点的r/g值相似,b/g值相似,亮度值相似,所以可以根据各个区块的r/g值、b/g值以及亮度值确定材质相同物体所在的区域以得到区块群。例如,在图2所示的区块群的效果图中,显示了两个区块群(图2中的不同的区块群中的区块使用不同灰度的线框进行表示),每个区块群中各个区块所展示的物体材质均相同。同一个区块群中的各个区块可以不相邻,并且同一个区块可以属于不同的区块群。

每个区块的r/g值为该区块的r值与g值的比值,每个区块的b/g值为该区块的b值与g值的比值。每个区块的r值为该区块所包含的像素点的r值的平均值,每个区块的b值为该区块所包含的像素点的b值的平均值,每个区块的亮度值为该区块所包含的像素点的亮度值的平均值。

如图3所示,确定区块群的具体过程可以包括以下子步骤。

子步骤11,确定每个区块在三维图像坐标系中的位置点,所述位置点的坐标值分别为每个区块的第一r/g值、第一b/g值以及亮度值。

为确定r/g值、b/g值以及亮度值相近的区块,可以在坐标轴分别为r/g值轴,b/g值轴以及亮度值轴的三维图像坐标系中确定每个区块的位置点,基于各个位置点之间的距离即可确定r/g值、b/g值以及亮度值均分别相近的区块。

由于各个区块的r/g值和b/g值的数值较小,而亮度值的数值可能较大,例如r/g值和b/g值的数值范围是0-5,而亮度值可能为上百的数值,所以可以将亮度值进行归一化处理,将亮度值限制在r/g值和b/g值所在的范围内,以提高数据处理的准确度。

子步骤12,在所述三维图像坐标系中确定至少两个基准点,并将每个区块的位置点归入所述至少两个基准点中一个基准点所属的群中以得到至少两个第一位置点群,所述至少两个基准点中每个基准点为所述每个基准点所属的第一位置点群中所有位置点的重心。

该第一位置点群的个数可以预先设置,例如可以为1、2、3等数值。为得到预设数量的第一位置点群,可以先确定用于分群的基准点的个数,基准点的个数与第一位置点群的个数相同。每个第一位置点群的重心的r/g值为该第一位置点群所包含的位置点的r/g值的平均值,每个第一位置点群的重心的b/g值为该第一位置点群所包含的位置点的b/g值的平均值,每个第一位置点群的重心的亮度值为该第一位置点群所包含的位置点的亮度值的平均值,

本申请可以利用k-means聚类算法、k-modes聚类算法、使用连接的鲁棒聚类(robustclusteringusinglinks,rock)算法等算法确定第一位置点群,其中利用k-means聚类算法对所述位置点进行分群以得到至少两个第一位置点群的过程具体可以包括:在所述三维图像坐标系中,随机选取至少两个基准点;将每个区块的位置点归入距离所述每个区块的位置点最近的一个基准点所属的群中以得到至少两个第二位置点群;如果所述至少两个第二位置点群中每个第二位置点群的重心均与所述每个第二位置点群中的基准点重合,则确定所述每个第二位置点群为第一位置点群;如果所述至少两个第二位置点群中任一第二位置点群的重心与所述任一第二位置点群中的基准点不重合,则以所述每个第二位置点群的重心作为新的基准点,利用所述新的基准点对各个所述位置点进行分群,以得到所述第一位置点群。

例如,可以先在三维图像坐标系中随机选取两个基准点,分别为基准点a和基准点b,将距离基准点a较近的位置点归入第二位置点群a中,将距离基准点b较近的位置点归入第二位置点群b中,然后确定第二位置点群a的重心以及第二位置点群b的重心,如果第二位置点群a的重心与基准点a不重合或第二位置点群b的重心与基准点b不重合,则将第二位置点群a的重心以及第二位置点群b的重心作为新的基准点,重新分群,直至每个第二位置点群的重心与所述每个第二位置点群的基准点重合,此时得到的两个第二位置点群即为欲确定的第一位置点群,以图4所示的对位置点进行分群后的效果图为例进行说明,图4中的g1以及g2即为得到的两个第一位置点群。

需要说明的是,本申请的第一位置点群的个数也可以设置为一,在该种情况下可以将所有的位置点归入该第一位置点群中,该第一位置点群的重心即为目标图像内所有位置点的重心,本申请不对第一位置点群的个数进行具体限定。

在每个第一位置点群中,距离该第一位置点群的重心较近的各个位置点的r/g值较接近、b/g值较接近、亮度值较接近,这些位置点对应的区块所展示的物体材质相同的概率较大,所以可以在该第一位置点群的重心附近确定目标群,该目标群所包含的位置点对应的区块所展示的物体材质相同。确定目标群的过程具体如下所述。

子步骤13,在至少一个第一位置点群中确定目标群,所述每个第一位置点群的重心位于所述每个第一位置点群中的目标群内,所述目标群中每个目标群中各个位置点距离所述每个目标群所属的第一位置点群的重心不大于距离阈值。

当得到多个第一位置点群时,可以在每个第一位置点群中分别确定一个目标群以得到多个目标群,也可以任选一个第一位置点群,在这一个第一位置点群中确定一个目标群以得到一个目标群,本申请不对得到的目标群的数量进行具体限定。

在确定目标群时,可以在所述三维图像坐标系中,以所述至少两个第一位置点群中每个第一位置点群的重心为中心建立球形的目标群;如果当所述目标群中每个目标群的半径为第一半径阈值时,所述每个目标群中的位置点的个数不小于数量阈值,则将所述每个目标群的半径设置为所述第一半径阈值;如果当所述目标群中每个目标群的半径为第一半径阈值时,所述每个目标群中的位置点的个数小于所述数量阈值,则增大所述每个目标群的半径直至所述每个目标群中的位置点的个数不小于所述数量阈值,增大后的所述半径不大于第二半径阈值。如果目标群的半径增大至第二半径阈值,该目标群中的位置点的个数依旧小于所述数量阈值,则放弃使用该目标群进行目标补偿表的选取。目标群内的位置点不小于数量阈值,是为了保证区块群的区域足够大以表征该区域的colorshading程度,以及表征对colorshading的补偿效果,该数量阈值nth可以为nth=(n*m)/30。

所述第一半径阈值rmin可以为rmin=(1/5)*d,所述第二半径阈值rmax可以为rmax=d,其中,d为在r/g与b/g的二维坐标系中d65标准光源下得到的灰卡图像的色彩信息对应的点与d50标准光源下得到的灰卡图像的色彩信息对应的点之间的距离。每个灰卡图像为在每个标准光源下对没有颜色的灰卡进行拍照得到的图像。每个灰卡图像的色彩信息包括r/g值以及b/g值,用于计算该r/g值以及b/g值的r值、b值以及g值可以分别为每个灰卡图像所包含的像素点的r值的平均值、b值的平均值以及g值的平均值。

以图4所示的示意图为例进行说明,图4中c1以及c2所示的两个球形表示得到的俩个目标群。如图4所示,各个目标群内的位置点比较集中,各个位置点之间的距离较短,各个位置点的r/g值、b/g值以及亮度值都比较相近,所以各个目标群内的位置点对应的区块可以组成相应的区块群。

当目标群的形状为球形时,该距离阈值可以为第二半径阈值。需要说明的是,该目标群的形状可以为正方形、长方形、圆柱形等,在此不对目标群的形状做具体限定。

子步骤14,确定所述每个目标群对应的区块群,所述每个目标群对应的每个区块群包括所述每个目标群中至少一个位置点对应的区块。

在具体实施中,为保证区块群的区域足够大以表征该区域的colorshading程度,以及表征对colorshading的补偿效果,可以利用每个目标群中全部的位置点对应的区块组成区块群。

目标图像可能会包括色彩较强烈(色彩较深)的区块,所以可能会由色彩较强烈的区块组成色彩较强烈的区块群,而色彩较强烈的区块群可能会影响对补偿效果的判断,进而影响目标补偿表的选取,所以在子步骤11,确定每个区块在三维图像坐标系中的位置点,所述位置点的坐标值分别为每个区块的第一r/g值、第一b/g值以及亮度值之前,可以先确定用于组成区块群的色彩较接近白色的区块,即有效区块。确定有效区块的具体步骤可以包括:在r/g与b/g的二维坐标系中确定各个标准光源的标准光源点以及各个区块的区块点;确定每个区块点距离各个标准光源点的距离;确定有效区块,所述有效区块的区块点距离至少一个标准光源点的距离不大于预设距离值。

确定每个标准光源的标准光源点的过程可以为:首先计算每个标准光源下得到的灰卡图像所包含的像素点的r值的平均值、g值的平均值、b值的平均值,每个标准光源点的r/g值为该r值的平均值与g值的平均值的比值,每个标准光源点的b/g值为该b值的平均值与g值的平均值的比值,然后在r/g与b/g的二维坐标系中确定每个标准光源点的位置。

图5为本申请提供的标准光源点以及区块点在r/g与b/g的二维坐标系中的分布示意图。图5中较大的点表示九个标准光源点,较小的点表示各个区块点。虚线范围内的区块点距离至少一个标准光源点的距离不大于预设距离值,所以可以从虚线范围内的区块点对应的区块,即有效区块中确定区块群。从有效区块中确定区块群的过程与上述子步骤11至子步骤14所描述的过程类似,在此不再赘述。

步骤103,使用至少两个补偿表分别对所述至少一个区块群进行预补偿以得到每个补偿表对应的色彩差异值,将色彩差异值最小的补偿表确定为目标补偿表。

在本申请中,可以预先针对不同色温的光源设置相应的补偿表,在选取目标补偿表时,可以先将各个补偿表对图像进行预补偿,再利用预补偿后的图像的色彩差异程度评估各个补偿表的补偿效果,从而将补偿效果较好,即预补偿后的图像的色彩差异程度较低的补偿表确定为目标补偿表,以用于调整具有colorshading现象的图像。

预先设置补偿表的具体过程可以为:首先将预设的光源色温下的灰卡图像划分为多个区块,对该灰卡图像划分区块方式与对目标图像划分区块的方式相同,也是将灰卡图像划分为n*m个区块,灰卡图像中的各个区块与目标图像中的各个区块可以一一对应;计算灰卡图像中每个区块的r值、b值以及g值,灰卡图像中每个区块的r值可以为该区块所包含的像素点的r值的平均值,每个区块的g值可以为该区块所包含的像素点的g值的平均值,每个区块的b值可以为该区块所包含的像素点的b值的平均值;根据每个区块的r值、g值以及b值确定每个区块的红色通道增益(r-gain)、绿色通道增益(g-gain)以及蓝色通道增益(b-gain),以得到补偿表,所述补偿表中的信息包括该灰卡图像中的各个区块的r-gain、g-gain以及b-gain。当g-gain为1时,r-gain为区块的g值与r值的比值,b-gain为区块的g值与b值的比值。当确定补偿表后,在具体的预补偿过程中,可以利用多个相应的区块的r-gain计算得到目标图像中每个像素点的r补偿值,将该像素点的红色r值乘以该r补偿值,得到预补偿后的像素点的r值。得到预补偿后的像素点的g值以及b值的过程与得到预补偿后的像素点的r值的过程类似,在此不再赘述。

如图6所示,使用至少两个补偿表分别对所述至少一个区块群进行预补偿以得到每个补偿表对应的色彩差异值的过程可以包括以下子步骤。

子步骤21,使用至少两个补偿表分别对每个区块群中各个区块进行预补偿以得到每个区块群中各个区块的第二r/g值以及第二b/g值。

所述第二r/g值可以为预补偿后的区块的r值与g值的比值,所述第二b/g值可以为预补偿后的区块的b值与g值的比值。

子步骤22,根据所述每个区块群中各个区块的第二r/g值确定所述每个区块群的r/g差异值,根据所述每个区块群中各个区块的第二b/g值确定所述每个区块群的b/g差异值。

所述r/g差异值的表达式可以为:

r/g_dvj=(|c_r/g1-avg_c_r/g|+|c_r/g2-avg_c_r/g|+…+|c_r/gp-avg_c_r/g|)/p

其中,r/g_dvj为所有区块群中第j个区块群的r/g差异值,c_r/gi为所述第j个区块群中第i个区块的第二r/g值,p为所述第j个区块群中区块的个数,avg_c_r/g为所述第j个区块群中所有区块的第二r/g值的平均值。

所述b/g差异值的表达式可以为:

b/g_dvj=(|c_b/g1-avg_c_b/g|+|c_b/g2-avg_c_b/g|+…+|c_b/gp-avg_c_b/g|)/p

其中,b/g_dvj为所有区块群中第j个区块群的b/g差异值,c_b/gi为所述第j个区块群中第i个区块的第二b/g值,avg_c_b/g为所述第j个区块群中所有区块的第二r/g值的平均值。

子步骤23,根据所述每个区块群的r/g差异值以及b/g差异值,确定所述每个预补偿表对应的色彩差异值,所述每个预补偿表对应的色彩差异值为所有区块群的r/g差异值的平均值与所有区块群的b/g差异值的平均值之和。

由于每个区块群内的区块个数以及目标群的空间大小可能都不同,区块个数越多,表示材质相同物体所在的区域面积越大,越有代表性,但目标群的空间大小越大,表示区块之间的r/g值、b/g值及亮度值的差异性越大,越无法代表是同一材质,所以每个预补偿表对应的色彩差异值可以为所有区块群的r/g差异值的加权平均值与所有区块群的b/g差异值的加权平均值之和。

所有区块群的r/g差异值的加权平均值的表达式为:

r/g_tdv=(r/g_dv1*v1/n1+r/g_dv2*v2/n2+…+r/g_dvk*vk/nk)/k

其中,其中,r/g_tdv表示所有区块群的r/g差异值的加权平均值,r/g_dvj为所有区块群中第j个区块群的r/g差异值,vj为所述第j个区块群对应的目标群的空间大小值,nj为所述第j个区块群中区块的个数,k为所有区块群的个数。

所有区块群的b/g差异值的加权平均值的表达式为:

b/g_tdv=(b/g_dv1*v1/n1+b/g_dv2*v2/n2+…+b/g_dvk*vk/nk)/k

其中,b/g_tdv表示所有区块群的b/g差异值的加权平均值,b/g_dvj为所有区块群中第j个区块群的b/g差异值。

通过使用所有区块群的r/g差异值的加权平均值与所有区块群的b/g差异值的加权平均值之和表示补偿表对应的色彩差异值,能够更加全面地评估各个补偿表的补偿效果,从而提高选取目标补偿表的准确性。

以任一个补偿表为例,对确定该补偿表对应的色彩差异值的过程进行概括说明:利用该补偿表对目标图像中每个区块群的各个区块的rgb值进行预补偿,确定各个区块的第二r/g值;根据上述r/g差异值的表达式,计算得到每个区块群的r/g差异值;根据上述所有区块群的r/g差异值的加权平均值的表达式,计算得到所有区块群的r/g差异值的加权平均值;以计算所有区块群的r/g差异值的加权平均值相似的过程计算得到所有区块群的b/g差异值的加权平均值;确定该补偿表对应的色彩差异值,该补偿表对应的色彩差异值为所有区块群的r/g差异值的平均值与所有区块群的b/g差异值的平均值之和。

步骤104,根据所述目标补偿表对所述目标图像进行色彩补偿。

在根据目标补偿表对目标图像进行色彩补偿时,可以先根据目标补偿表中的信息确定目标图像中各个像素点需要调整到的r值、b值以及g值,确定各个像素点需要调整到的r值、b值以及g值的过程与上述预补偿的过程类似,在此不再赘述。最后将目标图像中各个像素点的r值、b值以及g值进行相应地调整,完成对目标图像的色彩补偿。

补偿表对应的色彩差异值越小,说明利用该补偿表对图像进行色彩补偿后的效果会越好,本申请通过使用各个补偿表对图像中物体材质相同的区块群进行预补偿,得到各个补偿表对应的色彩差异值,能够较准确地选出拍照环境下的光源色温对应的目标补偿表,以用于准确修正具有colorshading现象的图像。

本申请还可以根据目标补偿表确定拍照环境下的光源色温,该光源色温信息可以用于对利用awb算法计算出的白点位置进行调整,从而使依据该白点位置进行的图像处理更加准确。

参考图7,为本申请提供的一种图像处理装置的一个实施例的结构框图,该装置可以配置在拍照设备中或为拍照设备本身,该装置可以包括:划分单元701,第一确定单元702,第二确定单元703,补偿单元704。

其中,划分单元701,用于将目标图像划分为至少两个区块。

第一确定单元702,用于从所述至少两个区块中确定至少一个区块群,所述至少一个区块群中每个区块群中各个区块所展示的物体材质均相同。

第二确定单元703,用于使用至少两个补偿表分别对所述至少一个区块群进行预补偿以得到每个补偿表对应的色彩差异值,将色彩差异值最小的补偿表确定为目标补偿表。

补偿单元704,用于根据所述目标补偿表对所述目标图像进行色彩补偿。

优选地,第一确定单元702具体可以用于:确定每个区块在三维图像坐标系中的位置点,所述位置点的坐标值分别为每个区块的第一r/g值、第一b/g值以及亮度值;在所述三维图像坐标系中确定至少两个基准点,并将每个区块的位置点归入所述至少两个基准点中一个基准点所属的群中以得到至少两个第一位置点群,所述至少两个基准点中每个基准点为所述每个基准点所属的第一位置点群中所有位置点的重心;在至少一个第一位置点群中确定目标群,所述每个第一位置点群的重心位于所述每个第一位置点群中的目标群内,所述目标群中每个目标群中各个位置点距离所述每个目标群所属的第一位置点群的重心不大于距离阈值;确定所述每个目标群对应的区块群,所述每个目标群对应的每个区块群包括所述每个目标群中至少一个位置点对应的区块。

优选地,第一确定单元702还具体可以用于:将每个区块的位置点归入距离所述每个区块的位置点最近的一个基准点所属的群中以得到至少两个第二位置点群;如果所述至少两个第二位置点群中每个第二位置点群的重心均与所述每个第二位置点群中的基准点重合,则确定所述每个第二位置点群为第一位置点群;如果所述至少两个第二位置点群中任一第二位置点群的重心与所述任一第二位置点群中的基准点不重合,则以所述每个第二位置点群的重心作为新的基准点,利用所述新的基准点对各个所述位置点进行分群,以得到所述第一位置点群。

优选地,第一确定单元702还具体可以用于:在所述三维图像坐标系中,以所述至少两个第一位置点群中每个第一位置点群的重心为中心建立球形的目标群;如果当所述目标群中每个目标群的半径为第一半径阈值时,所述每个目标群中的位置点的个数不小于数量阈值,则将所述每个目标群的半径设置为所述第一半径阈值;如果当所述目标群中每个目标群的半径为第一半径阈值时,所述每个目标群中的位置点的个数小于所述数量阈值,则增大所述每个目标群的半径直至所述每个目标群中的位置点的个数不小于所述数量阈值,增大后的所述半径不大于第二半径阈值;其中,所述第一半径阈值rmin=(1/5)*d,所述第二半径阈值rmax=d,其中,d为在r/g与b/g的二维坐标系中d65标准光源下得到的灰卡图像的色彩信息对应的点与d50标准光源下得到的灰卡图像的色彩信息对应的点之间的距离。

优选地,第二确定单元703具体可以用于:使用至少两个补偿表分别对每个区块群中各个区块进行预补偿以得到每个区块群中各个区块的第二r/g值以及第二b/g值;根据所述每个区块群中各个区块的第二r/g值确定所述每个区块群的r/g差异值,根据所述每个区块群中各个区块的第二b/g值确定所述每个区块群的b/g差异值;根据所述每个区块群的r/g差异值以及b/g差异值,确定所述每个预补偿表对应的色彩差异值,所述每个预补偿表对应的色彩差异值为所有区块群的r/g差异值的平均值与所有区块群的b/g差异值的平均值之和。

其中,所述r/g差异值的表达式为:

r/g_dvj=(|c_r/g1-avg_c_r/g|+|c_r/g2-avg_c_r/g|+…+|c_r/gp-avg_c_r/g|)/p

其中,r/g_dvj为所有区块群中第j个区块群的r/g差异值,c_r/gi为所述第j个区块群中第i个区块的第二r/g值,p为所述第j个区块群中区块的个数,avg_c_r/g为所述第j个区块群中所有区块的第二r/g值的平均值。

所述b/g差异值的表达式为:

b/g_dvj=(c_b/g1-avg_c_b/g|+|c_b/g2-avg_c_b/g|+…+|c_b/gp-avg_c_b/g|)/p

其中,b/g_dvj为所有区块群中第j个区块群的b/g差异值,c_b/gi为所述第j个区块群中第i个区块的第二b/g值,avg_c_b/g为所述第j个区块群中所有区块的第二r/g值的平均值。

优选地,所述每个预补偿表对应的色彩差异值为所有区块群的r/g差异值的加权平均值与所有区块群的b/g差异值的加权平均值之和。

所有区块群的r/g差异值的加权平均值的表达式为:

r/g_tdv=(r/g_dv1*v1/n1+r/g_dv2*v2/n2+…+r/g_dvk*vk/nk)/k

其中,r/g_tdv表示所有区块群的r/g差异值的加权平均值,r/g_dvj为所有区块群中第j个区块群的r/g差异值,vj为所述第j个区块群对应的目标群的空间大小值,nj为所述第j个区块群中区块的个数,k为所有区块群的个数;

所有区块群的b/g差异值的加权平均值的表达式为:

b/g_tdv=(b/g_dv1*v1/n1+b/g_dv2*v2/n2+…+b/g_dvk*vk/nk)/k

其中,b/g_tdv表示所有区块群的b/g差异值的加权平均值,b/g_dvj为所有区块群中第j个区块群的b/g差异值。

因此,该图像处理装置通过使用各个补偿表对图像中物体材质相同的区块群进行预补偿,得到各个补偿表对应的色彩差异值,能够较准确地选出拍照环境下的光源色温对应的目标补偿表,以用于准确修正具有colorshading现象的图像。

参考图8,为本申请提供的一种图像处理装置的另一个实施例的结构框图,该装置包括处理器801、存储器802和总线系统803。其中,处理器801和存储器802通过总线系统803相连,该存储器802用于存储指令,该处理器801用于执行该存储器802存储的指令。该图像处理装置的存储器802存储程序代码,且处理器801可以调用存储器802中存储的程序代码执行以下操作:将目标图像划分为至少两个区块;从所述至少两个区块中确定至少一个区块群,所述至少一个区块群中每个区块群中各个区块所展示的物体材质均相同;使用至少两个补偿表分别对所述至少一个区块群进行预补偿以得到每个补偿表对应的色彩差异值,将色彩差异值最小的补偿表确定为目标补偿表;根据所述目标补偿表对所述目标图像进行色彩补偿。

因此,该图像处理装置通过使用各个补偿表对图像中物体材质相同的区块群进行预补偿,得到各个补偿表对应的色彩差异值,能够较准确地选出拍照环境下的光源色温对应的目标补偿表,以用于准确修正具有colorshading现象的图像。

应理解,在本申请中,该处理器801可以是中央处理单元(centralprocessingunit,简称为“cpu”),该处理器801还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器802可以包括只读存储器和随机存取存储器,并向处理器801提供指令和数据。存储器802的一部分还可以包括非易失性随机存取存储器。例如,存储器802还可以存储设备类型的信息。

该总线系统803除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。

在实现过程中,上述方法的各步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器802,处理器801读取存储器802中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

本申请还提供了一种计算机可读存储介质,其中,该计算机可读存储介质可存储有指令,当其在计算机上运行时,使得计算机执行包括本发明提供的方法各实施例中的部分或全部步骤。所述的可读存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述包括本发明提供的方法实施例中的部分或全部步骤。

本申请还提供了一种芯片,该芯片包括处理器和/或程序指令,当所述芯片运行时,实现本申请图1所示的实施例中的方法。

本领域的技术人员可以清楚地了解到本申请中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,例如上述装置或设备的描述可以参照对应的方法实施例。以上所述的本发明实施方式,并不构成对本发明保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1