CN103150536A - 为了解码尝试而对图像中的码候选排序的方法和装置 - Google Patents

为了解码尝试而对图像中的码候选排序的方法和装置 Download PDF

Info

Publication number
CN103150536A
CN103150536A CN2012105963938A CN201210596393A CN103150536A CN 103150536 A CN103150536 A CN 103150536A CN 2012105963938 A CN2012105963938 A CN 2012105963938A CN 201210596393 A CN201210596393 A CN 201210596393A CN 103150536 A CN103150536 A CN 103150536A
Authority
CN
China
Prior art keywords
candidate
image
fov
code
decoding
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
CN2012105963938A
Other languages
English (en)
Other versions
CN103150536B (zh
Inventor
J·A·内格罗
J·F·基廷
M·C·莫德
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.)
Cognex Corp
Original Assignee
Cognex 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 Cognex Corp filed Critical Cognex Corp
Priority to CN201710826336.7A priority Critical patent/CN107563239B/zh
Publication of CN103150536A publication Critical patent/CN103150536A/zh
Application granted granted Critical
Publication of CN103150536B publication Critical patent/CN103150536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/1465Methods for optical code recognition the method including quality enhancement steps using several successive scans of the optical code
    • 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
    • G06K7/10861Methods 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 sensing of data fields affixed to objects or articles, e.g. coded labels
    • G06K7/10871Methods 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 sensing of data fields affixed to objects or articles, e.g. coded labels randomly oriented data-fields, code-marks therefore, e.g. concentric circles-code
    • 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/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • 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/10712Fixed beam scanning
    • G06K7/10762Relative movement
    • 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/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • 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/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

一种用于解码施加在物体上的码并与照相机和传送系统一同使用的方法和装置,其中照相机包括具有二维观察域(FOV)的图像传感器并且传送系统按通过FOV的第一行进方向移动物体,以便物体沿着入口缘进入FOV并沿着出口缘退出FOV,该方法包括步骤:提供处理器,其被编程为执行步骤:获得FOV的图像;对于每个图像:标识在图像的至少一部分中的码候选;排序码候选的至少一子集以按候选次序解码,其中码候选至少部分地根据通过FOV的第一行进方向来确定;尝试按候选次序指定的次序来解码码候选;并且当新的图像事件发生时,先行尝试解码所标识的码候选中的至少一部分。

Description

