首页> 中国专利> 条形码读取器、条形码读取方法、以及条形码读取程序

条形码读取器、条形码读取方法、以及条形码读取程序

摘要

提供了一种即使在条形码周围的反射率高于条形码亮部的反射率情形中也能够通过简单处理来解码条形码的条形码读取器。条形码读取器包括:边缘删除器,被配置为删除非必要边缘的位置信息和极性信息,所述非必要边缘因条形码静区的反射光强度与静区的邻接部分的反射光强度之差而产生,其中,当检测到具有相同极性的两个连续边缘时,删除器将更接近扫描端部的边缘确定为非必要边缘,并删除非必要边缘的位置信息和极性信息。

著录项

  • 公开/公告号CN104704509A

    专利类型发明专利

  • 公开/公告日2015-06-10

    原文格式PDF

  • 申请/专利权人 NEC平台株式会社;

    申请/专利号CN201380047281.X

  • 申请日2013-11-18

  • 分类号

  • 代理机构中科专利商标代理有限责任公司;

  • 代理人袁飞

  • 地址 日本神奈川县

  • 入库时间 2023-12-18 09:28:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-07-06

    授权

    授权

  • 2015-07-08

    实质审查的生效 IPC(主分类):G06K7/10 申请日:20131118

    实质审查的生效

  • 2015-06-10

    公开

    公开

说明书

技术领域

本发明涉及用于读取条形码的条形码读取器、条形码读取方法、 以及条形码读取程序。

背景技术

图1是常规条形码读取器的一个示例的框图。条形码读取器在条 形码上投射光,从条形码接收反射光并读取条形码。具体地,条形码 读取机制如下。泛光LED 901在条形码903上投射光,并通过光接收 透镜905在CCD(电荷耦合器件)传感器907上聚焦条形码的反射光。 通过CCD传感器907,使聚焦的反射光光电转换。模拟放大器909放 大通过光电转换获取的、指示反射光强度的读取模拟信号的幅值,并 以预定方式使放大的模拟信号二值化。通过二值化获取的数字数据进 入到解码器911并被解码器911解码,由此可以获取以条形码符号形 式编码的数据。

这里,泛光LED 901投射的光称为扫描光。扫描光投射到条形码 903上被称为扫描,通过成像设备例如CCD传感器907对条形码903 的反射光进行成像。这里,扫描光可以是按照时间顺序从一端到另一 端或者同时扫描条形码903的光。

与此同时,在图1示出的示例中,CPU(中央处理单元)包括解 码器911和GPIO(通用目的输入/输出)913,GPIO 913为泛光LED 901 提供泛光信号。这里,解码器911可以是包含在CPU 915中的硬件、 譬如由读取程序的CPU 915执行的软件、或其混合。

引用文献列表

专利文献

专利文献1:日本专利公开No.2009-076031

发明内容

技术问题

这里,存在以下情形:放置条形码的物体的放置表面为白色,而 放置在表面上的条形码的亮部为灰色且条形码所包括的暗部为黑色。 在这种情形中(即,放置表面的反射率高于条形码的亮部的反射率), 常规条形码读取器无法读取条形码。

这里,条形码包括条形码符号和位于条形码符号两端的静区。条 形码符号包括与开始符、数据符、校验符和终止符对应的白条和黑条。 此外,静区和白条构成亮部且黑条构成暗部。

此外,“放置”包括粘贴、印刷等。

例如,图2A示出了如所看到的、构成暗部的黑条的颜色为黑色 以及构成亮部的基底的颜色为灰色的条形码的一个示例。图2B示出 了当常规条形码读取器读取图2A示出的、条形码放置物的白色放置 表面上的条形码时模拟读取信号波形。常规条形码读取器将最大电势 A识别为与条形码亮部的亮度相对应的电势,将最小电势B识别为与 条形码暗部的亮度相对应的电势,并将电势A和B之间的中间电势设 置为阈值。此外,通过与阈值比较,使模拟读取信号的电势二值化。 因此,由于在将图2B中与放置表面的白色对应的电势A和与黑条的 暗部的黑色对应的电势B之间的中间电势设置为阈值以后执行二值化, 一部分静区被识别为黑条。因此,二值化后的数据不对应于条形码的 图案,因此,无法正常解码条形码。

