本发明涉及图像处理领域,特别涉及一种信号灯的光晕抑制方法及装置。
背景技术
在对红灯、绿灯等信号灯进行图像采集的场景中,有时因为天气或者镜头等原因,采集到的图像中信号灯外围的光晕可能会过大,从而影响观看者分辨实际信号灯的形状。因此,为了保证观看者能够准确确定信号灯信息,需要对图像中的信号灯外围进行光晕抑制,光晕抑制是指对光晕进行减弱或者去除。
相关技术中以信号灯为红灯为例,提出了一种信号灯的光晕抑制方法,具体为:确定用户在图像中红灯外围绘制的需要进行光晕抑制的目标区域;分别对目标区域中的红色、黄色以及白色像素点进行统计,得到红黄白三色像素点数量之间的比例,根据该比例确定光晕区域的曝光程度;根据确定的曝光程度设置光晕抑制强度值;在hsv(huesaturationvalue,色调饱和度亮度)域将色调h分量在0-30以及300-360范围内的像素点确定为有效的红色像素点,对有效的红色像素点在rgb域(redgreenblue,红绿蓝)进行光晕抑制。其中,对有效的红色像素点在rgb域进行光晕抑制包括:对于每个有效的红色像素点,将其绿色通道g值和蓝色通道b值进行比较,将较大值赋值给绿色通道g,然后将设置的光晕抑制强度值乘以此时的绿色通道g值,并在0到原始红色通道r值之间做一次限幅,把限幅后的值赋给r,以减低红色通道r值,从而完成红色光晕的减弱甚至滤除。
但是上述信号灯的光晕抑制方法中,对于整个目标区域采用了相同的光晕抑制处理方式,这样会导致目标区域的成像与周围的成像差距较大,影响图像质量。
技术实现要素:
为了解决现有技术存在的目标区域的成像与周围的成像差距较大,影响图像质量的问题,本发明实施例提供了一种信号灯的光晕抑制方法及装置。所述技术方案如下:
第一方面,提供了一种信号灯的光晕抑制方法,所述方法包括:
确定图像中信号灯所在的信号灯区域以及包括所述信号灯区域和所述信号灯区域外围的光晕区域的目标区域;
基于所述目标区域中的每个像素点与所述信号灯区域的中心点之间的距离,确定所述目标区域中每个像素点的光晕抑制权重;
基于所述目标区域中每个像素点的光晕抑制权重,对所述目标区域中的每个像素点进行光晕抑制处理。
可选地,所述基于所述目标区域中的每个像素点与所述信号灯区域的中心点之间的距离,确定所述目标区域中每个像素点的光晕抑制权重,包括:
获取预先设置的最大光晕抑制权重;
将所述最大光晕抑制权重作为中心区域中每个像素点的光晕抑制权重,所述中心区域是指所述目标区域中与所述信号灯区域的中心点之间的距离小于或等于预设距离的区域,所述预设距离小于所述目标区域与所述中心点之间的最大距离;
基于所述目标区域与所述中心点之间的最大距离与所述预设距离之间的差值以及所述最大光晕抑制权重,确定权重步长;
基于过渡区域中每个像素点与所述中心点之间的距离以及所述权重步长,确定所述过渡区域中每个像素点的光晕抑制权重,所述过渡区域是指所述目标区域中与所述中心点之间的距离大于所述预设距离的区域。
可选地,所述基于所述目标区域中每个像素点的光晕抑制权重,对所述目标区域中的每个像素点进行光晕抑制处理,包括:
基于预设光晕抑制强度,在亮度色差yuv域对所述目标区域中的每个像素点进行光晕抑制处理;
基于所述目标区域中每个像素点的光晕抑制权重,将每个像素点光晕抑制处理前的像素值和光晕抑制处理后的像素值进行加权处理,得到每个像素点的像素值。
可选地,所述对所述目标区域中的每个像素点进行光晕抑制处理之前,还包括:
基于所述信号灯区域内信号灯的形状,从所述目标区域中确定与所述信号灯区域的边界相距预设数目个像素点的光晕饱和度计算区域;
统计所述光晕饱和度计算区域中每个像素点在色调饱和度亮度hsv域内的色调h值和饱和度s值;
从所述光晕饱和度计算区域包括的像素点中选取h值满足第一预设条件且s值满足第二预设条件的与所述信号灯的颜色对应的目标像素点;
统计选取的目标像素点的h均值和s均值;
相应地,所述对所述目标区域中的每个像素点进行光晕抑制处理之后,还包括:
基于所述h均值和s均值,对所述信号灯区域的颜色进行校正。
可选地,所述基于所述h均值和s均值,对所述信号灯区域的颜色进行校正,包括:
确定所述信号灯区域的亮度阈值;
从所述信号灯区域中选取亮度值大于所述亮度阈值的像素点;
将选取的像素点的像素值从yuv域转换为hsv域,得到所述选取的像素点的h值和s值;
将所述选取的像素点的h值替换为所述h均值,并将所述选取的像素点的s值替换为所述s均值。
可选地,所述确定所述信号灯区域的亮度阈值,包括:
确定所述信号灯区域内每个像素点的亮度值;
按照亮度值的大小关系,对所述信号灯区域内的像素点进行排序;
基于排序结果中排序位置为n的像素点的亮度值,确定所述亮度阈值,所述n为正整数。
第二方面,提供了一种信号灯的光晕抑制装置,所述装置包括:
第一确定模块,用于确定图像中信号灯所在的信号灯区域以及包括所述信号灯区域和所述信号灯区域外围的光晕区域的目标区域;
第二确定模块,用于基于所述目标区域中的每个像素点与所述信号灯区域的中心点之间的距离,确定所述目标区域中每个像素点的光晕抑制权重;
光晕抑制模块,用于基于所述目标区域中每个像素点的光晕抑制权重,对所述目标区域中的每个像素点进行光晕抑制处理。
可选地,所述第二确定模块包括:
获取单元,用于获取预先设置的最大光晕抑制权重;
第一权重设置单元,用于将所述最大光晕抑制权重作为中心区域中每个像素点的光晕抑制权重,所述中心区域是指所述目标区域中与所述信号灯区域的中心点之间的距离小于或等于预设距离的区域,所述预设距离小于所述目标区域与所述中心点之间的最大距离;
第一确定单元,用于基于所述目标区域与所述中心点之间的最大距离与所述预设距离之间的差值以及所述最大光晕抑制权重,确定权重步长;
第二权重设置单元,用于基于过渡区域中每个像素点与所述中心点之间的距离以及所述权重步长,确定所述过渡区域中每个像素点的光晕抑制权重,所述过渡区域是指所述目标区域中与所述中心点之间的距离大于所述预设距离的区域。
可选地,所述光晕抑制模块包括:
光晕抑制单元,用于基于预设光晕抑制强度,在亮度色差yuv域对所述目标区域中的每个像素点进行光晕抑制处理;
加权处理单元,用于基于所述目标区域中每个像素点的光晕抑制权重,将每个像素点光晕抑制处理前的像素值和光晕抑制处理后的像素值进行加权处理,得到每个像素点的像素值。
可选地,所述装置还包括:
第三确定模块,基于所述信号灯区域内信号灯的形状,从所述目标区域中确定与所述信号灯区域的边界相距预设数目个像素点的光晕饱和度计算区域;
第一统计模块,用于统计所述光晕饱和度计算区域中每个像素点在色调饱和度亮度hsv域内的色调h值和饱和度s值;
选取模块,用于从所述光晕饱和度计算区域包括的像素点中选取h值满足第一预设条件且s值满足第二预设条件的与所述信号灯的颜色对应的目标像素点;
第二统计模块,用于统计选取的目标像素点的h均值和s均值;
信号灯校正模块,用于基于所述h均值和s均值,对所述信号灯区域的颜色进行校正。
可选地,所述信号灯校正模块包括:
第二确定单元,用于确定所述信号灯区域的亮度阈值;
选取单元,用于从所述信号灯区域中选取亮度值大于所述亮度阈值的像素点;
转换单元,用于将选取的像素点的像素值从yuv域转换为hsv域,得到所述选取的像素点的h值和s值;
校正单元,用于将所述选取的像素点的h值替换为所述h均值,并将所述选取的像素点的s值替换为所述s均值。
可选地,所述第二确定单元用于:
确定所述信号灯区域内每个像素点的亮度值;
按照亮度值的大小关系,对所述信号灯区域内的像素点进行排序;
基于排序结果中排序位置为n的像素点的亮度值,确定所述亮度阈值,所述n为正整数。
本发明实施例提供的技术方案可以包括以下有益效果:
本发明实施例中,可以先基于目标区域中的每个像素点与信号灯区域的中心点之间的距离确定每个像素点的光晕抑制权重,进而基于每个像素点的光晕抑制权重对该目标区域中的每个像素点进行光晕抑制处理。如此,可以通过不同的光晕抑制权重,按照距信号灯区域的中心点之间的距离实现不同程度的光晕抑制处理,从而保证目标区域的成像与周围的成像能够进行自然过渡,使得光晕抑制处理后的图像看上去更加自然,提高了图像质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种光晕抑制方法流程图;
图1b是本发明实施例提供的一种信号灯区域和目标区域的示意图;
图1c是本发明实施例提供的一种目标区域中光晕抑制权重的设置示意图;
图2是本发明实施例提供的一种信号灯的光晕抑制方法流程图;
图3a是本发明实施例提供的一种信号灯的光晕抑制装置的结构示意图;
图3b是本发明实施例提供的一种第二确定模块320的结构示意图;
图3c是本发明实施例提供的一种光晕抑制模块330的结构示意图;
图3d是本发明实施例提供的另一种信号灯的光晕抑制装置的结构示意图;
图3e是本发明实施例提供的一种信号灯校正模块380的结构示意图;
图4是本发明实施例提供的一种信号灯的光晕抑制装置400的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
首先,对本发明实施例涉及的名词进行解释。
光晕抑制:对图像中信号灯的光晕进行减弱或者去除。
信号灯颜色校正:在对信号灯进行图像采集的场景中,比如电子交通警察应用中,由于信号灯在傍晚和晚上容易过渡曝光且颜色容易发生变化,因此采集到的图像中信号灯的颜色可能会失真,从而影响取证。比如红灯在傍晚和晚上容易过渡曝光或发黄,使得采集到的图像中的红灯的颜色可能会发白或发黄。为此,需要对图像中信号灯的颜色进行校正,将其校正为符合人眼观察效果的实际信号灯的颜色,比如需要将红灯的颜色校正为符合人眼观察效果的红色。
权重掩膜:设置有待覆盖区域中每个像素点的光晕抑制权重的图像掩膜,将其覆盖至待覆盖区域后,可以使得覆盖区域实现不同的光晕抑制处理。
其次,对本发明实施例的应用场景进行介绍。
本发明实施例应用于对信号灯进行图像采集后,对采集到的图像进行去除误差因素的处理,以获得更为准确的信号灯信息的场景。实际应用中,可以应用于电子交通警察应用、视频监控等场景中。
最后,对本发明实施例的实施环境予以介绍。
本发明实施例提供的方法应用于终端中,该终端具有图像处理功能,具体可以为计算机、智能手机、平板电脑、笔记本电脑、智能摄像头、数字摄像机等,本发明实施例对此不做限定。进一步的,该终端可以通过图像处理软件显示图像,并对图像中信号灯的光晕进行光晕抑制以及进行信号灯颜色校正。
图1a是本发明实施例提供的一种信号灯的光晕抑制方法流程图,如图1a所示,该方法包括:
步骤101:确定图像中信号灯所在的信号灯区域以及包括该信号灯区域和该信号灯区域外围的光晕区域的目标区域。
其中,该信号灯可以为红灯、黄灯、绿灯等信号灯,比如十字路口的交通信号灯,当然也可以为其他颜色的信号灯,本发明实施例对该信号灯的颜色不做限定。
其中,该图像可以为终端采集的图像、预先存储的图像或者其他设备向其发送的图像等,本发明实施例对该图像的获取方式不做限定。另外,该图像可以为照片形式的图像,也可以为从视频中的采集的视频帧图像,本发明实施例对该图像的格式也不做限定。
示例的,在电子交通警察应用中,安装在交通信号灯周围的监控摄像头可以将采集的监控视频发送给监控中心,由监控中心的终端对该监控视频中特定的视频帧图像进行处理。
本发明实施例对确定图像中的信号灯区域和目标区域的方式不做限定。实际应用中,可以采用特定的检测算法对图像中信号灯所在的位置进行检测得到信号灯区域;或者直接获取输入的已经检测到信号灯区域信息;或者采用特定的检测算法对图像中信号灯光晕所在位置进行检测得到目标区域;或者由用户沿信号灯光晕外围进行绘制,将用户绘制的区域确定为目标区域;或者由用户配置光晕的大小范围,根据配置的光晕大小范围确定目标区域等。
示例的,终端可以获取前端设备或者前端软件输入的信号灯区域信息,以及用户配置的目标区域信息。其中,该信号灯区域信息和目标区域信息均可以为yuv(luminancechrominance,亮度色度)域的数据。
其中,该信号灯区域可以为由信号灯的真实边界组成的区域,也可以为包含信号灯且范围大于信号灯边界的多边形区域,比如可以为信号灯所在矩形区域。图1b是本发明实施例提供的一种信号灯区域和目标区域的示意图,如图1b所示,信号灯1为圆盘灯,信号灯区域2为信号灯1所在的矩形区域,目标区域3为包含信号灯区域和光晕区域的圆形区域。
本发明实施例提供的方法可以用于对预设颜色的信号灯进行处理,相应地,确定图像中信号灯所在的信号灯区域包括以下步骤1)-3):
1)获取输入的信号灯所在的位置区域信息。
其中,该位置区域信息为前端设备或者前端软件对信号灯所在位置进行检测并向该终端输入得到,且该位置区域信息可以为yuv域的数据。而且,该位置区域可以为由信号灯的真实边界组成的区域,也可以为包含信号灯且范围大于信号灯边界的多边形区域。
2)统计该位置区域信息指示的位置区域中所有像素点的r(red,红色)分量均值、g(green,绿色)分量均值和b(blue,蓝色)分量均值。
以该位置区域为信号灯所在的矩形区域为例,则可以先确定该矩形区域内每个像素点的r分量、g分量和b分量,进而计算所有像素点的r分量均值、g分量均值和b分量均值。
另外,当该位置区域信息为yuv域数据时,还可以先将该位置区域的像素值从yuv域转换为rgb域,得到每个像素点的r分量、g分量和b分量。
3)当基于统计的r分量均值、g分量均值和b分量均值确定该位置区域内的信号灯为预设颜色的信号灯时,将该位置区域确定为该信号灯区域。
其中,该预设颜色的信号灯可以为红灯、黄灯、绿灯等,本发明实施例对待处理的信号灯的颜色不做限定。
以该预设颜色的信号灯为红灯为例,可以在统计的r分量均值大于g分量均值且r分量均值大于b分量均值时,确定该位置区域内的信号灯为红灯,进而将该位置区域确定为待处理的信号灯区域。也即是,只有当r分量均值大于g分量均值且大于b分量均值时,才判定该位置区域为红灯区域,并对该位置区域进行下述处理,否则判定该位置区域不是红灯区域,而是绿灯区域或黄灯区域等其他区域,且停止对该位置区域进行处理。
需要说明的是,本发明实施例仅是以红灯为例进行说明,而实际应用中还可以将该预设颜色的信号灯设置为其他颜色的信号灯。相应地,在确定其他颜色的信号灯所在的区域时,本领域技术人员可以按照上述确定红灯区域的方法,根据信号灯颜色的不同对该方法进行相应调整和变换,本发明实施例确定其他颜色的信号灯所在区域的具体方式不再赘述。
步骤102:基于该目标区域中的每个像素点与该信号灯区域的中心点之间的距离,确定该目标区域中每个像素点的光晕抑制权重。
需要说明的是,每个像素点的光晕抑制权重是指每个像素点的原始像素值和光晕抑制处理后的像素值的混合系数,根据该光晕抑制权重可以将光晕抑制处理前后的图像进行混合操作,使得信号灯光晕的边缘在光晕抑制处理后有一个平滑过渡。
其中,步骤102可以包括如下步骤1)-4):
1)获取预先设置的最大光晕抑制权重。
其中,该最大光晕抑制权重可以由终端默认设置,本发明实施例对该最大光晕抑制权重的具体数值不做限定。示例的,为了便于机器处理,可以将最大光晕抑制权重设置为255。
2)将最大光晕抑制权重作为中心区域中每个像素点的光晕抑制权重。
本发明实施例中,可以将目标区域划分成两部分,一部分为中心区域,即目标区域中与信号灯区域的中心点之间的距离小于或等于预设距离的区域,一部分为过渡区域,即目标区域中与该中心点之间的距离大于该预设距离的区域。
其中,该预设距离可以被设置为一个具体数值,也可以根据目标区域与该中心点之间的最大距离确定,例如,该预设距离可以为该最大距离的1/2、1/3等。
对于中心区域,可以进行正常的光晕抑制处理,对于过渡区域,可以根据距中心点的距离进行不同程度的光晕抑制处理。为了实现对中心区域进行正常的光晕抑制处理,可以将最大光晕抑制权重作为中心区域的光晕抑制权重。
示例的,参见图1c,目标区域10为以矩形的信号灯区域20为中心、半径为a的圆形区域,包括信号灯区域20和外围的光晕区域。则可以将以该信号灯区域20的中心点为中心、半径为a/2的圆形区域作为中心区域30,将目标区域10内中心区域30以外的环形区域作为过渡区域40,并将中心区域30中每个像素点的光晕抑制权重设置为最大光晕抑制权重255。
3)基于目标区域与该中心点之间的最大距离与预设距离之间的差值以及最大光晕抑制权重,确定权重步长。
具体地,可以确定目标区域与该中心点之间的最大距离与预设距离之间的差值,并确定最大光晕抑制权重和最小光晕抑制权重之间的总权重,将该总权重与该差值之间的比值确定为权重步长。
例如,为了便于机器计算,可以令最小光晕抑制权重为0,令最大光晕抑制权重为255,则0-255之间的总权重即为256。参见图1c,目标区域10与信号灯区域20的中心点之间的最大距离为a,预设距离为a/2,则该最大距离a与该预设距离a/2之间的差值也为a/2。若总权重为256,则权重步长即为512/a。
4)基于过渡区域中每个像素点与该中心点之间的距离以及该权重步长,确定该过渡区域中每个像素点的光晕抑制权重。
对于过渡区域中的像素点,需要按照距中心点的距离由近到远的顺序将其光晕抑制权重依次递减,从而保证光晕抑制程度依次递减,达到光晕区域与周围区域自然过渡的效果。
其中,基于过渡区域中每个像素点与该中心点之间的距离以及该权重步长,确定该过渡区域中每个像素点的光晕抑制权重可以包括:计算过渡区域中每个像素点与该目标区域中距该中心点距离最大的像素点之间的距离,将计算的处理与该权重步长进行相乘,得到每个像素点的光晕抑制权重。
参见图1c,假设目标区域10的半径a为20,则基于过渡区域40中每个像素点距中心点的距离和权重步长,可以确定随着距中心点的距离变大,像素点的光晕抑制权重依次递减。
需要说明的是,本发明实施例仅是将目标区域分成中心区域和过渡区域,对中心区域统一设置光晕抑制权重,仅对过渡区域根据与中心点的距离和权重步长设置光晕抑制权重为例,而在另一实施例中,还可以对整个目标区域根据距离和权重步长设置光晕抑制权重,也即是,基于该目标区域中每个像素点与该中心点之间的距离以及权重步长,确定该目标区域中每个像素点的光晕抑制权重。
步骤103:基于该目标区域中每个像素点的光晕抑制权重,对该目标区域中的每个像素点进行光晕抑制处理。
其中,步骤103可以包括如下步骤1)-2):
1)基于预设光晕抑制强度,在yuv域对该目标区域中的每个像素点进行光晕抑制处理。
该预设光晕抑制强度用于指示光晕抑制处理的强度,且该预设光晕抑制强度可以由终端默认设置,也可以由用户设置,本发明实施例对此不做限定。
其中,可以先将光晕抑制强度换算为yuv域的光晕抑制系数,然后在yuv域内,将每个像素点的y(luminance,亮度)值保持不变,将每个像素点的u(chrominance,色度)值转换为标准u值,将标准u值除以该光晕抑制系数,得到光晕抑制处理后的u值,并将每个像素点的v(chrominance,色度)值转换为标准v值,将标准v值除以该光晕抑制系数,得到光晕抑制处理后的v值。
例如,可以对目标区域逐像素进行遍历,将每个像素点的y值保持不变,u和v值按照如下公式(1)进行处理:
其中,u_val为光晕抑制处理后的u值,u_ori为光晕抑制处理前的u值,anti_halo_str为对光晕抑制强度进行换算得到的光晕抑制系数,v_val为光晕抑制处理后的v值,v_ori为光晕抑制处理前的v值。
2)基于该目标区域中每个像素点的光晕抑制权重,将每个像素点光晕抑制处理前的像素值和光晕抑制处理后的像素值进行加权处理,得到每个像素点的像素值。
实际应用中,可以根据每个像素点的光晕抑制权重构造权重掩膜,通过在目标区域上覆盖该权重掩膜,实现将每个像素点光晕抑制处理前的像素值和光晕抑制处理后的像素值进行加权处理,得到每个像素点的像素值。
其中,每个像素点的像素值包括u值和v值,将每个像素点光晕抑制处理前的像素值和光晕抑制处理后的像素值进行加权处理,是指基于每个像素点的光晕抑制权重,将每个像素点光晕抑制处理前的u值和光晕抑制处理后的u值进行加权处理,得到加权处理后的u值,并将每个像素点光晕抑制处理前的v值和光晕抑制处理后的v值进行加权处理,得到加权处理后的v值。
其中,可以按照如下公式(2)对像素点(x,y)的光晕抑制处理前的像素值和光晕抑制处理后的像素值进行加权处理:
其中,u_out为加权处理后的u值,u_val为光晕抑制处理后的u值,u_ori为光晕抑制处理前的u值,mask(x,y)为像素点(x,y)的光晕抑制权重,mask(max)为最大光晕抑制权重,v_out为加权处理后的v值,v_val为光晕抑制处理后的v值,v_ori为光晕抑制处理前的v值。
通过上述加权处理后,目标区域中光晕抑制权重大的像素点的像素值将趋近于光晕抑制处理后的像素值,光晕抑制权重小的像素点的像素值将趋近于光晕抑制处理前的像素值,由此即可实现根据光晕抑制权重,对目标区域进行不同程度的光晕抑制处理,从而使得光晕抑制处理后的图像看上去更加自然。
而且,本发明实施例采用了在yuv域进行光晕抑制处理,相对于相关技术中在rgb域进行光晕抑制处理,首先计算量小,不需要将光晕区域的yuv域转换为rgb域进行处理,从而避免了大区域的颜色空间转换,而且保留了信号灯区域的整体亮度,提高了光晕抑制效果。
综上所述,本发明实施例中,可以先基于目标区域中的每个像素点与信号灯区域的中心点之间的距离确定每个像素点的光晕抑制权重,进而基于每个像素点的光晕抑制权重对该目标区域中的每个像素点进行光晕抑制处理。如此,可以通过不同的光晕抑制权重,按照距信号灯区域的中心点之间的距离实现不同程度的光晕抑制处理,从而保证目标区域的成像与周围的成像能够进行自然过渡,使得光晕抑制处理后的图像看上去更加自然,提高了图像质量。
在另一实施例中,在对目标区域进行光晕抑制处理之后,还可以对信号灯区域的颜色进行校正,以将信号灯区域的颜色校正为符合效果的实际信号灯的颜色。而为了保证校正后信号灯区域的颜色能够更加自然,本发明实施例中可以先计算信号灯区域的色调和饱和度,然后根据计算的色调和饱和度对信号灯区域进行校正。
下面将结合图2对信号灯颜色校正的具体过程进行详细介绍。图2是本发明实施例提供的另一种信号灯的光晕抑制方法流程图,如图2所示,该方法包括:
步骤201:确定图像中信号灯所在的信号灯区域以及包括该信号灯区域和该信号灯区域外围的光晕区域的目标区域。
其中,步骤201的具体实现过程可以参考上述步骤101的相关描述,此处不再赘述。
步骤202:基于该信号灯区域内信号灯的形状,从该目标区域中确定与该信号灯区域的边界相距预设数目个像素点的光晕饱和度计算区域。
从该目标区域中确定与该信号灯区域的边界相距预设数目个像素点的光晕饱和度计算区域,是为了确定信号灯区域边界周围较为明显的光晕区域。其中,该预设数目可以由终端默认设置,也可以由用户手动更改,示例的,该预设数目可以为5。
其中,根据信号灯区域内信号灯的形状的不同,从该目标区域中确定与该信号灯区域的边界相距预设数目个像素点的区域的方式也不同,具体可以包括以下两种方式:
第一种方式:当该信号灯区域内的信号灯的形状为第一形状时,从该信号灯区域的边界向内选取与该信号灯区域的边界相距预设数目个像素点的区域。其中,该第一形状的信号灯是指光晕朝内的信号灯,具体地,该第一形状的信号灯通常为数字灯或箭头灯等。
第二种方式:当该信号灯区域内的信号灯的形状为第二形状时,从该信号灯区域的边界向外选取与该信号灯区域的边界相距预设数目个像素点的区域。其中,该第二形状的信号灯是指光晕朝外的信号灯,具体地,该第二形状的信号灯通常为圆盘灯等。
步骤203:统计该光晕饱和度计算区域中每个像素点在hsv域内的h(hue,色调)值和s(saturation,饱和度)值。
步骤204:从该光晕饱和度计算区域包括的像素点中选取h值满足第一预设条件且s值满足第二预设条件的与该信号灯的颜色对应的目标像素点。
其中,该第一预设条件和第二预设条件用于限定所选择的像素点为与该信号灯的颜色对应的目标像素点。
以该信号灯的颜色为红色为例,该第一预设条件可以为h值在0-20或340-360范围内,该第二预设条件可以为s值大于70。当然,当该信号灯的颜色为其他颜色时,本领域技术人员也可以对该第一预设条件和该第二预设条件进行相应调整和变换,本发明实施例对其他颜色对应的第一预设条件和该第二预设条件不做详细赘述。
步骤205:统计选取的目标像素点的h均值和s均值。
步骤206:基于该目标区域中的每个像素点与该信号灯区域的中心点之间的距离,确定该目标区域中每个像素点的光晕抑制权重。
其中,步骤206的具体实现过程可以参考上述步骤102的相关描述,此处不再赘述。
步骤207:基于该目标区域中每个像素点的光晕抑制权重,对该目标区域中的每个像素点进行光晕抑制处理。
其中,步骤207的具体实现过程可以参考上述步骤103的相关描述,此处不再赘述。
步骤208:基于该h均值和该s均值,对该信号灯区域的颜色进行校正。
其中,基于该h均值和s均值,对该信号灯区域的颜色进行校正包括以下两种实现方式:
第一种实现方式:将该信号灯区域中每个像素点的h值替换为该h均值,并将每个像素点的s值替换为该s均值。
第二种实现方式:从信号灯区域中选取亮度满足亮度阈值的像素点,将该选取的像素点的h值替换为该h均值,并将该选取的像素点的s值替换为该s均值。
通过从信号灯区域中选取亮度满足亮度阈值的像素点,对选取的像素点的颜色进行校正,提高了信号灯校正的精确度。
具体地,上述第二种实现方式可以包括如下步骤1)-4):
1)确定该信号灯区域的亮度阈值。
其中,确定该信号灯区域的亮度阈值包括:确定该信号灯区域内每个像素点的亮度值;按照亮度值的大小关系,对该信号灯区域内的像素点进行排序;基于排序结果中排序位置为n的像素点的亮度值,确定该亮度阈值,该n为正整数。
其中,上述n可以根据该信号灯区域内像素点的数量和预设比例确定,比如可以基于排序结果确定排序位置为前80%的像素点的像素值,假设信号灯区域内像素点的数量为500,则该n即为500*80%=400,即第400个的像素点的亮度值。
实际应用中,可以统计该信号灯区域的直方图信息,该直方图信息包括将该信号灯区域内所有像素点的亮度值按照从小到大的顺序进行排列的信息,然后可以根据该直方图信息,选取排序位置为n的亮度值。比如,可以选取直方图中前80%所在直方图的bin值,也即是排序位置为前80%的像素值。
其中,可以根据该信号灯区域的信号灯是否为一体灯,基于排序结果中排序位置为n的像素点的亮度值,确定该亮度阈值。当该信号灯区域的信号灯是一体灯时,将排序结果中排序位置为n的像素点的亮度值确定为该亮度阈值。当信号灯区域的信号灯不是一体灯时,则将该图像的信号灯区域中排序位置为n的像素点的亮度值与该图像相邻的预设数目帧图像中排序位置为n的像素点的亮度值进行求平均值计算,将得到的均值作为该亮度阈值。其中,该预设数目可以为8、9等。
需要说明的是,一体灯是指可以进行形状变换的信号灯,比如有时可以作为数字灯,有时可以作为箭头灯的信号灯。由于一体灯会进行形状变换,因此亮度值的差异很大,无需进行求平均值计算。而对于不是一体灯的信号灯来说,由于其亮度值的差异一般不会很大,因此为了减小异常因素引起的误差,提高精确度,可以将该图像的亮度值和相邻图像帧的亮度值进行求平均值计算,将均值确定为该亮度阈值。
2)从该信号灯区域中选取亮度值大于该亮度阈值的像素点。
也即是,可以对信号灯区域中每个像素点的亮度值进行逐像素判断,对于亮度值大于该亮度阈值的像素点才会进行下述校正处理,对于亮度值小于或等于该亮度阈值的像素点则不进行校正处理。
3)将选取的像素点的像素值从yuv域转换为hsv域,得到该选取的像素点的h值和s值。
4)将该选取的像素点的h值替换为该h均值,并将该选取的像素点的s值替换为该s均值。
实际应用中,将选取的像素点的像素值从yuv域转换为hsv域,可以分别得到该选取的像素点的h值、s值和v值,在对该选取的像素点进行校正处理时,可以令该像素点的v值不变,将上述步骤205中得到的h均值赋值给该像素点的h值,并将上述步骤205中得到的v均值赋值给该像素点的v值,从而完成对信号灯区域颜色的校正。
需要说明的是,本发明实施例仅是以先对目标区域进行光晕抑制处理,再对信号灯区域的颜色进行校正为例进行说明,而在其他实施例中,也可以不对目标区域进行光晕抑制,直接对信号灯区域的颜色进行校正,也即是不执行上述步骤206-207,本发明实施例对此不做限定。
相关技术中对信号灯区域的颜色进行校正时,都是采用预先设置的单一的颜色对信号灯区域进行描色,比如对红灯区域的颜色进行校正时,通常都是采用预先设置的单一的红色对红灯区域进行描红,但是这种预先设置的颜色一般比较不自然,导致校正后的信号灯区域看起来也会比较不自然,校正效果较差。而本发明实施例中,则可以先计算信号灯周围光晕区域内的h均值和s均值,然后基于该h均值和s均值,对该信号灯区域的颜色进行校正,这样就保证了颜色校正后的自然性,提高了信号灯颜色的校正效果。
图3a是本发明实施例提供的一种信号灯的光晕抑制装置的结构示意图,如图3a所示,该装置包括:
第一确定模块310,用于确定图像中信号灯所在的信号灯区域以及包括该信号灯区域和该信号灯区域外围的光晕区域的目标区域;
第二确定模块320,用于基于该目标区域中的每个像素点与该信号灯区域的中心点之间的距离,确定该目标区域中每个像素点的光晕抑制权重;
光晕抑制模块330,用于基于该目标区域中每个像素点的光晕抑制权重,对该目标区域中的每个像素点进行光晕抑制处理。
本发明实施例中,可以先基于目标区域飞中的每个像素点与信号灯区域的中心点之间的距离确定每个像素点的光晕抑制权重,进而基于每个像素点的光晕抑制权重对该目标区域中的每个像素点进行光晕抑制处理。如此,可以通过不同的光晕抑制权重,按照距信号灯区域的中心点之间的距离实现不同程度的光晕抑制处理,从而保证目标区域的成像与周围的成像能够进行自然过渡,使得光晕抑制处理后的图像看上去更加自然,提高了图像质量。
可选地,参见图3b,该第二确定模块320包括:
获取单元321,用于获取预先设置的最大光晕抑制权重;
第一权重设置单元322,用于将该最大光晕抑制权重作为中心区域中每个像素点的光晕抑制权重,该中心区域是指该目标区域中与该信号灯区域的中心点之间的距离小于或等于预设距离的区域,该预设距离小于该目标区域与该中心点之间的最大距离;
第一确定单元323,用于基于目标区域与该中心点之间的最大距离与预设距离之间的差值以及最大光晕抑制权重,确定权重步长;
第二权重设置单元324,用于基于过渡区域中每个像素点与该中心点之间的距离以及该权重步长,确定该过渡区域中每个像素点的光晕抑制权重,该过渡区域是指该目标区域中与该中心点之间的距离大于该预设距离的区域。
可选地,参见图3c,该光晕抑制模块330包括:
光晕抑制单元331,用于基于预设光晕抑制强度,在亮度色差yuv域对该目标区域中的每个像素点进行光晕抑制处理;
加权处理单元332,用于基于该目标区域中每个像素点的光晕抑制权重,将每个像素点光晕抑制处理前的像素值和光晕抑制处理后的像素值进行加权处理,得到每个像素点的像素值。
可选地,参见图3d,该装置还包括:
第三确定模块340,基于该信号灯区域内信号灯的形状,从该目标区域中确定与该信号灯区域的边界相距预设数目个像素点的光晕饱和度计算区域;
第一统计模块350,用于统计该光晕饱和度计算区域中每个像素点在色调饱和度亮度hsv域内的色调h值和饱和度s值;
选取模块360,用于从该光晕饱和度计算区域包括的像素点中选取h值满足第一预设条件且s值满足第二预设条件的与所述信号灯的颜色对应的目标像素点;
第二统计模块370,用于统计选取的目标像素点的h均值和s均值;
信号灯校正模块380,用于基于该h均值和s均值,对该信号灯区域的颜色进行校正。
可选地,参见图3e,该信号灯校正模块380包括:
第二确定单元381,用于确定该信号灯区域的亮度阈值;
选取单元382,用于从该信号灯区域中选取亮度值大于该亮度阈值的像素点;
转换单元383,用于将选取的像素点的像素值从yuv域转换为hsv域,得到该选取的像素点的h值和s值;
校正单元384,用于将该选取的像素点的h值替换为该h均值,并将该选取的像素点的s值替换为该s均值。
可选地,该第二确定单元381用于:
确定该信号灯区域内每个像素点的亮度值;
按照亮度值的大小关系,对该信号灯区域内的像素点进行排序;
基于排序结果中排序位置为n的像素点的亮度值,确定该亮度阈值,该n为正整数。
需要说明的是:上述实施例提供的信号灯的光晕抑制装置在对信号灯进行光晕抑制处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的信号灯的光晕抑制装置与信号灯的光晕抑制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4是本发明实施例提供的一种信号灯的光晕抑制装置400的结构示意图。例如,装置400可以为终端,具体可以为移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理,智能摄像头,数字摄像机等。
参照图4,装置400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件408,音频组件410,输入/输出(i/o)的接口412,传感器组件414,以及通信组件416。
处理组件402通常控制装置400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
存储器404被配置为存储各种类型的数据以支持在装置400的操作。这些数据的示例包括用于在装置400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
电源组件406为装置400的各种组件提供电源。电源组件406可以包括电源管理系统,一个或多个电源,及其他与为装置400生成、管理和分配电源相关联的组件。
多媒体组件408包括在所述装置400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当装置400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(mic),当装置400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
i/o接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件414包括一个或多个传感器,用于为装置400提供各个方面的状态评估。例如,传感器组件414可以检测到装置400的打开/关闭状态,组件的相对定位,例如所述组件为装置400的显示器和小键盘,传感器组件414还可以检测装置400或装置400一个组件的位置改变,用户与装置400接触的存在或不存在,装置400方位或加速/减速和装置400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件416被配置为便于装置400和其他设备之间有线或无线方式的通信。装置400可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件416还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
在示例性实施例中,装置400可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述图1a或图2所示实施例提供的方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由装置400的处理器420执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置400的处理器执行时,使得装置400能够执行上述图1a或图2所示实施例提供的方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。