本发明实施例涉及图像处理技术,尤其涉及一种自动检测条纹并抑制的方法、装置、设备及存储介质。
背景技术:
随着当前社会对安全防范需求的不断提高,各种组织、企业或者个人会选择在室内或室外环境中配置各种摄像头进行环境监控。当环境(特别是室内环境)中采用led(lightemittingdiode,发光二极管)作为光源时,由于led灯是以交流电的频率进行闪烁的(典型的,交流电频率为50hz或60hz)。虽然人眼无法看到这种闪烁现象,但是一些摄像头却能捕捉到上述闪烁使得拍摄的画面中出现条纹。
产生上述条纹的主要原因是:摄像头的电子快门是逐行扫描来采集数据的,所以就会出现扫描一行时led灯的亮度亮一些,而扫描到下一行时led灯的亮度又暗了一些的情况,由于逐行电子快门的扫描速度和led频闪的频率都是稳定的,所以摄像头拍摄的画面上会呈现明暗间隔的条纹。
现有技术中,没有针对摄像头拍摄照片中存在的由上述原因产生的条纹提出有效的解决方案,无法满足人们对摄像头所拍摄图像的清晰性和准确性的要求。
技术实现要素:
本发明实施例提供一种自动检测条纹并抑制的方法、装置、设备及存储介质,以实现对摄像头所拍摄图像中存在的条纹进行有效抑制。
第一方面,本发明实施例提供了一种自动检测条纹并抑制的方法,该方法包括:
获取摄像头拍摄的图像,并对所述图像进行条纹的识别;
如果确定所述图像中存在所述条纹,则在所述摄像头的拍摄参数中,获取至少一项条纹作用参数;
采用与所述条纹作用参数匹配的参数调整策略,对所述条纹作用参数进行参数调整,以对所述摄像头拍摄的图像进行条纹抑制。
第二方面,本发明实施例还提供了一种自动检测条纹并抑制的装置,该装置包括:
条纹识别模块,用于获取摄像头拍摄的图像,并对所述图像进行条纹的识别;
条纹作用参数获取模块,用于如果确定所述图像中存在所述条纹,则在所述摄像头的拍摄参数中,获取至少一项条纹作用参数;
条纹抑制模块,用于采用与所述条纹作用参数匹配的参数调整策略,对所述条纹作用参数进行参数调整,以对所述摄像头拍摄的图像进行条纹抑制。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明任意实施例所述的自动检测条纹并抑制的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的自动检测条纹并抑制的方法。
本发明实施例的技术方案在判断出摄像头拍摄的图像中存在条纹时,采用参数调整策略对摄像头拍摄参数中的条纹作用参数进行参数调整,以实现对摄像头拍摄的图像进行条纹抑制,较大程度地解决了摄像头拍摄的图像中存在条纹现象的问题,满足了人们对摄像头所拍摄图像的清晰性和准确性的要求。
附图说明
图1是本发明实施例一中的一种自动检测条纹并抑制的方法的流程图;
图2是本发明实施例二中的一种自动检测条纹并抑制的方法的流程图;
图3是本发明实施例三中的一种自动检测条纹并抑制的方法的流程图;
图4是本发明实施例四中的一种自动检测条纹并抑制的方法的流程图;
图5是本发明实施例五中的一种自动检测条纹并抑制的装置的结构示意图;
图6是本发明实施例六中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种自动检测条纹并抑制的方法的流程图,本实施例可适用于对摄像头拍摄图像中存在的条纹进行抑制的情况,该方法可以由本发明实施例提供的自动检测条纹并抑制的装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在摄像装置的处理器中。如图1所示,本实施提供的方法具体包括如下步骤:
s110、获取摄像头拍摄的图像,并对所述图像进行条纹的识别。
其中,条纹指的是摄像头拍摄的图像中由于交流电原因形成的条纹。摄像头拍摄图像过程中,尤其是摄像机具体用于监控时,环境中常会使用交流电光源,尤其是室内环境中。例如,室内照明一般会使用50hz/60hz交流电的日光灯,此时摄像头拍摄的图像中容易出现条纹,色彩比较单一的区域会比较明显。
条纹的出现直接影响着图像质量,在抑制条纹出现之前,需对当前摄像头拍摄的图像中是否存在条纹进行识别判断。其中,条纹可能是明暗条纹,也可能是色带条纹。
由于图像中条纹区域与其他区域的色彩和/或亮度会存在明显差异,可以将条纹和背景图像在灰度域和/或色度域上区分开来,因此可以获取摄像头当前拍摄的图像之后,对该图像的yuv色彩模型、rgb色彩模型、或者lab色彩模型等进行分析,以确定图像中是否存在明暗条纹或色带条纹之类的条纹;也可以采用特征提取等方法对当前拍摄的图像进行处理,分析图像中是否存在条纹特征,以确定图像中是否存在明暗条纹或色带条纹之类的条纹。
作为本实施例一种可选的实施方式,可以将获取摄像头拍摄的图像,并对图像进行条纹的识别,具体为:
获取摄像头拍摄的图像,并根据图像中检测区域内的各像素点的特征信息,构造与检测区域匹配的特征矩阵;其中,在特征矩阵中,与条纹关联的像素点的矩阵值为第一数值,与条纹不关联的像素点的矩阵值为第二数值;
将特征矩阵与预设的条纹特征矩阵进行卷积运算;
如果卷积运算结果满足预设的数值条件,则确定所述图像中存在条纹。
其中检测区域可以是摄像头拍摄的图像的整个区域,也可以是选取图像中容易出现条纹的区域(例如,墙面等色彩比较单一的区域)。典型的,如果所述摄像头具体为设定区域的监控摄像头(例如,室内监控摄像头),则可以预先获取所述摄像头所拍摄区域的区域图像,并根据该区域图像中的背景图像确定所述检测区域。
根据检测区域中各像素点的特征信息构造与检测区域匹配的特征矩阵,例如,检测区域的分辨率为w*h,w为水平分辨率,h为垂直分辨率,那么与检测区域匹配的特征矩阵即为一个w×h的矩阵。
由于与条纹关联的像素点的特征值是和与条纹不关联的像素点的特征值是存在较大差异的,因此分别将与两类像素点对应的矩阵值赋值为第一数值和第二数值,例如第一数值为1,第二数值为0。
具体的,可以基于rgb色彩模型和yuv色彩模型,将上述特征信息具体为像素点的色度信息。
进一步的,在根据图像中检测区域内的各像素点的特征信息,构造与检测区域匹配的特征矩阵之前,还包括:
获取图像中检测区域内的各像素点的rbg值,并将各rbg值转换为对应的yuv值;将各像素点的v值(颜色浓度)作为各像素点的特征信息。
在检测区域的分辨率为w*h时,记第(i,j)个像素点的rgb值为f(r,g,b),随即可以计算得到该像素点的yuv强度为:
y(i,j)=0.229*r 0.587*g 0.114b
u(i,j)=-0.147*r-0.289*g 0.436b
v(i,j)=0.615*r-0.515*g-0.1b
进而,可以将各像素点的v值作为各像素点的特征信息,即根据各像素点的v值构造与检测区域匹配的特征矩阵。
进一步的,作为本实施例一种可选的实施方式,可以将根据图像中检测区域内的各像素点的特征信息,构造与检测区域匹配的特征矩阵,具体为:
根据检测区域的图像分辨率以及各像素点的特征信息,计算与所述特征信息对应的平均强度;
根据检测区域的图像分辨率,构造标准特征矩阵;
获取标准特征矩阵中的一个矩阵元素位置作为目标矩阵位置;
如果与目标矩阵位置匹配的像素点的特征信息大于平均强度,则将目标矩阵位置的元素值设置为第一数值;
如果与目标矩阵位置匹配的像素点的特征信息小于等于平均强度,则将目标矩阵位置的元素值设置为第二数值;
返回执行获取标准特征矩阵中的一个矩阵元素位置作为目标矩阵位置的操作,直至完成对标准特征矩阵中全部矩阵元素位置的处理。
首先,根据检测区域的图像分辨率w*h以及各像素点的特征信息(即像素点的v值),计算与所述特征信息对应的平均强度dv,得出
根据检测区域的图像分辨率w*h,构造标准特征矩阵,该标准矩阵即为一个w×h的矩阵,然后需对该标准矩阵的各个元素进行确定,以得到目标矩阵,也即得到与检测区域匹配的特征矩阵。
具体的,对目标矩阵每个位置的像素进行确定时,如果该位置的像素的v值大于平均强度dv,则将目标矩阵中该位置的元素值赋为第一数值,例如是1,如果该位置的像素的v值小于等于平均强度dv,则将目标矩阵中该位置的元素值赋为第二数值,例如是0,直至完成对目标矩阵中所有位置的赋值,得到与检测区域匹配的特征矩阵。
之后,将特征矩阵与预设的条纹特征矩阵进行卷积运算。
其中,预设的条纹特征矩阵是一个算子矩阵,用于标记条纹的特征,通常特征为水平连续的白色条带,进而可以将该算子矩阵预设为m×n矩阵,所有元素值均设置为第一数值1。其中,m和n可以基于不可容忍的条纹的区域大小来确定。
将特征矩阵与预设的条纹特征矩阵进行卷积运算,如果与卷积结果对应的矩阵的各元素的最大值大于预设阈值thr,则认为卷积结果满足预设的数值条件,进而确定图像中存在条纹。如果与卷积结果对应的矩阵的各元素均不大于预设阈值thr,则认为卷积结果不满足预设的数值条件,进而确定图像中不存在条纹。
上述为一种判断是否图像中是否存在条纹的具体实施方式,适用于一帧或多帧合成的所有图像。此外,还存在多种判断方法,例如可以是选取基于将各像素点的y值(色彩明亮度)作为各像素点的特征信息,即根据各像素点的y值构造与检测区域匹配的特征矩阵,进而判断图像中是否存在条纹,本实施例对此不做具体的限定。
s120、如果确定图像中存在条纹,则在摄像头的拍摄参数中,获取至少一项条纹作用参数。
如果判断出摄像头拍摄的图像中存在条纹,则需对摄像头拍摄参数中的条纹作用参数进行调整,其中,条纹作用参数指的是和条纹关联的拍摄参数,通过调整这些拍摄参数可以抑制条纹的产生。
s130、采用与条纹作用参数匹配的参数调整策略,对条纹作用参数进行参数调整,以对摄像头拍摄的图像进行条纹抑制。
条纹作用参数可以是曝光参数,对应的,参数调整策略即为调整曝光参数来抑制图像中条纹的产生,例如是调整快门、增益、亮度等曝光参数,对图像中的条纹进行抑制。
值得指出的是,判断是否存在条纹的图像是摄像头已拍摄的图像,即可预览的图像,通过对摄像头已拍摄的图像(或称可预览的图像)进行条纹的识别,在识别出图像中存在条纹之后,对摄像头的拍摄参数进行调整,进而可以对摄像头随后拍摄的图像进行条纹抑制。
本发明实施例的技术方案在判断出摄像头拍摄的图像中存在条纹时,采用参数调整策略对摄像头拍摄参数中的条纹作用参数进行参数调整,以实现对摄像头拍摄的图像进行条纹抑制,较大程度地解决了摄像头拍摄的图像中存在条纹现象的问题,满足了人们对摄像头所拍摄图像的清晰性和准确性的要求。
实施例二
在上述实施例的基础上,本实施例给出一种具体的实施方式,将在所述摄像头的拍摄参数中,获取至少一项条纹作用参数,具体为:
在摄像头的拍摄参数中,获取与多帧合成拍摄方式匹配的最短帧选取亮度门限,和/或最短帧亮度调节参数作为条纹作用参数。
进而,将采用与条纹作用参数匹配的参数调整策略,对条纹作用参数进行参数调整,以对摄像头拍摄的图像进行条纹抑制,具体为:
按照第一比例增大所述最短帧选取亮度门限的取值,以降低在多帧合成过程中选取最短帧图像的概率;和/或
对最短帧亮度调节参数进行调整,以降低所述最短帧图像的亮度值。
图2为本发明实施例二提供的一种自动检测条纹并抑制的方法的流程图,如图2所示,本实施提供的方法具体包括如下步骤:
s210、获取摄像头拍摄的图像,并对所述图像进行条纹的识别。
对图像进行条纹的识别方法请详见前述实施例,在此不再赘述。在判断出图像中存在条纹后,摄像机可以采取两种方式来抑制和/或消除条纹,一种是生成告警信息进行上报,以提醒用户更新光源,在源头上消除条纹;一种是调整摄像机自身的拍摄参数来减弱和/或消除条纹。
s220、如果确定图像中存在条纹,在摄像头的拍摄参数中,获取与多帧合成拍摄方式匹配的最短帧选取亮度门限,和/或最短帧亮度调节参数作为条纹作用参数。
通常,对于一帧图像,调整摄像头拍摄参数的方法就是将快门时间调整为交流电的交流周期一半的整数倍。
而对于采用多帧合成方式拍摄的摄像机,其拍摄的图像中条纹主要出现在最短帧图像中,在本实施例中主要是对最短帧图像中的条纹进行抑制。
具体的,选取摄像机的最短帧选取亮度门限,和/或最短帧亮度调节参数作为条纹作用参数。
根据多帧的合成原理(特别是在进行两帧合成时),环境亮度值低于第一亮度门限longthresh时采用最长帧数据,亮度值高于第二亮度门限shortthresh时采用最短帧数据,亮度值处于[longthresh,shortthresh]区间时采用长短帧融合。因此,最短帧选取亮度门限,也即第二亮度门限shortthresh的取值直接影响着最短帧数据的使用,故可以将最短帧选取亮度门限作为条纹作用参数。
同时,最短帧的亮度与其上存在的条纹的强度存在直接关系,调节最短帧的亮度即可调整条纹的强度,故可以将最短帧亮度调节参数作为条纹作用参数。
s230、按照第一比例增大最短帧选取亮度门限的取值,以降低在多帧合成过程中选取最短帧图像的概率。
具体的,按照第一比例增大最短帧选取亮度门限的取值,即增大第二亮度门限shortthresh,即可减少最短帧数据的使用,进而抑制条纹的产生。
进一步的,还可以同时增大第一亮度门限longthresh和第二亮度门限shortthresh取值,以减少最短帧数据的使用。其中,longthresh和shortthresh的提高幅度可以相同,也可以不相同。
s240、对最短帧亮度调节参数进行调整,以降低最短帧图像的亮度值。
通过调整最短帧亮度调节参数,降低最短帧图像的亮度值,进而减弱最短帧图像上条纹的强度,达到减弱条纹的效果。
其中,最短帧亮度调节参数可以是例如曝光比、快门、增益、亮度等曝光参数,通过调整这些曝光参数来达到将降低最短帧图像的亮度值的效果。
典型的,可以通过减小最短帧图像的快门时间的方式,直接降低最短帧图像的亮度值,还可以通过减小最短帧图像的亮度增益的方式,降低最短帧图像的亮度值等,本实施例对此并不进行限制。
当选取最短帧选取亮度门限和最短帧亮度调节参数作为条纹作用参数时,需分别执行s230和s240的操作对这两个条纹作用参数进行调整,s230和s240的执行顺序可以互换,若只选择其中一个作为条纹参数时,那么执行s230和s240中对应的调整操作即可。
作为本实施例一种可选的实施方式,将最短帧亮度调节参数具体为摄像头的曝光比。增大摄像头的曝光比,即可降低最短帧的亮度。
对应的,将对最短帧亮度调节参数进行调整,以降低最短帧图像的亮度值,具体为:
根据摄像头拍摄的至少两帧图像,计算最短帧图像的平均亮度值;
根据平均亮度值,以及预设的增量对应关系,计算曝光比增大幅值;其中,在增量对应关系中,平均亮度值与曝光比增大幅值呈正比;
维持最长帧快门时间不变,并根据曝光比增大幅值,对摄像头的曝光比进行增大处理,以降低最短帧图像的亮度值。
在摄像头拍摄的多帧像中,统计最短帧图像的亮度值,根据统计信息计算出最短帧图像的平均亮度值l,代入曝光比增大幅值计算公式确定曝光比增大幅值δr。
可选的,预设的增量对应关系可以为:
在上述增量对应关系中,平均亮度值l与曝光比增大幅值δr呈正比。
在最长帧快门时间不变的条件下,根据预设的增量对应关系,对摄像头的曝光比进行增大处理,即将摄像头的当前曝光比r增大到r δr,由此即可实现对最短帧图像亮度值的降低处理。
在上述技术方案中,通过采用增大最短帧选取亮度门限的取值,同时降低最短帧图像亮度的技术方案,来减少多帧合成图像是对最短帧数据的使用,进而实现对图像中条纹的抑制。
实施例三
在上述实施例的基础上,本实施例给出一种具体的实施方式,将在摄像头的拍摄参数中,获取与摄像头拍摄方式匹配的至少一项条纹作用参数,具体为:
在摄像头的拍摄参数中,获取与多帧合成拍摄方式匹配的最长帧快门时间和/或最长帧选取亮度门限作为条纹作用参数;
进而,将采用与条纹作用参数匹配的参数调整策略,对条纹作用参数进行参数调整,以对摄像头拍摄的图像进行条纹抑制,具体为:
将最长帧快门时间调整至预设的人造光源交流电周期一半的整数倍,以消除最长帧图像中包括的条纹;和/或
按照第二比例增大最长帧选取亮度门限的取值,以增加在多帧合成过程中选取最长帧图像的概率。
图3为本发明实施例三提供的一种自动检测条纹并抑制的方法的流程图,如图3所示,本实施提供的方法具体包括如下步骤:
s310、获取摄像头拍摄的图像,并对所述图像进行条纹的识别。
对图像进行条纹的识别方法请详见前述实施例,在此不再赘述。
s320、如果确定图像中存在条纹,则在摄像头的拍摄参数中,获取与多帧合成拍摄方式匹配的最长帧快门时间和最长帧选取亮度门限作为条纹作用参数。
在本实施例中,考虑到条纹主要出现在最短帧图像中,则在保证最长帧图像上没有条纹的基础上,提高多帧合成时最长帧的使用频率(概率),即可实现对条纹的抑制,进而在通过调整摄像机自身的拍摄参数来减弱和/或消除条纹时,选取最长帧快门时间和最长帧选取亮度门限作为条纹作用参数。
s330、将最长帧快门时间调整至预设的人造光源交流电周期一半的整数倍,以消除最长帧图像中包括的条纹。
在以多帧合成拍摄方式进行拍摄时,将最长帧图像的快门时间设置为交流电周期一半的整数倍即可消除最长帧图像中的条纹。
例如,人造光源交流电的频率为50hz,则周期为0.02s,那么将最长帧图像的快门时间设置为0.01s的整数倍即可。
s340、按照第二比例增大最长帧选取亮度门限的取值,以增加在多帧合成过程中选取最长帧图像的概率。
根据多帧的合成原理,环境亮度值低于第一亮度门限longthresh时采用最长帧数据,亮度值高于第二亮度门限shortthresh时采用最短帧数据,亮度值处于[longthresh,shortthresh]区间时采用长短帧融合。
具体的,按照第二比例增大最长帧选取亮度门限的取值,即增大第一亮度门限longthresh,即可增加最长帧数据的使用,进而抑制条纹的产生。
进一步的,结合实施例二和实施例三,可以同时将最短帧选取亮度门限、最短帧亮度调节参数、最长帧选取亮度门限以及最长帧快门时间共同作为条纹作用参数进行参数调整,以达到抑制条纹的效果。具体的调整策略请详见实施例二和实施例三,在此不再赘述,其中,最长帧选取亮度门限和最短帧选取亮度门限的提高幅度可以相同,也可以不同。
在上述技术方案中,通过调整最长帧快门时间,并增大最长帧选取亮度门限的取值的技术方案,来提高多帧合成图像是对最长帧数据的使用,进而实现对图像中条纹的限制。
实施例四
在上述技术方案的基础上,在本实施例中,将获取摄像头拍摄的图像,并对所述图像进行条纹的识别,具体为:获取摄像头当前拍摄环境的亮度识别参数;
如果根据亮度识别参数确定当前拍摄环境的亮度满足条纹识别条件,则获取摄像头拍摄的图像,并对图像进行条纹的识别;否则,控制摄像头按照与当前拍摄环境匹配的默认配置参数继续拍摄图像。
本实施例提供的一种自动检测条纹并抑制的方法,在采用与条纹作用参数匹配的参数调整策略,对条纹作用参数进行参数调整之后,还包括:
获取摄像头当前拍摄环境匹配的亮度识别参数;
如果根据亮度识别参数确定当前拍摄环境的亮度满足配置恢复条件,则控制摄像头按照与当前拍摄环境匹配的默认配置参数继续拍摄图像;否则,保持所述摄像头的当前配置参数继续拍摄图像。
图4为本发明实施例四提供的一种自动检测条纹并抑制的方法的流程图,如图4所示,本实施提供的方法具体包括如下步骤:
s410、获取摄像头当前拍摄环境的亮度识别参数。
亮度识别参数指的是与亮度相关的识别参数,其可以是环境亮度,也可以是例如快门时间、增益(也即,亮度增益)、亮度等之类的摄像机参数。具体的,可以通过环境亮度传感器获取所述环境亮度,或者,考虑到摄像头的各种默认配置参数是随着环境亮度的不同数值进行自适应调整,例如,当周围的环境亮度值比较大时,摄像头的默认配置参数中,快门时间根据预设的对应关系相应减小,以及亮度增益会根据预设的对应关系相应减小等。因此,上述快门时间、以及亮度增益之类的摄像机默认配置参数,同样能够反映当前拍摄环境的亮度。
s420、根据亮度识别参数确定当前拍摄环境的亮度是否满足条纹识别条件,若是,则执行s430,若否,则执行s440。
具体的,如果亮度识别参数为环境亮度,则可以相应设置当环境亮度大于等于设定的亮度阈值时,确定满足条纹识别条件;或者,如果亮度识别参数为快门时间,则可以相应设置当快门时间小于等于设定时间阈值时,确定满足条纹识别条件等。
s430、获取摄像头拍摄的图像,并对图像进行条纹的识别,执行s450。
s440、控制摄像头按照与当前拍摄环境匹配的默认配置参数继续拍摄图像。
以选取亮度识别参数为环境亮度为例,对于一帧图像,当环境亮度很低时,图像中肯定不存在条纹,故如果确定当前环境亮度低于亮度阈值时,当前拍摄环境的亮度则不满足条纹识别条件,不需要进行条纹识别。对于多帧图像,当环境亮度很低时,图像效果会比较差,此时已不适宜对多帧图像做过多限制,也即不需要进行条纹识别,即当前拍摄环境的亮度则不满足条纹识别条件。对应的,如果当前环境亮度高于亮度阈值时,才需要对图像进行条纹的识别。
s450、如果确定图像中存在所述条纹,则在摄像头的拍摄参数中,获取至少一项条纹作用参数。
s460、采用与条纹作用参数匹配的参数调整策略,对条纹作用参数进行参数调整。
对图像进行条纹的识别,以及在确定存在条纹时对条纹作用参数进行参数调整的具体过程请参见前述实施例,在此不再赘述。
s470、获取摄像头当前拍摄环境匹配的亮度识别参数。
当对摄像机的条纹作用参数进行参数调整后,还需重新获取摄像头当前拍摄环境匹配的亮度识别参数,意在判断在当前拍摄环境是否需要恢复摄像机的默认设置。
可选的,在对摄像机的条纹作用参数进行参数调整后,控制所述摄像头进行拍摄的过程中,可以间隔设定时长(例如,5分钟、10分钟或者30分钟等),周期性的获取该亮度识别参数,以确定是否对该摄像机恢复默认配置参数;相类似的,在控制该摄像头使用默认配置参数进行拍摄的过程中,可以间隔设定时长(例如,5分钟、10分钟或者30分钟等),周期性的获取该亮度识别参数,以确定是否对该摄像机的条纹作用参数进行参数调整。
s480、根据亮度识别参数确定当前拍摄环境的亮度是否满足配置恢复条件,若是,执行s490,若否,则执行s4100。
s490、控制摄像头按照与当前拍摄环境匹配的默认配置参数继续拍摄图像。
s4100、保持摄像头的当前配置参数继续拍摄图像。
以选取亮度识别参数为环境亮度为例,前述提到,对于一帧图像,当环境亮度很低时,图像中肯定不存在条纹,故如果确定当前环境亮度低于亮度阈值时,其满足配置恢复条件,需要控制摄像头恢复默认配置参数。随着外界照度变强之后,必然会存在图像过曝的问题,若选择恢复默认配置参数,则可保证图像不过曝,此时也可确定当前拍摄环境的亮度满足配置恢复条件,需控制摄像头恢复默认配置参数。对于多帧图像,当环境亮度很低时,图像效果会比较差,此时已不适宜对多帧图像做过多限制,也需要恢复默认配置,故满足配置恢复条件,需控制摄像头按照与当前拍摄环境匹配的默认配置参数继续拍摄图像,以便图像处于较优状态。
具体的,获取摄像头当前拍摄环境匹配的亮度识别参数,根据亮度识别参数确定当前拍摄环境的亮度是否满足条纹识别条件,以及根据亮度识别参数确定当前拍摄环境的亮度是否满足配置恢复条件,可以是实时判断,也可以是定时判断,意在调整摄像机的拍摄参数,尽量使其始终与当前拍摄环境匹配。
需要强调的是,在本实施例中仅给出了一次从摄像头的默认配置参数切换至对条纹作用参数进行调整后的配置参数的过程,以及一次从摄像头对条纹作用参数进行调整后的配置参数切换至默认配置参数的过程。实际上,在将摄像头在实际场景(典型的,监控领域)中进行使用时,本实施例的方法是周期性循环执行的。也即:在执行s440之后,间隔设定时长后,重新返回执行s410;在执行s490之后,间隔设定时长后,重新返回执行s410;在执行s4100之后,间隔设定时长后,返回执行s470。
在上述技术方案中,通过实时或定时根据亮度识别参数确定当前拍摄环境的亮度是否满足条纹识别条件,以及是否满足配置恢复条件,并根据判断结果对摄像机的拍摄参数进行调整,以实现摄像机的拍摄参数与当前环境匹配,减弱或消除了摄像头所拍摄图像中的条纹,提高了摄像头所拍摄图像的清晰性和准确性。
实施例五
图5是本实施例五提供的一种自动检测条纹并抑制的装置的结构示意图,本实施例可适用于对摄像头拍摄图像中存在的条纹进行抑制的情况,该装置可采用软件和/或硬件的方式实现,并一般可集成在摄像装置的处理器中。如图5所示,该装置具体包括:条纹识别模块510、条纹作用参数获取模块520和条纹抑制模块530,其中,
条纹识别模块510,用于获取摄像头拍摄的图像,并对所述图像进行条纹的识别;
条纹作用参数获取模块520,用于如果确定所述图像中存在所述条纹,则在所述摄像头的拍摄参数中,获取至少一项条纹作用参数;
条纹抑制模块530,用于采用与所述条纹作用参数匹配的参数调整策略,对所述条纹作用参数进行参数调整,以对所述摄像头拍摄的图像进行条纹抑制。
本发明实施例的技术方案在判断出摄像头拍摄的图像中存在条纹时,采用参数调整策略对摄像头拍摄参数中的条纹作用参数进行参数调整,以实现对摄像头拍摄的图像进行条纹抑制,较大程度地解决了摄像头拍摄的图像中存在条纹现象的问题,满足了人们对摄像头所拍摄图像的清晰性和准确性的要求。
进一步的,条纹识别模块510具体包括:特征矩阵构造单元、卷积运算单元和条纹判断单元,其中,
特征矩阵构造单元,用于获取摄像头拍摄的图像,并根据所述图像中检测区域内的各像素点的特征信息,构造与所述检测区域匹配的特征矩阵;其中,在所述特征矩阵中,与所述条纹关联的像素点的矩阵值为第一数值,与所述条纹不关联的像素点的矩阵值为第二数值;
卷积运算单元,用于将所述特征矩阵与预设的条纹特征矩阵进行卷积运算;
条纹判断单元,用于如果卷积运算结果满足预设的数值条件,则确定所述图像中存在条纹。
具体的,所述特征信息为像素点的色度信息。
对应的,条纹识别模块510还包括:像素点yuv值计算单元和特征信息确定单元,其中,
像素点yuv值计算单元,用于在根据所述图像中检测区域内的各像素点的特征信息,构造与所述检测区域匹配的特征矩阵之前,获取所述图像中检测区域内的各像素点的rbg值,并将各所述rbg值转换为对应的yuv值;
特征信息确定单元,用于将各像素点的v值作为所述各像素点的特征信息。
进一步的,特征矩阵构造单元具体包括:平均强度计算子单元、标准特征矩阵构造子单元、目标矩阵位置获取子单元、元素值设置第一子单元、元素值设置第二子单元和循环处理子单元,其中,
平均强度计算子单元,用于根据所述检测区域的图像分辨率以及各所述像素点的特征信息,计算与所述特征信息对应的平均强度;
标准特征矩阵构造子单元,用于根据所述检测区域的图像分辨率,构造标准特征矩阵;
目标矩阵位置获取子单元,用于获取所述标准特征矩阵中的一个矩阵元素位置作为目标矩阵位置;
元素值设置第一子单元,用于如果与所述目标矩阵位置匹配的像素点的特征信息大于所述平均强度,则将所述目标矩阵位置的元素值设置为第一数值;
元素值设置第二子单元,用于如果与所述目标矩阵位置匹配的像素点的特征信息小于等于所述平均强度,则将所述目标矩阵位置的元素值设置为第二数值;
循环处理子单元,用于返回执行获取所述标准特征矩阵中的一个矩阵元素位置作为目标矩阵位置的操作,直至完成对所述标准特征矩阵中全部矩阵元素位置的处理。
在上述技术方案的基础上,条纹作用参数获取模块520具体用于在所述摄像头的拍摄参数中,获取与多帧合成拍摄方式匹配的最短帧选取亮度门限,和/或最短帧亮度调节参数作为所述条纹作用参数。
对应的,条纹抑制模块530具体用于按照第一比例增大所述最短帧选取亮度门限的取值,以降低在多帧合成过程中选取最短帧图像的概率;和/或
对所述最短帧亮度调节参数进行调整,以降低所述最短帧图像的亮度值。
具体的,所述最短帧亮度调节参数包括摄像头的曝光比。
对应的,条纹抑制模块530具体用于根据所述摄像头拍摄的至少两帧图像,计算最短帧图像的平均亮度值;
根据所述平均亮度值,以及预设的增量对应关系,计算曝光比增大幅值;其中,在所述增量对应关系中,所述平均亮度值与所述曝光比增大幅值呈正比;
维持最长帧快门时间不变,并根据所述曝光比增大幅值,对所述摄像头的曝光比进行增大处理,以降低所述最短帧图像的亮度值。
在上述技术方案的基础上,条纹作用参数获取模块520具体用于在所述摄像头的拍摄参数中,获取与多帧合成拍摄方式匹配的最长帧快门时间和/或最长帧选取亮度门限作为所述条纹作用参数。
对应的,条纹抑制模块530具体用于将所述最长帧快门时间调整至预设的人造光源交流电周期一半的整数倍,以消除所述最长帧图像中包括的条纹;和/或
按照第二比例增大所述最长帧选取亮度门限的取值,以增加在多帧合成过程中选取最长帧图像的概率。
在上述技术方案的基础上,条纹识别模块510具体包括:亮度识别参数获取单元和条纹识别单元,其中,
亮度识别参数获取单元,用于获取所述摄像头当前拍摄环境的亮度识别参数;
条纹识别单元,用于如果根据所述亮度识别参数确定所述当前拍摄环境的亮度满足条纹识别条件,则获取摄像头拍摄的图像,并对所述图像进行条纹的识别;否则,控制所述摄像头按照与所述当前拍摄环境匹配的默认配置参数继续拍摄图像。
进一步的,上述自动检测条纹并抑制的装置还包括:配置恢复模块,用于在采用与所述条纹作用参数匹配的参数调整策略,对所述条纹作用参数进行参数调整之后,获取所述摄像头当前拍摄环境匹配的亮度识别参数;如果根据所述亮度识别参数确定所述当前拍摄环境的亮度满足配置恢复条件,则控制所述摄像头按照与所述当前拍摄环境匹配的默认配置参数继续拍摄图像;否则,保持所述摄像头的当前配置参数继续拍摄图像。
本发明实施例所提供的自动检测条纹并抑制的装置可执行本发明任意实施例所提供的自动检测条纹并抑制的方法,具备执行方法相应的功能模块和有益效果。
实施例六
图6为本发明实施例六提供的一种计算机设备的结构示意图。图6示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图6显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图6所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图6中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的自动检测条纹并抑制的方法。也即,所述处理单元执行所述程序时实现:获取摄像头拍摄的图像,并对所述图像进行条纹的识别;如果确定所述图像中存在所述条纹,则在所述摄像头的拍摄参数中,获取至少一项条纹作用参数;采用与所述条纹作用参数匹配的参数调整策略,对所述条纹作用参数进行参数调整,以对所述摄像头拍摄的图像进行条纹抑制。
实施例七
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的自动检测条纹并抑制的方法。也即,该程序被处理器执行时实现:获取摄像头拍摄的图像,并对所述图像进行条纹的识别;如果确定所述图像中存在所述条纹,则在所述摄像头的拍摄参数中,获取至少一项条纹作用参数;采用与所述条纹作用参数匹配的参数调整策略,对所述条纹作用参数进行参数调整,以对所述摄像头拍摄的图像进行条纹抑制。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如c语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
1.一种自动检测条纹并抑制的方法,其特征在于,包括:
获取摄像头拍摄的图像,并对所述图像进行条纹的识别;
如果确定所述图像中存在所述条纹,则在所述摄像头的拍摄参数中,获取至少一项条纹作用参数;
采用与所述条纹作用参数匹配的参数调整策略,对所述条纹作用参数进行参数调整,以对所述摄像头拍摄的图像进行条纹抑制。
2.根据权利要求1所述的方法,其特征在于,获取摄像头拍摄的图像,并对所述图像进行条纹的识别,包括:
获取摄像头拍摄的图像,并根据所述图像中检测区域内的各像素点的特征信息,构造与所述检测区域匹配的特征矩阵;其中,在所述特征矩阵中,与所述条纹关联的像素点的矩阵值为第一数值,与所述条纹不关联的像素点的矩阵值为第二数值;
将所述特征矩阵与预设的条纹特征矩阵进行卷积运算;
如果卷积运算结果满足预设的数值条件,则确定所述图像中存在条纹。
3.根据权利要求2所述的方法,其特征在于,所述特征信息为像素点的色度信息;
在根据所述图像中检测区域内的各像素点的特征信息,构造与所述检测区域匹配的特征矩阵之前,还包括:
获取所述图像中检测区域内的各像素点的rbg值,并将各所述rbg值转换为对应的yuv值;
将各像素点的v值作为所述各像素点的特征信息。
4.根据权利要求2或3所述的方法,其特征在于,根据所述图像中检测区域内的各像素点的特征信息,构造与所述检测区域匹配的特征矩阵,包括:
根据所述检测区域的图像分辨率以及各所述像素点的特征信息,计算与所述特征信息对应的平均强度;
根据所述检测区域的图像分辨率,构造标准特征矩阵;
获取所述标准特征矩阵中的一个矩阵元素位置作为目标矩阵位置;
如果与所述目标矩阵位置匹配的像素点的特征信息大于所述平均强度,则将所述目标矩阵位置的元素值设置为第一数值;
如果与所述目标矩阵位置匹配的像素点的特征信息小于等于所述平均强度,则将所述目标矩阵位置的元素值设置为第二数值;
返回执行获取所述标准特征矩阵中的一个矩阵元素位置作为目标矩阵位置的操作,直至完成对所述标准特征矩阵中全部矩阵元素位置的处理。
5.根据权利要求1所述的方法,其特征在于,在所述摄像头的拍摄参数中,获取至少一项条纹作用参数,包括:
在所述摄像头的拍摄参数中,获取与多帧合成拍摄方式匹配的最短帧选取亮度门限,和/或最短帧亮度调节参数作为所述条纹作用参数;
采用与所述条纹作用参数匹配的参数调整策略,对所述条纹作用参数进行参数调整,以对所述摄像头拍摄的图像进行条纹抑制,包括:
按照第一比例增大所述最短帧选取亮度门限的取值,以降低在多帧合成过程中选取最短帧图像的概率;和/或
对所述最短帧亮度调节参数进行调整,以降低所述最短帧图像的亮度值。
6.根据权利要求5所述的方法,其特征在于,所述最短帧亮度调节参数包括摄像头的曝光比;
对所述最短帧亮度调节参数进行调整,以降低所述最短帧图像的亮度值,具体包括:
根据所述摄像头拍摄的至少两帧图像,计算最短帧图像的平均亮度值;
根据所述平均亮度值,以及预设的增量对应关系,计算曝光比增大幅值;其中,在所述增量对应关系中,所述平均亮度值与所述曝光比增大幅值呈正比;
维持最长帧快门时间不变,并根据所述曝光比增大幅值,对所述摄像头的曝光比进行增大处理,以降低所述最短帧图像的亮度值。
7.根据权利要求1所述的方法,其特征在于,在所述摄像头的拍摄参数中,获取与摄像头拍摄方式匹配的至少一项条纹作用参数,包括:
在所述摄像头的拍摄参数中,获取与多帧合成拍摄方式匹配的最长帧快门时间和/或最长帧选取亮度门限作为所述条纹作用参数;
采用与所述条纹作用参数匹配的参数调整策略,对所述条纹作用参数进行参数调整,以对所述摄像头拍摄的图像进行条纹抑制,包括:
将所述最长帧快门时间调整至预设的人造光源交流电周期一半的整数倍,以消除所述最长帧图像中包括的条纹;和/或
按照第二比例增大所述最长帧选取亮度门限的取值,以增加在多帧合成过程中选取最长帧图像的概率。
8.根据权利要求1所述的方法,其特征在于,获取摄像头拍摄的图像,并对所述图像进行条纹的识别,包括:
获取所述摄像头当前拍摄环境的亮度识别参数;
如果根据所述亮度识别参数确定所述当前拍摄环境的亮度满足条纹识别条件,则获取摄像头拍摄的图像,并对所述图像进行条纹的识别;否则,控制所述摄像头按照与所述当前拍摄环境匹配的默认配置参数继续拍摄图像;
和/或
在采用与所述条纹作用参数匹配的参数调整策略,对所述条纹作用参数进行参数调整之后,还包括:
获取所述摄像头当前拍摄环境匹配的亮度识别参数;
如果根据所述亮度识别参数确定所述当前拍摄环境的亮度满足配置恢复条件,则控制所述摄像头按照与所述当前拍摄环境匹配的默认配置参数继续拍摄图像;否则,保持所述摄像头的当前配置参数继续拍摄图像。
9.一种自动检测条纹并抑制的装置,其特征在于,包括:
条纹识别模块,用于获取摄像头拍摄的图像,并对所述图像进行条纹的识别;
条纹作用参数获取模块,用于如果确定所述图像中存在所述条纹,则在所述摄像头的拍摄参数中,获取至少一项条纹作用参数;
条纹抑制模块,用于采用与所述条纹作用参数匹配的参数调整策略,对所述条纹作用参数进行参数调整,以对所述摄像头拍摄的图像进行条纹抑制。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~8中任一所述的自动检测条纹并抑制的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~8中任一所述的自动检测条纹并抑制的方法。
技术总结