尽管图2示出了条形码静区的长度短于规定的情形,在静区的长 度符合规定的情形中同样如此,同样无法正常解码条形码。此外,图 2仅示出了条形码符号前的静区,但是条形码符号后存在另一静区。

专利文献1公开了一种光学信息读取设备,能够在印刷条形码的 亮部为灰色且条形码周围区域为白色的情况下进行解码。然而,专利 文献1的发明必须执行复杂处理以检测边界对应区(应识别为边界的 区域)包括黑色区域的错误,以恢复边界对应区的方式来重建阵列数 据,并解码重建的阵列数据。

因此,本发明的目的在于提供一种条形码读取器、条形码读取方 法以及条形码读取程序,即使在条形码周围的反射率高于条形码亮部 的反射率的情形中,也能够通过简单处理解码条形码。

解决问题的方案

根据本发明的第一方面,提供了一种条形码读取器,用于基于多 个边缘的位置信息和极性信息读取条形码指示的信息,所述多个边缘 的位置信息和极性信息包括在读取信号中,所述读取信号指示被投射 以扫描光的条形码的反射光强度,所述条形码读取器包括:边缘删除 器,被配置为删除非必要边缘的所述位置信息和极性信息,所述非必 要边缘因条形码静区的反射光强度与所述静区的邻接部分的反射光强 度之差而产生;其中,当检测到具有相同极性的两个连续边缘时,所 述删除器将更接近扫描端部的边缘确定为所述非必要边缘,并删除所 述非必要边缘的所述位置信息和极性信息。

根据本发明的第二方面,提供了一种条形码读取方法,用于基于 多个边缘的位置信息和极性信息读取条形码指示的信息,所述多个边 缘的位置信息和极性信息包括在读取信号中,所述读取信号指示被投 射以扫描光的条形码的反射光强度,所述方法包括:删除非必要边缘 的所述位置信息和极性信息,所述非必要边缘因条形码静区的反射光 强度与所述静区的邻接部分的反射光强度之差而产生;其中,通过当 检测到具有相同极性的两个连续边缘时,将更接近扫描端部的边缘确 定为所述非必要边缘,并删除所述非必要边缘的所述位置信息和极性 信息,来执行对所述非必要边缘的所述位置信息和极性信息的所述删 除。

根据本发明的第三方面,提供了一种条形码读取程序,用于使计 算机充当用于基于多个边缘的位置信息和极性信息读取条形码指示的 信息的条形码读取器,所述多个边缘的位置信息和极性信息包括在读 取信号中,所述读取信号指示被投射以扫描光的条形码的反射光强度, 所述程序使所述计算机充当:边缘删除器,被配置为删除非必要边缘 的所述位置信息和极性信息,所述非必要边缘因条形码静区的反射光 强度与所述静区的邻接部分的反射光强度之差而产生;其中,当检测 到具有相同极性的两个连续边缘时,所述删除器将更接近扫描端部的 边缘确定为所述非必要边缘,并删除所述非必要边缘的所述位置信息 和极性信息。

发明的有益效果

根据本发明,即使在条形码周围的反射率高于条形码亮部的反射 率的情形中,也能够通过简单处理来解码条形码。

附图说明

图1是示出常规条形码读取器的配置的概念图。

图2A是示出了如上文看到的、构成暗部的黑条的颜色为黑色且 构成亮部的基底的颜色为灰色的条形码的一个示例的图。

图2B是示出了当常规条形码读取器读取图2A示出的、条形码放 置物的白色放置表面上的条形码时模拟读取信号波形的图。

图3是示出了根据本发明实施例的条形码读取器的配置的概念图。

图4是示出了图3示出的存储器的区组的图。

图5是示出了根据本发明实施例的由预处理器执行的处理流程的 流程图。

图6是示出了图5流程中的变化开始点搜索处理的详细流程的流 程图。

图7是示出了图5流程中的变化结束点搜索处理的详细流程的流 程图。

图8是示出了白条和黑条连续交替的部分的读取模拟信号波形的 波形图,以及根据本发明实施例、用于从该模拟信号波形读取条形码 的条形码读取方法。

图9是示出了条形码的静区及其邻接部分的波形的波形图,以及 根据本发明实施例、用于从该波形读取条形码的条形码读取方法。

图10是示出了图5示出的处理的一部分以及追加至该部分的处 理的流程图。

附图标记列表

101:泛光LED

103:条形码

105:光接收透镜

107:CCD

109:模拟放大器