为了解码尝试而对图像中的码候选排序的方法和装置
交叉引用甲请
不适用
关于联邦资助研究或发展的声明
不适用
发明背景
本发明涉及读码器,并且更特别地涉及尝试优化将在所获得的快速连续图像中的码候选解码的解码过程的读码器。
对使用光码的产品的自动标识在整个工业运行和许多其他应用中已被广泛地实施了很多年。光码是由具有不同光反射或发射的单元构成的图案,这些单元按照预定规则组合。光码中的单元可以是线性条形码中的条或者空,或者是二维矩阵码中的开/关图案。条形码或符号能够被打印在商品包装上设置的标签上,或者通过直接部分标记直接打印在商品自身上。在条形码或符号中编码的信息能够通过使用固定安装装置或在便携式手持设备中的光学读取器被解码。在固定安装设备的情形中,通常提供传输线或类似物,其通过设备检测器移动标有码或符号的物体以便该检测器能够产生码的图像。
至少一些读取器设备包括能够产生观察域的二维图像的照相机。例如,当前许多系统装备有二维CCD图像传感器,该传感器获得图像并且产生提供给处理器的图像数据。处理器被编程以检查图像数据来标识码候选(code candidate)(例如,条形码或符号候选)并且尝试将该码候选解码。至少一些读取器设备被编程以获得快速演变中的FOV的图像并且尝试尽快解码在所获得的图像中的任何码候选。为了解码,处理器运行一个或多个解码算法。
在图像被获得时,物体通过传输线或者类似物移动通过设备的FOV,在许多情况下,随着物体和码沿着通过FOV行进的方向在不同的位置处,相同物体和被施加的码的大量图像被获得。这里,图像中的一些码候选对于FOV将是新的(即在前一图像期间,该码候选位于FOV之外),并且一些码将在后续图像产生之前退出FOV。
当获取码的图像时,图像的质量取决于几个因素,该因素包括关于被施加码的表面的传感器角度,被施加码的表面的材料和质地,码标记的质量或者标记后的损坏,周围环境和设备照明特性,施加的符号的失真,传输线的速度,到被施加码的表面的距离,光学斑点,照相机分辨率等等。图象质量影响运行用来将码解码的特定算法的处理器的能力。例如,在许多情况下,一个简单的解码算法将不能成功地将图像中的码解码,除非图像采集的周围环境是充分理想的。
为了补偿有缺陷的图像采集,已开发出相对复杂的解码算法。例如,已经开发出若干解码算法,它们能够至少部分地补偿有缺陷照明、码施加在上面的被弯曲的表面、相对于码施加在上面的表面的有缺陷的传感器角度等等。
尽管复杂的解码算法在补偿缺陷图像方面运转良好,但一个缺点是复杂算法通常需要更大量处理功率和相当长的时间来执行。尽管在一些应用中更昂贵的算法不是问题,但在快速连续获得图像的应用中,需要长周期来完成的昂贵算法会导致远超过读取器处理器能力的计算需求。更特别地,在一些情况中,图像传感器能够迅速获得并提供图像,以致于读取器设备处理器不能在接收下一图像之前对图像中的所有码候选执行复杂的算法。
在处理器不能满足为快速连续的图像中的所有码候选执行复杂算法所要求的计算需求的情况下,一种解决方案是先行分析下一图像的候选,直到读取器设备已经试图解码当前图像中的所有码候选。因此,例如,如果在需要试图解码第一图像中的所有码候选的期间,第二到第四图像被获得,则当第五图像被获得时第二到第四图像将被丢弃,并且第四图像中的码候选将被检查。尽管这个解决方案保证对于当前或第一图像中所有候选应用复杂的算法,但在第一图像的候选被处理时,该解决方案简单的忽略第二至第四图像中的码候选,而不管后续图像中的候选可能更适合被解码。在这种情况下,最终结果可能是经过观察域的一些码从未被成功地解码。
发明概述
已经被认识到的是,为了解码尝试,所获得图像中的码候选能够按照各个因素的函数被排序在候选次序中,各个因素包括当前被检查的图像中候选的位置、之前获得的图像中候选的位置、在之前图像中解码尝试的结果、通过观察域的物体/码的行进方向、通过观察域的行进速度、候选是否将可能出现在后续图像中、候选是否重新被置于观察域内以及许多其他因素。这里,在候选次序被建立后,处理器尝试按所建立的次序解码候选直到下一图像事件出现,此时处理器丢弃或至少停止尝试解码当前图像中的候选并且开始下一图像中码候选的处理。这里,下一图像事件可以是下一图像的接收、超时周期的结束、被选择以在下一图像预期接收之前能够完成的大量解码尝试的完成、在之前图像中可能未被解码的所有码候选的解码尝试的完成,等等。
例如,在至少一些实施例中,传输线按行进方向移动物体/码通过设备观察域,使得新的图像沿着入口缘进入观察域并且沿着出口缘退出,处理器可以被编程以排序所获得图像中的码候选,以便处理器尝试首先解码最接近入口缘的候选随后解码与入口缘距离稍远的候选,直到或者处理器已经尝试解码所有候选,或者下一图像事件(例如,下一图像被获得)发生。当下一图像事件在尝试解码所有候选之前发生时,处理器丢弃或者先行处理处理器仍未开始尝试解码的候选,并且,在至少一些情况中,可以停止解码当前正被解码的候选,并开始处理下一图像。
作为另一实例,处理器可以被编程为排序所获得图像中的码候选,以便处理器尝试首先解码最接近出口缘然后解码与出口缘距离稍远的候选,直到处理器已经尝试解码所有候选,或者下一图像事件(例如,下一图像被获得)出现。在其他情况下,处理器可以将FOV划分成不同的兴趣区域(ROI),并且随后按照连续次序从第一ROI中的候选开始,紧接着第二ROI等等,尝试解码ROI中的候选,直到所有候选已经被尝试或者直到下一图像事件发生。
在其他实施例中,处理器可以被编程为基于当前图像中候选的行进方向、速度和位置或者这些因素的子集标识可能将不会出现在下一图像中的候选,并且可以排序候选以使在下一图像中将可能不会出现的候选在该顺序中先被处理。
在其他实施例中,处理器可以被编程为记录之前图像中成功被解码的候选的位置,并且按照当前图像中哪些码候选可能在之前图像中被成功地解码以及哪些不能被成功地解码来排序用于解码尝试的候选。例如,在当前图像中十个候选中的两个可能对应于来自在之前图像的两个成功被解码的候选的情况下,处理器可以将其他八个候选排序在前,并且仅在最后尝试解码那两个可能在之前可能成功被解码的候选(如果在获得下一图像之前还有时间的话)。
仍在其他实施例中,处理器可以根据候选是否将可能出现在后续图像中并且候选是否可能在之前图像中被解码,同时基于图像中候选的位置或者其他因素来排序候选。
一些实施例包括用于解码施加于物体的码的与照相机和传送系统一同使用的方法,其中照相机包括具有二维观察域(FOV)的图像传感器,而传送系统按第一行进方向穿过FOV移动物体,这样物体沿着入口缘进入FOV并且沿着出口缘离开FOV,该方法包括提供处理器的步骤,该处理器被编程为执行步骤:获得FOV的图像;对于每个图像,标识图像至少一部分中的码候选;排序码候选的至少一子集以按候选次序解码,其中候选顺序至少部分根据通过FOV的第一行进方向确定;尝试按由行进方向指定的次序将码候选解码,并且当新图像事件出现时,先行尝试解码被标识的码候选的至少一部分。
在一些实施例中,排序码候选的至少一子集的步骤包括标识FOV中的至少第一和第二兴趣区域(ROI),第一和第二兴趣区域分别与FOV的入口缘和出口缘相邻;标识至少第一和第二ROI的每个ROI中的码候选;并且将第一和第二ROI中的一个ROI中的码候选排序在第一和第二ROI的另一个ROI中的码候选之前进行处理。在一些实施例中,第一ROI中的码候选在候选次序中被排序在第二ROI中的码候选之前。在一些实施例中,第二ROI中的码候选在候选次序中被排序在第一ROI的码候选之前。
在一些实施例中,排序码候选的至少一子集的步骤进一步包括步骤:标识当下一图像被获得时将可能在FOV之外的码候选,并且将当下一图像被获得时将可能在FOV之外的码候选排序在候选次序开始处附近。在一些情况下,标识将可能在FOV之外的码候选的步骤进一步包括步骤:对于当下一图像被获得时将可能在FOV之外的码候选,标识已经在之前图像中可能被解码的码候选以及在之前图像中可能未被解码的码候选,并且将在之前图像中可能未被解码的码候选排序在在之前图像中可能被解码的码候选之前。
在一些情况下,排序码候选的至少一子集的步骤进一步包括步骤:标识对于FOV可能是新的码候选,并且标识可能在之前图像中并且当后续图像被获得时将可能在FOV中的码候选,以及将可能在之前图像中并且当后续图像被获得时将可能在FOV中的码候选排序在候选次序的末尾附近,并且将可能在之前图像中的码候选排序在候选次序的大致中间附近。
在一些实施例中,排序码候选的至少一子集的步骤包括:标识在候选次序开始处附近对于FOV是新的码候选。在一些实施例中,排序码候选的至少一子集的步骤包括:标识当下一图像被获得时可能在FOV之外并且在之前图象中可能未被解码的码候选为第一候选子集;标识当下一图像被获得时可能在FOV之外并且在之前图像中可能已经被解码的码候选为第二候选子集;标识当下一图像被获得时可能在FOV中并且可能在之前图像中可能未被解码的码候选为第三候选子集;标识当下一图像被获得时可能在FOV中并且在之前图像中可能已经被解码的码候选为第四候选子集;以及排序这些子集以使第一候选子集出现在第二候选子集之前,第二候选子集出现在第三候选子集之前,以及第三候选子集出现在第四候选子集之前。
在一些情况下,当新的图像被获得时,该方法进一步包括按候选次序丢弃码候选,这样没有任何解码的尝试会发生。在一些情况下,传送系统以传送速度按第一行进方向传送物体,并且其中候选次序至少部分地根据传送速度被确定。在一些实施例中,至少第一和第二不同的解码算法可以被用来尝试解码任意码候选,该方法进一步包括步骤:将第一和第二解码算法中的一个分配给候选次序中的至少一子集中的每个候选,其中被指定给每个候选的算法至少部分地根据候选次序。
一些实施例进一步包括步骤:标识在之前图象中可能被成功解码的码候选,以及在之前图像中可能未被成功解码的码候选,指定第一和第二解码算法的步骤包括至少部分地根据在之前图像中码候选是否可能被解码来分配解码算法。
在一些实施例中,第一解码算法需要比第二解码算法更多的时间来完成。在一些情况下,当新的图像被获得时,新的图像事件发生。在一些实施例中,当图像获取期间已经时,新的图像事件发生。
一种用于解码施加在物体上的码并与照相机和传送系统一同使用的方法,其中照相机包括具有二维观察域(FOV)的图像传感器,并且传送系统按第一行进方向穿过FOV移动物体,使得物体沿着入口缘进入FOV,并且沿着出口缘离开FOV,该方法包括提供处理器的步骤,该处理器被编程为执行步骤:标识穿过FOV第一行进方向;对于每个图像,获得FOV的图像,其中最近获得的图像是当前图像;标识图像的至少部分中的码候选;尝试解码接近FOV出口缘的码候选;在尝试解码接近FOV出口缘的码候选之后,尝试解码接近FOV的入口缘的码候选,并且当新的图像事件发生时,先行尝试解码被标识的码候选中的至少一部分。
一些实施例包括一种用于解码施加在物体上的码并与照相机和传送系统一同使用的方法,其中照相机包括具有二维观察域(FOV)的图像传感器,传送系统按第一方向穿过FOV移动物体,使得物体沿着FOV的入口缘进入FOV,并且沿着FOV的出口缘离开FOV,从而传感器产生具有至少第一和第二不同兴趣区域的图像,上述兴趣区域分别与入口缘和出口缘相邻。该方法包括提供处理器的步骤,该处理器被编程用于执行步骤:获得FOV的图像;对于每个图像,标识图像中至少一部分的码候选;在获得的图像中标识至少第一和第二不同兴趣区域(ROI);尝试第一次解码第一ROI中的码候选;在尝试解码第一ROI中的候选之后,尝试解码第二ROI中的码候选,在尝试解码第二ROI中的候选之后,尝试第二次解码第一ROI中的码候选,并且当新的图像事件发生时,先行尝试解码所标识的码候选中的至少一部分。
在一些实施例中,尝试第一次解码第一ROI中的码候选的步骤包括使用第一解码算法,并且尝试第二次解码第一ROI中的码候选的步骤包括使用不同于第一解码算法的第二解码算法来尝试将码候选解码。在一些实施例中,第一ROI接近FOV的入口和出口缘中的一个,并且第二ROI接近FOV的入口和出口缘中的另一个。
一些实施例进一步包括将在第一ROI中的码候选按照候选次序排序的步骤,尝试第一次解码第一ROI中的码候选的步骤包括尝试按由候选次序规定的次序将码候选解码。一些情况进一步包括:标识第一ROI中在至少一幅之前图像中可能已经被先前解码的码候选的步骤;排序码候选的步骤,该步骤包括至少部分地根据哪个候选在至少一个之前的图像中可能已经被先行解码来排序码候选。
其他实施例包括一种用于解码施加于物体上的码并与照相机和传送系统一同使用的装置,其中照相机包括具有二维观察域(FOV)的图像传感器,而传送系统按第一行进方向穿过FOV移动物体,这样物体沿着入口缘进入FOV并沿着出口缘离开FOV,该装置包括处理器,该处理器被编程用于执行步骤:获得FOV的图像;对于每个图像,标识在图像的至少一部分中的码候选;将码候选的至少一子集排序以按照候选次序解码,其中候选次序至少部分地根据穿过FOV第一行进方向确定;尝试按由行进方向指定的次序将码候选解码,以及当新的图像事件发生时,先行尝试解码所标识的码候选中的至少一部分。
在一些实施例中,处理器被编程为执行步骤:通过标识FOV中的至少第一和第二兴趣区域(ROI)来排序码候选的至少一子集,第一和第二兴趣区域分别与FOV的入口缘和出口缘相邻;标识在至少第一和第二ROI的每个中的码候选,并且将第一和第二ROI的一个ROI中的码候选排序在第一和第二ROI的另一个ROI中的码候选之前进行处理。
在一些实施例中,处理器被编程为执行步骤:通过标识当下一图像被获得时将可能在FOV之外的码候选来排序码候选的至少一子集,并且将当获得下一图像时可能在FOV之外的码候选排序在候选次序的开始处附近。在一些实施例中,处理器被编程为执行步骤:通过标识对于FOV是新的的码候选来将码候选的至少一子集排序在候选次序的开始处附近。
其他实施例包括用于解码施加在物体上的码并与照相机和传送系统一同使用的装置,其中照相机包括具有二维观察域(FOV)的图像传感器,而传送系统按第一行进方向穿过FOV移动物体,这样物体沿着入口缘进入FOV并沿着出口缘退出FOV,该装置包括处理器,该处理器被编程为执行步骤:标识穿过FOV的第一行进方向;获得FOV图像;对于每个图像,在最近获得的图像是当前图像的情况下,标识在图像的至少一部分中的码候选;尝试解码接近FOV出口缘的码候选;在尝试解码接近FOV出口缘的码候选之后,尝试解码接近FOV入口缘的码候选,并且当新的图像事件发生时,先行尝试解码所标识的码候选的至少一部分。
为实现前述以及相关的目标,本发明包括以下充分描述的特性。以下说明书以及附图详细阐明本发明特定示例性方面。然而,这些方面仅仅表明本发明能够实现的多种方式中的一些。当考虑到附图时,由本发明以下详细说明,本发明的其他方面、优点以及新颖性将变得显而易见。
附图简要说明
图1是示出机器视觉系统和传输线的示意性图,其中机器视觉系统包括与本发明至少一些方面一致的特征;
图2示出示例性观察域、观察域中的示例性兴趣区域以及观察域中示例性码候选;
图3与图2类似,尽管示出处于相对于观察域和兴趣区域的不同相对位置中的码候选;
图4是示出方法的流程图,通过该方法根据通过观察域的候选的行进速度和行进方向排序在所获得的图像中的码候选以用于尝试解码;
图5是示出方法的流程图,通过该方法根据所获得的图像中的码候选出现在观察域中的哪个兴趣区域来将它们分组到子集中,并且处理器按与码候选的兴趣区域相关的次序来处理它们;
图6是示出方法的流程图,通过该方法处理器根据那些码候选是否可能在之前图像中被解码来排序码候选;以及
图7和8示出单个流程图,其中处理器根据码候选是否可能在之前获得的图像中被解码以及码候选是否将可能出现在后续图像中来排序码候选以用于解码尝试。
发明的详细描述
现在参考附图描述主题发明的各个方面,其中在全部几幅视图中相同的参考标记对应于相同的部件。然而,应当理解的是,以下相关附图和详细描述并非意图将所要求的主题限制在公开的特定形式中。相反,本发明要覆盖落在所要求主题的精神和范围内的所有修改、等价物和所有替代。
如在此所使用的,术语“组件”、“系统”和类似用语意图指示计算机相关实体,或者是硬件、硬件和软件的组合,软件,或者执行中的软件。例如,组件可以是但不限于处理器上运行的过程、处理器、对象、可执行的、执行的线程、程序、和/或计算机。作为示例,运行在计算机上的应用和计算机都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,并且组件可以位于一个计算机上和/或分布在两个或多个计算机或处理器之间。
单词“示例性”在此被用来作为例子、实例或示例用。在此被描述为“示例性”的任何方面或设计对于解释其他方面或设计的优选或优点并不是必需的。
更进一步,公开的主题可以被实现为系统、方法、装置或者使用标准编程和/或工程技术来产生软件、固件、硬件或任何它们的组合以控制基于设备的计算机或处理器来实现在此所描述的方面。在此使用的术语“制品”(或可替换地“计算机程序产品”)意在包括从任何计算机可读设备、载体或介质上可访问的计算机程序。例如,计算机可读介质能够包括但不限于磁存储设备(例如,硬盘,软盘,磁片...)、光盘(例如,光盘(CD),数字化多功能盘(DVD)),智能卡以及闪存设备(例如,卡,棒)。此外,应当意识到的是,载波能够被使用来承载计算机可读电子数据,诸如那些用于发送和接收电子邮件或用来访问诸如因特网或局域网(LAN)之类的网络。当然,本领域技术人员将认识到可以在不脱离所要求主题的范围和精神下对该配置作出许多修改。
现在参考附图,其中全部若干视图中类似的参考标记对应于相似的部件,更特别地,参考图1,本发明将被在示例性成像系统/传输线10的背景下被描述,其中传输线30沿着行进方向25移动物体26a、26b、26c等等。在当前例子中,每个物体具有相似的物理特征,因此,只有物体26a将被详细描述。特别地,物体26b包括表面27,当物体26b被传输线30移动时该表面通常朝上。为标识目的,矩阵码24a被施加在上表面27上。类似的矩阵码24a被施加在物体26a和26c的每个的上表面上。
仍然参考图1,图像处理系统包括照相机22,该照相机包括限定照相机22之下的观察域28的光学器件24,生产线30移动物体26a、26b、26c等等通过观察域。因此,随着物体沿着行进方向25移动,每个上表面27进入观察域28。在当前例子中,观察域28足够大,使得整个上表面27位于观察域28之内的一个或另一个点上,并且因此施加在物体的上表面27上的任何码通过观察域28,并且能够被照相机22捕获在图像中。成像系统还包括计算机或处理器14(或者多个处理器),该计算机或处理器接收来自照相机22的图像,检查图像以将可包括矩阵码的实例的图像的子部分标识为码候选,并且然后努力尝试解码每个码候选以标识当前观察域28之内的物体。为此,照相机22连接到处理器14。接口设备16/18也连接到处理器14以提供视频和音频输出至系统用户同时为用户提供输入以控制成像系统、设置成像系统运行参数、解决成像系统的问题等等。在至少一些实施例中,成像系统还包括安置与传输线30相邻的转速计33,其可以用来标识行进方向25和/或传输线30运输物体通过观察域的速度。
现在参考图2,示出观察域28的示例性图像。在观察域28之内,如所示,存在三个码候选24a、24b、24c,其中只有码候选24a对应于实际矩阵码。因此,码候选24b和24c简单地表示图像伪影,经过图像的初始分析,这些图像伪影具有与要被解码的实际矩阵码的伪影一致的一些特征。在图2中示出图1所示的传输线30的行进方向25为所示的从右到左。因此,进入观察域28的物体和其上标记的码从右侧进入观察域并且通过至左侧。因为这个原因,观察域28的右侧边36被称作入口缘,而左侧边38被称作出口缘。
再参考图1和2,照相机22是高速照相机,其非常迅速地获得观察域28的连续图像,这样,在许多情况下,随着物体上的码移动通过观察域28,照相机22将分别获得在入口和出口缘36和38之间不同位置上码的大量连续图像,因此,例如,随着码24a移动越过观察域28,照相机22可以获得20个单独图像,它们带有出现在这20个图像的每个中的码24a。尽管处理器14是高速处理器,但在许多情况下,处理器14不能处理由照相机22产生的所有连续图像中的所有数据。在大量假码候选出现在所获得的图像中并且图像中的假码候选的数量通常取决于图像被获得的环境的情况下,尤其如此。例如,在观察域照明不够好的情况下,假码候选的数量可能较大。作为另一个例子,传输线30移动物体通过观察域28的速度可能影响被标识的假码候选的数量。在当前的说明中,将假设在许多情况下,照相机22产生图像很迅速以致于处理器14不能在至少一些时间内处理所获得的所有图像中的所有码候选。
已经认识到的是,系统处理器14将至少一次并且在许多情况下是多次尝试将在之前图像中所获得图像中的许多码候选解码。例如,再次参考图2并且现在还参考图3,图3示出在一个点处并且时间上稍稍在图2所示的图像被获得之后的观察域28,在此时码候选24c已经在观察域28之内沿着行进方向25向不同的位置移动。类似地,候选24a已经沿着观察域28之内的行进方向移动。候选24b已经移出观察域28,并且因此不再出现在图3中。在此时,当图3的图像被获得时,因为候选24a和24c出现在图2所示的图像中,并且可能出现在图2和3的图像被获得的时间之间被获得的许多其他图像之内,所以处理器14有可能已经尝试至少一次并且在许多情况下尝试若干次解码候选24a和24c中的每一个。
仍参考图3,三个额外的码候选24d、24e和24f出现在图像中,它们没有出现在图2所示的图像中。在此,导致候选24d-24f的伪影在图2和3的图像被获得的时间之间已经移动到观察域28之内的位置。在这种情况下,处理器14可能不会尝试解码任何在之前图像中的候选24d-24f,或者可能仅以最低限度尝试解码观察域之内相对较新的每个候选较少次,该次数小于处理器试图解码相对较早的候选24a和24c的次数。处理器14是否已经尝试解码观察域28的所获得的图像之内的候选取决于行进方向25、传输线30(再次参见图1)移动物体和其上标记的码通过观察域28的速度、成像系统获得图像的速度以及处理器解码所获得的候选的速度。
因此,在至少一些实施例中,处理器14可以被编程为高效排序所获得图像内的码候选以用于按候选次序解码,其中对于观察域28是新的候选首先被尝试,随后是已经在观察域28内一段相对长时间的候选。
现在参考附图4,示出可以由处理器14执行以排序图像内的码候选的过程40,其中观察域内的新码候选首先被处理。在框42,处理器14获得来自照相机22的图像。在框44,处理器14标识通过观察域28的行进方向以及传输线30的速度。这里,传输线速度和行进方向可以通过转速计33确定。在其他实施例中,传输线速度和行进方向可以被重编程以使转速计不是必需的。在其他实施例中,处理器14可以进一步被编程为控制传输线速度和行进方向,并且因此可能已经具有那些信息以用于处理目的。继续,在框46,在所获得的图像内的码候选被标识。在框48,至少部分地基于行进的方向/速度,处理器14创建候选次序,其中,与以上描述的内容一致,观察域28之内相对较新的码候选被置于候选次序的前端,而相对较旧的候选被置于该次序的末端附近。
在框50,处理器14按候选次序尝试解码下一个码候选。在第一次经过框50时,对于一图像,处理器尝试解码候选次序内的第一码候选,在第二次经过框50时,对于一图像,处理器14尝试解码该次序内的第二码候选,等等。在框52,处理器14确定码候选是否被成功解码。如果码候选已经被成功解码,控制传递到框56,在框56,处理器14指示解码尝试已经成功,之后控制传递到框58。
再参考框52,如果码候选没有被成功解码,则控制传递到框58。在框58,处理器14确定下一图像是否已经被获得。如果下一图像已经被获得,控制传递回到框46,在框46,处理器14再次标识在所获得图像内的所有码候选,并且以上描述的过程继续。这里,应当意识到的是,当在处理器14尝试解码当前图像内的所有码候选之前在框58获得下一图像时,在至少一些实施例中,处理器仍未尝试解码的候选被简单地丢弃。因此,例如,再参考图3,可能是在处理器14获得下一图像之前,处理器14仅具有尝试解码相对较新的图像24d、24e和24f的时间,在这种情况下图3中的候选24a和24c将被丢弃。这里,应当认识到的是,当那些候选在候选次序中出现更早时,处理器14可能已经在之前图像中尝试解码候选24a和24c每个若干次。
在至少一些实施例中,处理器14可以被编程为,当下一图像被获得时,停止解码当前处理器正在尝试解码的码候选。在其他实施例中,如果处理器基本完成执行解码算法,处理器可以继续当前解码过程直到完成。
再次参考图4,如果在框58未获得下一图像,则控制向下传递到框60,在框60,处理器14确定在该次序中的所有码候选是否都已经被尝试。如果处理器并未尝试解码该次序中的所有码候选,则控制传递回框50,在框50,处理器尝试解码候选次序中的下一码候选。在一些情况下,对于特定图像,处理器能够尝试该次序中的所有码候选。在这种情况下,在框60,控制传递回框42,在框42,处理器14等待获得观察域28的下一图像。
与本发明至少一些实施例的另一方面一致,已经被认识到的是,在观察域28的任意图像中,在图像之内的至少一些码候选将可能不出现在后续图像中,并且因此,将可能不出现在后续图像中的码候选放置在候选次序的顶端或者紧接顶端是有益的。例如,再参考图2,候选24b接近观察域28的出口缘38,并且因此,与候选24a和24c相比相对更不可能出现在观察域28的后续图像中。为此,参见图3,在图3中候选24a和24c出现在后续图像中,而候选24b不再出现在该图像中。这里,图2所示图像可以表示能够作出解码尝试的候选24b的最后可能的实例。
因此,再参考图4,在至少一些实施例中,在框48创建的候选次序将要把观察域内可能不会出现在后续图像中的码候选放置在候选次序顶端,并且观察域28内的新候选放在该次序后端。在图2中,例如,这意味着候选24a至24c被排序为24b、24a和24c。除了候选次序不同,关于图4所描述的过程40将以上述方式执行。
在一些实施例中,替代产生候选次序,观察域可以被划分为不同的兴趣区域,并且不同区域内的码候选可以按次序被处理,该次序根据码候选将出现在哪个区域内。例如,再次参考图2,观察域28被示出分别划分为第一和第二兴趣区域32和34,其中第一兴趣区域32包括观察域28与入口缘36相邻或接近的第一半,而第二兴趣区域34包括观察域28与出口缘38相邻或接近的第二半。这里,在对于观察域28相对新的码候选应当首先被处理的实施例中,处理器14可以在尝试解码第二兴趣区域34中的候选之前,尝试解码第一兴趣区域32中的候选。类似地,在更可能不出现在后续图像中的码候选应当被首先处理的实施例中,处理器14将在处理第一兴趣区域32的任意候选之前,处理第二兴趣区域34中的候选。
现在参考图5,示例性过程170被示出,其中处理器14根据候选出现在观察域的哪个兴趣区域中来处理码候选。在框172,处理器14获得观察域28的图像。在框174,所获得的图像内的码候选被标识。在框176,处理器14标识图像内的兴趣区域。再参考图2,在图2的例子中,在至少一些实施例中,处理器14分别标识第一和第二兴趣区域32和34。在框178,处理器14尝试解码第一兴趣区域32中的下一码候选。这里,在第一次经过框178时,对于一图像,处理器14尝试解码第一兴趣区域32内的第一码候选,第二次经过框178,处理器14尝试解码该兴趣区域32内的第二码候选,等等。在框180,处理器14确定码候选是否已经被成功解码。如果码候选已经被成功解码,则控制传递到框182,在框182,处理器14指示成功的解码,在此之后控制传递到框186。在决策框180,如果码候选未被成功解码,则控制传递到框186。
仍参考图5,在框186,处理器14确定处理器14是否已经接收到来自照相机22的下一图像。如果下一图像已经被接收,则控制传递回到框174,在框174,处理器14标识新图像中的码候选,并且上述过程继续。这里,应当意识到的是,如果下一图像在处理器14已经尝试解码第一兴趣区域32中的全部码候选之前被获得,则第一兴趣区域内处理器未尝试解码的码候选被丢弃。此外,第二兴趣区域34内的所有码候选也被丢弃,有利于开始尝试解码新图像内的候选。在其他实施例中,在新图像被获得之后,处理器14可以被编程为在处理新的或下一图像之前,完成对第一区域内任何候选的解码尝试。
仍参考框186,如果下一图像仍未被获得,则控制传递到框184。在框184,处理器14确定处理器是否已经尝试解码第一兴趣区域内的所有码候选。如果在第一兴趣区域内存在未被尝试的额外码候选,控制传递回到框178,在框178上述过程继续。一旦第一兴趣区域的所有码候选都已经被尝试,控制就传递到框188,在框188,处理器14接下来尝试解码第二兴趣区域内的下一码候选。这里,在第一次经过框188时,对于一图像,处理器14尝试解码第二兴趣区域34内的第一码候选,第二次经过框188,处理器14尝试解码该兴趣区域内的第二码候选,等等。
再次参考图5,在框190,处理器14确定码候选是否被成功解码。如果候选被成功解码,则控制传递到框192,在框192,处理器14指示成功解码。在框192之后,控制传递到框193。如果在框190码候选未被成功解码,则控制向下传递到框193。在框193,处理器14确定下一图像是否已被获得。如果下一图像已被获得,控制传递回到框174,在框174上述过程继续。这里,再次应当被意识到的是,如果下一图像在处理器尝试解码第二兴趣区域34内的所有码候选之前被获得,则未被尝试的码候选被丢弃。
再参考框193,如果下一图像仍未被获得,则控制向下传递到框194,在框194,处理器14确定处理器是否尝试解码第二兴趣区域内的所有码候选。如果存在第二兴趣区域内的至少一个未被尝试的码候选,则控制传递回到框188,在框188上述过程继续。一旦第二兴趣区域内的所有码候选都已经被尝试,控制传递回到框172,在框172,处理器14等待接收来自照相机22的下一图像。
存在许多不同的算法能够被用来尝试解码所获得图像内的码候选。其中一些算法相对简单,而另一些算法相对复杂,复杂的解码算法通常在解码候选时比简单的算法更成功。然而,在许多情况下,复杂的算法是计算极度密集的,并且因此需要比简单算法相对较多的时间完成。在至少一些实施例中,可以预期的是,不同的解码算法可以被用于尝试解码图像中的码候选,其中使用的解码算法可以根据码出现在所获得的图像的何处、码候选通过观察域的行进方向、行进速度等等。例如,重新参考图2,不同的解码算法可以用于尝试解码不同的兴趣区域32和34中的码候选。例如,在一些情况下,简单的解码算法可以被用来解码第一兴趣区域32内的任意码候选,并且第二较复杂的解码算法可以被用来尝试解码第二兴趣区域34内的所有码候选,直到下一图像被获得,此时处理器仍未尝试解码的任何码候选将被丢弃。与该实施例一致,参考图5,其中框178和188的括号内分别指示第一和第二不同解码算法被分别用于尝试解码第一和第二兴趣区域内的码候选。
在至少一些实施例中,处理器14可以被编程将所获得图像中的码候选与之前被处理图像中的码候选相关联,并且尤其将所获得图像中的码候选与先前图像中被先行成功解码的候选相关联,并且可以根据哪些候选已经可能被先行解码以及哪些候选未被先行解码来排序候选以用于解码尝试。为此,已经被认识到的是,当所获得图像中的码候选可能已经被先行解码时,该候选的另一成功解码将简单地确认之前成功解码的结果。在至少一些实施例中,处理器被编程为在尝试解码可能已经被先行解码的码之前尝试解码在前一图像中已经被成功解码的码。
现在参考图6,示出过程240过程240可以由处理器14执行以根据那些码候选是否在先前图像中被成功解码来尝试解码码候选。在框242,处理器14获得来自相机22的观察域的图像。在框244,码候选在图像内被标识。在框246,基于传输线30的速度、传输线的行进方向以及在先前图像和当前图像中的码候选的位置来标识可能已经在先前图像中被解码的码候选。在框248,处理器14基于速度、行进方向以及候选在先前图像和当前图像中的位置来标识可能在先前图像中未被解码的码候选。在框252,处理器14创建候选次序,其中在先前图像中可能未被尝试的候选被放置在次序顶端附近。这里,如上,次序可以进一步由当前图像中候选的位置确定。例如,在之前图像中从未被标识的新的码候选可以被放置在比在之前图像中已经被标识是未被成功解码的候选更高的次序上。在框250,处理器14按次序尝试解码下一码候选,其在至少一个先前图像中未被解码。在框254,如果码候选被成功解码,则控制向下传递到框255,在框255,处理器14将被解码的码候选的位置存储在存储器中,以备上述的框246后续使用。在框255之后,控制传递到框256,在框256,处理器14指示成功解码,然后控制向下传递到决策框258。在框254,如果码候选未被成功解码,则控制向下传递到框258。
在决策框258,处理器14确定下一图像是否已经从照相机22获得。如果下一图像已经从照相机获得,则控制传递回到框244,在框244下一图像中的码候选被标识,并且上述过程继续。在框258,如果下一图像仍未获得,控制向上传递到框260,在框260,处理器14确定处理器是否已经尝试解码在前一图像中可能未被解码的全部码候选。如果处理器未尝试解码在前一图像中可能未被解码的全部码候选,控制传递回到框250,在框250,处理器14尝试解码可能未被解码的下一码候选,并且上述过程继续。
在框260,如果处理器已尝试解码在前一图像中可能未被解码的全部码候选,控制向下传递到框262,在框262,处理器14尝试解码在前一图像中可能被解码的下一码候选。在决策框264,处理器14确定码候选是否被成功解码。如果码候选被成功解码,控制传递到框266,在框266,处理器14存储被解码的候选的位置,并且在框268,处理器14指示成功解码。在框264,如果码候选未被成功解码,控制向下传递到框270。
在框270,处理器14确定下一图像是否已经从照相机22获得。如果下一图像已经被获得,控制传递回到框244,在框244上述过程继续。如果下一图像未被获得,控制向下传递到框272,在框272,处理器14确定处理器是否已经尝试解码在先前图象中可能被解码的所有码候选。如果处理器已经尝试了所有先前可能被解码的候选,则控制传递回到框242,在框242上述过程继续。如果存在在前一图像中处理器已经可能解码并且在当前图象中处理器未尝试解码的至少还有一个码候选,则控制向上传递回到框262,在框262上述过程继续。
仍参考图6,在至少一些实施例中,被用于尝试解码可能先前被解码的候选的解码算法和用于解码可能先前未被解码的码候选的解码算法可能是不同的,并且可以被选择来优化解码过程。例如,对于可能先前被解码的码候选,可使用第一相对复杂的解码算法(参见框250中的括号),而对于在更早的图像中可能先前被解码的码,可使用第二相对简单的解码算法来尝试解码这些候选(参见框262中的括号)。
再次参考图6,关于图6的上述实施例根据码候选在之前图像中是否可能被成功解码来将码候选排序以用于尝试解码,然而在其他实施例中,可以根据处理器是否可能已经尝试解码候选来排序码候选。例如,如果处理器已经尝试解码在前一图像中的第一码候选,并且未尝试解码在之前图像中的第二码候选,则处理器14可以不考虑在先前图像中解码第一码候选的尝试是否成功,在第一码候选之前尝试解码第二码候选。在其他实施例中,给定相同环境,处理器可以被编程为在第二码候选之前尝试解码第一码候选。为此,框246、248、250、260、262和272每个包括限定词(尝试)或(未尝试)之一,在这些框里,它们可以分别被替换为短语“可能解码”和“可能未解码”。当按照这种方式修改图6时,过程240对应于一系统,其中处理器14被编程为根据处理器是否已经可能尝试解码在之前图像中的码候选来排序解码尝试。
仍在其他实施例中,处理器14可以被编程为根据在之前图像中码是否可能被成功解码以及码候选是否将出现在后续图像中来排序码候选。为此,参考图7,示出另一过程350,该过程由与本发明至少一些方面一致的处理器14执行。在框352,处理器14从照相机22获得图像。在框354,该图像中的码候选被标识。在框356,处理器14将在至少一个前一图像中可能未被解码并且可能将不出现在后续图像中的码候选标识为第1组候选。在框358,处理器14将在前一图像中可能未解码并且可能将出现在后续图像中的码候选标识为第2组候选。在框360,处理器14将在前一图像中可能被解码并且可能将不出现在后续图像中的码候选标识为第3组候选。在框362,处理器14将在前一图像中可能已被解码的码候选并且可能将出现在后续图像中的码候选标识为第4组候选。
继续在框364,处理器14尝试解码下一第1组码候选(即在前一图像中可能未解码并且可能将不出现在后续图像中的下一码候选)。在此,在第一次经过框364时,对于一图像,处理器14尝试解码第一个第1组候选,在第二次经过框364时,处理器14尝试解码第二个第1组候选,等等。
在框366,处理器14确定码候选是否已经被成功解码。如果码候选已经被成功解码,控制传递到框368,并且随后到框370,在框370,处理器14存储被解码的候选的位置,并且指示成功解码。在框370之后,控制传递到框372。在框366,如果码候选未被成功解码,控制向下传递到框372。
在框372,处理器14确定下一图像是否已经被获得。如果下一图像已经被获得,控制传递回到框354,在框354上述过程被重复。这里,如果下一图像在框372被获得,在当前图像中的处理器未尝试解码的所有码候选被丢弃。在框372,如果下一图像未被获得,控制传递到框374,在框374,处理器14确定是否所有第1组候选已经被尝试。如果不是所有第1组候选都已被尝试,则控制传递回到框364,在框364上述过程继续。在框374,一旦所有组候选已经被尝试,控制就传递到图8的框380。
现在参考图8,在框380,处理器14尝试解码下一第2组候选。这里,在第一次经过框380时,处理器14尝试解码第一个第2组候选,在第二次经过框380时,处理器14尝试解码第二个第2组候选,等等。在框382,处理器14确定是否第2组候选已被成功解码。如果第2组候选已经被成功解码,则控制传递到框384和386,在框386,处理器14存储被解码的候选的位置,并且指示成功解码。在框386之后,控制传递到框388。在框382,如果码候选未被成功解码,则控制传递到框388。
在框388,处理器14确定是否已经从照相机22获得下一图像。如果已经从照相机获得下一图像,则控制传递回到图7中的框354,在框354,上述过程继续。这里,如果在框388下一图像被获得,则当前图像中的处理器未尝试解码的码候选被丢弃。在框388,如果下一图像未被获得,则控制传递到框390,在框390处理器14确定是否所有第2组候选被尝试。如果至少一个第2组候选未被尝试,则控制传递回到框380,在框380,上述过程继续。如果在框390所有第2组候选已经被尝试,则控制向上传递到框392。
在框392,处理器14尝试解码下一第3组候选。这里,在第一次经过框392时,处理器14尝试解码第一个第3组候选,在第二次经过框392时,处理器14尝试解码第二个第3组候选,等等。在框394,处理器14确定码候选是否已经被成功解码。如果码候选已经被成功解码,则控制传递到框396和398,在框396和398,过程14存储被解码候选的位置,并且指示成功解码。在框398之后,控制传递到框400。
在框400,处理器14确定是否已经获得下一图像。如果下一图像已经被获得,则控制传递回到图7中框354,并且当前图像中的处理器未尝试解码的码候选被丢弃。如果在框400未获得下一图像,则控制传递到框402。在框402,处理器14确定处理器是否已经尝试解码所有第3组候选。如果至少一个第3组候选未被尝试,控制传递回到框392,并且上述过程继续。如果所有第3组候选已经被尝试,控制传递到框404。
在框404,处理器14尝试解码下一第4组码候选。这里,在第一次经过框404时,处理器14尝试解码第一个第4组码候选,在第二次经过框404时,处理器14尝试解码第二个第4组码候选,等等。在框406,处理器14确定码候选是否被成功解码。如果码候选已经被成功解码,控制传递到框408和410,在框408和410处理器14存储被解码候选的位置,并且指示成功解码。在框410之后,控制传递到框412。在框406,如果码候选未被成功解码,控制传递到框412。在框412,处理器14确定是否已经从照相机22获得下一图像。如果下一图像已经被获得,控制传递到图7中的框354,在框354上述过程继续,并且处理器未尝试解码的第4组码候选被丢弃。在框412,如果下一图像未被获得,控制向下传递到框414,在框414处理器414确定处理器是否已经尝试解码所有第4组候选。如果至少一个第4组候选未被尝试,则控制传递回到框404,在框404上述过程继续。如果所有第4组候选已经被尝试,则控制传递到图7中的框352,在框352处理器14等待接收来自照相机22的下一图像。
在一些实施例中,可构想,处理器14可以被编程为,在获得下一图像之前,在可能时使用至少第一和第二不同解码算法尝试解码图像中的码候选的至少一子集。例如,再次参考图2,处理器14可以被编程为初始地使用相对简单的解码算法首先尝试解码第二兴趣区域34之内的所有码候选(即尝试解码与出口缘38相邻的观察域的第二半中的所有码候选),并且然后,在下一新图像事件出现之前,如果时间允许,使用相对简单并且消耗时间较少的解码算法尝试解码第一兴趣区域32之内的所有码候选,然后在下一图像事件出现之前,如果时间允许,使用较复杂的解码算法尝试解码第一兴趣区域32中的码候选。可构想以交织形式对不同的码候选子集使用两个或更多个不同解码算法的其他顺序。
仍在其他实施例中,处理器14可以被编程为根据照相机观察域中的位置来排序不同候选组中的码候选。例如,在关于图7和8的上述过程中,码候选已经基于码候选是否已经被线性解码和候选是否将要出现在后续图象中被分组成四个不同的候选组,第1组中的候选(即候选先前未被解码并且可能将不会出现在后续图像中)可以被排序为:靠近观察域的入口缘的候选的次序比与入口缘相距更远的候选的次序更高。在其他第2组至第4组中的候选可以用类似方式排序。
在其他实施例中,可构想,在处理器尝试解码当前图像中的所有码候选之前下一图像事件发生时,可以存储未被尝试的码候选以供后续考虑。例如,假设在第一图像中存在十个码候选,并且在获得第二图像之前(即在下一图像事件之前),处理器仅能够尝试解码十个码候选中的四个,从而,至少在最初,处理器不尝试解码第一图像中的十个码候选中的六个。同样假设在第二图像中仅存在两个码候选,并且在获得第三图像之前,处理器完成两个码候选的解码尝试,从而在获得第三图像之前,处理器将有时间尝试解码第一图像中额外的码候选。在这种情况下,处理器可以被编程为从第一图像中取回至少一码候选子集并且在获得第三图像之前尝试解码那些候选。
在之前图像中选取的尝试解码的候选子集可以根据在后续图像中出现的候选。例如,在以上例子中,如果仅有两个码候选出现在第二图像中,则处理器14可以被编程为使来自第二图像的两个候选与在第一图像中未被尝试的六个候选中的两个相关,并且可以在接收到第三图像之前尝试解码来自第一图像的两个候选。
应当意识到的是,当排序所获得图像中的码候选以由处理器尝试解码时,本发明不同的实施例考虑不同的因素。例如,处理器可以被编程为考虑以下因素的任意一个或子集:所获得图像中码候选的位置、通过照相机的观察域的码候选的行进方向、通过观察域的码候选的行进速度、在前一图像中解码候选的之前尝试、候选先前的成功解码尝试、码候选在观察域中是否是新的或者是否将要退出观察域等等。
虽然上述实施例的每个要求在新的图像被获得时处理器未尝试解码的码候选被丢弃,但在至少一些实施例中,在至少一些情况下,可预期的是,新图像可能未被接收,直到处理器尝试解码出现在图像中的码候选的至少一子集。例如,再参考图7,如果第1组候选包括在前一图像中可能未被解码并且将可能不出现在下一图像中的码候选,处理器14可以被编程为在接收到用于处理的下一图像之前完成所有第1组候选的解码尝试,即便在完成尝试之前照相机产生下一图像。替代地,如果在完成第1组候选的所有尝试之前下一图像被获得,该下一图像可以被存储或者部分地处理,直到第1组候选都被尝试。在其他实施例中,处理器可以被编程为在接收或处理下一图像之前请求其他码候选子集的解码尝试。
尽管当下一图像被获得时,上述许多实施例停止尝试解码码候选,但其他下一图像事件也可以导致处理器停止尝试解码候选。例如,处理器14可以被编程为超时一个周期,在这个周期之后图像的解码尝试被丢弃,而不是等待下一图像被获得。这里,超时周期被计算为一个周期,其类似于或者稍小于获得下一图像可能所需的周期。如另一个例子,处理器14可以被编程为仅尝试解码最大数量的码候选,其中最大数量被计算为将在下一图像被获得之前完成。这里,超时周期和要解码候选的最大数量以及下一图像的获得被统称为下一图像事件,其作为处理器触发器运行以在处理下一获得的图像之前丢弃处理器未尝试解码或者仅完成码候选的一子集的码候选。可构想其他下一图像事件。
上述所有实施例包括顺序一次一个地尝试解码码候选的处理器14,应当理解的是,在至少一些实施例中,处理器14能够同时处理两个或更多码候选。这里,例如,在至少一些实施例中,当码候选按照它们在不同兴趣区域中的位置或者根据其他特征被划分到不同组中,处理器14可以同时尝试解码一组中的所有候选,然后尝试以同时的方式解码后续组内所有候选。
再一次参考图2,尽管观察域28在示出例子中被划分为两个不同的兴趣区域32和34,但应当理解的是,观察域28可以以任意形式被划分为三个或更多观察域,或者不规则形状的观察域。
虽然上述过程的至少一些先行处理在先前图像中可能已被解码的码候选,但在其他实施例中,处理器可能仅对先行解码超过一次的码先行解码尝试。例如,处理器14可以被编程为在先行尝试后续图像中相同的码之前,要求码被成功解码两次或更多次。
在其他实施例中,处理器14可以被编程为先行尝试解码在一些图像中的码候选的至少一些实例,在这些实例中,处理器已经尝试解码但未能解码一个或多个先前图像中的候选。例如,假设第一码候选出现在第一和第二连续图像中,并且未被成功解码。在这种情况下,当第一候选可能出现在第三、第四、第五和第六后续图像中时,处理器14可以被编程为先行尝试解码第三、第四和第五图像中的第一码候选以便处理器14接下来尝试解码第六图像中的第一码候选。由于候选经常出现在具有相似特征的连续图像中,这些特征是当物体和码在照相机的观察域的不同位置上时在后续图像中大幅改变的特征,跳过解码尝试可能是有益的。因此,通常可能是在处理器解码第一和第二图像中的实例失败之后,第六图像中的第一码候选的实例比第三图像中的实例更适合解码。
以上揭露的特定的实施例仅是示例性的,本发明可以按照获得在此教导的益处的本领域技术人员显而易见的不同但等价的方式被修改和实施。进一步,除了在所附权利要求中的描述之外,对于在此示出的结构或设计的细节的意图是非限制性的。因此,显然以上揭露的特定实施例可以被替换或修改,并且所有这样的改变被认为落在本发明的范围和精神之内。因此,本文请求的保护在所附权利要求书中阐明。
因此,本发明覆盖所有落在所附权利要求定义的本发明精神和范围之内的修改、等价物以及替换。
为告知本发明公开的范围,要求所附权利要求书中的权利。

