发明内容
为克服相关技术中存在的问题,本公开提供一种基于实时流传输协议的数据发送、接收方法及相应装置。
根据本公开实施例的第一方面,提供一种消除图片中漏光现象的方法,包括:
根据暗像素区域中各个暗像素的灰度,确定暗像素区域中的漏光区域的起始列和结束列;
确定所述起始列、结束列以及二者之间的像素在有效信息采集区域中构成的区域为待定漏光区域,根据所述待定漏光区域和所述待定漏光区域周边的像素之间的灰度的关联,调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度。
结合第一方面,在第一方面第一种可能的实现方式中,所述根据暗像素区域中各个暗像素的灰度,确定暗像素区域中的漏光区域的起始列和结束列,包括:
计算所述暗像素区域中每列暗像素的第一均值,并计算所述暗像素区域中所有暗像素的第二均值;
根据所述第二均值,获取漏光阈值,其中,所述漏光阈值为所述第二均值的M倍,M为预设的大于零的数值;
将每列暗像素的所述第一均值依次与所述漏光阈值相比较,并确定第一均值大于所述漏光阈值的列为待定列;
若连续的待定列的列数大于预设的第一阈值,则确定所述连续的待定列在暗像素区域中所占的区域为漏光区域,并确定所述连续的待定列的起始列为所述漏光区域的起始列,所述连续的待定列的结束列为所述漏光区域的结束列。
结合第一方面,在第一方面第二种可能的实现方式中,所述根据所述待定漏光区域和所述待定漏光区域周边的像素之间的灰度的关联,调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度,包括:
滑动窗口腐蚀方法和频谱合成方法。
结合第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,所述消除图片中漏光现象的方法还包括:
根据所述暗像素区域中的漏光区域的起始列和结束列,获取所述漏光区域在所述暗像素区域中的区域宽度,其中,所述区域宽度为所述漏光区域在所述暗像素区域中所占的列数;
将所述区域宽度与预设的宽度阈值相比较,若所述区域宽度不大于所述宽度阈值,则确定调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度的方法为滑动窗口腐蚀方法,若所述区域宽度大于所述宽度阈值,则确定调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度的方法为频谱合成方法。
结合第一方面第二种可能的实现方式,在第一方面第四种可能的实现方式中,所述滑动窗口腐蚀方法包括:
51)在有效信息采集区域中存在灰度未调节的像素行时,任选所述有效信息采集区域中灰度未调节的一行像素为当前行,并确定所述当前行的起始列之前的N列像素构建的区域为滑动窗口,其中,N为预设的大于2的整数;
52)确定所述滑动窗口中的目标像素输出的颜色分量为目标颜色分量,比较所述滑动窗口中输出所述目标颜色分量的各个像素的灰度,获取其中的最小值,其中,若N为奇数,所述目标像素为所述滑动窗口中的中间像素,若N为偶数,所述目标像素为所述滑动窗口中的第N/2个像素;
53)将所述目标像素的灰度调节为所述最小值;
54)将所述滑动窗口构建的区域向所述结束列的方向推动一个像素,并返回执行步骤52)的操作,直到所述滑动窗口在滑动方向上的最后一个像素为所述结束列中的像素,则返回执行步骤51)的操作。
结合第一方面第二种可能的实现方式,在第一方面第五种可能的实现方式中,所述滑动窗口腐蚀方法包括:
61)在有效信息采集区域中存在灰度未调节的像素行时,任选所述有效信息采集区域中灰度未调节的一行像素为当前行,并确定所述当前行的起始列之前的N列像素构建的区域为滑动窗口,其中,N为预设的大于2的整数;
62)确定所述滑动窗口中的目标像素输出的颜色分量为目标颜色分量,获取所述滑动窗口中,输出所述目标颜色分量的各个像素的灰度,并在去除所述各个像素的灰度中的最大值后,计算剩余灰度的平均值,其中,若N为奇数,所述目标像素为所述滑动窗口中的中间像素,若N为偶数,所述目标像素为所述滑动窗口中的第N/2个像素;
63)将所述目标像素的灰度调节为所述剩余灰度的平均值;
64)将所述滑动窗口构建的区域向所述结束列的方向推动一个像素,并返回执行步骤62)的操作,直到所述滑动窗口在滑动方向上的最后一个像素为所述结束列中的像素,则返回执行步骤61)的操作。
结合第一方面第二种可能的实现方式,在第一方面第六种可能的实现方式中,所述频谱合成方法包括:
设定所述待定漏光区域,以及与所述待定漏光区域两侧邻接的区域为处理区域,其中,与所述待定漏光区域一侧邻接的H列区域为第一邻接区域,另一侧邻接的H列区域为第二邻接区域,对所述处理区域中各个像素的灰度进行垂直方向的高通滤波,获取所述各个像素灰度的高频分量,其中,H为大于2的整数;
分别将所述第一邻接区域和第二邻接区域中各个像素的灰度减去该像素灰度的高频分量,获取各个像素灰度的低频分量;
分别获取所述第一邻接区域和第二邻接区域中各个像素灰度的低频分量的均值,并设定其中较小的均值为目标低频分量;
将所述处理区域中各个像素灰度的高频分量分别与所述目标低频分量相加,获取所述处理区域中各个像素的目标灰度;
将所述处理区域中各个像素的灰度调节至对应的目标灰度。
根据本公开实施例的第二方面,提供一种消除图片中漏光现象的装置,包括:
确定模块,用于根据暗像素区域中各个暗像素的灰度,确定暗像素区域中的漏光区域的起始列和结束列;
调节模块,用于确定所述起始列、结束列以及二者之间的像素在有效信息采集区域中构成的区域为待定漏光区域,根据所述待定漏光区域和所述待定漏光区域周边的像素之间的灰度的关联,调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度。
结合第二方面,在第二方面第一种可能的实现方式中,所述确定模块包括:
计算单元,用于计算所述暗像素区域中每列暗像素的第一均值,并计算所述暗像素区域中所有暗像素的第二均值;
漏光阈值获取单元,用于根据所述第二均值,获取漏光阈值,其中,所述漏光阈值为所述第二均值的M倍,M为预设的大于零的数值;
待定列确定单元,用于将每列暗像素的所述第一均值依次与所述漏光阈值相比较,并确定第一均值大于所述漏光阈值的列为待定列;
起始列和结束列确定单元,用于若连续的待定列的列数大于预设的第一阈值,则确定所述连续的待定列在暗像素区域中所占的区域为漏光区域,并确定所述连续的待定列的起始列为所述漏光区域的起始列,所述连续的待定列的结束列为所述漏光区域的结束列。
结合第二方面,在第二方面第二种可能的实现方式中,所述调节模块包括:
滑动窗口腐蚀单元和频谱合成单元。
结合第二方面第二种可能的实现方式,在第二方面第三种可能的实现方式中,所述消除图片中漏光现象的装置还包括:
区域宽度获取模块,用于根据所述暗像素区域中的漏光区域的起始列和结束列,获取所述漏光区域在所述暗像素区域中的区域宽度,其中,所述区域宽度为所述漏光区域在所述暗像素区域中所占的列数;
调节方法确定模块,用于将所述区域宽度与预设的宽度阈值相比较,若所述区域宽度不大于所述宽度阈值,则确定调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度的方法为滑动窗口腐蚀方法,若所述区域宽度大于所述宽度阈值,则确定调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度的方法为频谱合成方法。
结合第二方面第二种可能的实现方式,在第二方面第四种可能的实现方式中,所述滑动窗口腐蚀单元包括:
第一滑动窗口确定子单元,用于在有效信息采集区域中存在灰度未调节的像素行时,任选所述有效信息采集区域中灰度未调节的一行像素为当前行,并确定所述当前行的起始列之前的N列像素构建的区域为滑动窗口,其中,N为预设的大于2的整数;
灰度最小值获取子单元,用于确定所述滑动窗口中的目标像素输出的颜色分量为目标颜色分量,比较所述滑动窗口中输出所述目标颜色分量的各个像素的灰度,获取其中的最小值,其中,若N为奇数,所述目标像素为所述滑动窗口中的中间像素,若N为偶数,所述目标像素为所述滑动窗口中的第N/2个像素;
第一调节子单元,用于将所述目标像素的灰度调节为所述最小值;
第一推动子单元,用于将所述滑动窗口构建的区域向所述结束列的方向推动一个像素,并返回由所述灰度最小值获取子单元执行操作,直到所述滑动窗口在滑动方向上的最后一个像素为所述结束列中的像素,则返回由第一滑动窗口确定子单元执行操作。
结合第二方面第二种可能的实现方式,在第二方面第五种可能的实现方式中,所述滑动窗口腐蚀单元包括:
第二滑动窗口确定子单元,用于在有效信息采集区域中存在灰度未调节的像素行时,任选所述有效信息采集区域中灰度未调节的一行像素为当前行,并确定所述当前行的起始列之前的N列像素构建的区域为滑动窗口,其中,N为预设的大于2的整数;
灰度平均值获取子单元,用于确定所述滑动窗口中的目标像素输出的颜色分量为目标颜色分量,获取所述滑动窗口中,输出所述目标颜色分量的各个像素的灰度,并在去除所述各个像素的灰度中的最大值后,计算剩余灰度的平均值,其中,若N为奇数,所述目标像素为所述滑动窗口中的中间像素,若N为偶数,所述目标像素为所述滑动窗口中的第N/2个像素;
第二调节子单元,用于将所述目标像素的灰度调节为所述剩余灰度的平均值;
第二推动子单元,用于将所述滑动窗口构建的区域向所述结束列的方向推动一个像素,并返回由所述灰度平均值获取子单元执行操作,直到所述滑动窗口在滑动方向上的最后一个像素为所述结束列中的像素,则返回由第二滑动窗口确定子单元执行操作。
结合第二方面第二种可能的实现方式,在第二方面第六种可能的实现方式中,所述频谱合成单元包括:
高频分量获取子单元,用于设定所述待定漏光区域,以及与所述待定漏光区域两侧邻接的区域为处理区域,其中,与所述待定漏光区域一侧邻接的H列区域为第一邻接区域,另一侧邻接的H列区域为第二邻接区域,对所述处理区域中各个像素的灰度进行垂直方向的高通滤波,获取所述各个像素灰度的高频分量,其中,H为大于2的整数;
低频分量获取子单元,用于分别将所述第一邻接区域和第二邻接区域中各个像素的灰度减去该像素灰度的高频分量,获取各个像素灰度的低频分量;
目标低频分量获取子单元,用于分别获取所述第一邻接区域和第二邻接区域中各个像素灰度的低频分量的均值,并设定其中较小的均值为目标低频分量;
目标灰度获取子单元,用于将所述处理区域中各个像素灰度的高频分量分别与所述目标低频分量相加,获取所述处理区域中各个像素的目标灰度;
调节单元,用于将所述处理区域中各个像素的灰度调节至对应的目标灰度。
本公开的实施例提供的技术方案可以包括以下有益效果:
本申请公开的方案,首先获取漏光区域在暗像素区域中起始列和结束列,将所述起始列、结束列,以及所述起始列和结束列二者之间的像素作为待定漏光区域。在漏光区域发生抖动时,所述待定漏光区域和所述待定漏光区域周边都有可能为漏光区域。这种情况下,本申请根据所述待定漏光区域中的像素和所述待定漏光区域周边中的像素在灰度方面的关联,调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度,从而能够对发生抖动的漏光区域进行还原,消除漏光现象。并且,在消除漏光现象的过程中,是根据图片中各像素之间的灰度的关联进行调节的,从而不会出现图片中的像素灰度改变过大,影响图片质量的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
为了解决现有技术中,无法消除整幅图片中的漏光现象,并且影响正常的有效信息采集区域,降低图片质量的问题,本申请公开了一种消除图片中漏光现象的方法及相应装置。
图4是根据一示例性实施例示出的一种消除图片中漏光现象的方法的流程图,如图4所示,所述消除图片中漏光现象的方法包括以下步骤:
步骤S11、根据暗像素区域中各个暗像素的灰度,确定暗像素区域中的漏光区域的起始列和结束列。
步骤S12、确定所述起始列、结束列以及二者之间的像素在有效信息采集区域中构成的区域为待定漏光区域,根据所述待定漏光区域和所述待定漏光区域周边的像素之间的灰度的关联,调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度。
例如,参见图3所示的图片,在该图片中,所述起始列为第5列,所述结束列为第7列,二者之间的像素,指的是起始列和结束列之间的第6列像素,这种情况下,所述待定漏光区域由第5列、第6列和第7列像素构成。
相机在拍摄图像时,往往会因为自身的抖动,造成图片中的漏光区域发生轻微抖动,使得整幅图片中的漏光区域不在相同的列。本申请采用的消除图片中漏光现象的方法,首先根据暗像素区域中各个暗像素的灰度,确定暗像素区域中的漏光区域的起始列和结束列;然后,根据所述起始列和结束列,确定有效信息采集区域中的待定漏光区域,再根据所述待定漏光区域和所述待定漏光区域周边的像素之间的灰度的关联,调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度。
该方法中,利用粗略定位,获取漏光区域在暗像素区域中起始列和结束列,将所述起始列、结束列,以及所述起始列和结束列二者之间的像素作为待定漏光区域。在漏光区域发生抖动时,所述待定漏光区域和所述待定漏光区域周边都有可能为漏光区域。这种情况下,本申请根据所述待定漏光区域中的像素和所述待定漏光区域周边中的像素在灰度方面的关联,调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度,从而能够对发生抖动的漏光区域进行还原,消除漏光现象。并且,在消除漏光现象的过程中,是根据图片中各像素之间的灰度的关联进行调节的,从而不会出现图片中的像素灰度改变过大,影响图片质量的问题。
本申请公开的消除图片中漏光现象的方法能够应用于多个领域。例如,在交通监控领域中,需要设置用于监控交通场景的相机,所述相机能够拍摄车辆和驾驶人员,以协助交通管理。由于CCD(Charge-coupled Device,电荷耦合元件)相机在成像质量、色彩还原以及噪声响应等方面具有优势,因此,通常采用CCD相机。而CCD相机中的CCD传感器在强烈光源的照射下,往往出现漏光现象,即smear现象。例如,在白天,当阳光直射车身时,有时会发生镜面反射,导致相机出现漏光现象;在夜晚,当车辆打开车灯时,车灯光线可能直射到相机镜头,导致相机出现漏光现象。
当漏光区域发生抖动时,CCD相机根据本申请公开的消除图片中漏光现象的方法,能够对发生抖动的漏光区域进行还原,消除图片中的漏光现象。并且,在消除漏光现象的过程中,是根据图片中各像素之间的灰度的关联进行调节的,从而不会出现图片中的像素灰度改变过大的问题,不会影响图片的质量。
在步骤S11中,公开了根据所述暗像素的灰度,确定暗像素区域中的漏光区域的起始列和结束列的方案。参见图5所示的工作流程示意图,所述根据所述暗像素的灰度,确定暗像素区域中的漏光区域的起始列和结束列,包括:
步骤S111、计算所述暗像素区域中每列暗像素的第一均值,并计算所述暗像素区域中所有暗像素的第二均值。
步骤S112、根据所述第二均值,获取漏光阈值,其中,所述漏光阈值为所述第二均值的M倍,M为预设的大于零的数值。
其中,所述漏光阈值通常可为所述第二均值的二倍,则M设置为2。当然,M也可以设置为其他大于零的数值,本申请对此不做限定。
步骤S113、将每列暗像素的所述第一均值依次与所述漏光阈值相比较,并确定第一均值大于所述漏光阈值的列为待定列。也就是说,若根据比较结果确定其中一列暗像素的第一均值大于所述漏光阈值,则确定该列为待定列。
步骤S114、判断连续的待定列的列数是否大于预设的第一阈值,若是,执行步骤S115的操作,若否,执行步骤S116的操作。
步骤S115、若连续的待定列的列数大于预设的第一阈值,则确定所述连续的待定列在暗像素区域中所占的区域为漏光区域,并确定所述连续的待定列的起始列为所述漏光区域的起始列,所述连续的待定列的结束列为所述漏光区域的结束列。
其中,所述第一阈值为大于零的正整数,例如,通常可设置所述第一阈值为2,这种情况下,若连续的待定列的列数大于2,也就是说,所述连续的待定列为两列以上,则能够确定所述连续的待定列在暗像素区域中所占的区域为漏光区域。当然,根据实际需求,所述第一阈值还可以设置为其他大于零的正整数,本申请对此不做限定。
步骤S116、若连续的待定列的列数不大于所述预设的第一阈值,则确定所述暗像素区域中不存在漏光区域,进而能够确定相机中传感器生成的图片中不存在漏光区域,结束本次流程。
步骤S111至步骤S116的操作中,能能够根据暗像素区域中各个暗像素的灰度,确定暗像素区域中的漏光区域的起始列和结束列。该方法中,通过漏光阈值和每列暗像素的第一均值的比较结果确定待定列,并根据所述待定列,能够确定漏光区域的起始列和结束列。
另外,在本申请的步骤S12中,公开了根据所述待定漏光区域和所述待定漏光区域周边的像素之间的灰度的关联,调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度的步骤,该步骤能够通过多种方法实现,包括:滑动窗口腐蚀方法和频谱合成方法。
若所述方法包括滑动窗口腐蚀方法和频谱合成方法,参见图6,本申请公开另一示例性实施例示出的一种消除图片中漏光现象的方法,该方法包括:
步骤S21、根据暗像素区域中各个暗像素的灰度,确定暗像素区域中的漏光区域的起始列和结束列。
步骤S22、根据所述暗像素区域中的漏光区域的起始列和结束列,获取所述漏光区域在所述暗像素区域中的区域宽度,其中,所述区域宽度为所述漏光区域在所述暗像素区域中所占的列数。通常采用结束列减去起始列的方式,获取所述区域宽度。
步骤S23、将所述区域宽度与预设的宽度阈值相比较,判断所述区域宽度是否大于所述宽度阈值,若否,执行步骤S24的操作,若是,执行步骤S25的操作。
步骤S24、若所述区域宽度不大于所述宽度阈值,确定调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度的方法为滑动窗口腐蚀方法,并确定所述起始列和结束列在有效信息采集区域中构成的区域为待定漏光区域,根据所述待定漏光区域和所述待定漏光区域周边的像素之间的灰度的关联,通过所述滑动窗口腐蚀方法调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度。
步骤S25、若所述区域宽度大于所述宽度阈值,确定调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度的方法为频谱合成方法,并确定所述起始列和结束列在有效信息采集区域中构成的区域为待定漏光区域,根据所述待定漏光区域和所述待定漏光区域周边的像素之间的灰度的关联,通过所述频谱合成方法调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度。
步骤S21至步骤S25公开的方案中,在执行消除图片中漏光现象的操作时,确定暗像素区域中的漏光区域的起始列和结束列后,还需要根据所述起始列和结束列确定所述漏光区域在所述暗像素区域中的区域宽度,并根据所述区域宽度和预设的宽度阈值的比较结果,确定调节像素灰度的方法。
其中,在实际操作中,所述宽度阈值通常设置为7个像素,若所述区域宽度不大于7个像素,通常认为图片中的漏光区域宽度较小,这种情况下,选择滑动窗口腐蚀方法即可。若所述区域宽度大于7个像素,通常认为图片中的漏光区域所占据的宽度较大,则采用频谱合成方法。
当然,所述宽度阈值还可以设置为其他数值,本申请对此不做限定。
其中,参见图7,所述滑动窗口腐蚀方法包括以下步骤:
步骤S31、判断有效信息采集区域中是否存在灰度未调节的像素行,若是,执行步骤S32的操作,若否,执行步骤S36的操作。
步骤S32、在所述有效信息采集区域中存在灰度未调节的像素行时,任选所述有效信息采集区域中灰度未调节的一行像素为当前行,并确定所述当前行起始列之前的N列像素构建的区域为滑动窗口,其中,N为预设的大于2的整数。
N的值能够表征所述滑动窗口的窗口宽度,在实际操作中,N可以设置为九,这种情况下,所述滑动窗口中包含有九个像素。当然,在实际应用中,N还可以设置为其他数值,本申请对此不作限定。
步骤S33、确定所述滑动窗口中的目标像素输出的颜色分量为目标颜色分量,比较所述滑动窗口中输出所述目标颜色分量的各个像素的灰度,获取其中的最小值,其中,若N为奇数,所述目标像素为所述滑动窗口中的中间像素,若N为偶数,所述目标像素为所述滑动窗口中的第N/2个像素。
相机中的传感器所生成的图片通常为Bayer格式的图片,所述Bayer格式的图片中,每一像素只输出一种颜色分量。例如,Bayer格式的图片中,奇数行的第1,2,3,4,…个像素分别输出R,G,R,G,…的颜色分量,偶数行的第1,2,3,4,…个像素分别输出G,B,G,B,…的颜色分量,因此,在确定目标像素的灰度时,需要根据与所述目标像素输出同一颜色分量的各个像素的灰度来确定。
步骤S34、将所述目标像素的灰度调节为所述最小值,并将所述滑动窗口构建的区域向所述结束列的方向推动一个像素。
步骤S35、判断所述滑动窗口在滑动方向上的最后一个像素是否为所述结束列中的像素,若否,返回执行步骤S33的操作,若是,返回执行步骤S31的操作。
步骤S36、结束本次流程。
其中,在步骤S31至步骤S36的描述中,滑动窗口所经过的区域,即为所述待定漏光区域和所述待定漏光区域周边的像素。
步骤S31至步骤S36介绍了滑动窗口腐蚀方法,该方法中,首先根据起始列以及预设的数值N设置了滑动窗口,并根据滑动窗口中的各像素的灰度,对目标像素的灰度进行了调节,然后继续推动所述滑动窗口,并根据推动后的滑动窗口,获取新的目标像素,调节新获取的目标像素的灰度,直到所述滑动窗口在滑动方向上的最后一个像素为所述结束列中的像素,再选择其他灰度未调节的一行像素作为当前行,继续按照上述步骤对新选择的当前行进行灰度调节。这种情况下,只要漏光区域的抖动不超过所述滑动窗口遍历的区域,就可以消除整幅图片中出现的漏光现象。并且,在上述滑动窗口腐蚀方法中,调节滑动窗口中的目标像素的灰度时,是根据滑动窗口中的像素的灰度确定目标像素调节后的灰度的,这种情况下,目标像素调节后的灰度和调节前的灰度相差不大,也不会出现现有技术中,由于抵消误差,导致图片质量恶化的问题,不会影响图片的质量。
另外,参见图8,本申请还公开了另一种形式的滑动窗口腐蚀方法,该滑动窗口腐蚀方法包括以下步骤:
步骤S41、判断有效信息采集区域中是否存在灰度未调节的像素行,若是,执行步骤S42的操作,若否,执行步骤S46的操作。
步骤S42、在有效信息采集区域中存在灰度未调节的像素行时,任选所述有效信息采集区域中灰度未调节的一行像素为当前行,并确定所述当前行起始列之前的N列像素构建的区域为滑动窗口,其中,N为预设的大于2的整数。
N的值能够表征所述滑动窗口的窗口宽度,在实际操作中,N可以设置为九,这种情况下,所述滑动窗口中包含有九个像素。当然,在实际应用中,N还可以设置为其他数值,本申请对此不作限定。
步骤S43、确定所述滑动窗口中的目标像素输出的颜色分量为目标颜色分量,获取所述滑动窗口中,输出所述目标颜色分量的各个像素的灰度,并在去除所述各个像素的灰度中的最大值后,计算剩余灰度的平均值,其中,若N为奇数,所述目标像素为所述滑动窗口中的中间像素,若N为偶数,所述目标像素为所述滑动窗口中的第N/2个像素。
相机中的传感器所生成的图片通常为Bayer格式的图片,所述Bayer格式的图片中,每一像素只输出一种颜色分量。例如,Bayer格式的图片中,奇数行的第1,2,3,4,…个像素分别输出R,G,R,G,…的颜色分量,偶数行的第1,2,3,4,…个像素分别输出G,B,G,B,…的颜色分量,因此,在确定目标像素的灰度时,需要根据与所述目标像素输出同一颜色分量的各个像素的灰度来确定。
步骤S44、将所述目标像素的灰度调节为所述剩余灰度的平均值,并将所述滑动窗口构建的区域向所述结束列的方向推动一个像素。
在滑动窗口中的各个像素,有可能处于漏光区域中,这种情况下,处于漏光区域中的像素的灰度最大。该步骤中,去除了各个像素的灰度中的最大值后,再计算剩余灰度的均值,并将目标像素的灰度调节至所述剩余灰度的平均值,从而能够排除漏光区域的影响。
在所述滑动窗口腐蚀方法中,通常设定所述起始列到结束列的方向为滑动方向。也就是说,在该步骤中,将所述滑动窗口向滑动方向推动一个像素。
步骤S45、判断所述滑动窗口在滑动方向上的最后一个像素是否为所述结束列中的像素,若否,返回执行步骤S43的操作,若是,返回执行步骤S41的操作。
步骤S46、结束本次流程。
其中,在步骤S41至步骤S46的描述中,滑动窗口所经过的区域,即为所述待定漏光区域和所述待定漏光区域周边的像素。
步骤S41至步骤S46介绍了另一种滑动窗口腐蚀方法,该方法中,获取滑动窗口中输出目标颜色分量的各个像素的灰度后,去除各个像素的灰度中的最大值,并计算剩余灰度的平均值,根据所述剩余灰度的平均值调节目标像素的灰度。这种情况下,只要漏光区域的抖动不超过所述滑动窗口遍历的区域,就可以消除整幅图片中出现的漏光现象。并且,在上述滑动窗口腐蚀方法中,调节滑动窗口中的目标像素的灰度时,是根据滑动窗口中的像素的灰度确定目标像素调节后的灰度的,这种情况下,目标像素调节后的灰度和调节前的灰度相差不大,也不会出现现有技术中,由于抵消误差,导致图片质量恶化的问题,不会影响图片的质量。
另外,在滑动窗口腐蚀方法中,滑动窗口经过的像素为待定漏光区域和所述待定漏光区域周边的像素。
进一步的,所述根据所述待定漏光区域和所述待定漏光区域周边的像素之间的灰度的关联,调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度的方法,还可以采用频谱合成方法。
参见图9所示的工作流程示意图,所述频谱合成方法包括:
步骤S51、设定所述待定漏光区域,以及与所述待定漏光区域两侧邻接的区域为处理区域,其中,与所述待定漏光区域一侧邻接的H列区域为第一邻接区域,另一侧邻接的H列区域为第二邻接区域,对所述处理区域中各个像素的灰度进行垂直方向的高通滤波,获取所述各个像素灰度的高频分量,其中,H为大于2的整数。
其中,所述第一邻接区域和第二邻接区域,即为步骤S12中所述的待定漏光区域周边的像素。
若漏光区域发生抖动,所述待定漏光区域两侧邻接的区域可能是漏光区域,因此,上述步骤中,将与所述待定漏光区域邻接的区域也划分为处理区域,其中,与所述待定漏光区域邻接的区域包括:与所述待定漏光区域一侧邻接的H列区域为第一邻接区域,以及与所述待定漏光区域另一侧邻接的H列区域为第二邻接区域。
另外,根据预估的抖动情况,可将H设置为不同数值,例如,可将H设置为3。当然,也可以将H设置为其他数值,本申请对此不做限定。
在正常的有效信息采集区域内,像素通常会同时输出低频分量和高频分量的灰度,而在漏光区域中,有效信息被所述漏光区域掩盖。所述漏光区域的灰度会影响有效信息中的低频分量,因此需要采用高通滤波的方式,获取所述处理区域中像素的灰度的高频分量。其中,所述处理区域中各个像素的灰度的高频分量不会受到漏光区域的污染。
在进行高通滤波时,可根据预设的滤波单元,采用空间卷积计算的方法实现高通滤波。例如,可预先设置滤波单元为3*3,根据所述3*3的滤波单元对所述待定漏光区域中的像素的灰度,以及所述相邻的H像素的灰度进行空间卷积计算,实现高通滤波。
步骤S52、分别将所述第一邻接区域和第二邻接区域中各个像素的灰度减去该像素灰度的高频分量,获取各个像素灰度的低频分量。
每一个像素的灰度由高频分量和低频分量构成,因此,将某一像素的灰度减去该像素灰度的高频分量,即可获取该像素灰度的低频分量。
步骤S53、分别获取所述第一邻接区域和第二邻接区域中各个像素灰度的低频分量的均值,并设定其中较小的均值为目标低频分量。
步骤S54、将所述处理区域中各个像素灰度的高频分量分别与所述目标低频分量相加,获取所述处理区域中各个像素的目标灰度。
经过高通滤波,获取到各个像素的高频分量,会造成各个像素的灰度在低频分量上的损失,因此需要将所述处理区域中各个像素灰度的高频分量分别与所述目标低频分量相加,获取目标灰度,实现对各个像素的灰度的低频分量的补偿。
漏光区域发生抖动时,通常是向一个方向发生抖动,也就是说,若漏光区域发生抖动,则待定漏光区域一侧的像素也会出现漏光现象,这种情况下,所述第一邻接区域或所述第二邻接区域可能会出现漏光现象。出现漏光现象的区域中各像素灰度的低频分量,会大于正常像素的灰度的低频分量,这种情况下,将第一邻接区域中各个像素灰度的低频分量的均值,和第二邻接区域中各个像素灰度的低频分量的均值进行比较,并认为其中较大的均值对应的邻接区域为发生漏光现象的区域,较小的均值对应的邻接区域为正常区域,并确定所述较小的均值为目标低频分量。
步骤S55、将所述处理区域中各个像素的灰度调节至对应的目标灰度。
上述的步骤S51至步骤S55公开的频谱合成方法中,通过高通滤波的方法,获取了处理区域中各个像素的高频分量,然后,根据第一邻接区域和第二邻接区域中各个像素的灰度和所述高频分量,获取目标低频分量,将所述目标低频分量与各个像素的高频分量相加,即可获取各个像素的目标灰度,将处理区域中各个像素的灰度调节至对应的目标灰度,从而实现对处理区域中各个像素的灰度的还原,能够滤除图片中的漏光现象。
相应的,本申请还公开了一种消除图片中漏光现象的装置,参见图10,所述消除图片中漏光现象的装置包括:确定模块100和调节模块200。
其中,所述确定模块100,用于根据暗像素区域中各个暗像素的灰度,确定暗像素区域中的漏光区域的起始列和结束列;
所述调节模块200,用于确定所述起始列、结束列以及二者之间的像素在有效信息采集区域中构成的区域为待定漏光区域,根据所述待定漏光区域和所述待定漏光区域周边的像素之间的灰度的关联,调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度。
进一步的,所述确定模块200包括:
计算单元,用于计算所述暗像素区域中每列暗像素的第一均值,并计算所述暗像素区域中所有暗像素的第二均值;
漏光阈值获取单元,用于根据所述第二均值,获取漏光阈值,其中,所述漏光阈值为所述第二均值的M倍,M为预设的大于零的数值;
待定列确定单元,用于将每列暗像素的所述第一均值依次与所述漏光阈值相比较,并确定第一均值大于所述漏光阈值的列为待定列;
起始列和结束列确定单元,用于若连续的待定列的列数大于预设的第一阈值,则确定所述连续的待定列在暗像素区域中所占的区域为漏光区域,并确定所述连续的待定列的起始列为所述漏光区域的起始列,所述连续的待定列的结束列为所述漏光区域的结束列。
进一步的,所述调节模块200包括:滑动窗口腐蚀单元和频谱合成单元。
若所述调节模块200滑动窗口腐蚀单元和频谱合成单元,参见图11所示的装置示意图,所述消除图片中漏光现象的装置还包括:区域宽度获取模块300和调节方法确定模块400。
其中,所述区域宽度获取模块300,用于根据所述暗像素区域中的漏光区域的起始列和结束列,获取所述漏光区域在所述暗像素区域中的区域宽度,其中,所述区域宽度为所述漏光区域在所述暗像素区域中所占的列数;
所述调节方法确定模块400,用于将将所述区域宽度与预设的宽度阈值相比较,若所述区域宽度不大于所述宽度阈值,则确定调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度的方法为滑动窗口腐蚀方法,若所述区域宽度大于所述宽度阈值,则确定调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度的方法为频谱合成方法。
其中,所述滑动窗口腐蚀单元能够以多种形式实现,在其中一种实现形式中,所述滑动窗口腐蚀单元包括:
第一滑动窗口确定子单元,用于在有效信息采集区域中存在灰度未调节的像素行时,任选所述有效信息采集区域中灰度未调节的一行像素为当前行,并确定所述当前行的起始列之前的N列像素构建的区域为滑动窗口,其中,N为预设的大于2的整数;
灰度最小值获取子单元,用于确定所述滑动窗口中的目标像素输出的颜色分量为目标颜色分量,比较所述滑动窗口中输出所述目标颜色分量的各个像素的灰度,获取其中的最小值,其中,若N为奇数,所述目标像素为所述滑动窗口中的中间像素,若N为偶数,所述目标像素为所述滑动窗口中的第N/2个像素;
第一调节子单元,用于将所述目标像素的灰度调节为所述最小值;
第一推动子单元,用于将所述滑动窗口构建的区域向所述结束列的方向推动一个像素,并返回由所述灰度最小值获取子单元执行操作,直到所述滑动窗口在滑动方向上的最后一个像素为所述结束列中的像素,则返回由第一滑动窗口确定子单元执行操作。
在另外一种实现形式中,所述滑动窗口腐蚀单元包括:
第二滑动窗口确定子单元,用于在有效信息采集区域中存在灰度未调节的像素行时,任选所述有效信息采集区域中灰度未调节的一行像素为当前行,并确定所述当前行的起始列之前的N列像素构建的区域为滑动窗口,其中,N为预设的大于2的整数;
灰度平均值获取子单元,用于确定所述滑动窗口中的目标像素输出的颜色分量为目标颜色分量,获取所述滑动窗口中,输出所述目标颜色分量的各个像素的灰度,并在去除所述各个像素的灰度中的最大值后,计算剩余灰度的平均值,其中,若N为奇数,所述目标像素为所述滑动窗口中的中间像素,若N为偶数,所述目标像素为所述滑动窗口中的第N/2个像素;
第二调节子单元,用于将所述目标像素的灰度调节为所述剩余灰度的平均值;
第二推动子单元,用于将所述滑动窗口构建的区域向所述结束列的方向推动一个像素,并返回由所述灰度平均值获取子单元执行操作,直到所述滑动窗口在滑动方向上的最后一个像素为所述结束列中的像素,则返回由第二滑动窗口确定子单元执行操作。
另外,所述频谱合成单元包括:
高频分量获取子单元,用于设定所述待定漏光区域,以及与所述待定漏光区域两侧邻接的区域为处理区域,其中,与所述待定漏光区域一侧邻接的H列区域为第一邻接区域,另一侧邻接的H列区域为第二邻接区域,对所述处理区域中各个像素的灰度进行垂直方向的高通滤波,获取所述各个像素灰度的高频分量,其中,H为大于2的整数;
低频分量获取子单元,用于分别将所述第一邻接区域和第二邻接区域中各个像素的灰度减去该像素灰度的高频分量,获取各个像素灰度的低频分量;
目标低频分量获取子单元,用于分别获取所述第一邻接区域和第二邻接区域中各个像素灰度的低频分量的均值,并设定其中较小的均值为目标低频分量;
目标灰度获取子单元,用于将所述处理区域中各个像素灰度的高频分量分别与所述目标低频分量相加,获取所述处理区域中各个像素的目标灰度;
调节单元,用于将所述处理区域中各个像素的灰度调节至对应的目标灰度。
本申请公开的消除图片中漏光现象的装置在消除漏光现象时,利用粗略定位,获取漏光区域在暗像素区域中起始列和结束列,将所述起始列、结束列,以及所述起始列和结束列二者之间的像素作为待定漏光区域。在漏光区域发生抖动时,所述待定漏光区域和所述待定漏光区域周边都有可能为漏光区域。这种情况下,本申请根据所述待定漏光区域中的像素和所述待定漏光区域周边中的像素在灰度方面的关联,调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度,从而能够对发生抖动的漏光区域进行还原,消除漏光现象。并且,在消除漏光现象的过程中,是根据图片中,像素之间的灰度的关联进行调节的,从而不会出现图片中的像素灰度改变过大,影响图片质量的问题。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
相应的,本申请还公开了一种终端,所述终端包括:处理器和存储器,其中,
所述存储器,用于存储消除图片中漏光现象的程序代码;
所述处理器,用于获取所述存储器中存储的程序代码,并根据所述程序代码执行以下操作:
根据暗像素区域中各个暗像素的灰度,确定暗像素区域中的漏光区域的起始列和结束列;
确定所述起始列、结束列以及二者之间的像素在有效信息采集区域中构成的区域为待定漏光区域,根据所述待定漏光区域和所述待定漏光区域周边的像素之间的灰度的关联,调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度。
相机中的传感器在生成图片后,会将图片传输至相机中的处理器件,由所述处理器件处理图片,消除漏光现象。所述处理器件即为上述终端。所述终端能够对发生抖动的漏光区域进行还原,消除整幅图片的漏光现象。并且,在消除漏光现象的过程中,是根据图片中,像素之间的灰度的关联进行调节的,从而不会出现图片中的像素灰度改变过大,影响图片质量的问题。其中,所述终端可以为相机内的FPGA(Field-ProgrammableGate Array,现场可编程门阵列),所述FPGA接收到传感器传输的图片后,根据本申请公开的消除图片中漏光现象的方法,实现对漏光现象的消除。
当然,除FPGA外,所述终端还可以为其他形式的部件,本申请对此不做限定。
进一步的,所述终端中的处理器执行的操作中,所述根据暗像素区域中各个暗像素的灰度,确定暗像素区域中的漏光区域的起始列和结束列,包括:
计算所述暗像素区域中每列暗像素的第一均值,并计算所述暗像素区域中所有暗像素的第二均值;
根据所述第二均值,获取漏光阈值,其中,所述漏光阈值为所述第二均值的M倍,M为预设的大于零的数值;
将每列暗像素的所述第一均值依次与所述漏光阈值相比较,并确定第一均值大于所述漏光阈值的列为待定列;
若连续的待定列的列数大于预设的第一阈值,则确定所述连续的待定列在暗像素区域中所占的区域为漏光区域,并确定所述连续的待定列的起始列为所述漏光区域的起始列,所述连续的待定列的结束列为所述漏光区域的结束列。
所述根据所述待定漏光区域和所述待定漏光区域周边的像素之间的灰度的关联,调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度,包括:
滑动窗口腐蚀方法和频谱合成方法。
所述消除图片中漏光现象的方法还包括:
根据所述暗像素区域中的漏光区域的起始列和结束列,获取所述漏光区域在所述暗像素区域中的区域宽度,其中,所述区域宽度为所述漏光区域在所述暗像素区域中所占的列数;
将所述区域宽度与预设的宽度阈值相比较,若所述区域宽度不大于所述宽度阈值,则确定调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度的方法为滑动窗口腐蚀方法,若所述区域宽度大于所述宽度阈值,则确定调节所述待定漏光区域和所述待定漏光区域周边的像素的灰度的方法为频谱合成方法。
所述滑动窗口腐蚀方法包括:
51)在有效信息采集区域中存在灰度未调节的像素行时,任选所述有效信息采集区域中灰度未调节的一行像素为当前行,并确定所述当前行的起始列之前的N列像素构建的区域为滑动窗口,其中,N为预设的大于2的整数;
52)确定所述滑动窗口中的目标像素输出的颜色分量为目标颜色分量,比较所述滑动窗口中输出所述目标颜色分量的各个像素的灰度,获取其中的最小值,其中,若N为奇数,所述目标像素为所述滑动窗口中的中间像素,若N为偶数,所述目标像素为所述滑动窗口中的第N/2个像素;
53)将所述目标像素的灰度调节为所述最小值;
54)将所述滑动窗口构建的区域向所述结束列的方向推动一个像素,并返回执行步骤52)的操作,直到所述滑动窗口在滑动方向上的最后一个像素为所述结束列中的像素,则返回执行步骤51)的操作。
所述滑动窗口腐蚀方法包括:
61)在有效信息采集区域中存在灰度未调节的像素行时,任选所述有效信息采集区域中灰度未调节的一行像素为当前行,并确定所述当前行的起始列之前的N列像素构建的区域为滑动窗口,其中,N为预设的大于2的整数;
62)确定所述滑动窗口中的目标像素输出的颜色分量为目标颜色分量,获取所述滑动窗口中,输出所述目标颜色分量的各个像素的灰度,并在去除所述各个像素的灰度中的最大值后,计算剩余灰度的平均值,其中,若N为奇数,所述目标像素为所述滑动窗口中的中间像素,若N为偶数,所述目标像素为所述滑动窗口中的第N/2个像素;
63)将所述目标像素的灰度调节为所述剩余灰度的平均值;
64)将所述滑动窗口构建的区域向所述结束列的方向推动一个像素,并返回执行步骤62)的操作,直到所述滑动窗口在滑动方向上的最后一个像素为所述结束列中的像素,则返回执行步骤61)的操作。
所述频谱合成方法包括:
设定所述待定漏光区域,以及与所述待定漏光区域两侧邻接的区域为处理区域,其中,与所述待定漏光区域一侧邻接的H列区域为第一邻接区域,另一侧邻接的H列区域为第二邻接区域,对所述处理区域中各个像素的灰度进行垂直方向的高通滤波,获取所述各个像素灰度的高频分量,其中,H为大于2的整数;
分别将所述第一邻接区域和第二邻接区域中各个像素的灰度减去该像素灰度的高频分量,获取各个像素灰度的低频分量;
分别获取所述第一邻接区域和第二邻接区域中各个像素灰度的低频分量的均值,并设定其中较小的均值为目标低频分量;
将所述处理区域中各个像素灰度的高频分量分别与所述目标低频分量相加,获取所述处理区域中各个像素的目标灰度;
将所述处理区域中各个像素的灰度调节至对应的目标灰度。
相应的,本申请还公开了一种相机,所述相机中包含有如上所述处理器和存储器。所述相机中的传感器生成的图片存在漏光区域抖动时,所述相机能够通过本申请公开的消除图片中漏光现象的方法,消除漏光现象,并且不会影响图片质量。
本申请公开的相机能够应用于多个领域。例如,在交通监控领域中,通常设置用于监控交通场景的相机,所述相机能够拍摄车辆和驾驶人员。在白天,当阳光直射车身时,有时会发生镜面反射,导致相机出现漏光现象;在夜晚,当车辆打开车灯时,车灯光线可能直射到相机镜头,导致相机出现漏光现象。
当漏光现象发生抖动时,本申请公开的相机能够对发生抖动的漏光区域进行还原,消除整幅图片的漏光现象。并且,在消除漏光现象的过程中,是根据图片中,像素之间的灰度的关联进行调节的,从而不会出现图片中的像素灰度改变过大,不会影响图片的质量。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。