111:解码器

113:GPIO

115:CPU

121:A/D转换器

123:存储器

125:预处理器

具体实施方式

以下将参考附图详细描述本发明的实施例。

在本发明中,通过在向条形码上投射光并执行光接收数据的A/D 转换后执行下文记载的预处理,可以解决上文记载的问题。

(1)计算邻接采样数据之差。

(2)基于上述(1)中获取的差以及差的“±”符号,搜索并确定“上 升”变化开始点、“下降”变化开始点以及变化结束点。

(3)在存在连续“上升”变化开始点的情形中(即,在两个“上 升”变化开始点之间不存在“下降”变化开始点的情形),删除前一个 “上升”变化开始点。在存在连续“下降”变化开始点的情形中(即, 在两个“下降”变化开始点之间不存在“上升”变化开始点的情形), 删除前一个“下降”变化开始点。

(4)基于有关变化开始点是“上升”变化开始点或“下降”变化 开始点的数据,确定白条还是黑条从变化开始点开始。进一步地,确 定“上升”变化开始点和后续变化结束点之间的中间点,并确定“下 降”变化开始点和后续变化结束点之间的中间点。基于对应于“上升” 变化开始点的中间点和对应于“下降”变化开始点的中间点之间的距 离,确定条宽度。

图3是示出了根据本实施例的条形码读取器的概念图。

图3中示出的泛光LED 101、条形码103、光接收透镜105、CCD  107、模拟放大器109和GPIO 113分别与图1中示出的泛光LED 901、 条形码903、光接收透镜905、CCD 907、模拟放大器909和GPIO 913 相似。因此,省略有关这些的重复说明。

根据本实施例的条形码读取器与常规条形码读取器的区别在于 以下这一点。换句话说,区别在于,在模拟放大器109和解码器111 之间增加A/D转换器121、存储器123和预处理器125。此外,解码 器111与解码器911不相似。

A/D转换器121将从CCD传感器107提供并由模拟放大器109 放大的读取模拟信号转换为作为数字信号的输入数据。更具体地,A/D 转换器(模拟-数字转换器)121将从模拟放大器109提供的读取模拟 信号转换为具有预定采样率和预定比特数的数字信号,并且该数字信 号的各采样为各输入数据。

存储器123存储在A/D转换器121处A/D转换的、对应于每一 次扫描的各输入数据。

预处理器125执行预定处理(稍后描述)并生成指示每个条是黑 条还是白条的数据以及指示每一个条的宽度的数据。将这些数据提供 到解码器111。

同时,在图3中,CPU 115包括A/D转换器121、存储器123、 预处理器125和解码器111。A/D转换器121、预处理器125和解码器 111中的每一个可以是包括在CPU 115内的硬件、譬如由读取程序的 CPU 915执行的软件、或其混合。

此外,A/D转换器121、存储器123、预处理器125和解码器111 中的部分或全部可不置于CPU内,而在CPU外部并受CPU控制。

图5是示出了在预处理器115处执行的处理流程的流程图。图6 是示出了图5流程中的变化开始点搜索处理的详细流程的流程图。图 7是示出了图5流程中的变化结束点搜索处理的详细流程的流程图。 图8是示出了白条和黑条连续交替的部分的读取模拟信号波形等的波 形图。图9是指示条形码的静区及其邻接部分的波形等的波形图。

以下,参考图5到7说明在预处理器125处执行的处理。

当在存储器123(图4)的输入数据区中存储通过在条形码上投 射光并接收反射光(扫描条形码)、并对指示光接收强度的模拟读取信 号进行A/D转换而获取的、对应于一次扫描的输入数据时,执行以下 处理。

(1)计算相互邻接数据(即,相互邻接采样数据)之差(步骤1)。 更具体地,针对存储在存储器123的输入数据区123-1中的、对应于 一次扫描的所有输入数据,计算输入数据本身与它们邻接数据之差。 即,计算在包括在存储器123的输入数据区123-1中的第n个地址处 存储的输入数据与在第n+1个地址处存储的输入数据之差,并在包括 在存储器123的差数据区123-2中的第n个地址处存储差数据。

(2)搜索并确定所有变化开始点(步骤2和步骤3)。