Claims (29)

1.一种用于解码施加在物体上的码并与照相机和传送系统一同使用的方法,其中照相机包括具有二维观察域(FOV)的图像传感器并且传送系统按通过FOV的第一行进方向移动物体,以使物体沿着入口缘进入FOV并沿着出口缘离开FOV,所述方法包括步骤:
提供处理器,所述处理器被编程为执行步骤:
获得FOV的图像;
对于每个图像:
(i)标识在图像的至少部分中的码候选;
(ii)排序码候选的至少一子集以按照候选次序解码,其中所述候选次序至少部分地根据通过FOV的第一行进方向确定;
(iii)尝试按所述候选次序指定的次序来解码码候选;以及
(iv)当新的图像事件发生时,先行尝试解码所标识的码候选中的至少一部分。
2.如权利要求1所述的方法,其特征在于,排序码候选的至少一个子集的步骤包括:标识FOV中的至少第一和第二兴趣区域(ROI),它们分别与FOV的入口缘和出口缘相邻;标识至少第一和第二ROI的每个中的码候选;以及将第一和第二ROI中的一个中的码候选排序以在第一和第二ROI中的另一个中的码候选之前进行处理。
3.如权利要求2所述的方法,其特征在于,第一ROI中的码候选在候选次序中被排序在第二ROI中的码候选之前。
4.如权利要求2所述的方法,其特征在于,第二ROI中的码候选在候选次序中被排序在第一ROI中的码候选之前。
5.如权利要求1所述的方法,其特征在于,排序码候选的至少一子集的步骤进一步包括步骤:标识当下一图像被获得时将可能在FOV之外的码候选,并且将当下一图像被获得时将可能在FOV之外的码候选排序在候选次序的开始处附近。
6.如权利要求5所述的方法,其特征在于,标识将可能在FOV之外的码候选的步骤进一步包括步骤:对于当下一图像被获得时将可能在FOV之外的码候选,标识可能已经在之前图像中被解码的码候选以及可能在之前图像中未被解码的码候选,并将在之前图像中可能未被解码的码候选排序在在之前图像中可能已经被解码的码候选之前。
7.如权利要求5所述的方法,其特征在于,排序码候选的至少一子集的步骤进一步包括步骤:标识对于FOV可能是新的码候选,并且标识可能在之前图像中的码候选以及当后续图像被获得时可能在FOV中的码候选,以及将在之前图像中的和当后续图像被获得时可能在FOV中的码候选排序在候选次序的末尾附近,并将可能在之前图像中的码候选排序在候选次序的大致中间附近。
8.如权利要求1所述的方法,其特征在于,排序码候选的至少一子集的方法包括:标识候选次序中开始处附近对于FOV可能是新的码候选。
9.如权利要求1所述的方法,其特征在于,排序码候选的至少一子集的步骤包括:
标识当下一图像被获得时可能在FOV之外并且在之前图像中可能未被解码的码候选,作为第一候选子集;
标识当下一图像被获得时可能在FOV之外并且在之前图像中可能已经被解码的码候选,作为第二候选子集;
标识当下一图像被获得时可能在FOV中并且在之前图像中可能未被解码的码候选,作为第三候选子集;
标识当下一图像被获得时可能在FOV中并且在之前图像中可能已经被解码的码候选,作为第四候选子集;以及
排序子集以便第一候选子集出现在第二候选子集之前,第二候选子集出现在第三候选子集之前,并且第三候选子集出现在第四候选子集之前。
10.如权利要求1所述的方法,其特征在于,当新的图像被获得时,该方法进一步包括丢弃候选次序中没有发生尝试解码的码候选。
11.如权利要求1所述的方法,其特征在于,传送系统以传送速度按第一行进方向传送物体,并且其中候选次序部分地根据传送速度来确定。
12.如权利要求1所述的方法,其特征在于,至少第一和第二不同解码算法可以被用来尝试解码任一码候选,该方法进一步包括步骤:将第一和第二解码算法中的一个分配给候选次序中的码候选的至少一子集的每一个,其中被指定给每个候选的算法至少部分地根据候选次序。
13.如权利要求12所述的方法,其特征在于,进一步包括标识在之前图像中可能被成功解码的码候选以及在之前图像中可能未被成功解码的码候选的步骤,分配第一和第二解码算法的步骤包括至少部分地根据在之前图像中码候选是否被解码来分配解码算法。
14.如权利要求12所述的方法,其特征在于,第一解码算法需要比第二解码算法更多的时间来完成;
15.如权利要求1所述的方法,其特征在于,当新的图像获得时,新的图像事件发生。
16.如权利要求1所述的方法,其特征在于,当图像获得周期流逝时,新的图像事件发生。
17.一种用于解码施加在物体上的码并与照相机和传送系统一同使用的方法,其中该照相机包括具有二维观察域(FOV)的图像传感器,并且传送系统按通过FOV的第一行进方向移动物体,以使物体沿着入口缘进入FOV并沿着出口缘离开FOV,该方法包括步骤:
提供处理器,所述处理器被编程为执行步骤:
标识通过FOV的第一行进方向;
获得FOV的图像;
对于每个图像,其中最近获得的图像是当前图像:
(i)标识图像的至少部分中的码候选;
(ii)尝试解码接近FOV出口缘的码候选;
(iii)在尝试解码接近FOV出口缘的码候选之后,尝试解码接近FOV入口缘的码候选;以及
(iv)当新的图像事件发生时,先行尝试解码被标识的码候选中的至少一部分。
18.一种用于解码施加在物体上的码并与照相机和传送系统一同使用的方法,其中照相机包括具有二维观察域(FOV)的图像传感器,并且传送系统按通过FOV的第一方向移动物体,使得物体沿着入口缘进入FOV并沿着出口缘离开FOV,以使传感器产生具有至少第一和第二不同兴趣区域的图像,第一和第二兴趣区域分别与入口缘和出口缘相邻,所述方法包括步骤:
提供处理器,所述处理器被编程为执行步骤:
获得FOV的图像;
对于每个图像:
(i)标识在图像的至少部分中的码候选;
(ii)标识所获得图像中的至少第一和第二不同兴趣区域(ROI);
(iii)尝试第一次解码第一ROI中的码候选;
(iv)在尝试解码第一ROI中的候选之后,尝试解码第二ROI中的码候选;
(v)在尝试解码第二ROI中的码候选之后,尝试第二次解码第一ROI中的码候选;以及
(vi)当新的图像事件发生时,先行尝试解码所标识码候选的至少一部分。
19.如权利要求18所述的方法,其特征在于,尝试第一次解码第一ROI中的码候选的步骤包括使用第一解码算法,并且尝试第二次解码第一ROI中的码候选的步骤包括尝试使用不同于第一解码算法的第二解码算法解码码候选。
20.如权利要求1所述的方法,其特征在于,第一ROI接近FOV的入口缘和出口缘中的一个,并且第二ROI接近FOV的入口缘和出口缘中的另一个。
21.如权利要求18所述的方法,其特征在于,进一步包括在候选次序中排序第一ROI中的码候选,尝试第一次解码第一FOI中的码候选的步骤包括尝试按照由候选次序规定的次序解码码候选。
22.如权利要求21所述的方法,其特征在于,进一步包括标识第一ROI中的在至少一个之前的图像中可能先前被解码的码候选,排序码候选的步骤包括至少部分地根据在至少一个之前的图像中哪些候选被先解码来排序码候选。
23.一种用于解码施加在物体上的码并与照相机和传送系统一同使用的方法,其中该照相机包括具有二维观察域(FOV)的图像传感器,并且传送系统按通过FOV的第一行进方向移动物体,从而物体沿着入口缘进入FOV并沿着出口缘离开FOV,该方法包括步骤:
提供处理器,所述处理器被编程为执行步骤:
获得FOV的图像;
对于每个图像,其中最近获得的图像是当前图像:
(i)标识图像的至少部分中的码候选;
(ii)按照候选次序排序码候选,其中所述候选次序至少部分地根据FOV中码候选的位置、第一行进方向、在之前图像中码候选被解码的可能性以及物体通过FOV的行进速度中的至少一个来确定;
(iii)当新的图像事件发生时,先行尝试解码被标识的码候选中的至少一部分。
24.一种用于解码施加在物体上的码并与照相机和传送系统一同使用的装置,其中照相机包括具有二维观察域(FOV)的图像传感器并且传送系统按通过FOV的第一行进方向移动物体,以便物体沿着入口缘进入FOV并沿着出口缘离开FOV,该装置包括步骤:
处理器,所述处理器被编程为执行步骤:
获得FOV的图像;
对于每个图像:
(i)标识在图像的至少部分中的码候选;
(ii)排序码候选的至少一子集以按照候选次序解码,其中码候选至少部分地根据通过FOV的第一行进方向来确定;
(iii)尝试按所述候选次序指定的次序解码码候选;
(iv)当新的图像事件发生时,先行尝试解码所标识的码候选中的至少一部分。
25.如权利要求24所述的装置,其特征在于,所述处理器被编程为通过以下步骤执行排序码候选的至少一个子集的步骤:标识FOV中的至少第一和第二兴趣区域(ROI),它们分别与FOV的入口缘和出口缘相邻;标识至少第一和第二ROI的每个中的码候选;以及将第一和第二ROI中的一个中的码候选排序在第一和第二ROI中的另一个中的码候选之前进行处理。
26.如权利要求24所述的装置,其特征在于,所述处理器被编程为通过以下步骤执行排序码候选的至少一子集的步骤:标识当下一图像被获得时将可能在FOV之外的码候选,并将当下一图像被获得时将可能在FOV之外的码候选排序在候选次序的开始处附近。
27.如权利要求24所述的装置,其特征在于,所述处理器被编程为通过以下步骤执行排序码候选的至少一子集的步骤:标识候选次序的开始处附近对于FOV可能是新的的码候选。
28.一种用于解码施加在物体上的码并与照相机和传送系统一同使用的装置,其中该照相机包括具有二维观察域(FOV)的图像传感器,并且传送系统按通过FOV的第一行进方向移动物体,从而物体沿着入口缘进入FOV并沿着出口缘离开FOV,所述装置包括步骤:
处理器,所述被编程为执行步骤:
标识通过FOV的第一行进方向;
获得FOV的图像;
对于每个图像,其中最近获得的图像是当前图像:
(i)标识图像的至少部分中的码候选;
(ii)尝试解码接近FOV的出口缘的码候选;
(iii)在尝试解码接近FOV的出口缘的码候选之后,尝试解码接近FOV的入口缘的码候选;以及
(iv)当新的图像事件发生时,先行尝试解码被标识的码候选的至少一部分。
29.一种用于解码施加在物体上的码并与照相机和传送系统一同使用的装置,其中照相机包括具有二维观察域(FOV)的图像传感器,并且传送系统按通过FOV的第一方向移动物体,使得物体沿着入口缘进入FOV并沿着出口缘离开FOV,以使传感器产生具有至少第一和第二不同兴趣区域的图像,第一和第二兴趣区域分别与入口缘和出口缘相邻,所述装置包括步骤:
处理器,所述处理器被编程为执行步骤:
获得FOV的图像;
对于每个图像:
(i)标识在图像的至少部分中的码候选;
(ii)标识所获得图像中的至少第一和第二不同兴趣区域(ROI);
(iii)尝试第一次解码第一ROI中的码候选;
(iv)在尝试解码第一ROI中的候选之后,尝试解码第二ROI中的码候选;
(v)在尝试解码第二ROI中的码候选之后,尝试第二次解码第一ROI中的码候选;以及
(vi)当新的图像事件发生时,先行尝试解码所标识码候选的至少一部分。
CN201210596393.8A 2011-11-03 2012-11-02 为了解码尝试而对图像中的码候选排序的方法和装置 Active CN103150536B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710826336.7A CN107563239B (zh) 2011-11-03 2012-11-02 为了解码尝试而对图像中的码候选排序的方法和装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/288,104 2011-11-03
US13/288,104 US8740081B2 (en) 2011-11-03 2011-11-03 Method and apparatus for ordering code candidates in image for decoding attempts

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710826336.7A Division CN107563239B (zh) 2011-11-03 2012-11-02 为了解码尝试而对图像中的码候选排序的方法和装置

