本发明涉及视频图像处理技术领域,尤其涉及一种多帧加权的宽动态图像处理方法。
背景技术:
在安防监控摄像机实际应用中,通常监控画面中有可能出现某些区域因过亮或过暗而看不清楚的情况,从而有可能使图像画面的某些重要信息缺失。目前,通常有两种方法来解决这个问题:第一,根据场景自动调整图像的曝光强度,若图像过亮则降低图像的曝光时间,若图像过暗则增加图像的曝光时间,但此种方法是改变图像整体亮度,不够灵活,第二,把多帧图像从时域变换到频域,将图像信息分为高频系数和低频系数,然后对低频系数求均值,并将求得的均值作为融合后的低频系数;对高频系数进行加权求和,并将求和的值作为融合后的高频系数。此种方法计算复杂度较大,硬件实现成本较高。
技术实现要素:
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种多帧加权的宽动态图像处理方法。
为了实现上述目的,本发明采用了如下技术方案:一种多帧加权的宽动态图像处理方法,包括以下步骤:
s01:将输入的n帧图像分别通过mxm滤波模块,对其进行简单的噪声消除和边界平滑作用;
s02:将均值滤波后的数据送入权值初始化模块,根据每帧对应的可配置权值阈值参数,对输入的帧进行权值初始化,赋予每帧初始的加权值;
s03:将均值滤波后的数据送入运动检测模块,根据各帧之间的差值计算加在各帧初始化权值上的权值偏移量;
s04:将各帧的初始化权值和权值偏移量送入权值修正模块,计算每帧图像的实际权值;
s05:将输入的n帧图像和其对应的权值送入加权融合模块,对各帧数据进行加权求和,并进行归一化,得到输出的帧图像。
作为上述技术方案的进一步描述:
所述s01步骤中mxm滤波模块用于对输入数据进行简单的降噪处理和边界平滑效果,使得后面计算的加权权值更准确,且mxm滤波模块处理的数学表达式为:
其中,h为mxm滤波的滤波系数,可根据滤波特性进行配置;fk为输入帧数据,fk’为滤波输出帧数据,k的取值为1~n;t是一个中间参数,取值为floor(m/2)。
作为上述技术方案的进一步描述:
所述s02步骤中权值初始化模块用于根据帧图像数据的取值赋予一个用于后面加权融合的初始权值,且权值初始化模块处理的数学表达式为:
w1=min(max(th1_max-yl,1),val1)
w2=min(a2,b2)
a2=min(max(f2′-th2_min,1),val2)
b2=min(max(th2_max-f2′,1),val2)
...
wn-1=min(an-1,bn-1)
an-1=min(max(fn-1′-thn-1_min,1),valn-1)
bn-1=min(max(thn-1_max-fn-1′,1),valn-1)
wn=min(max(fn′-thn_min,1),valn),
其中,f1~fn默认是曝光强度依次递减,f1曝光最强,fn曝光最弱,th1_max~thn-1_max为权值阈值的上限,其值可配置,取值范围为0~2nbit-1(nbit为输入帧数据的比特宽度),大于上限权值阈值的帧数据对应的初始化权值为0,th2_min~thn_min为权值阈值的下限,其值可配置,取值范围为0~2nbit-1,小于下限权值阈值的帧数据对应的初始化权值为0,val1~valn为对应帧数据的权值,其值可配置,取值范围为0~255。
作为上述技术方案的进一步描述:
所述s03步骤中运动检测模块用于根据输入的n帧数据,先计算其差值,再对差值进行图像化处理,最终得到叠加到初始化权值上的权值修正量。
作为上述技术方案的进一步描述:
所述s03步骤中运动检测模块的处理方法包括以下步骤:
s1:差分计算;
s2:m*n腐蚀处理,取当前点及其周围m行n列的样点,取其中的最小值作为当前点的输出值;
s3:m*n膨胀处理,取当前点及其周围m行n列的样点,取其中的最大值作为当前点的输出值;
s4:s*s膨胀处理,取当前点及其周围s行s列的样点,取其中的最大值作为当前点的输出值。
作为上述技术方案的进一步描述:
所述步骤s1差分计算还包括以下步骤:
s1.1:计算短曝光帧分别于其他帧的绝对差值;
s1.2:根据f_mode取值,对n-1个绝对差值进行融合,生成参数dfabs,其中,f_mode位宽为n-1bit,其从高到低的比特值分别控制df1~dfn-1是否参与融合,若对应比特为1,则其控制的对应绝对差值参与融合,否则不参与融合
s1.3:将dfabs进行增益控制,再减去一个阈值,并将结果限制在[0,255]的区间内。
作为上述技术方案的进一步描述:
所述s04步骤中权值修正模块用于根据运动检测模块得到的偏移值量对各帧初始化的权值进行修正。
作为上述技术方案的进一步描述:
所述s04步骤中权值修正模块的修正方法包括以下步骤:
ss1:根据s_ctrl的值,利用offset_s对n帧的权值进行修正,s_ctrl为可配置参数,位宽为nbit,其n-1~0比特分别对应1~n帧的控制;
ss2:根据l_ctrl的值,利用offset_l对n帧的权值进行修正,l_ctrl为可配置参数,位宽为nbit,其n-1~0比特分别对应1~n帧的控制。
作为上述技术方案的进一步描述:
所述s05步骤中加权融合模块用于根据f_mode取值,将输入n帧图像,根据计算的权值将其融合成一帧图像输出,且加权融合模块计算表达式为:
其中,f_mode位宽为n-1bit,其从高到低的比特值分别控制f1~fn-1是否参与融合,若对应比特为1,则其控制的对应绝对差值参与融合,否则不参与融合,p1、p2、p3,…,pn为可配置值,表示在加权融合中对输入帧数据的增益控制,取值范围为0~63,比特位宽为6bit,默认值为16。
有益效果
本发明提供了一种多帧加权的宽动态图像处理方法。具备以下有益效果:
该多帧加权的宽动态图像处理方法利用几帧不同曝光强度的帧图像进行加权求和,可在不影响图像质量的前提下,补偿恢复图像中过亮区域和过暗区域看不见的图像细节信息,使过暗的区域以曝光强度较强的帧为主,使过亮的区域以曝光强度较弱的帧为主,从而使处理后的图像亮暗边界自然过渡。
附图说明
图1为本发明提出的一种多帧加权的宽动态图像处理方法的系统结构图;
图2为本发明中运动检测模块的结构图;
图3为本发明中腐蚀处理原理图;
图4为本发明中膨胀处理原理图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
参照图1-4,一种多帧加权的宽动态图像处理方法,包括以下步骤:
s01:将输入的n帧图像分别通过mxm滤波模块,对其进行简单的噪声消除和边界平滑作用;
s02:将均值滤波后的数据送入权值初始化模块,根据每帧对应的可配置权值阈值参数,对输入的帧进行权值初始化,赋予每帧初始的加权值;
s03:将均值滤波后的数据送入运动检测模块,根据各帧之间的差值计算加在各帧初始化权值上的权值偏移量;
s04:将各帧的初始化权值和权值偏移量送入权值修正模块,计算每帧图像的实际权值;
s05:将输入的n帧图像和其对应的权值送入加权融合模块,对各帧数据进行加权求和,并进行归一化,得到输出的帧图像。
s01步骤中mxm滤波模块用于对输入数据进行简单的降噪处理和边界平滑效果,使得后面计算的加权权值更准确,且mxm滤波模块处理的数学表达式为:
其中,h为mxm滤波的滤波系数,可根据滤波特性进行配置;fk为输入帧数据,fk’为滤波输出帧数据,k的取值为1~n;t是一个中间参数,取值为floor(m/2)。
mxm滤波模块中的m的值越小,则降噪效果一般,图像边界处的权值差别越大,边界过渡明显;m的值越大,降噪效果好,但实现成本高,在应用中可根据实际情况斟酌确定,默认值为3,,
s02步骤中权值初始化模块用于根据帧图像数据的取值赋予一个用于后面加权融合的初始权值,且权值初始化模块处理的数学表达式为:
其中,f1~fn默认是曝光强度依次递减,f1曝光最强,fn曝光最弱,th1_max~thn-1_max为权值阈值的上限,其值可配置,取值范围为0~2nbit-1(nbit为输入帧数据的比特宽度),大于上限权值阈值的帧数据对应的初始化权值为0,th2_min~thn_min为权值阈值的下限,其值可配置,取值范围为0~2nbit-1,小于下限权值阈值的帧数据对应的初始化权值为0,val1~valn为对应帧数据的权值,其值可配置,取值范围为0~255。
s03步骤中运动检测模块用于根据输入的n帧数据,先计算其差值,再对差值进行图像化处理,最终得到叠加到初始化权值上的权值修正量。
s03步骤中运动检测模块的处理方法包括以下步骤:
s1:差分计算;
s2:m*n腐蚀处理,取当前点及其周围m行n列的样点,取其中的最小值作为当前点的输出值;
m*n腐蚀处理的m和n的取值由效果和实现成本决定,若取值太小,则不能精确的识别出过亮和过暗区域的边界,若取值太大,则实现太复杂成本较高,可根据实际情况确定;
s3:m*n膨胀处理,取当前点及其周围m行n列的样点,取其中的最大值作为当前点的输出值;
s4:s*s膨胀处理,取当前点及其周围s行s列的样点,取其中的最大值作为当前点的输出值,
s*s膨胀处理是取当前点及其周围s行s列的样点,取其中的最大值作为当前点的输出值。s的取值由效果和实现成本决定,若取值太小,则不能精确的识别出过亮和过暗区域的边界,若取值太大,则实现太复杂成本较高,可根据实际情况确定。
步骤s1差分计算还包括以下步骤:
s1.1:计算短曝光帧分别于其他帧的绝对差值,绝对差值的计算公式为:
s1.2:根据f_mode取值,对n-1个绝对差值进行融合,生成参数dfabs,其中,f_mode位宽为n-1bit,其从高到低的比特值分别控制df1~dfn-1是否参与融合,若对应比特为1,则其控制的对应绝对差值参与融合,否则不参与融合,参数dfabs的计算公式为:
s1.3:将dfabs进行增益控制,再减去一个阈值,并将结果限制在[0,255]的区间内,dfabs进行增益控制表达式为:
df=min(max((dfabs>>n0)-motion_thr,0),255),其中,a>>b表示a右移bbit;n0为可配置参数,取值范围为0~n-1;motion_thr为可配置参数,取值范围0~255,比特位宽为8。
s04步骤中权值修正模块用于根据运动检测模块得到的偏移值量对各帧初始化的权值进行修正。
s04步骤中权值修正模块的修正方法包括以下步骤:
ss1:根据s_ctrl的值,利用offset_s对n帧的权值进行修正,s_ctrl为可配置参数,位宽为nbit,其n-1~0比特分别对应1~n帧的控制;
计算表达式为:
ss2:根据l_ctrl的值,利用offset_l对n帧的权值进行修正,l_ctrl为可配置参数,位宽为nbit,其n-1~0比特分别对应1~n帧的控制,计算公式为:
计算表达式为:
s05步骤中加权融合模块用于根据f_mode取值,将输入n帧图像,根据计算的权值将其融合成一帧图像输出,且加权融合模块计算表达式为:
其中,f_mode位宽为n-1bit,其从高到低的比特值分别控制f1~fn-1是否参与融合,若对应比特为1,则其控制的对应绝对差值参与融合,否则不参与融合,p1、p2、p3,…,pn为可配置值,表示在加权融合中对输入帧数据的增益控制,取值范围为0~63,比特位宽为6bit,默认值为16。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。