(2-1)搜索是否存在变化开始点(步骤201)。更具体地,在输入 数据本身与紧接在前的输入数据之差数据(对应于紧接在前的输入数 据并存储在存储器123的差数据区123-2中的差数据)的绝对值小于 预定值并且输入数据本身与紧接在后的输入数据之差数据(对应于输 入数据本身并存储在存储器123的差数据区123-2中的差数据)的绝 对值等于或大于预定值的情形中,将输入数据本身所在的地址确定为 对应于变化开始点的变化开始点存储地址。

(2-2)在存储器123的变化开始点存储地址区123-3中存储对应于 变化开始点的变化开始点存储地址(步骤202)。

(2-3)确认由存储在差数据区123-2中变化开始点存储地址处的 差数据所指示的差的“±”符号(步骤203)。

(2-4)如果差的“±”符号是正号,则判断变化开始点为“上升” 变化开始点(步骤204)。如果差的“±”符号是负号,则判断变化开 始点为“下降”变化开始点(步骤205)。

(2-5)在存储器123的符号数据区123-4中存储指示变化开始点是 “上升”变化开始点还是“下降”变化开始点的符号数据。例如,指 示变化开始点是“上升”变化开始点还是“下降”变化开始点的符号 数据以与存储在存储器123的变化开始点区的变化开始存储地址相关 联的方式存储在符号数据区123-4中。

(3)确认是否存在应当删除的变化开始点(步骤4)。更具体地, 确认是否存在连续的“上升”变化开始点以及是否存在连续的“下降” 变化开始点。具体来说,检查存储在变化开始点存储地址区123-3中 的变化开始点存储地址以及与它们有关的存储在符号数据区123-4中 的符号数据,确认与这些变化开始点存储地址中的两个连续变化开始 点存储地址对应的符号数据是否指示正号。然后,如果是,则使两个 连续的变化开始点存储地址中较大的变化开始点存储地址和对应于较 大变化开始点存储地址的符号数据(事实上,指示正号)与应当删除 的变化开始点相关。这是删除因接近扫描结束点的静区与后续周边白 色部之间的亮度差而产生的非必要上升边缘的处理。类似地,检查存 储在变化开始点存储地址区123-3中的变化开始点存储地址以及与它 们有关的存储在符号数据区123-4中的符号数据,确认与这些变化开 始点存储地址中的两个连续变化开始点存储地址对应的符号数据是否 指示负号。然后,如果是,则使两个连续的变化开始点存储地址中较 小的变化开始点存储地址和对应于较小变化开始点存储地址的符号数 据(事实上,指示负号)与应当删除的变化开始点相关。这是删除因 接近扫描开始点的静区与先前周边白色部之间的亮度差而产生的非必 要上升边缘的处理。

(4)删除与应当删除的变化开始点有关的数据(步骤5)。具体来 说,分别从变化开始点存储地址区123-3和符号数据区123-4中删除 被确定为要删除的变化开始点存储地址和与它们相关的符号数据。

例如,在变化开始点存储地址区123-3中存在与“上升”变化开 始点对应的两个连续变化开始点存储地址值的情形中,删除后一个变 化开始点存储地址和对应于后一个地址的符号数据,并且保留前一个 变化开始点存储地址和对应于前一个地址的符号数据。类似地,在变 化开始点存储地址区123-3中存在与“下降”变化开始点对应的两个 连续变化开始点存储地址值的情形中,删除前一个变化开始点存储地 址和对应于前一个地址的符号数据,并且保留后一个变化开始点存储 地址和对应于后一个地址的符号数据。

(5)搜索并确定分别与在上文(4)的删除后留下的所有变化开始点 相对应的多个变化结束点(步骤6和步骤7)。

(5-1)在输入数据本身与紧接在前的输入数据之差数据(对应于 紧接在前的输入数据并存储在差数据区123-2中的差数据)的绝对值 等于或大于预定值并且输入数据本身与紧接在后的输入数据之差数据 (对应于输入数据本身并存储在差数据区123-2中的差数据)的绝对 值小于预定值的情形中,将输入数据本身所在的存储地址确定为对应 于变化结束点的变化结束点存储地址(步骤601)。搜索变化结束点时 作为阈值的预定值可以与搜索变化开始点时的预定值相同,或者可以 单独确定。从每一个变化开始点的位置首先找到的变化结束点是对应 于每一个变化开始点的变化结束点。因此,只需找到对应于每一个变 化开始点的一个变化结束点。因此,此后不需要删除一部分变化结束 点的处理。