Publications (2)

Publication Number Publication Date
CN103150536A true CN103150536A (zh) 2013-06-12
CN103150536B CN103150536B (zh) 2017-10-13

Family

ID=48129051

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201210596393.8A Active CN103150536B (zh) 2011-11-03 2012-11-02 为了解码尝试而对图像中的码候选排序的方法和装置
CN201710826336.7A Active CN107563239B (zh) 2011-11-03 2012-11-02 为了解码尝试而对图像中的码候选排序的方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710826336.7A Active CN107563239B (zh) 2011-11-03 2012-11-02 为了解码尝试而对图像中的码候选排序的方法和装置

Country Status (3)

Country Link
US (3) US8740081B2 (zh)
CN (2) CN103150536B (zh)
DE (1) DE102012110376B4 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512587A (zh) * 2014-10-09 2016-04-20 康耐视公司 用于追踪光代码的系统和方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9022280B2 (en) * 2011-06-24 2015-05-05 Verisign, Inc. Multi-mode barcode resolution system
EP3009984A1 (de) * 2014-10-14 2016-04-20 Sick Ag Detektionssystem für optische Codes
US9652653B2 (en) * 2014-12-27 2017-05-16 Hand Held Products, Inc. Acceleration-based motion tolerance and predictive coding
JP6511893B2 (ja) * 2015-03-23 2019-05-15 日本電気株式会社 画像処理装置、画像処理方法、及び、プログラム
WO2016178695A1 (en) 2015-05-07 2016-11-10 Halliburton Energy Services, Inc. Container bulk material delivery system
US11047717B2 (en) 2015-12-22 2021-06-29 Halliburton Energy Services, Inc. System and method for determining slurry sand concentration and continuous calibration of metering mechanisms for transferring same
CN107679529B (zh) 2016-08-01 2019-12-24 杭州海康威视数字技术股份有限公司 一种物流包裹图片处理方法、装置及系统
US10412412B1 (en) * 2016-09-30 2019-09-10 Amazon Technologies, Inc. Using reference-only decoding of non-viewed sections of a projected video
US10909341B2 (en) 2016-10-26 2021-02-02 Datalogic Automation, Inc. Data processing reduction in barcode reading systems with overlapping frames
US10609356B1 (en) 2017-01-23 2020-03-31 Amazon Technologies, Inc. Using a temporal enhancement layer to encode and decode stereoscopic video content
US10846561B1 (en) 2020-04-01 2020-11-24 Scandit Ag Recognition and selection of discrete patterns within a scene or image
DE102018119691A1 (de) * 2018-08-14 2020-02-20 Ifm Electronic Gmbh Kamerasystem zur Erfassung von Kodierungen
US11514665B2 (en) 2020-04-01 2022-11-29 Scandit Ag Mapping optical-code images to an overview image
US11295163B1 (en) 2020-04-01 2022-04-05 Scandit Ag Recognition of optical patterns in images acquired by a robotic device
US11216628B2 (en) 2020-04-01 2022-01-04 Scandit Ag High-speed scanning of optical patterns using a digital camera
US11087105B1 (en) 2020-05-15 2021-08-10 Scandit Ag Performance improvements for recognition of optical patterns in images
US11244147B2 (en) 2020-05-15 2022-02-08 Scandit Ag Optical data exchange while preserving social distancing
US11290643B1 (en) 2020-06-26 2022-03-29 Scandit Ag Efficient digital camera image acquisition and analysis
US11403477B1 (en) 2020-05-15 2022-08-02 Scandit Ag Image exposure performance improvements for recognition of optical patterns
US11922271B1 (en) 2020-05-15 2024-03-05 Scandit Ag Virtual screen standby mode for mobile device camera
US11417001B1 (en) 2020-07-27 2022-08-16 Scandit Ag Detecting discrete optical patterns using depth estimation
US11495036B1 (en) 2021-01-29 2022-11-08 Scandit Ag Segmenting images for optical character recognition
US11880738B1 (en) 2021-08-17 2024-01-23 Scandit Ag Visual odometry for optical pattern scanning in a real scene
CN113642350B (zh) * 2021-08-24 2023-09-29 凌云光技术股份有限公司 一种工业产品承载的二维码快速识读方法及装置
US11557136B1 (en) 2022-02-23 2023-01-17 Scandit Ag Identity document verification based on barcode structure

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1125994A (zh) * 1994-02-16 1996-07-03 菲利浦电子有限公司 记录载体及其阅读装置
US5581636A (en) * 1992-05-26 1996-12-03 United Parcel Service Of America, Inc. Method and system for transformed target image acquisition
US20010006191A1 (en) * 1996-06-03 2001-07-05 Kurt Hecht Detecting bar code candidates
US6778683B1 (en) * 1999-12-08 2004-08-17 Federal Express Corporation Method and apparatus for reading and decoding information
CN101645140A (zh) * 2008-08-06 2010-02-10 华为技术有限公司 二维码生成方法、解码方法及装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4751375A (en) 1986-04-11 1988-06-14 Ampex Corporation Method and apparatus for reading bar code under rapidly changing scanning speed conditions
US4988852A (en) 1988-07-05 1991-01-29 Teknekron Transportation Systems, Inc. Bar code reader
JP2957727B2 (ja) 1990-03-28 1999-10-06 オムニプラナー,インコーポレーテッド バーコードロケーション及びオリエンテーションのための二重メモリを有する二重プロセッサ全方向型バーコードリーダ
US5592228A (en) 1993-03-04 1997-01-07 Kabushiki Kaisha Toshiba Video encoder using global motion estimation and polygonal patch motion estimation
US5770848A (en) * 1994-11-28 1998-06-23 Hitachi, Ltd. Apparatus and method for treating a commodity by automatically recognizing a barcode attached to a conveyed commodity by scanner
US5770841A (en) * 1995-09-29 1998-06-23 United Parcel Service Of America, Inc. System and method for reading package information
US20020014533A1 (en) * 1995-12-18 2002-02-07 Xiaxun Zhu Automated object dimensioning system employing contour tracing, vertice detection, and forner point detection and reduction methods on 2-d range data maps
US6629641B2 (en) * 2000-06-07 2003-10-07 Metrologic Instruments, Inc. Method of and system for producing images of objects using planar laser illumination beams and image detection arrays
US5698833A (en) * 1996-04-15 1997-12-16 United Parcel Service Of America, Inc. Omnidirectional barcode locator
AU3497497A (en) 1996-06-21 1998-01-07 Norand Corporation Too long code reader performing coded image decoding
JP3607131B2 (ja) 1999-05-26 2005-01-05 株式会社デンソー 情報コード画像取込装置、光学情報読取装置及び画像取込タイミング設定システム
US7331523B2 (en) 2001-07-13 2008-02-19 Hand Held Products, Inc. Adaptive optical image reader
KR100456628B1 (ko) 2001-12-28 2004-11-10 한국전자통신연구원 물류 정보 자동식별 처리시스템 및 그 방법
US7545949B2 (en) 2004-06-09 2009-06-09 Cognex Technology And Investment Corporation Method for setting parameters of a vision detector using production line information
JP4074988B2 (ja) * 2002-11-12 2008-04-16 ソニー株式会社 情報処理装置、通信処理装置、および方法、並びにコンピュータ・プログラム
US7121469B2 (en) 2002-11-26 2006-10-17 International Business Machines Corporation System and method for selective processing of digital images
DE10260201A1 (de) 2002-12-20 2004-07-01 Sick Ag Verfahren und Vorrichtung zur Erfassung von auf einem Fördermittel bewegten Objekten mittels eines optoelektronischen Sensors
US7181066B1 (en) 2002-12-26 2007-02-20 Cognex Technology And Investment Corporation Method for locating bar codes and symbols in an image
SE0301248D0 (sv) * 2003-04-29 2003-04-29 Anoto Ab Methods, apparatus, computer program and storage medium for position decoding
US7466868B2 (en) 2003-10-03 2008-12-16 Adobe Systems Incorporated Determining parameters for adjusting images
US7254665B2 (en) 2004-06-16 2007-08-07 Microsoft Corporation Method and system for reducing latency in transferring captured image data by utilizing burst transfer after threshold is reached
PL1645839T3 (pl) * 2004-10-11 2007-12-31 Sick Ag Urządzenie i sposób kontroli przemieszczanych obiektów
US7578444B2 (en) 2004-10-29 2009-08-25 Symbol Technologies Inc Methods and apparatus for dynamic signal processing
US7646887B2 (en) 2005-01-04 2010-01-12 Evolution Robotics Retail, Inc. Optical flow for object recognition
US7392951B2 (en) * 2005-05-17 2008-07-01 Intermec Ip Corp. Methods, apparatuses and articles for automatic data collection devices, for example barcode readers, in cluttered environments
US7455231B2 (en) * 2005-06-21 2008-11-25 Symbol Technologies, Inc. System and method for locating a predetermined pattern within an image
US20070014542A1 (en) 2005-06-30 2007-01-18 Hasselblad A/S Electronic camera with classification of images according to image quality
US7765776B1 (en) * 2006-10-19 2010-08-03 Medco Health Solutions, Inc. Systems and methods for dispensing pharmaceutical/medical product and branding pharmaceutical/medical containers
US20080156619A1 (en) 2006-12-01 2008-07-03 Mehul Patel Range finder
US7852519B2 (en) 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
US20090095047A1 (en) * 2007-10-16 2009-04-16 Mehul Patel Dimensioning and barcode reading system
US9189670B2 (en) 2009-02-11 2015-11-17 Cognex Corporation System and method for capturing and detecting symbology features and parameters
JP5350091B2 (ja) * 2009-06-19 2013-11-27 三甲株式会社 二次元コード設置部構造
CN101989341A (zh) * 2009-08-03 2011-03-23 中国移动通信集团公司 一种电子票处理方法、系统及装置
US8542930B1 (en) * 2010-12-30 2013-09-24 Cognex Corporation Mark reader configured to prioritize images

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581636A (en) * 1992-05-26 1996-12-03 United Parcel Service Of America, Inc. Method and system for transformed target image acquisition
CN1125994A (zh) * 1994-02-16 1996-07-03 菲利浦电子有限公司 记录载体及其阅读装置
US20010006191A1 (en) * 1996-06-03 2001-07-05 Kurt Hecht Detecting bar code candidates
US6778683B1 (en) * 1999-12-08 2004-08-17 Federal Express Corporation Method and apparatus for reading and decoding information
CN101645140A (zh) * 2008-08-06 2010-02-10 华为技术有限公司 二维码生成方法、解码方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512587A (zh) * 2014-10-09 2016-04-20 康耐视公司 用于追踪光代码的系统和方法
US10628648B2 (en) 2014-10-09 2020-04-21 Cognex Corporation Systems and methods for tracking optical codes
CN105512587B (zh) * 2014-10-09 2020-10-09 康耐视公司 用于追踪光代码的系统和方法

