发明内容
有鉴于此,本发明提供一种图像二值化阈值矩阵确定与图形码信息识别方法及装置。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,提供一种图像二值化阈值矩阵确定方法,包括:在预设的光亮度场景中,分别从第一标定板采集第一标定图像及从第二标定板采集第二标定图像;以及根据所述第一标定图像中各像素的灰度值与所述第二标定图像中各像素的灰度值,确定为待处理图像进行图像二值化操作所使用的二值化阈值矩阵;其中,所述待处理图像为在所述光亮度场景中采集到的图像。
根据本发明的一实施方式,所述第一标定板为与所述待处理图像的背景颜色相同的纯色标定板,所述第二标定板为与所述待处理图像的特征颜色相同的纯色标定板。
根据本发明的一实施方式,所述第一标定板为全白色标定板,所述第二标定板为全黑色标定板。
根据本发明的一实施方式,根据所述第一标定图像中各像素的灰度值与所述第二标定图像中各像素的灰度值,确定为待处理图像进行图像二值化操作所使用的二值化阈值矩阵包括:计算所述第一标定图像中第i行第j列像素的灰度值与所述第二标定图像中第i行第j列像素的灰度值的平均值;以及将所述平均值作为所述二值化阈值矩阵中第i行第j列的二值化阈值。
根据本发明的一实施方式,根据所述第一标定图像中各像素的灰度值与所述第二标定图像中各像素的灰度值,确定为待处理图像进行图像二值化操作所使用的二值化阈值矩阵包括:计算所述第一标定图像中第i行第j列像素的灰度值与所述第二标定图像中第i行第j列像素的灰度值的平均值,将所述平均值作为中间二值化阈值矩阵中第i行第j列的二值化阈值;将所述中间二值化矩阵划分为多个区块,每个区块包括:多行所述二值化阈值与至少一列所述二值化阈值的交集,或者多列所述二值化阈值与至少一行所述二值化阈值的交集;分别计算所述多个区块的平均二值化阈值;以及根据所述平均二值化阈值,确定所述二值化阈值矩阵。
根据本发明的一实施方式,所述第一标定图像、所述第二标定图像及所述待处理图像的被采集位置相同。
根据本发明的另一方面,提供一种图形码信息识别方法,包括:在预设的光亮度场景中,采集图形码图像;获取根据上述任一种图像二值化阈值矩阵确定方法确定的所述光亮度场景中的图像二值化阈值矩阵;根据所述图像二值化阈值矩阵,将所述图形码图像转换为二值化图像;以及从所述二值化图像中识别出所述图形码图像中的图形码信息。
根据本发明的再一方面,提供一种图形码读码器,包括:采集装置,用于在预设的光亮度场景中,分别从第一标定板采集第一标定图像及从第二标定板采集第二标定图像;处理装置,用于根据所述第一标定图像中各像素的灰度值与所述第二标定图像中各像素的灰度值,确定为待处理图形码图像进行图像二值化操作所使用的二值化阈值矩阵,其中所述待处理图形码图像为在所述光亮度场景中采集到的图形码图像;以及存储装置,用于存储所述二值化阈值矩阵。
根据本发明的一实施方式,所述采集装置还用于在预设的光亮度场景中采集所述待处理图形码图像;以及所述处理装置还用于从所述存储装置获取所述二值化阈值矩阵,根据所述二值化阈值矩阵,将所述待处理图形码图像转换为二值化图像;以及从所述二值化图像中识别出所述图形码图像中的图形码信息。
根据本发明的再一方面,提供一种图像二值化阈值矩阵确定装置,包括:上述图形码读码器;以及固定架,用于在所述固定架的顶端安装所述图形码读码器。
根据本发明的一实施方式,在所述固定架的两端分别设置有高度调节器,用于调节所述图形码读码器的安装高度。
根据本发明提供的图像二值化阈值矩阵确定方法,能够根据AGV导航用图形码读码器的应用场景及特点,在预设的光亮度场景中分别对每个图形码读码器确定二值化阈值矩阵。本方法确定的二值化阈值矩阵能够用于解决后续图像处理或是识别过程中由于采集区补光亮度分布不一致,采用固定的全局二值化阈值矩阵造成采集区四角处误码率高甚至不能识别的问题,可以实现在不增加成本且不降低其他性能的前提下显著提高图像二值化精度,进而显著增加解码可靠性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本发明中,除非另有明确的规定和限定,“安装”等术语应做广义理解。例如,可以是固定安装,也可以是可拆卸安装。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
如上所述,由于电子器件性能差异、加工装配误差等会造成图形码读码器成像区内补光亮度分布的差异,如果对所有的图形码读码器采用同一个二值化阈值矩阵的话将会导致成像区四角补光亮度比较暗的区域二值化误差较大,最终造成图形码读码器有效视野变小。上述问题的根本原因是产品生产时的一致性问题。通过筛选补光灯电子元器件以减小差异,提高产品加工及装配精度,增大读码器采集区四角的补光亮度等措施均可改善图像二值化效果,但同时会大幅增加成本,甚至牺牲产品其他性能(例如功耗增加、体积增大等)。如果能根据每一个产品的补光强度分布特征得出相对应的二值化阈值矩形则能够较好的解决上述问题。另外考虑到产品生产效率,还必须保证操作的简便快捷。因此本发明提供了一种图像二值化阈值矩阵确定方法及图形码信息识别方法,可应用于AGV导航用图形码读码器中。
图1是根据一示例性实施方式示出的一种图像二值化阈值矩阵确定方法的流程图。
参考图1,图像二值化阈值矩阵确定方法10包括:
在步骤S102中,在预设的光亮度场景中,分别从第一标定板采集第一标定图像及从第二标定板采集第二标定图像。
以在预设的光亮度场景例如红外光亮度场景中应用一图像读取器为例,该图像读取器例如可以为二维码读码器。该二维码读码器可采用红外摄像机来采集图像,其搭配有红外补光灯对采集区域补光形成预设的红外光亮度场景。该二维码读码器例如可以被安装固定在一装置上,其安装高度等于二维码读码器实际工作高度,即其镜头距放置在预设的红外光亮度场景中标定板的垂直距离与实际工作时镜头距位于提供的同一红外光亮度场景中待处理二维码图像的垂直距离一致。
二维码读码器接收采集指令信号后,依次采集第一标定板的第一标定图像和第二标定板的第二标定图像。二维码读码器采集完成后,反馈一个完成信号。
在一些实施例中,第一标定图像、第二标定图像及待处理二维码图像的被采集位置相同。为使采集图像的所有像素均属于标定板,第一标定板和第二标定板的尺寸均大于二维码读码器采集区域的尺寸,且第一标定板和第二标定板的材质及厚度与待处理二维码图像一致。
在步骤S104中,根据第一标定图像中各像素的灰度值与第二标定图像中各像素的灰度值,确定为待处理图像进行图像二值化操作所使用的二值化阈值矩阵。
其中,待处理图像为在光亮度场景中采集到的图像。
如上所述,AGV导航用图形码通常是二维码,由黑白色相间的色块按照一定的编码规范组成,二维码读码器在进行图像二值化处理的过程中需要准确区分图像中每一个像素点的黑白属性。因此,对于每一个像素点来说可以将其二值化阈值设置为该像素点分别为黑色和白色时所对应的灰度值的中间值。
仍以上述二维码读码器为例,第一标定板可以是与待处理图像的背景颜色相同的纯色标定板,第二标定板可以是与待处理图像的特征颜色相同的纯色标定板,例如可以将第一标定板设置为全白色标定板,将第二标定板设置为全黑色标定板。需要说明的是,第一标定板和第二标定板还可以设置为其他颜色,例如对于由红灰色相间色块按照一定的编码规范组成的彩色三维码,则可将第一标定板设置为全红色标定板,将第二标定板设置为全灰色标定板。相应地,对于每一个像素点来说可以将其二值化阈值设置为该像素点分别为灰色和红色时所对应的灰度值的中间值。
根据第一标定图像中各像素的灰度值与第二标定图像中各像素的灰度值,确定为待处理二维码图像进行图像二值化操作所使用的二值化阈值矩阵包括:分别计算第一标定图像中第i行第j列像素的灰度值与第二标定图像中第i行第j列像素的灰度值的平均值,将平均值作为二值化阈值矩阵中第i行第j列的二值化阈值,也即根据下述公式确定二值化阈值矩阵:
其中,THDij为二值化阈值矩阵中第i行第j列的二值化阈值;GWij为第一标定图像中第i行第j列像素的灰度值;GBij为第二标定图像中第i行第j列像素的灰度值。
由于图形码读码器成像区内补光亮度的不均匀,所以对于每一个像素点GWij和GBij都不相同,因此二值化阈值THDij也不相同。所以不同图形码读码器成像区内亮度分布的差异,会导致不同图形码读码器在相同像素点的二值化阈值THDij也有不同程度的差异,且差异程度与亮度分布差异程度正相关。
此外,为了降低需要存储的二值化阈值矩阵的大小,在一些实施例中,还可以使相邻多个像素共用一个二值化阈值,比如相邻2个、4个、8个等像素点共用一个经过平均或其他处理的二值化阈值。因此,根据第一标定图像中各像素的灰度值与第二标定图像中各像素的灰度值,确定为待处理二维码图像进行图像二值化操作所使用的二值化阈值矩阵还可以包括:分别计算第一标定图像中第i行第j列像素的灰度值与第二标定图像中第i行第j列像素的灰度值的第一平均值,将第一平均值作为中间二值化阈值矩阵中第i行第j列的二值化阈值;分别计算中间二值化阈值矩阵中每行中和/或每列中相邻N个元素的第二平均值;以及根据第二平均值,确定二值化阈值矩阵。也即:
1.根据下述公式确定中间二值化阈值矩阵:
其中,THDij为中间二值化阈值矩阵中第i行第j列的二值化阈值;GWij为第一标定图像中第i行第j列像素的灰度值;GBij为第二标定图像中第i行第j列像素的灰度值。
2.将中间二值化矩阵划分为多个区块,每个区块包括:多行二值化阈值与至少一列二值化阈值的交集,或者多列二值化阈值与至少一行二值化阈值的交集。例如,所述区块包括两行一列的交集,即包括2个二值化阈值;或者包括两行两列的交集,即包括:4个二值化阈值,等等。
3.分别计算多个区块的平均二值化阈值。
4.根据平均二值化阈值,确定二值化阈值矩阵。
例如,以中间二值化阈值矩阵每行相邻4个像素点共用一个二值化阈值为例,也即区块包括一行四列的二值化阈值的交集;首先计算这4个二值化阈值的平均值,以该平均值作为这4个像素点的平均二值化阈值,从而在最终构建的二值化阈值矩阵中,对于这4个像素点,可以仅存储一个平均二值化阈值,降低了其存储大小。
上述为二维码读码器进行二值化阈值确定的过程例如可以在每台二维码读码器出厂之前确定,在出厂后的应用过程中,如果其使用场景(即二维码二值化阈值确定时的场景)没有发生较大改变,则无需重新为其确定二值化阈值矩阵。所述没有发生较大改变例如可以包括:仅是图像采集距离的微小改变,如在后续使用时,二维码读码器镜头距离待处理图像的垂直距离与确定二值化阈值矩阵时的安装高度之差在一差值阈值(如5mm)之内时,则无需重新确定二值化阈值矩阵。而如果因使用场景或者二维码读码器镜头距离待处理图像的垂直距离的变化量超过上述差值阈值而造成图像整体亮度变化较大,则需要再次确定二值化阈值矩阵。在一些实施例中,此处亮度主要是指窄带波长(如850nm)红外光的亮度,而不是指可见光亮度,因此正常的日光光照以及日光灯则不会造成二维码读码器采集区的有效亮度变化,或者造成亮度变化很小,基本可以忽略。
根据本发明提供的图像二值化阈值矩阵确定方法,能够根据AGV导航用图形码读码器的应用场景及特点,在预设的光亮度场景中分别对每个图形码读码器确定二值化阈值矩阵。本方法确定的二值化阈值矩阵能够用于解决后续图像处理或是识别过程中由于采集区补光亮度分布不一致,采用固定的全局二值化阈值矩阵造成采集区四角处误码率高甚至不能识别的问题,可以实现在不增加成本且不降低其他性能的前提下显著提高图像二值化精度,进而显著增加解码可靠性。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。
图2是根据一示例性实施方式示出的一种图形码信息识别方法的流程图。
参考图2,图形码信息识别方法20包括:
在步骤S202中,在预设的光亮度场景中,采集图形码图像。
仍以上述二维码读码器为例,二维码读码器的采集高度例如可以等于二维码读码器在上述方法10中的安装高度,即其镜头距放置在预设红外光亮度场景中待处理的二维码图像的垂直距离与确定二值化阈值矩阵时镜头距标定板的垂直距离一致。
但需要说明的是,如上述,如果该采集高度与二值化阈值矩阵确定时的安装高度之差在上述差值阈值之内时,也仍然可以使用该二值化阈值矩阵。
在步骤S204中,获取根据上述图像二值化阈值矩阵确定方法确定的光亮度场景中的图像二值化阈值矩阵。
如可将根据上述方法10确定的二值化阈值矩阵存储于非易失性存储器中,在使用时获取该二值化阈值矩阵。
在步骤S206中,根据图像二值化阈值矩阵,将图形码图像转换为二值化图像,以及从二值化图像中识别出图形码图像中的图形码信息。
以上述方法10一些实施例确定的二值化阈值矩阵为例,将当前采集的图形码图像中的各像素点的灰度值与各自对应的二值化阈值进行对比,若图形码图像各像素的灰度值大于二值化阈值矩阵中相对应的二值化阈值,则将其设置为灰度极大值255,并将其识别为“白色”;若图形码图像各像素的灰度值小于二值化阈值矩阵中相对应的二值化阈值,则将其设置为灰度极小值0,并将其识别为“黑色”,从而将图形码图像转换为二值化图像,并将图形码图像中的图形码信息识别为全局黑白色块。
根据本发明提供的图形码信息识别方法,能够解决图形码信息识别过程中由于采集区补光亮度分布不一致,采用固定的全局二值化阈值矩阵造成采集区四角处误码率高甚至不能识别的问题,可以实现在不增加成本且不降低其他性能的前提下显著提高图形码图像的二值化精度,进而显著增加解码可靠性。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图3是根据一示例性实施方式示出的一种图形码读码器的框图。
参考图3,图形码读码器30包括:采集装置302、处理装置304及存储装置306。
其中,采集装置302用于在预设的光亮度场景中,分别从第一标定板采集第一标定图像及从第二标定板采集第二标定图像。
在一些实施例中,采集装置302可采用红外摄像机来采集图像,其搭配有红外补光灯对采集区域补光形成预设的红外光亮度场景。
采集装置302接收采集指令信号后,依次采集第一标定板的第一标定图像和第二标定板的第二标定图像。采集装置302采集的第一标定图像可来自于与待处理图像的背景颜色相同的纯色标定板,例如全白色标定板,采集装置302采集的第二标定图像可来自于与待处理图像的特征颜色相同的纯色标定板,例如全黑色标定板。
采集装置302采集完成后,反馈一个完成信号。
处理装置304用于根据第一标定图像中各像素的灰度值与第二标定图像中各像素的灰度值,确定为待处理图形码图像进行图像二值化操作所使用的二值化阈值矩阵,其中待处理图形码图像为在光亮度场景中采集到的图形码图像。
存储装置306用于存储二值化阈值矩阵。
在一些实施例中,处理装置304包括:阈值计算单元,用于根据下述公式确定二值化阈值矩阵:
其中,THDij为二值化阈值矩阵中第i行第j列的二值化阈值;GWij为第一标定图像中第i行第j列像素的灰度值;GBij为第二标定图像中第i行第j列像素的灰度值。
为了降低存储装置306需要存储的二值化阈值矩阵的大小,在一些实施例中,处理装置304还包括:阈值计算单元,用于:
1.根据下述公式确定中间二值化阈值矩阵:
其中,THDij为中间二值化阈值矩阵中第i行第j列的二值化阈值;GWij为第一标定图像中第i行第j列像素的灰度值;GBij为第二标定图像中第i行第j列像素的灰度值。
2.将中间二值化矩阵划分为多个区块,每个区块包括:多行二值化阈值与至少一列二值化阈值的交集,或者多列二值化阈值与至少一行二值化阈值的交集。例如,所述区块包括两行一列的交集,即包括2个二值化阈值;或者包括两行两列的交集,即包括:4个二值化阈值,等等。
3.分别计算多个区块的平均二值化阈值。
4.根据平均二值化阈值,确定二值化阈值矩阵。
例如,阈值计算单元计算中间二值化阈值矩阵每行相邻4个像素点的二值化阈值的平均值,,也即区块包括一行四列的二值化阈值的交集;以该平均值作为这4个像素点的平均二值化阈值。从而在最终构建的二值化阈值矩阵中,对于这4个像素点,存储装置306可以仅存储一个平均二值化阈值,降低了其存储大小。
在一些实施例中,采集装置302还用于在预设的光亮度场景中,采集待处理图形码图像;处理装置304还用于从存储装置306获取二值化阈值矩阵,根据二值化阈值矩阵,将待处理图形码图像转换为二值化图像,以及从二值化图像中识别出待处理图形码图像中的图形码信息。
根据本发明提供的图形码读码器,能够根据AGV导航用图形码读码器的应用场景及特点,在预设的光亮度场景中对其本身确定二值化阈值矩阵。该图形码读码器确定的二值化阈值矩阵同时解决了其在后续图形码信息识别过程中由于采集区补光亮度分布不一致,采用固定的全局二值化阈值矩阵造成采集区四角处误码率高甚至不能识别的问题,可以实现在不增加成本且不降低其他性能的前提下显著提高图形码图像的二值化精度,进而显著增加其解码可靠性。
图4是根据一示例性实施方式示出的一种图像二值化阈值矩阵确定装置的示意图。
参考图4,图像二值化阈值矩阵确定装置40包括:具有上述采集装置302、处理装置304及存储装置306的图形码读码器402;以及固定架404,用于在固定架404的顶端安装图形码读码器402。
在一些实施例中,图像二值化阈值矩阵确定装置40在固定架404的两端还包括:高度调节器406,用于调节图形码读码器402的安装高度。
在一些实施例中,图像二值化阈值矩阵确定装置40还包括:上位机408,用于与图形码读码器402进行信息交互。例如,上位机408将一采集指令信号传递给图形码读码器402,图形码读码器402执行完成上述图像二值化阈值矩阵确定方法后,将一反馈信号传回至上位机408。上位机408可以是PC(个人计算机)、工控机或者其他具有输入输出功能的电子控制主板。上位机408与图形码读码器402之间的信息传递可以是各种通信方式,比如RS232、RS485、CAN、UDP/TCP、SPI、I2C等。此外,图形码读码器402向上位机408反馈信息的方式,可以输出打印字符串,也可以是点亮相关状态指示灯,也可以是发出声音等。
根据本发明提供的图像二值化阈值矩阵确定装置,能够根据AGV导航用图形码读码器的应用场景及特点,在预设的光亮度场景中分别对每个图形码读码器确定二值化阈值矩阵。本方法确定的二值化阈值矩阵能够用于解决后续图像处理或是识别过程中由于采集区补光亮度分布不一致,采用固定的全局二值化阈值矩阵造成采集区四角处误码率高甚至不能识别的问题,可以实现在不增加成本且不降低其他性能的前提下显著提高图像二值化精度,进而显著增加解码可靠性。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。