CN104704509A - 条形码读取器、条形码读取方法、以及条形码读取程序 - Google Patents

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

Info

Publication number
CN104704509A
CN104704509A CN201380047281.XA CN201380047281A CN104704509A CN 104704509 A CN104704509 A CN 104704509A CN 201380047281 A CN201380047281 A CN 201380047281A CN 104704509 A CN104704509 A CN 104704509A
Authority
CN
China
Prior art keywords
edge
bar code
information
polarity
inessential
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380047281.XA
Other languages
English (en)
Other versions
CN104704509B (zh
Inventor
重光博
后藤雅生
鹤木博
寺冈正人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Infrontia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Infrontia Corp filed Critical NEC Infrontia Corp
Publication of CN104704509A publication Critical patent/CN104704509A/zh
Application granted granted Critical
Publication of CN104704509B publication Critical patent/CN104704509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10792Special measures in relation to the object to be scanned
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1478Methods for optical code recognition the method including quality enhancement steps adapting the threshold for pixels in a CMOS or CCD pixel sensor for black and white recognition

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Toxicology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Character Input (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Telephone Function (AREA)
  • Printers Characterized By Their Purpose (AREA)

Abstract

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

Description

条形码读取器、条形码读取方法、以及条形码读取程序
技术领域
本发明涉及用于读取条形码的条形码读取器、条形码读取方法、以及条形码读取程序。
背景技术
图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、CCD107、模拟放大器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所述的条形码读取程序,所述程序还使所述计算机以如下方式工作:
基于分别与表示每一次扫描的读取信号的输入数据对应的每一次扫描的差数据,检测包括在一次扫描中的多个边缘,所述差数据表示相互邻接输入数据之差。
工业实用性
本发明适用于读取条形码。

Claims (8)

1.一种条形码读取器,用于基于多个边缘的位置信息和极性信息读取条形码所指示的信息,所述多个边缘的位置信息和极性信息包括在读取信号中,所述读取信号指示被投射以扫描光的条形码的反射光强度,所述条形码读取器包括:
边缘删除器,所述边缘删除器被配置为删除非必要边缘的所述位置信息和极性信息,所述非必要边缘因所述条形码的静区的反射光强度与所述静区的邻接部分的反射光强度之差而产生;
其中,当检测到具有相同极性的两个连续边缘时,所述删除器将更接近扫描端部的边缘确定为所述非必要边缘,并删除所述非必要边缘的所述位置信息和极性信息。
2.根据权利要求1所述的条形码读取器,其中
使用与所述边缘相对应的变化开始点的极性,作为所述边缘的所述极性。
3.根据权利要求1或2所述的条形码读取器,其中
在扫描端部和从所述扫描端部起看到的第一边缘之间不存在边缘、所述第一边缘具有某个极性的情形中,将所述扫描端部看作极性与所述某个极性相反的边缘。
4.根据权利要求1到3任一项所述的条形码读取器,其中
基于在所述边缘删除器删除所述非必要边缘的位置信息和极性信息后留下的多个边缘的位置信息,来确定每个条的宽度数据,以及基于在所述边缘删除器删除了所述非必要边缘的位置信息和极性信息后留下的所述多个边缘的极性信息,来确定每个条的二值化等级数据。
5.根据权利要求4所述的条形码读取器,还包括:
解码器,所述解码器被配置为基于所述每个条的所述宽度数据和所述每个条的所述二值化等级数据,来对所述条形码所指示的所述信息进行解码。
6.根据权利要求1到5任一项所述的条形码读取器,还包括:
边缘检测器,所述边缘检测器被配置为基于分别与表示每一次扫描的读取信号的输入数据对应的每一次扫描的差数据,来检测包括在一次扫描中的多个边缘,所述差数据表示相互邻接的输入数据之差。
7.一种条形码读取方法,用于基于多个边缘的位置信息和极性信息读取条形码所指示的信息,所述多个边缘的位置信息和极性信息包括在读取信号中,所述读取信号指示被投射以扫描光的条形码的反射光强度,所述方法包括:
删除非必要边缘的所述位置信息和极性信息,所述非必要边缘因所述条形码的静区的反射光强度与所述静区的邻接部分的反射光强度之差而产生;
其中,通过当检测到具有相同极性的两个连续边缘时,将更接近扫描端部的边缘确定为所述非必要边缘,并删除所述非必要边缘的所述位置信息和极性信息,来执行对所述非必要边缘的所述位置信息和极性信息的所述删除。
8.一种条形码读取程序,用于使计算机充当用于基于多个边缘的位置信息和极性信息读取条形码所指示的信息的条形码读取器,所述多个边缘的位置信息和极性信息包括在读取信号中,所述读取信号指示被投射以扫描光的条形码的反射光强度,所述程序使所述计算机充当:
边缘删除器,所述边缘删除器被配置为删除非必要边缘的所述位置信息和极性信息,所述非必要边缘因所述条形码的静区的反射光强度与所述静区的邻接部分的反射光强度之差而产生;
其中,当检测到具有相同极性的两个连续边缘时,所述删除器将更接近扫描端部的边缘确定为所述非必要边缘,并删除所述非必要边缘的所述位置信息和极性信息。
CN201380047281.XA 2012-12-12 2013-11-18 条形码读取器、条形码读取方法、以及条形码读取程序 Active CN104704509B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012271513A JP5424369B1 (ja) 2012-12-12 2012-12-12 バーコードリーダ、バーコード読取り方法及びバーコード読取り用プログラム
JP2012-271513 2012-12-12
PCT/JP2013/081015 WO2014091880A1 (ja) 2012-12-12 2013-11-18 バーコードリーダ、バーコード読取り方法及びバーコード読取り用プログラム

Publications (2)

Publication Number Publication Date
CN104704509A true CN104704509A (zh) 2015-06-10
CN104704509B CN104704509B (zh) 2016-07-06

Family

ID=50287292

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380047281.XA Active CN104704509B (zh) 2012-12-12 2013-11-18 条形码读取器、条形码读取方法、以及条形码读取程序

Country Status (5)

Country Link
US (1) US9336424B2 (zh)
JP (1) JP5424369B1 (zh)
CN (1) CN104704509B (zh)
MY (1) MY158868A (zh)
WO (1) WO2014091880A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111830780B (zh) * 2020-06-30 2023-11-03 华虹半导体(无锡)有限公司 光罩和光罩信息读取方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6739513B1 (en) * 2000-09-05 2004-05-25 Rjs Systems International Box detector in barcode environment
CN1776708A (zh) * 2004-11-20 2006-05-24 三星电子株式会社 读取条形码的方法和装置
JP2008140255A (ja) * 2006-12-04 2008-06-19 Olympus Corp バーコード読取装置およびバーコード読取方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4125765A (en) * 1977-06-27 1978-11-14 International Business Machines Corporation Label find method and circuit
JP2853933B2 (ja) 1992-04-03 1999-02-03 日本電気精器株式会社 記録票読取装置の信号処理方法
JP3475529B2 (ja) 1994-11-25 2003-12-08 株式会社デンソー 光学情報読み取り装置の信号処理装置
US6371373B1 (en) * 1999-05-25 2002-04-16 Matsushita Electric Industrial Co., Ltd. Method for reading a two-dimensional barcode
JP2001014421A (ja) * 1999-06-28 2001-01-19 Matsushita Electric Ind Co Ltd バーコード読み取り装置
US8024691B2 (en) * 2006-09-28 2011-09-20 Mcgill University Automata unit, a tool for designing checker circuitry and a method of manufacturing hardware circuitry incorporating checker circuitry
JP5035042B2 (ja) 2007-08-29 2012-09-26 株式会社デンソーウェーブ 光学的情報読取装置
US8822255B2 (en) * 2009-09-04 2014-09-02 Ulvac, Inc. Method of manufacturing a solar cell module and apparatus of manufacturing a solar cell module
JP5224398B2 (ja) 2009-11-11 2013-07-03 Necインフロンティア株式会社 バーコードリーダおよびラベル貼付システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6739513B1 (en) * 2000-09-05 2004-05-25 Rjs Systems International Box detector in barcode environment
CN1776708A (zh) * 2004-11-20 2006-05-24 三星电子株式会社 读取条形码的方法和装置
JP2008140255A (ja) * 2006-12-04 2008-06-19 Olympus Corp バーコード読取装置およびバーコード読取方法

Also Published As

Publication number Publication date
US20150278568A1 (en) 2015-10-01
JP2014115953A (ja) 2014-06-26
MY158868A (en) 2016-11-16
WO2014091880A1 (ja) 2014-06-19
CN104704509B (zh) 2016-07-06
US9336424B2 (en) 2016-05-10
JP5424369B1 (ja) 2014-02-26

Similar Documents

Publication Publication Date Title
JP4707718B2 (ja) バーコードスキャナ復号
US7273175B2 (en) Method, an apparatus and a storage medium for locating QR codes
JP4366318B2 (ja) 画像処理装置及びその方法、プログラム
KR100920764B1 (ko) 고밀도의 광학 심볼을 2단계로 해독하기 위한 장치 및 방법
JP2005523530A (ja) 取り込み画像データから文字列を識別して抜出するシステムおよび方法
DE60112890D1 (de) Verfahren zur überwachung von dokumenten
JP2007213359A (ja) 二次元コード検出システムおよび二次元コード検出プログラム
CN101689300A (zh) 图像分割和增强
US20130016906A1 (en) Binarized threshold value determination device, method thereof, and image processing device
WO2004079660A1 (ja) 画像処理装置
US20100054603A1 (en) Device, method and computer program for detecting characters in an image
JP2008011484A (ja) 文字図形列抽出装置,文字図形列抽出方法,その方法を実行するプログラム,そのプログラムを記録した記録媒体
CN104704509A (zh) 条形码读取器、条形码读取方法、以及条形码读取程序
JP6303671B2 (ja) 画像処理装置及び画像処理プログラム
JP2009140244A (ja) 画像処理プログラム及び画像処理装置
JP2010182219A (ja) 画像処理装置
US8611669B2 (en) Image processing apparatus, image processing method and computer-readable medium
Prachanucroa et al. Marginal noise removal for scanned document images by projection profile based method
JP2002015283A (ja) 分離文字列統合方法および装置
JP6701773B2 (ja) 罫線削除装置、罫線削除方法、および罫線削除プログラム
JP2005202760A (ja) 光学的情報読取装置の境界位置特定方法
JP2009223893A (ja) 画像認識装置、画像認識方法及び画像認識装置を備える画像読取装置
JP2006106876A (ja) 文字読取装置、文字読取方法、帳票
JP2009003721A (ja) 光学式認識コード切り出し方法及び切り出し装置及びプログラム並びに光学式認識コード認識方法
JP2005301672A (ja) 画像処理装置、画像処理方法及び同方法に用いるプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant