发明内容
为解决上述中图像中黑电平补偿的问题,本发明提供一种图像中黑电平的补偿方法,所述方法包括以下步骤:
获取当前图像的像素值分布信息;
将所述当前图像的像素值分布信息与参考图像的像素值分布信息进行比较;
根据所述比较结果自适应调整所述图像传感器的黑电平补偿值。
可选的,在根据所述比较结果自适应调整所述图像传感器的黑电平补偿值之前,还包括以下步骤:
获取当前图像的平均亮度值;
当判断出当前图像的平均亮度值小于预设亮度阈值时,执行所述根据所述比较结果自适应调整所述图像传感器的黑电平补偿值的步骤。
可选的,在根据所述比较结果自适应调整所述图像传感器的黑电平补偿值之后,还包括以下步骤:
可选的,所述像素值分布信息为直方图,所述直方图包括图像中各像素值与各像素值对应的像素点数量之间的映射关系。
可选的,所述将当前图像的像素值分布信息与参考图像的像素值分布信息进行比较,具体包括:
将当前图像的小于预设像素值对应的像素点的总数量M与参考图像的小于预设像素值对应的像素点的总数量N进行比较。
可选的,所述根据所述比较结果自适应调整所述图像传感器的黑电平补偿值,具体包括:
当M大于N且M与N的差值大于预设像素点变化阈值时,减小预设的黑电平补偿初始值,当M小于N且N与M的差值大于所述预设像素点变化阈值时,增大预设的黑电平补偿初始值。
本发明提供一种黑电平的补偿的装置,所述装置具体包括:
像素获取模块,用于获取当前图像的像素值分布信息;
像素比较模块,用于将所述当前图像的像素值分布信息与参考图像的像素值分布信息进行比较;
补偿值生成模块,用于根据所述比较结果自适应调整所述图像传感器的黑电平补偿值。
可选的,所述装置还包括:
亮度获取模块,用于获取当前图像的平均亮度值;
亮度判断模块,用于当判断出当前图像的平均亮度值小于预设亮度阈值时,执行所述根据所述比较结果自适应调整所述图像传感器的黑电平补偿值的步骤。
可选的,所述装置还包括:
可选的,所述像素值分布信息包括直方图,所述直方图包括图像中各像素值与各像素值的像素点数量之间的映射关系。
可选的,所述像素比较模块,具体用于将当前图像的小于预设像素值对应的像素点的总数量M与参考图像的小于预设像素值对应的像素点的总数量N进行比较。
可选的,所述补偿值生成模块,具体用于当M大于N且M与N的差值大于预设像素点变化阈值时,减小预设的黑电平补偿初始值,当M小于N且N与M的差值大于所述预设像素点变化阈值时,增大预设的黑电平补偿初始值。
基于上述技术方案,本发明实施例中,通过对当前图像的像素值分布信息进行黑电平补偿,以此改善图像的成像质量,与现有技术中通过设置温度传感器进行黑电平补偿的方法相比,本方案不需要另外设置温度传感器,也不需要预先进行实验数据的采样,因此,不仅降低了成本和简化了相机结构,而且由于本方案中是基于相机实时采集的图像数据,能够提高补偿结构的准确性,进一步提高相机图像的成像质量。
具体实施方式
针对现有技术中存在的问题,本发明实施例中提出一种图像中黑电平的补偿方法。
简称黑电平是相机中的一个非常重要的参数,对图像质量影响很大,但对于没有设置遮光像素的传感器的相机,由于无法直接获取黑电平,导致黑电平补偿较为困难,本发明的补偿方法尤其适用于这种类型的相机。
首先简单介绍下黑电平补偿原理,理想情况传感器输出图像与外界环境亮度成一个线性关系:
y=gain*x+black (1)
其中,y为相机输出的像素值,x为外界环境亮度,gain为传感器对外界光照的灵敏度,black表示黑电平。
实际相机工作中需要对黑电平进行补偿,补偿的公式如下:
y=gain*x+black–offset (2)
其中,offset是图像传感器的黑电平补偿值,offset是一个有符号的数,当black过大时,需要减小y,此时应该增加offset;当black过小时,需要增加y,此时应该减小offset。
基于上述原理,如图1所示,本发明的黑电平的补偿方法具体可以包括以下步骤:
步骤101,获取当前图像的像素值分布信息。
当相机正常工作时,会通过图像传感器采集当前场景下的图像信息,以便最后输出图像,图像传感器根据自身的采集频率不断的实时采集图像,此处定义的当前图像为实时采集的一帧图像,当前图像的像素值分布信息包括当前图像的各像素点的像素值的分布情况,像素值可以代表图像中像素点的颜色或者亮度情况,当前图像的像素值分布信息可整体反应当前图像的颜色或者亮度分布情况。
步骤102,将当前图像的像素值分布信息与参考图像的像素值分布信息进行比较。
本步骤中,参考图像为是相机在正常工作状态下,常规场景下采集的图像,此时采集的图像若存在异常偏色问题,可以先手动调节相机的黑电平补偿值,通过人工观察图像无偏色时,可将该图像作为参考图像,参考图像的标准可以是无偏色的图像。例如,一部应用在交通路口的抓拍摄像机,其正常的工作状态可以是,在常规的环境温度例如为15-25°时,夜间或者白天的常规场景下,可将相机此种情况下采集的图像作为参考图像,参考图像的像素值分布情况可根据相机常规场景下获取的图像得知,当然由于不同传感器受温度的影响程度不同,该温度可能会根据传感器的差异而不同,本发明实施例对此并不限定。
通过将当前图像的像素值分布信息与参考图像的像素值分布信息进行比较可以获知获取的当前图像是否存在异常情况,例如,当相机在低温(低于常规的环境温度)或者高温条件(例如,高于常规的环境温度)下工作时,此时采集的图像由于环境温度或者相机制作工艺等对黑电平的影响,导致采集的图像存在偏色异常情况,图像质量下降,通过将当前图像的像素分布信息与参考图像的像素值分布信息进行比较可以获知,此时的当前图像成像存在异常,这种异常可能是由于环境温度变化或者制造工艺对黑电平的影响导致的。步骤103,根据比较结果自适应调整图像传感器的黑电平补偿值。
根据步骤102比较后可以判断当前图像是否由于黑电平的影响导致图像的成像问题,根据该比较结果进一步的自适应调整图像传感器的黑电平补偿值,根据上述的公式(2)可知,通过对黑电平补偿值offset的调整,可改善输出图像的质量,自适应调整可能需要一个过程,对黑电平补偿值调整可能有多次,经过比较后若当前图像与参考图像的像素值分布信息差异不大时,停止调整黑电平补偿值,若当前图像与参考图像的像素值分布信息差异较大,可能会经过多次调整,直到差异符合要求,停止调整黑电平补偿值。
当根据比较结果表明当前图像的黑电平过大时,需要减小输出的像素值y,此时可增加黑电平补偿值;当表明当前图像的黑电平过小时,需要增加输出的像素值y,此时应该减小黑电平补偿值。
本发明实施例中,通过对当前图像的像素值分布信息进行黑电平补偿,以此改善图像的成像质量,与现有技术中通过设置温度传感器进行黑电平补偿的方法相比,本方案不需要另外设置温度传感器,也不需要预先进行实验数据的采样,因此,不仅降低了成本和简化了相机结构,而且由于本方案中是相机实时采集的图像数据,能够提高补偿结构的准确性,进一步提高相机图像的成像质量。
在一个可选的实现方式中,在步骤103之前进一步还可以包括以下的步骤:
步骤105、获取当前图像的平均亮度值;
当前图像的平均亮度值可通过多种方法获得,例如,可通过图像传感器的信号计算图像所有像素点的总亮度值,然后将该总亮度值除以像素点的数量即可获取平均亮度值,当然也可以通过其他方法获得当前图像的平均亮度值,在此只举例说明,但本方案不限于此种方式。
步骤106、当判断出当前图像的平均亮度值小于预设亮度阈值时,执行根据比较结果生成黑电平补偿值的步骤。
预设亮度阈值为预先存储设置的相机在常规的场景下的图像亮度值,该值的大小可根据情况进行设置。该预设亮度阈值可以为白天光线较暗的阴天或者是夜间时的图像亮度值作为阈值,通常当相机在白天,光线较好的常规场景下采集图像时,由于光线充足,当前图像的平均亮度会超过预设亮度阈值,此时不需要进行黑电平补偿,当在夜间或白天光线较暗时,当前图像的平均亮度会小于预设亮度阈值,这时候需要进行黑电平补偿。此时,可以将相机在白天光线较暗或者夜间采集的图像作为参考图像。本实施例中,可进一步的获取当前图像的平均亮度值,目的是通过判断当前图像的平均亮度值是否大于预设亮度阈值,如果大于亮度阈值,当前图像的亮度过高,反应了相机的环境亮度过亮,当环境亮度过亮时,黑电平对图像效果的影响是微弱的,此时没必要再做黑电平补偿,因此,只有当前图像的平均亮度小于预设亮度阈值时,也就是环境亮度不是过亮的情况下,才需要进行黑电平的补偿,这样可降低相机进行黑电平补偿的运算过程,提高相机的工作效率。
在一个可选的实现方式中,像素值分布信息包括直方图,直方图包括图像中各像素值与各像素值的像素点数量之间的映射关系。
参照图2A所示,其中,图2A是相机在黑电平正常时采集的图像的直方图,也就是参考图像的直方图,是相机在正常工作状态下,在常规场景下采集的图像,该图中横坐标为相机输出的像素值y,纵坐标为对应像素值y的像素点数量n。从图中可以看出,大部分都集中在中间部分,过大或过小的像素值的像素点数量较少。直方图可以反应像素值的分布情况,整体反应输出图像的颜色或者亮度,一定程度上代表图像的成像质量。
基于直方图,在一个可选的实现方式中,步骤102中,将当前图像的像素值分布信息与参考图像的像素值分布信息进行比较,具体包括:
步骤1021、将当前图像的小于预设像素值对应的像素点的总数量M与参考图像的小于预设像素值对应的像素点的总数量N进行比较。
基于此,步骤103中,根据比较结果自适应调整所述图像传感器的黑电平补偿值,具体可以包括:
当M大于N且M与N的差值大于预设像素点变化阈值时,减小预设的黑电平补偿初始值,当M小于N且N与M的差值大于所述预设像素点变化阈值时,增大预设的黑电平补偿初始值。
上述步骤中的预设像素值和预设像素点变化阈值可根据实际需要设置,预设像素值可以设置为图2A所示的横坐标中像素值y位于左边区域的较小的像素值;预设像素点变化阈值反应当前图像与参考图像小于预设像素值对应的像素点的总数量的变化程度,该阈值的设置可根据实际需要设置,如果差值与像素点变化阈值相比相差不大,此时可不进行黑电平的补偿,只有相差较大时才需要黑电平的补偿。
预设的黑电平补偿初始值是相机初始状态下刚开始启动时设置的原始补偿值,该原始补偿值可初步对黑电平进行补偿,根据经验进行设置,在相机使用过程中基于该补偿初始值对其进行调整,以得到合适的黑电平补偿值。
下面参考附图2B-图2C所示,其中,
在图2B中,实线为黑电平过低时采集的当前图像的直方图,虚线为黑电平正常时采集的图像的直方图,也就是参考图像的直方图;在图2C中,实线为黑电平过高时采集的当前图像的直方图,虚线为黑电平正常时采集的图像的直方图,也就是参考图像的直方图。
从图2B中可以看出,黑电平过低时图像的直方图(实线)与黑电平正常时图像的直方图(虚线)相比,直方图分布向左移动,黑电平过低时的直方图可能是由于环境温度过低造成的,也就是环境温度低于常规的环境温度(常规的环境温度例如可以为15-25°),当然也可能是其他情况造成的,如果直方图向左移动,说明此时图像黑电平降低,黑电平降低导致图像整体像素值下降,在像素值较小的区间内,像素点数量n明显增多。
从图2C中可以看出,黑电平过高时图像的直方图(实线)与黑电平正常时图像的直方图(虚线)相比,直方图分布向右移动,黑电平过高时的直方图可能是由于环境温度过高造成的,也就是环境温度高于常规的环境温度,当然也可能是其他情况造成的,如果直方图向右移动,此说明此时图像黑电平增大,黑电平增大导致图像整体像素值增加,在像素值较小的区间内,像素点数量n明显减少。
本实施例中,通过比较当前图像的小于预设像素值对应的像素点的总数量M与参考图像中小于预设像素值对应的像素点的总数量N之间的大小,可以判断出当前图像黑电平的大小,如图2B所示,当前图像中小于预设像素值对应的像素点的总数量M与参考图像中小于预设像素值对应的像素点的总数量N相比明显增多了,也就是M大于N且当M与N的差值大于预设像素点变化阈值时,说明当前图像的黑电平过低导致输出的像素值下降,因此,需要减小预设的黑电平补偿初始值,这样可使最终输出的像素值增加,直方图向右移动,直至直方图移动接近至黑电平正常时图像的直方图分布的位置。
相似的,如图2C所示,当前图像中小于预设像素值对应的像素点的总数量M与参考图像中小于预设像素值对应像素点的总数量N相比明显减少了,也就是M小于N且N与M的差值(此时M与N的差值为负数)大于预设像素点变化阈值时,说明当前图像的黑电平过高导致输出的像素值增大,因此,需要增大预设的黑电平补偿初始值,这样可使最终输出的像素值减小,直方图向左移动,直至直方图移动接近至黑电平正常时图像的直方图分布的位置。
上述实施例中对黑电平补偿初值的增大或者减小的具体方法有多种,可基于固定的步长等差的增大或者减小,或者等比例或者变比例的增大或者减小,本实施例对此不作限定。
基于上述技术方案,本发明实施例中,根据图像的直方图可以判断图像黑电平的高低,进行黑电平补偿值的调整,利用直方图进行黑电平补偿不需要复杂的计算,算法实现较为简单,不仅能做到实时的进行黑电平补偿,提高图像质量,且计算相对简单,运算速度快,准确性高。
上述实施例中描述的只是说明当相机在不同温度下引起的直方图偏移据此进行黑电平补偿的一种实施方式,在实际应用中引起直方图变化的因素可能有多种,例如,可能是相机的工作环境温度变化或者制造工艺或者是相机的环境亮度等引起的,上述实施例只是举例说明一种方式,不对本方案构成限制,如果是其他原因导致的直方图的偏移,本方案同样适用。
基于与上述方法同样的发明构思,本发明实施例提供一种图像中黑电平的补偿装置,该装置可应用在相机中。补偿装置可以通过软件实现,也可通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过所在的相机的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图3所示,为补偿装置所在的相机的一种硬件结构图,除了图3所示的处理器、非易失性存储器外,相机还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,相机还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
上述的黑电平补偿装置还可以在FPGA内部实现,由于FPGA的并行优势,可以实时统计每一帧图像的直方图,因此,不仅可做到实时补偿,而且可提高相机运行的速度。
如图4所示,为本发明提出的黑电平补偿装置的结构图,所述补偿装置10可以应用在相机上,补偿装置10具体包括:
像素获取模块11,用于获取当前图像的像素值分布信息;
像素比较模块12,用于将当前图像的像素值分布信息与参考图像的像素值分布信息进行比较;
补偿值生成模块13,用于根据比较结果自适应调整所述图像传感器的黑电平补偿值。
进一步的,该补偿装置还可以包括:
亮度获取模块14,用于获取当前图像的平均亮度值;
亮度判断模块15,用于当判断出当前图像的平均亮度值小于预设亮度阈值时,执行根据比较结果自适应调整图像传感器的黑电平补偿值的步骤。
在另一个实施方式中,像素值分布信息包括直方图,所述直方图包括所述图像中各像素值与各像素值的像素点数量之间的映射关系。
其中,像素比较模块12,具体用于将当前图像的各像素值对应的像素点数量分别与参考图像的各像素值对应的像素点数量进行比较。
像素比较模块12,具体用于将当前图像的小于预设像素值对应的像素点的总数量M与参考图像的小于预设像素值对应的像素点的总数量N进行比较。
补偿值生成模块13,具体用于当M大于N且M与N的差值大于预设像素点变化阈值时,减小预设的黑电平补偿初始值,当M小于N且N与M的差值大于所述预设像素点变化阈值时,增大预设的黑电平补偿初始值。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。