(5-2)以与对应的变化开始点存储地址相关联的方式,将变化结 束点存储地址存储在变化结束点存储地址区123-5中(步骤602)

(6)确定在变化开始点和变化结束点之间的中间点(步骤8)。具 体来说,将与对应于变化开始点的变化开始点存储地址和后续(对应 的)变化结束点存储地址之间的平均值最接近的存储地址确定为对应 于中间点的中间点存储地址。此外,在中间点存储地址区123-6中存 储中间点存储地址。

因此,无法获取与已删除的变化开始点对应的变化结束点和中间 点。可将变化开始点、变化结束点和中间点作为对应于一个边缘的点 集来处理。因此,删除变化开始点等同于不生成对应于变化开始点的 边缘。获取变化结束点和中间点而不删除变化开始点然后删除变化开 始点、变化结束点和中间点可以得到相同的结果。在这种情形中,这 种删除可看作删除边缘。同时,术语“边缘”是上升边缘和下降边缘 的统称。

(7)计算中间点之间的条宽度(步骤9)。

在计算条宽度时,将分别与两个相互邻接中间点对应的两个中间 点存储地址之差乘以预定系数所得到的数值确定为条宽度。以预定间 隔对指示光接收强度的输入数据进行A/D转换,并将其存储在输入数 据区123-1中的连续存储地址处。因此,如上文所记载的,基于分别 与两个相互邻接中间点对应的两个中间点存储地址之差,可以计算条 宽度。

(8)存储条宽度和条二值化等级数据(步骤10)。

一方面,将从“上升”变化开始点开始、经过变化结束点和“下 降”变化开始点、直到变化结束点的部分判断为白条部分。另一方面, 将从“下降”变化开始点开始、经过变化结束点和“上升”变化开始 点、直到变化结束点的部分判断为黑条部分。然后,分别在条二值化 等级数据区123-7和条宽度数据区123-8中存储指示每一个部分对应 于白条还是黑条的条二值化等级数据和条宽度数据。如果条二值化等 级数据和条宽度数据以条的出现顺序存储在相同地址中,则使用该地 址来解码。此外,条的出现顺序可以存储为与条二值化等级数据和条 宽度数据关联的数据。此外,条二值化等级数据和条宽度数据可以与 变化开始点存储地址关联。此外,可以使用符号数据代替条二值化等 级数据。

解码器111基于存储在存储器123的条二值化等级数据区123-7 中的条二值化等级数据和条宽度数据区123-8中的条宽度数据,解码 条形码。

在图5的流程中,在搜索变化开始点后搜索变化结束点。然而, 与此相反,可以在搜索变化结束点后搜索变化开始点。此外,可以从 第一个数据起依次判断每一个数据对应于变化开始点还是变化结束点。 此外,在这些情形中,删除对应于“上升”的两个连续边缘中的后一 个边缘和对应于“下降”的两个连续边缘中的前一个边缘。

图8示出了与白条和黑条位置连续交替的部分对应的读取模拟信 号波形。我们说明在预处理器125的对象是该信号波形的情形中预处 理器125的操作。图8中,读取模拟信号波形被示为连续线,并且通 过A/D转换获取的采样点被示为连续线上的菱形。该图中,空心圆指 示上升变化开始点,实心圆指示下降变化开始点,并且实心三角形指 示对应于它们中任一个的变化结束点。

在图8的第二个突起波形中,将与在对应于点A位置的变化开始 点存储地址和对应于点B位置的变化结束点存储位置之间的平均值接 近的存储地址确定为与点A和点B之间的中间点1对应的中间点存储 地址。类似地,将与在对应于点C位置的变化开始点存储地址和对应 于点D位置的变化结束点存储位置之间的平均值接近的存储地址确定 为与点C和点D之间的中间点2对应的中间点存储地址。此外,基于 作为对应于中间点1的中间点存储地址和对应于中间点2的中间点存 储地址之差的差存储地址,计算这些中间点之间的距离作为条宽度。

图9示出了与条形码的静区及其邻接部分对应的读取模拟信号波 形。我们说明在预处理器125的对象是该信号波形的情形中预处理器 125的操作。更具体地,图9是在印刷在条形码上的暗部为黑色、包 括在条形码中的亮部为灰色并且条形码周围区域为白色的情形中,与 包括条形码符号前的静区在内的部分对应的读取模拟信号波形。从图 9可以清楚看出,静区和白条为亮部和灰色。具体来说,图9示出了 在接近扫描开始点处读取条形码之前的邻接部分的白色、读取静区、 然后再读出条形码符号的情形中的读取模拟信号波形。

