实用新型内容
本实用新型要解决的技术问题在于,针对现有技术的上述缺陷,提供一种被识读条码的位置提示装置及条码识读设备,其中被识读条码的位置提示装置能简单而准确地判断出被识读条码是否处于容易被条码识读设备识读位置。
本实用新型解决其技术问题所采用的技术方案是:
构造一种被识读条码的位置提示装置,其包括获取所述被识读条码图像的信息获取模块,判断所述被识读条码图像是否清晰的判断模块,以及根据判断结果、产生表示被识读条码是否处于容易被条码识读设备识读位置的提示信息的提示模块;所述信息获取模块与所述判断模块连接;所述判断模块与所述提示模块连接。
本实用新型所述的被识读条码的位置提示装置,其中,所述判断模块包括:
计算所述被识读条码图像中除边界像素点之外的每个像素点水平梯度幅值和垂直梯度幅值的梯度幅值计算单元;
根据除边界像素点之外的每个像素点的所述水平梯度幅值计算出平均水平梯度幅值、以及根据除边界像素点之外的每个像素点的所述垂直梯度幅值计算出平均垂直梯度幅值的平均幅值计算单元;
根据所述平均水平梯度幅值和所述平均垂直梯度幅值计算出所述被识读条码图像的质量系数的质量系数计算单元;
将所述质量系数与预设的质量系数阈值进行比较的比较单元;以及,
根据所述比较单元的比较结果输出表示所述被识读条码图像是否清晰的指示信号的指令输出单元;
所述梯度幅值计算单元与所述平均幅值计算单元连接;
所述平均幅值计算单元与所述质量系数计算单元连接;
所述质量系数计算单元与所述比较单元连接;
所述比较单元与所述指令输出单元连接。
本实用新型所述的被识读条码的位置提示装置,其中,所述梯度幅值计算单元包括:
用于获取表示所述被识读条码图像沿竖直方向上的灰度坐标x、表示所述被识读条码图像沿水平方向上的灰度坐标y,并根据所述被识读条码图像沿竖直方向上的灰度坐标x和所述被识读条码图像沿水平方向上的灰度坐标y计算得出所述水平梯度幅值的水平梯度幅值计算子单元;以及
用于表示所述被识读条码图像沿竖直方向上的灰度坐标x、表示所述被识读条码图像沿水平方向上的灰度坐标y,并根据所述被识读条码图像沿竖直方向上的灰度坐标x和所述被识读条码图像沿水平方向上的灰度坐标y计算得出所述垂直梯度幅值的垂直梯度幅值计算子单元。
本实用新型所述的被识读条码的位置提示装置,其中,所述平均幅值计算单元包括:
用于接收所述水平梯度幅值计算子单元计算得到的除边界像素点之外的每个像素点的所述水平梯度幅值,并根据所述水平梯度幅值计算得到所述平均水平梯度幅值的平均水平梯度幅值计算子单元;以及
用于接收所述垂直梯度幅值计算子单元计算得到的除边界像素点之外的每个像素点的所述垂直梯度幅值,并根据所述垂直梯度幅值计算得到所述平均垂直梯度幅值的平均垂直梯度幅值计算子单元。
本实用新型所述的被识读条码的位置提示装置,其中,所述提示模块至少 包括:
用于在所述指示信号表示所述被识读条码图像清晰时、产生表示被识读条码处于容易被条码识读设备识读位置的提示信息的第一输出单元;
用于在所述指示信号表示所述被识读条码图像不清晰时、产生表示被识读条码处于不容易被条码识读设备识读位置的提示信息的第二输出单元;
所述第一输出单元和所述第二输出单元均为可根据所述指示信号产生提示光信号的提示光源。
本实用新型还提供了一种条码识读设备,其包括如前述任一项所述的被识读条码的位置提示装置。
本实用新型的有益效果在于:通过采用信息获取模块获取被识读条码图像,再经判断模块判断所获取的被识读条码图像是否清晰,提示模块根据判断结果、产生表示被识读条码是否处于容易被条码识读设备识读位置的提示信息。在操作者不停移动条码识读设备的过程中,信息获取模块会不断获取到被识读条码图像,并将其传给判断模块进行判断,其所产生的提示信息便于操作者简单而准确地判断出被识读条码是否处于容易被条码识读设备识读的位置,操作者可根据该提示信息来确定被识读条码是否能正确解码,如果提示信息表示被识读条码已经处于合适的位置,则操作者可保持条码识读设备与条码的相对位置以便解码。
具体实施方式
本实用新型较佳实施例的被识读条码的位置提示装置原理如图1所示,其包括信息获取模块10、判断模块20和提示模块30。其中,信息获取模块10获取被识读条码图像,信息获取模块10可以是任何能快速获取被识读条码图像的摄像头,优选采用影像式扫描头。判断模块20可以采用硬件或软件来实现,用于判断被识读条码图像是否清晰,提示模块30根据判断结果,产生表示被识读条码是否处于容易被条码识读设备识读位置的提示信息。在操作者不停移动条码识读设备的过程中,信息获取模块10会不断获取到被识读条码图像,并将其传给判断模块20进行判断,提示模块30所产生的提示信息便于操 作者简单而准确地判断出被识读条码是否处于容易被条码识读设备识读的位置,操作者可根据该提示信息来确定被识读条码是否能正确解码,如果提示信息表示被识读条码已经处于合适的位置,则可停止移动条码识读设备。
在进一步的实施例中,如图5所示,提示模块30至少包括第一输出单元31和第二输出单元32。第一输出单元31用于在上述判断模块20输出的指示信号表示被识读条码图像清晰时、产生表示被识读条码处于容易被条码识读设备识读位置的提示信息;第二输出单元32用于在指示信号表示被识读条码图像不清晰时,产生表示被识读条码处于不容易被条码识读设备识读位置的提示信息。其中,表示被识读条码处于容易被条码识读设备识读位置的提示信息可以是任意能提示用户的信息,例如光信息、声信息,或任意的图案、形状等。
在较优选的实施例中,第一输出单元31和第二输出单元32均为可根据指示信号产生提示光信号的提示光源,可以采用的光载体包括LED、激光二极管、小灯泡等等。有需要时还可增加使光形成一定形状的结构件,例如透镜,以使得提示光更集中,易于辨别。该提示光源可根据不同的指示信号产生不同的光信息,可以是不同颜色的光信息,不同形状的光信息,或者不同亮暗程度的光信息。光的颜色还可以是“红、橙、黄、绿、青、蓝、紫等等,根据需要可选用不同颜色或使用同一种颜色变化其明暗度作为提示。
还可以将上述第一输出单元31和第二输出单元32所产生的光通过一定方法形成规则或不规则的形状,例如线形、圆形、椭圆形、方形等,然后将此形状投射到信息获取模块的前方。操作者根据不同形状来区分被识读条码是否处于容易被解码的位置。
也可以用改变提示光的几何形状,如由方形变为圆形等等;或者改变提示光的明暗度,如由明变暗等等,从而使条码识读设备操作者获得提示。该提示 光可处于条码识读设备的不同位置,如正前方、侧面,或作为提示灯安置于设备的不同位置。
在进一步的实施例中,如图2所示,上述判断模块20包括梯度幅值计算单元21、平均幅值计算单元22、质量系数计算单元23、比较单元24和指令输出单元25。上述各单元可采用硬件或软件来实现。梯度幅值计算单元21用于计算被识读条码图像中除边界像素点之外的每个像素点水平梯度幅值和垂直梯度幅值。其中,梯度幅值表征的是图像灰度相对变化量,边缘明显的图像的灰度变化会比较大。梯度幅值与选取方向有关,常用的有水平方向和垂直方向。如果一幅图像在某一方向上的梯度幅值较大,就说明在这一方向上的边缘特征较明显,视觉评价就是较清晰。
上述平均幅值计算单元22用于根据除边界像素点之外的每个像素点的水平梯度幅值计算出平均水平梯度幅值、以及根据除边界像素点之外的每个像素点的垂直梯度幅值计算出平均垂直梯度幅值。质量系数计算单元24根据平均水平梯度幅值和平均垂直梯度幅值计算出被识读条码图像的质量系数。比较单元24将质量系数与预设的质量系数阈值进行比较。指令输出单元25根据比较单元24的比较结果输出表示被识读条码图像是否清晰的指示信号。
优选地,如图3所示,梯度幅值计算单元21包括水平梯度幅值计算子单元211和垂直梯度幅值计算子单元212。其中,水平梯度幅值计算子单元211和垂直梯度幅值计算子单元212均可采用硬件或软件来实现。被识读条码图像像素点如图7所示,其中的黑点代表像素点,x表示被识读条码图像沿竖直方向上的灰度坐标,y表示被识读条码图像沿水平方向上的灰度坐标,M和N表示被识读条码图像有M×N个像素点。
水平梯度幅值计算子单元211,用于获取表示被识读条码图像沿竖直方向 上的灰度坐标x、表示被识读条码图像沿水平方向上的灰度坐标y,并根据以下公式(1)计算得出水平梯度幅值:
HGM(x,y)=-1×p(x,y-1)+0×p(x,y)+1×p(x,y+1)=-p(x,y-1)+p(x,y+1) (1),
其中,x表示被识读条码图像沿竖直方向上的灰度坐标,y表示被识读条码图像沿水平方向上的灰度坐标,p(x,y)表示当前像素点的灰度值,HGM(x,y)表示水平梯度幅值,p(x,y-1)表示以当前像素点为基准沿y方向上的前一像素点的灰度值,p(x,y+1)表示以当前像素点为基准沿y方向上的后一像素点的灰度值。
垂直梯度幅值计算子单元212,用于表示被识读条码图像沿竖直方向上的灰度坐标x、表示被识读条码图像沿水平方向上的灰度坐标y,并根据以下公式(2)计算得出垂直梯度幅值:
VGM(x,y)=-1×p(x-1,y)+0×p(x,y)+1×p(x+1,y)=-p(x-1,y)+p(x+1,y) (2);
其中,VGM(x,y)表示垂直梯度幅值,p(x-1,y)表示以当前像素点为基准沿x方向上的前一像素点的灰度值,p(x+1,y)表示以当前像素点为基准沿x方向上的后一像素点的灰度值。
在更进一步的实施例中,如图4和图7所示,平均幅值计算单元22包括平均水平梯度幅值计算子单元221和平均垂直梯度幅值计算子单元222。其中,平均水平梯度幅值计算子单元221和平均垂直梯度幅值计算子单元222均可采用硬件或软件来实现。
平均水平梯度幅值计算子单元221,用于接收水平梯度幅值计算子单元211计算得到的除边界像素点之外的每个像素点的水平梯度幅值,并根据以下公式(3)计算得到平均水平梯度幅值:
平均垂直梯度幅值计算子单元222,用于接收垂直梯度幅值计算子单元212计算得到的除边界像素点之外的每个像素点的垂直梯度幅值,并根据以下公式(4)计算得到平均垂直梯度幅值:
其中,Mean(HGM)表示平均水平梯度幅值,M和N表示被识读条码图像有M×N个像素点,Mean(VGM)表示平均垂直梯度幅值,QoI表示质量系数。
在根据上述公式(3)和(4)计算得到上述平均水平梯度幅值和平均垂直梯度幅值后,前述实施例中的质量系数计算单元根据平均水平梯度幅值和平均垂直梯度幅值按照以下公式(5)计算得到质量系数:
QoI=Max[Mean(HGM),Mean(VGM)] (5)。
其中,质量系数值越大,表示图像边缘特征越明显,图像可能越清晰。质量系数阈值可以是预先设定的,根据条码识读设备所能解码的最低清洗度来确定,例如可以将质量系数阈值设定为500。如果某一位置的被识读条码图像的质量系数大于一个设定的阈值,我们就认为该图像清晰;否则,认为该图像不清晰。
在本实用新型另一实施例中,还提供了一种被识读条码的位置提示方法,可应用于上述被识读条码的位置提示装置中,如图6所示,该方法S600开始于步骤S601。
在步骤S602中,获取被识读条码图像。可以是采用任何能快速获取被识读条码图像的摄像头来获取被识读条码图像,优选采用影像式扫描头。
在步骤S603中,判断被识读条码图像是否清晰。具体可包括:
a、计算被识读条码图像中除边界像素点之外的每个像素点水平梯度幅值和垂直梯度幅值,其中优选采用前述实施例中的公式(1)计算水平梯度幅值,并采用前述实施例中的公式(2)计算垂直梯度幅值;
b、根据除边界像素点之外的每个像素点的水平梯度幅值,采用公式(3)计算出平均水平梯度幅值,以及根据除边界像素点之外的每个像素点的垂直梯度幅值,采用公式(4)计算出平均垂直梯度幅值;
c、根据平均水平梯度幅值和平均垂直梯度幅值计算出被识读条码图像的质量系数,其中优选采用上述公式(5)计算质量系数;
d、将质量系数与预设的质量系数阈值进行比较;
e、根据比较单元的比较结果输出表示被识读条码图像是否清晰的指示信号。
在步骤S604中,根据判断结果、产生表示被识读条码是否处于容易被条码识读设备识读位置的提示信息。提示信息包括不同颜色、不同形状或不同明暗度的光信号。可以是任意能提示用户的信息,例如光信息、声信息,或任意的图案、形状等。
在采用光信息作为提示信息时,可以采用的光载体包括LED、激光二极管、小灯泡等等。有需要时还可增加使光形成一定形状的结构件,例如透镜,以使得提示光更集中,易于辨别。可以是不同颜色的光信息,不同形状的光信息,或者不同亮暗程度的光信息。光的颜色还可以是“红、橙、黄、绿、青、蓝、紫等等,根据需要可选用不同颜色或使用同一种颜色变化其明暗度作为提示。
还可以将上述光通过一定方法形成规则或不规则的形状,例如线形、圆形、椭圆形、方形等,然后将此形状投射到信息获取模块的前方。操作者根据不同形状来区分被识读条码是否处于容易被解码的位置。
也可以用改变提示光的几何形状,如由方形变为圆形等等;或者改变提示光的明暗度,如由明变暗等等,从而使条码识读设备操作者获得提示。该提示光可处于条码识读设备的不同位置,如正前方、侧面,或作为提示灯安置于条码识读设备的不同位置。
上述被识读条码的位置提示方法S600结束于步骤S605。
在本实用新型的另一实施例中,还提供了一种条码识读设备,其包括如前述任一实施例中的被识读条码的位置提示装置。其中被识读条码的位置提示装置的详细原理可参见前述各实施例,在此不再赘述。下面以被识读条码的位置提示装置中的第一输出单元31和第二输出单元32均采用能根据不同指示信号产生提示光信息的提示光源为例进行说明。
如图8和图9所示,将两提示光源分别记作第一提示光源311和第二提示光源321,可以通过条码识读设备控制第一提示光源311产生蓝色光51,第二提示光源产生红色光52。假定以第一提示光源311点亮产生蓝色光51作为被扫描条码40处于合适位置的标识,在操作者移动条码识读设备时,若被扫描条码40处于不容易被条码识读设备识读的位置时,判断模块20会判断出信息获取模块10所获取到的被识读条码图像不清晰,产生表示被识读条码40处于不容易被条码识读设备识读位置的指示信号,因此第二提示光源321持续点亮,而第一提示光源311不亮,则操作者会一直移动条码识读设备,直到信息获取模块10所获取到的被识读条码图像清晰,使得第一提示光源311点亮为止。
本实用新型通过采用信息获取模块获取被识读条码图像,再经判断模块判断所获取的被识读条码图像是否清晰,提示模块根据判断结果、产生表示被识读条码是否处于容易被条码识读设备识读位置的提示信息。在操作者不停移动 条码识读设备的过程中,信息获取模块会不断获取到被识读条码图像,并将其传给判断模块进行判断,其所产生的提示信息便于操作者简单而准确地判断出被识读条码是否处于容易被条码识读设备识读的位置,操作者可根据该提示信息来确定被识读条码是否能正确解码,如果提示信息表示被识读条码已经处于合适的位置,则操作者可保持条码识读设备与条码的相对位置以便解码。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本实用新型所附权利要求的保护范围。