本申请涉及图像处理技术领域,特别是涉及一种图像统计数据的检测方法、设备以及计算机可读存储介质。
背景技术:
人类视觉对外界光源具有自动适应性,能进行白平衡自动调节,即对于外界场景,在不同光源下人类视觉能够自动调节r、g、b各分量的大小,使得观察白色物体时能够仍然保持白色。然而,数字图像传感器并没有人眼的自动适应性,其仅仅是对光线做出响应和记录,使得在不同色温光源下,白色物体会出现明显的色偏。如在高色温光源下,白色物体会偏蓝,在低色温光源下,白色物体会偏红。因而,要使基于数字图像传感器的成像设备拍摄出符合人眼观察的画面,则需要在成像过程中对其进行白平衡处理。
在白平衡处理的图像处理过程中,经常存在无法有效确定设备的图像统计数据是否正常,从而影响白平衡模块或者曝光模块的功能以及效果调试的问题,这就需要开发某种手段或者工具能够快速准确地确定图像统计数据的正确与否。
技术实现要素:
本申请提供一种图像统计数据的检测方法、设备以及计算机可读存储介质。
本申请提供的一个技术方案是:提供一种图像统计数据的检测方法,所述图像统计数据的检测方法包括:
获取不同标准光源下包含测试物体的图像的统计数据;
基于所述标准光源以及每一标准光源对应图像的统计数据拟合得到方程曲线;
计算所述每一标准光源统计数据到所述方程曲线的距离,获取所述不同标准光源对应的距离绝对值之和;
判断所述距离绝对值之和是否小于等于第一预设阈值;
若是,则判定所述图像的统计数据正常。
在一些可能的实施例中,所述统计数据包括像素块的r值、g值、b值以及亮度值;
所述图像统计数据的检测方法还包括:
当所述距离绝对值之和小于等于第一预设阈值时,通过所述像素块的r值、g值以及b值计算所述像素块的灰度值;
计算所述不同标准光源下像素块的灰度值与亮度值的方差和,通过所述方差和获取所述图像的像素方差;
判断所述像素方差是否小于等于第二预设阈值;
若是,则判定所述图像的统计数据正常;
若否,则判定所述图像的统计数据异常。
在一些可能的实施例中,所述获取不同标准光源下包含测试物体的图像的统计数据的步骤,包括:
对不同标准光源下所述图像进行分块处理,得到多个像素块;
获取每一像素块的r值、g值、b值以及亮度值,分别计算所有像素块的r值、g值、b值以及亮度值的平均值;
将所述r值、g值、b值以及亮度值的平均值组合成为所述图像的统计数据。
在一些可能的实施例中,所述对不同标准光源下所述图像进行分块处理,得到多个像素块的步骤之前,所述检测方法还包括:
利用图像传感器对所述图像进行自动曝光和iso增益处理,得到所述图像中每个像素块或每个像素点的r值、g值、b值以及亮度值。
在一些可能的实施例中,所述基于所述标准光源以及每一标准光源对应图像的统计数据拟合得到方程曲线的步骤,包括:
计算所述每一标准光源对应图像的r/g值以及b/g值,其中,所述r/g值为所述像素块的r值平均值与g值平均值的比值,所述b/g值为所述像素块的b值平均值与g值平均值的比值;
通过所述不同标准光源对应图像的r/g值以及b/g值拟合得到所述方程曲线。
在一些可能的实施例中,所述通过所述像素块的r值、g值以及b值计算所述像素块的灰度值的步骤,包括:
预先设置所述像素块的r值对应的第一权重、g值对应的第二权重以及b值对应的第三权重;
计算所述像素块的r值平均值与所述第一权重、所述像素块的g值平均值与所述第二权重以及所述像素块的b值平均值与所述第三权重的加权和,将所述加权和的值作为所述像素块的灰度值。
在一些可能的实施例中,所述图像统计数据的检测方法还包括:
当所述距离绝对值之和大于所述第一预设阈值时,判定所述图像的r值、g值以及b值异常;
当所述像素方差大于所述第二预设阈值时,判定所述图像的亮度值异常。
本申请提供的另一个技术方案是:提供一种终端设备,所述终端设备包括获取模块、拟合模块、计算模块以及判断模块;其中,
所述获取模块,用于获取不同标准光源下包含测试物体的图像的统计数据;
所述拟合模块,用于基于所述标准光源以及每一标准光源对应图像的统计数据拟合得到方程曲线;
所述计算模块,用于计算所述每一标准光源统计数据到所述方程曲线的距离,获取所述不同标准光源对应的距离绝对值之和;
所述判断模块,用于当所述距离绝对值之和小于等于第一预设阈值时,判定所述图像的统计数据正常。
本申请提供的另一个技术方案是:提供另一种终端设备,所述终端设备包括处理器和存储器,存储器中存储有计算机程序,处理器用于执行计算机程序以实现上述图像统计数据的检测方法的步骤。
本申请采用的另一个技术方案是:提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机程序,计算机程序被执行时实现上述图像统计数据的检测方法的步骤。
区别于现有技术,本申请的有益效果在于:终端设备获取不同标准光源下包含测试物体的图像的统计数据;基于标准光源以及每一标准光源对应图像的统计数据拟合得到方程曲线;计算每一标准光源统计数据到方程曲线的距离,获取不同标准光源对应的距离绝对值之和;判断距离绝对值之和是否小于等于第一预设阈值;若是,则判定图像的统计数据正常。通过上述方法,本申请可以通过比较图像统计数据及其拟合的方程曲线的距离,基于比较结果检测图像统计数据是否正常,有利于提高图像统计数据的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以基于这些附图获得其他的附图。
图1是本申请提供的图像统计数据的检测方法一实施例的流程示意图;
图2是图1所示图像统计数据的检测方法步骤s11的具体流程示意图;
图3是本申请提供的图像统计数据的检测方法另一实施例的流程示意图;
图4是本申请提供的终端设备一实施例的结构示意图;
图5是本申请提供的终端设备另一实施例的结构示意图;
图6是本申请提供的计算机可读存储介质一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决现有技术中无法有效确定终端设备获取的图像统计数据是否正确,从而影响白平衡模块或者曝光模块的功能以及效果调试的问题,本申请提供了一种具体的图像统计数据的检测方法。
具体请参阅图1,图1是本申请提供的图像统计数据的检测方法一实施例的流程示意图。本申请的图像统计数据的检测方法应用于一种终端设备,具体可以为例如智能手机、平板电脑、笔记本电脑、电脑或者可穿戴设备等终端设备,也可以是卡口交通系统中的监控系统。在下述实施例的描述中,统一使用终端设备作为执行主体进行目标运动轨迹构建方法的描述。
如图1所示,本实施例的图像统计数据的检测方法具体包括以下步骤:
步骤s11:获取不同标准光源下包含测试物体的图像的统计数据。
其中,针对特定的图像传感器,在不同的标准光源灯照射环境下,控制测试设备对准白色或者灰色的测试物体,以获取白色或者灰色测试物体的统计数据,如r值、g值以及b值。如所选择的标准光源的色温分别为:f灯(2000k)、tl84(4000k)、d50(5000k)、d65(6500k)、d75(7500k)。因而,首先,可在f灯提供的标准光源2000k下拍摄测试物体,从而得到第一个图像的统计数据;其次,可在tl84提供的标准光源4000k下拍摄测试物体,得到第二个图像的统计数据,依次进行下去,以得到第三个图像、第四个图像、第五个图像的统计数据。
具体地,步骤s11获取图像的统计数据的步骤可以参阅图2,图2是图1所示图像统计数据的检测方法步骤s11的具体流程示意图。
如图2所示,步骤s11具体还可以包括以下子步骤:
步骤s111:对不同标准光源下图像进行分块处理,得到多个像素块。
其中,测试设备在不同标准光源下拍摄包含测试物体的图像后,为了减小计算量,可以将上述拍摄的图像分块,得到多个像素块。比如,将拍摄的图像划分为32*32或者16*16的多个像素块。
具体地,终端设备可以利用图像传感器对上述拍摄图像进行自动曝光和iso增益处理,得到上述拍摄图像中每个像素点的统计数据;其次,对上述拍摄图像进行分块处理,得到多个像素块及其统计数据。其中,统计数据具体可以包含r通道、g通道、b通道以及y(亮度)通道的数值。
步骤s112:获取每一像素块的r值、g值、b值以及亮度值,分别计算所有像素块的r值、g值、b值以及亮度值的平均值。
其中,终端设备获取每一个图像中每一像素块的r值、g值、b值以及亮度值,以计算每一个图像中所有像素块的r值、g值、b值以及亮度值的平均值。
具体地,以f灯对应的第一个拍摄图像为例,第一个拍摄图像通过步骤s111划分为n个像素块,因此,f灯对应的第一个拍摄图像统计数据的平均值可以表示为ravg_f(r值的平均值)、gavg_f(g值的平均值)、bavg_f(b值的平均值)、yavg_f(亮度值的平均值)。上述统计数据的平均值的计算方式为:
其中,n为像素块个数,r0,r1……分别为多个像素块的r值,g0,g1……分别为多个像素块的g值,b0,b1……分别为多个像素块的b值,y0,y1……分别为多个像素块的亮度值。
步骤s113:将r值、g值、b值以及亮度值的平均值组合成为图像的统计数据。
其中,图像的统计数据可以通过以下数据集a进行表示:
a={
(ravg_f,gavg_f,bavg_f,yavg_f),
(ravg_tl84,gavg_tl84,bavg_tl84,yavg_tl84),
(ravg_d50,gavg_d50,bavg_d50,yavg_d50),
(ravg_d65,gavg_d65,bavg_d65,yavg_d65),
(ravg_d75,gavg_75,bavg_d75,yavg_d75),
}
其中,数据集a中的元素分别为标准光源(f灯,tl84,d50,d65,d75)各色温下r值平均值、g值平均值、b值平均值以及亮度值平均值。
步骤s12:基于标准光源以及每一标准光源对应图像的统计数据拟合得到方程曲线。
其中,终端设备基于上述数据集a中的元素计算出标准光源(f灯,tl84,d50,d65,d75)各色温下的矫正参数rgain和bgain的值,然后基于矫正参数rgain和bgain的值拟合出方程曲线。
具体地,终端设备计算每一标准光源对应图像的r/g值作为rgain的值,计算每一标准光源对应图像的b/g值作为bgain的值。
例如,计算f灯光源对应的rgain_f和bgain_f时,具体的计算方式如下:
其中,ravg_f为f灯标准光源下拍摄图像r值平均值,gavg_f为f灯标准光源下拍摄图像g值平均值,bavg_f为f灯标准光源下拍摄图像b值平均值。
由此,通过对上述数据集a元素的计算,可以得到以下数据集b:
b={
(rgain_f,bgain_f),
(rgain_tl84,bgain_tl84),
(rgain_d50,bgain_d50),
(rgain_d65,bgain_d65),
(rgain_d75,bgain_d75),
}
其中,数据集b中的元素分别为标准光源(f灯,tl84,d50,d65,d75)各色温下rgain和bgain的值。
然后,终端设备根据不同标准光源对应图像rgain和bgain的值拟合求解如下方程:
y=(p1*x+p2)/(p3+x)
其中,p1、p2和p3为变量,x、y为已知量,x、y分别为上述数据集b中的rgain,bgain。通过将上述数据集b中多组rgain,bgain的值代入方程中,即可以求解出p1、p2和p3的具体数值,从而得到最终的曲线方程,并拟合出对应的方程曲线。
步骤s13:计算每一标准光源统计数据到方程曲线的距离,获取不同标准光源对应的距离绝对值之和。
其中,终端设备分别计算上述数据集b中每一个元素到方程曲线的距离l。例如,分别计算数据集b中f灯对应的元素rgain_f,元素bgain_f到方程曲线的距离,然后将元素rgain_f,元素bgain_f到方程曲线的距离相加,得到lf,表示f灯对应的元素到方程曲线的距离。以此类推,终端设备可以计算得到所有标准光源对应的元素到方程曲线的距离。
然后,终端设备计算所有标准光源对应的元素到方程曲线的距离绝对值之和lsum,具体计算公式如下:
lsum=|lf|+|ltl84|+..............+|ld75|
其中,lf,ltl84……ld75分别为数据集b中f灯、tl84…d75色温元素点到曲线的距离。
步骤s14:判断距离绝对值之和是否小于等于第一预设阈值。
其中,终端设备获取提前标定的第一预设阈值,然后通过判断距离绝对值之和lsum和第一预设阈值thr1的关系,判定图像的rgb统计数据是否正常。
具体地,距离绝对值之和lsum和第一预设阈值thr1的关系与判定结果的关系如下:
其中,thr1>0,即thr1为正数。当lsum≤thr1时,说明数据集b中的元素点均在方程曲线的附近或者在方程曲线上,表示图像的rgb统计数据正常,进入步骤s15;当lsum>thr1时,说明数据集b中的元素点中至少存在部分元素点偏离了方程曲线,表示图像的rgb统计数据异常。
可以理解的是,第一预设阈值可以根据实际场景具体确定。
步骤s15:判定图像的统计数据正常。
其中,终端设备判定图像的rgb统计数据正常后,可以进行后续的白平衡、自动曝光等功能的实现。
在本公开实施例中,终端设备获取不同标准光源下包含测试物体的图像的统计数据;基于标准光源以及每一标准光源对应图像的统计数据拟合得到方程曲线;计算每一标准光源统计数据到方程曲线的距离,获取不同标准光源对应的距离绝对值之和;判断距离绝对值之和是否小于等于第一预设阈值;若是,则判定图像的统计数据正常。通过上述方法,本申请可以通过比较图像统计数据及其拟合的方程曲线的距离,基于比较结果检测图像统计数据是否正常,有利于提高图像统计数据的准确性。
在上述实施例中,终端设备主要通过检测图像的rgb数据从而判断统计数据是否异常,为了进一步提高图像统计数据的准确性,本公开实施例加入检测图像的y(亮度)数据来判断统计数据是否异常。具体地,在上述实施例的步骤s14中判断距离绝对值之和小于等于第一预设阈值后,终端设备继续执行图3所示实施例的图像统计数据的检测方法,其中,图3是本申请提供的图像统计数据的检测方法另一实施例的流程示意图。
如图3所示,本公开实施例的图像统计数据的检测方法具体包括以下步骤:
步骤s21:当距离绝对值之和小于等于第一预设阈值时,通过像素块的r值、g值以及b值计算像素块的灰度值。
其中,图像的rgb数据被判定正常后,终端设备根据数据集a的元素计算每个元素对应的灰度值gray,并将计算得到的灰度值与数据集a的对应的亮度值生成数据集c。
具体地,终端设备计算各色温的灰度值gray的具体计算公式如下:
gray=ravg*p4+gavg*p5+bavg*p6
其中,p4为r值对应的第一权重,p5为g值对应的第二权重,p6为b值对应的第三权重。第一权重、第二权重以及第三权重由工作人员根据实际的应用场景预先设置,用于表征r值、g值以及b值对计算灰度值影响的重要程度不同。
例如,设置f灯标准光源色温的灰度值为gray_f,且获取r值对应的第一权重为0.250,g值对应的第二权重为0.625,b值对应的第三权重为0.125,则计算f灯标准光源色温的灰度值的计算公式为:
gray_f=ravg_f*0.250+gavg_f*0.625+bavg_f*0.125
通过上述计算公式,终端设备计算所有标准光源色温的灰度值,包括gray_f、gray_tl84、gray_d50、gray_d65以及gray_d75。然后,终端设备将计算得到的灰度值与数据集a的对应的亮度值生成数据集c:
c={
(gray_f,yavg_f),
(gray_tl84,yavg_tl84),
(gray_d50,yavg_d50),
(gray_d65,yavg_d65),
(gray_d75,yavg_d75),
}
步骤s22:计算不同标准光源下像素块的灰度值与亮度值的方差和,通过方差和获取所述图像的像素方差。
其中,终端设备计算每一标准光源下图像的灰度值与亮度值的方差和,并通过方差和获取数据集c中的元素方差s2,具体计算公式如下:
其中,n为像素块个数。
步骤s23:判断像素方差是否小于等于第二预设阈值。
其中,终端设备获取提前标定的第二预设阈值,然后通过判断像素方差s2和第二预设阈值thr2的关系,判定图像的y统计数据是否正常。
具体地,像素方差s2和第二预设阈值thr2的关系与判定结果的关系如下:
其中,thr2>0,即thr1为正数。当s2≤thr2时,说明rgb数据转换的gary数据和当前的y数据差异比较小,即接近于y数据,则表示y统计数据正常,进入步骤s24;当s2>thr2时,说明rgb数据转换的gary数据和当前的y数据差异比较大,即偏离于y数据,则表示y统计数据异常,进入步骤s25。
步骤s24:判定图像的统计数据正常。
步骤s25:判定图像的统计数据异常。
由此可知,如果rgb数据和y数据任意一种检测异常都说明图像的统计数据异常;而只要rgb数据和y数据检测均正常时才能说明图像的统计数据正常。
在本公开实施例中,终端设备一方面通过拟合一种曲线,然后计算元素点到此曲线的距离,以此检测图像rgb数据,另一方面通过rgb数据转换为灰度值,然后和统计的y数据计算方差,以此检测图像y数据;最后,终端设备结合图像rgb数据的检测结果和图像y数据的检测结果综合判断图像统计数据本身的异常与否的问题。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
为了实现上述实施例的图像统计数据的检测方法,本申请还提供了一种终端设备,具体请参阅图4,图4是本申请提供的终端设备一实施例的结构示意图。
如图4所示,本实施例的终端设备400包括获取模块41、拟合模块42、计算模块43以及判断模块44。
其中,获取模块41,用于获取不同标准光源下包含测试物体的图像的统计数据;拟合模块42,用于基于所述标准光源以及每一标准光源对应图像的统计数据拟合得到方程曲线;计算模块43,用于计算所述每一标准光源统计数据到所述方程曲线的距离,获取所述不同标准光源对应的距离绝对值之和;判断模块44,用于当所述距离绝对值之和小于等于第一预设阈值时,判定所述图像的统计数据正常。
为了实现上述实施例的图像统计数据的检测方法,本申请还提供了另一种终端设备,具体请参阅图5,图5是本申请提供的终端设备另一实施例的结构示意图。
如图5所示,本实施例的终端设备500包括处理器51、存储器52、输入输出设备53以及总线54。
该处理器51、存储器52、输入输出设备53分别与总线54相连,该存储器52中存储有计算机程序,处理器51用于执行计算机程序以实现上述实施例的图像统计数据的检测方法。
在本实施例中,处理器51还可以称为cpu(centralprocessingunit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。处理器51还可以是gpu(graphicsprocessingunit,图形处理器),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。gpu的用途是将计算机系统所需要的显示信息进行转换驱动,并向显示器提供行扫描信号,控制显示器的正确显示,是连接显示器和个人电脑主板的重要元件,也是“人机对话”的重要设备之一。显卡作为电脑主机里的一个重要组成部分,承担输出显示图形的任务,对于从事专业图形设计的人来说显卡非常重要。通用处理器可以是微处理器或者该处理器51也可以是任何常规的处理器等。
本申请还提供一种计算机可读存储介质,如图6所示,计算机可读存储介质600用于存储计算机程序61,计算机程序61在被处理器执行时,用以实现如本申请图像统计数据的检测方法实施例中所述的方法。
本申请图像统计数据的检测方法实施例中所涉及到的方法,在实现时以软件功能单元的形式存在并作为独立的产品销售或使用时,可以存储在设备中,例如一个计算机可读取存储介质。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。