同样,在图9,原始波形被示为连续线,并且通过A/D转换获取 的采样点被示为连续线上的小菱形,与图8类似。在该图中,空心圆 指示上升变化开始点,实心圆指示下降变化开始点,并且实心三角形 指示对应于它们中任一个的变化结束点。

关于图9,尽管省略了有关地址的详细说明,点E被确定为上升 变化开始点,点F被确定为变化结束点,点G被确定为下降变化开始 点,点H被确定为变化结束点。此外,对应于点E和点F的中间点3 被确定为一个中间点,并且对应于点G和点H的中间点4被确定为另 一个中间点。这里,在步骤2和步骤3中,点X被检测为下降变化开 始点,但是在步骤4和步骤5中,点X被删除。因此,点Y没有被检 测为下降变化结束点。此外相应地,不计算对应于点X和点Y的中间 点。即,由于条形码的亮部为灰色并且条形码的邻接部为白色,虽然 存在作为下降变化开始点的点X和作为变化结束点的点Y,下降变化 开始点X和下降变化开始点G连续。因此,删除前一个“下降”变化 开始点X并使后一个“下降”变化开始点维持原样。即,由于下降变 化开始点X和下降变化开始点G连续,判断其中前一个“下降”变化 开始点X是并非因条形码图案而产生的点,并判断后一个“下降”变 化开始点G是因条形码图案而产生的点。因此,将从点E到点H的 部分识别为一个白条,并计算中间点3和中间点4之间的距离,作为 对应于白条的条宽度。

图8和图9示出了分别确定变化开始点和变化结束点时的波形。 然而,依赖于信号波形,变化开始点和变化结束点有时因相对于采样 间隔的大信号变化率而成为相同点。在这种情形中,中间点与变化开 始点和变化结束点重合。

尽管以下说明的一部分与上文说明有重复,图9示出了在条形码 中印刷的亮部为灰色、条形码标签的邻接部为白色、并且邻接部外存 在黑色部的情形中的波形等。即,在图9中,点E对应于比条形码周 围的白色部更靠外的黑色部,并且从点F到点X的区域对应于条形码 周围的白色部。

与此相反,在其他情形中不存在比条形码周围的白色部更靠外的 黑色区域。在这些情形中,除了执行图5、6、7示出的处理,还执行 以下处理。

(A)在扫描开始点和第一下降变化开始点之间不存在另一个变化 开始点的情形中,将扫描开始点的输入数据存储地址设置为与上升变 化开始点、变化结束点和中间点全体对应的存储地址。

在不存在比条形码周围的白色部更靠外的黑色区域的情形中,扫 描开始点的等级等于点F和点X的等级。因此,在扫描开始点和第一 下降变化点X之间不存在上升变化开始点。因此,执行该设置。

作为比较,在图9的情形中,由于在扫描开始点和第一下降变化 点X之间存在上升变化开始点E,不执行该设置。

(B)在扫描结束点和最后的上升变化开始点之间不存在另一个变 化开始点的情形中,设置扫描结束点数据存储地址作为与下降变化开 始点、变化结束点和中间点全体对应的存储地址。该处理是与上述处 理(A)在水平方向上相反的处理。

在步骤3和步骤4之间执行上述处理(A)和(B)。在图10示出了一 部分流程图,其中,步骤11和步骤12指示上述(A),且步骤13和步 骤14指示上述(B)。

与此同时,作为条形码亮部为灰色且条形码邻接部为白色的一个 示例,图9示出了在扫描开始点附近对条形码邻接部的白色进行扫描 后扫描条形码的示例。与此相反,在扫描结束点附近,在扫描条形码 后扫描条形码周围的白色。因此,在扫描结束点附近,存在两个连续 的上升:从条形码最后的暗部到亮部的上升以及从条形码最后的亮部 到条形码周围的白色部的上升。作为应对此情形的处理,执行删除后 一个“上升”变化开始点数据并保留前一个“上升”变化开始点数据 的处理。