Also Published As

Publication number Publication date
DE102012110376A1 (de) 2013-05-08
DE102012110376B4 (de) 2016-11-17
CN107563239A (zh) 2018-01-09
CN103150536B (zh) 2017-10-13
US10325129B2 (en) 2019-06-18
US8740081B2 (en) 2014-06-03
US9760752B2 (en) 2017-09-12
US20180157886A1 (en) 2018-06-07
US20130112750A1 (en) 2013-05-09
CN107563239B (zh) 2020-11-27
US20140361084A1 (en) 2014-12-11

Similar Documents

Publication Publication Date Title
CN103150536A (zh) 为了解码尝试而对图像中的码候选排序的方法和装置
CN108416412B (zh) 一种基于多任务深度学习的物流复合码识别方法
US10664692B2 (en) Visual task feedback for workstations in materials handling facilities
US10628648B2 (en) Systems and methods for tracking optical codes
US20190287265A1 (en) System and method for visual identification, and system and method for classifying and sorting
US11176454B2 (en) Optoelectronic code reader and method for reading optical codes
CN108389316B (zh) 自动售货方法、装置和计算机可读存储介质
CN103150535B (zh) 用于在不同位置执行不同解码算法的方法和装置
US20210368096A1 (en) Camera and method for processing image data
CN103443802A (zh) 自动化光学代码读取系统中的异常检测和处理
US11907339B1 (en) Re-identification of agents using image analysis and machine learning
CN109454004B (zh) 机器人扫描分拣系统及方法
CN105023371A (zh) 一种物品信息处理方法和终端
JP5674933B2 (ja) 倉庫内の物体の位置を特定するための方法及び装置
Lin et al. Automatic location for multi-symbology and multiple 1D and 2D barcodes
Rai et al. Video analytics solution for tracking customer locations in retail shopping malls
JP2023121722A (ja) コードを付した物体の画像内のコード画像領域の発見
Karrach et al. Options to use data matrix codes in production engineering
CN108197882B (zh) 仓储管理系统
CN112686064A (zh) 一种识别运动条码的方法及装置
Srinivasan et al. Enhancing Steel Melting Shop Operations by Object Detection Using Template Matching Algorithm
Wu et al. Express parcel detection based on improved faster regions with CNN features
US20230031937A1 (en) Recycling system with discrete conveyor bins for improved accuracy
Zhang et al. Lightweight convolutional neural network for fast visual perception of storage location status in stereo warehouse
KR20240072708A (ko) 자동 계산대 시스템 및 그 제어방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1186273

Country of ref document: HK

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1186273

Country of ref document: HK