换句话说,对此进行总的说明,检测具有相同极性的两个连续边 缘,删除沿条形码扫描方向更接近端部的边缘,作为非必要边缘。换 句话说,删除更接近扫描的端部的边缘,作为非必要边缘。“删除更接 近扫描的端部的边缘”意味着更接近扫描开始侧的端部的边缘,如果 该侧是扫描开始边端部的话;以及意味着更接近扫描结束侧的端部的 边缘,如果该侧是扫描结束边端部的话。

与此同时,在上述描述中,作为示例说明了条形码的亮部为灰色、 条形码的暗部为黑色且条形码的邻接部为白色的情形。然而,本发明 不限于该示例,且适用于通过查看读取模拟信号波形、在对应于条形 码邻接部的等级和对应于条形码暗部的等级之间存在对应于条形码亮 部的等级的各种情形。因此,本发明适用于例如与预定波长光相对出 现的类似特征的情形。此外,本发明适用于与上述示例相反的亮度反 转的情形。

与此同时,上述条形码读取器可以由硬件、软件或其组合来实现。 此外,上述条形码读取器执行的条形码读取方法可以由硬件、软件或 其组合来实现。这里,“由软件实现”的表述意味着“通过计算机读取 和执行程序来实现”。

可以使用各种类型的非瞬态计算机可读介质来存储程序,并提供 给计算机。非瞬态计算机可读介质包括各种类型的有形存储介质。非 瞬态计算机可读介质包括磁记录介质(例如软盘、磁带、硬盘驱动器)、 磁光记录介质(例如磁光盘)、CD-ROM(只读存储器)、CD-R、CD-R/W、 半导体存储器(例如掩膜ROM、PROM(可编程ROM)、EPROM(可 擦除PROM)、闪存ROM、以及RAM(随机存取存储器))。此外, 程序还可以通过各种类型的瞬态计算机可读介质提供给计算机。瞬态 计算机可读介质的示例包括电信号、光信号和电磁波。瞬态计算机可 读介质可经由有线信道(例如电缆或光纤)或无线信道向计算机提供 程序。

本申请基于日本专利申请2012-271513(申请日2012年12月12 日),并基于巴黎公约要求日本专利申请2012-271513的优先权。日本 专利申请2012-271513的全部内容以引用方式并入本说明书。

尽管已经描述了本发明的代表性实施例,应当理解,可以作出各 种变化、替换和备选,而不脱离请求保护的发明的精神和范围。发明 人的目的在于,即使权利要求在申请过程中有修改,也应维持请求保 护的发明的等同范围。

上述实施例的一部分或整体可描述为以下附记,但不限于此:

(附记1)

一种条形码读取器,用于基于多个边缘的位置信息和极性信息读 取条形码所指示的信息,所述多个边缘的位置信息和极性信息包括在 读取信号中,所述读取信号指示被投射以扫描光的条形码的反射光强 度,所述条形码读取器包括:

边缘删除器,被配置为删除非必要边缘的所述位置信息和极性信 息,所述非必要边缘因条形码的静区的反射光强度与所述静区的邻接 部分的反射光强度之差而产生;

其中,当检测到具有相同极性的两个连续边缘时,所述删除器将 更接近扫描端部的边缘确定为所述非必要边缘,并删除所述非必要边 缘的所述位置信息和极性信息。

(附记2)

根据附记1所述的条形码读取器,其中

使用与所述边缘相对应的变化开始点的极性,作为所述边缘的极 性。

(附记3)

根据附记1或2所述的条形码读取器,其中

在扫描端部和从所述扫描端部起看到的第一边缘之间不存在边 缘、所述第一边界具有某个极性的情形中,将所述扫描端部作为极性 与所述某个极性相反的边缘。

(附记4)

根据附记1到3任一项所述的条形码读取器,其中

基于在所述边缘删除器删除所述非必要边缘的位置信息和极性 信息后留下的多个边缘的位置信息,来确定每个条的宽度数据,以及 基于在所述边缘删除器删除了所述非必要边缘的位置信息和极性信息 后留下的所述多个边缘的极性信息,来确定每个条的二值化等级数据。

(附记5)

根据附记4所述的条形码读取器,还包括:

解码器,被配置为基于所述每个条的所述宽度数据和所述每个条 的所述二值化等级数据,来对所述条形码指示的所述信息进行解码。

(附记6)

根据附记1到5任一项所述的条形码读取器,还包括:

边缘检测器,被配置为基于分别与表示每一次扫描的读取信号的 输入数据对应的每一次扫描的差数据,来检测包括在一次扫描中的多 个边缘,所述差数据表示相互邻接输入数据之差。

(附记7)

一种条形码读取方法,用于基于多个边缘的位置信息和极性信息 读取条形码指示的信息,所述多个边缘的位置信息和极性信息包括在 读取信号中,所述读取信号指示被投射以扫描光的条形码的反射光强 度,所述方法包括:

删除非必要边缘的所述位置信息和极性信息,所述非必要边缘因 条形码静区的反射光强度与所述静区的邻接部分的反射光强度之差而 产生;

其中,通过当检测到具有相同极性的两个连续边缘时,将更接近 扫描端部的边缘确定为所述非必要边缘,并删除所述非必要边缘上的 所述位置信息和极性信息,来执行对所述非必要边缘上的所述位置信 息和极性信息的所述删除。

(附记8)

根据附记7所述的条形码读取方法,其中

使用与所述边缘相对应的变化开始点的极性,作为所述边缘的极 性。

(附记9)

根据附记7或8所述的条形码读取方法,其中

在扫描端部和从所述扫描端部起看到的第一边缘之间不存在边 缘、所述第一边缘具有某个极性的情形中,将所述扫描端部看作极性 与所述某个极性相反的边缘。

(附记10)

根据附记7到9任一项所述的条形码读取方法,其中

基于在所述边缘删除器删除所述非必要边缘的位置信息和极性 信息后留下的多个边缘的位置信息,来确定每个条宽度数据,以及基 于在所述边缘删除器删除了所述非必要边缘的位置信息和极性信息后 留下的所述多个边缘的极性信息,来确定每个条的二值化等级数据。

(附记11)

根据附记10所述的条形码读取方法,其中

基于所述每个条的所述宽度数据和所述每个条的所述二值化等 级数据,来对所述条形码指示的所述信息进行解码。

(附记12)

根据附记7到11任一项所述的条形码读取方法,其中

基于分别与表示每一次扫描的读取信号的输入数据对应的每一 次扫描的差数据,检测包括在一次扫描中的多个边缘,所述差数据表 示相互邻接输入数据之差。

(附记13)

一种条形码读取程序,用于使计算机充当用于基于多个边缘的位 置信息和极性信息读取条形码指示的信息的条形码读取器,所述多个 边缘的位置信息和极性信息包括在读取信号中,所述读取信号指示被 投射以扫描光的条形码的反射光强度,所述程序使所述计算机充当:

边缘删除器,被配置为删除非必要边缘的所述位置信息和极性信 息,所述非必要边缘因条形码静区的反射光强度与所述静区的邻接部 分的反射光强度之差而产生;

其中,当检测到具有相同极性的两个连续边缘时,所述删除器将 更接近扫描端部的边缘确定为所述非必要边缘,并删除所述非必要边 缘的所述位置信息和极性信息。

(附记14)

根据附记13所述的条形码读取程序,所述程序还使所述计算机 以如下方式工作:

使用与所述边缘相对应的变化开始点的极性,作为所述边缘的极 性。

(附记15)

根据附记13或14所述的条形码读取程序,所述程序还使所述计 算机以如下方式工作:

在扫描端部和从所述扫描端部起看到的第一边缘之间不存在边 缘、所述第一边缘具有某个极性的情形中,将所述扫描端部看作极性 与所述某个极性相反的边缘。

(附记16)

根据附记13到15任一项所述的条形码读取程序,所述程序还使 所述计算机以如下方式工作:

基于在所述边缘删除器删除所述非必要边缘的位置信息和极性 信息后留下的多个边缘的位置信息,来确定每个条的宽度数据,以及 基于在所述边缘删除器删除了所述非必要边缘的位置信息和极性信息 后留下的所述多个边缘的极性信息,来确定每个条的二值化等级数据。

(附记17)

根据附记16所述的条形码读取程序,所述程序还使所述计算机 以如下方式工作:

基于所述每个条的所述宽度数据和所述每个条的所述二值化等 级数据,来对所述条形码指示的所述信息进行解码。

(附记18)

根据附记13到17所述的条形码读取程序,所述程序还使所述计 算机以如下方式工作:

基于分别与表示每一次扫描的读取信号的输入数据对应的每一 次扫描的差数据,检测包括在一次扫描中的多个边缘,所述差数据表 示相互邻接输入数据之差。

工业实用性

本发明适用于读取条形码。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号