CN117635622A - 用于改进的图像处理的几何图像裁剪的装置和计算机实现的方法 - Google Patents

用于改进的图像处理的几何图像裁剪的装置和计算机实现的方法 Download PDF

Info

Publication number
CN117635622A
CN117635622A CN202210971179.XA CN202210971179A CN117635622A CN 117635622 A CN117635622 A CN 117635622A CN 202210971179 A CN202210971179 A CN 202210971179A CN 117635622 A CN117635622 A CN 117635622A
Authority
CN
China
Prior art keywords
image
parameter
cropping
data
imager
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.)
Pending
Application number
CN202210971179.XA
Other languages
English (en)
Inventor
J·L·库尔特曼榭
W·关
李剑
柳红岩
M·尼基扎德
巴拉哈斯 J·E·冈萨雷斯
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.)
Hand Held Products Inc
Original Assignee
Hand Held Products Inc
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 Hand Held Products Inc filed Critical Hand Held Products Inc
Priority to CN202210971179.XA priority Critical patent/CN117635622A/zh
Priority to EP23184980.3A priority patent/EP4325393A1/en
Priority to US18/357,473 priority patent/US20240054306A1/en
Publication of CN117635622A publication Critical patent/CN117635622A/zh
Pending legal-status Critical Current

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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • 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/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/14131D 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/146Methods for optical code recognition the method including quality enhancement steps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image

Landscapes

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

Abstract

本公开的实施例涉及利用几何图像裁剪以用于改进的图像处理。这样的几何图像裁剪提高了各种图像处理任务的效率和/或吞吐量,例如用于经由专门配置的扫描仪读取机器可读符号体系。一些实施例使用来自透镜数据和测距数据的光线追踪投影来生成(一个或多个)裁剪参数以供(一个或多个)裁剪图像中使用。一些实施例使用放大率估计来生成(一个或多个)裁剪参数以供(一个或多个)裁剪图像中使用。生成的(一个或多个)裁剪参数可以经由读取器存储,例如存储到范围参数表,以高效地检索和用于裁剪随后捕获的图像,同时保持图像处理的准确和高效。

Description

用于改进的图像处理的几何图像裁剪的装置和计算机实现的 方法
技术领域
本公开的实施例一般涉及条形码扫描仪、读取器和/或诸如此类的改进的图像处理,并且具体地涉及使用改进的几何图像裁剪来改进这样的扫描仪、读取器和/或诸如此类的图像处理。
背景技术
各种计算设备将图像处理用于无数目的中的任何一个。例如,诸如条形码扫描仪、QR码读取器以及诸如此类的机器可读符号体系的扫描仪依赖于图像处理来成功地检测和解码图像中表示的机器可读符号体系。成功完成这样的图像处理是确保系统以足够的效率和吞吐量操作的关键。
申请人已经发现了当前图像处理实现的问题,特别是在机器可读符号体系扫描仪的上下文中。通过应用的努力、独创性和创新,申请人已经通过在本公开中体现的开发解决了许多这些标识的问题,这在下面详细描述。
发明内容
一般而言,本公开的实施例为扫描仪的图像处理提供了改进。对于本领域的技术人员来说,在检查了以下附图和详细描述之后,用于扫描仪的改进的图像处理的其它实现将是或将变得显而易见。意图的是所有这样的附加实现都包括在本描述中,都在本公开的范围内,并且受到所附权利要求的保护。
在本公开的一个方面,提供了一种计算机实现的方法。该计算机实现的方法被提供用于几何图像裁剪。该计算机实现的方法经由如本文中所描述的由硬件、软件、固件和/或其组合体现的一个或多个计算设备中的任何一个可执行。在一些示例实施例中,示例计算机实现的方法包括经由成像器接收捕获的图像。该计算机实现的方法进一步包括标识与成像器相关联的至少一个裁剪参数。计算机实现的方法进一步包括至少部分地基于所述至少一个裁剪参数来裁剪捕获的图像以生成经裁剪的图像。该示例计算机实现的方法进一步包括将经裁剪的图像应用于图像去卷积算法以生成经处理的图像。
在示例计算机实现的方法的一些实施例中,示例计算机实现的方法进一步包括将经处理的图像输出到图像处理算法,其中图像处理算法包括机器可读符号体系读取算法。
在示例计算机实现的方法的一些实施例中,示例计算机实现的方法进一步包括更改与成像器相关联的透镜的当前焦距,并至少部分基于透镜的当前焦距来生成至少一个裁剪参数。
在示例计算机实现的方法的一些实施例中,标识与成像器相关联的至少一个裁剪参数包括标识与成像器相关联的测距数据,标识与成像器相关联的透镜数据,将测距数据和透镜数据应用于图像光线追踪函数以生成构造的图像数据,以及至少部分基于构造的图像数据来确定至少一个裁剪参数。在示例计算机实现的方法的一些这样的实施例中,示例计算机实现的方法进一步包括将至少一个裁剪参数存储到范围参数表。
在示例计算机实现的方法的一些实施例中,标识与成像器相关联的至少一个裁剪参数包括标识与成像器相关联的测距数据,标识与成像器相关联的码尺寸数据,将测距数据和码尺寸数据应用于图像放大率估计函数以生成估计的图像数据,以及至少部分基于估计的图像数据来确定至少一个裁剪参数。在示例计算机实现的方法的一些实施例中,示例计算机实现的方法进一步包括将至少一个裁剪参数存储到范围参数表。
在示例计算机实现的方法的一些实施例中,图像去卷积算法包括透镜点扩散函数。
在示例计算机实现的方法的一些实施例中,标识与成像器相关联的至少一个裁剪参数包括标识与成像器相关联的测距数据,并从测距参数表确定至少一个裁剪参数。
在示例计算机实现的方法的一些实施例中,至少一个裁剪参数至少部分基于经由装置可读取的最大码尺寸。
在示例计算机实现的方法的一些实施例中,至少一个裁剪参数至少部分基于瞄准仪位置。
在示例计算机实现的方法的一些实施例中,成像器包括至少一个透镜,并且其中至少一个裁剪参数至少部分基于与至少一个透镜相关联的透镜数据。
在本公开的另一方面,提供了一种装置。该装置被提供用于几何图像裁剪。在该装置的一些示例实施例中,该装置包括至少一个存储器和至少一个处理器,该至少一个存储器具有存储在其中的计算机编码指令,该计算机编码指令在用该至少一个处理器执行时,使装置施行本文中描述的示例计算机实现的方法中的任何一个的每个步骤。在该装置的另一个示例实施例中,该装置包括用于施行本文中描述的任何一个计算机实现的方法的每个步骤的部件。
在本公开的另一方面,提供了一种计算机程序产品。该计算机程序产品被提供用于几何图像裁剪。在计算机程序产品的一些示例实施例中,计算机程序产品包括至少一个非暂时性计算机程序代码,该代码在经由至少一个处理器执行时,配置计算机程序产品用于施行本文中描述的示例计算机实现的方法中的任何一个的每个步骤。
附图说明
已经如此概括地描述了本公开的实施例,现在将参考附图,附图不一定按比例绘制,并且其中:
图1图示了可以专门配置的系统的框图,本公开的实施例可以在该系统内操作;
图2A图示了可以根据本公开示例实施例专门配置的示例装置的框图;
图2B图示了可以根据本公开示例实施例专门配置的另一示例装置的框图;
图3图示了根据本公开的至少一个示例实施例的具有光线追踪的示例成像器布置的可视化;
图4图示了根据本公开至少一个示例实施例的示例范围参数表;
图5图示了根据本公开的至少一个示例实施例的用于生成(一个或多个)裁剪参数的示例数据流;
图6图示了根据本公开的至少一个示例实施例的用于生成(一个或多个)裁剪参数的示例数据流;
图7图示了描绘根据本公开的至少一个示例实施例的用于使用图像光线追踪函数来确定至少一个裁剪参数的过程的示例操作的流程图;
图8图示了描绘根据本公开的至少一个示例实施例的用于使用图像放大率估计函数来确定至少一个裁剪参数的过程的示例操作的流程图;
图9图示了描绘根据本公开的至少一个示例实施例的基于至少一个裁剪参数进行裁剪的过程的示例操作的流程图;
图10图示了描绘根据本公开的至少一个示例实施例的用于基于可变焦距来标识至少一个裁剪参数的过程的示例操作的流程图;
图11图示了根据本公开的至少一个示例实施例的利用(一个或多个)去卷积过程的图像去模糊的示例可视化;
图12图示了根据本公开的至少一个示例实施例的用于图像裁剪的边缘检测示例;
图13图示了描绘根据本公开的至少一个示例实施例的图像处理过程的示例操作的流程图;
图14图示了描绘根据本公开的至少一个示例实施例的作为图像处理过程的一部分的图像裁剪过程的示例操作的流程图;和
图15图示了描绘根据本公开的至少一个示例实施例的作为图像处理过程的一部分的图像去卷积过程的示例操作的流程图。
具体实施方式
下文现在将参照附图对本公开的实施例进行更全面的描述,附图中示出了本公开的一些但非全部实施例。实际上,本公开的实施例可以以许多不同的形式来体现,并且不应该被解释为限于本文中阐述的实施例,而是,提供这些实施例使得本公开将满足适用的法律要求。类似的数字始终指代类似的元件。
概述
在各种上下文中,出于特定目的捕获和处理图像。例如,在扫描机器可读符号体系(例如,条形码、QR码和/或诸如此类)的上下文中,一个或多个图像可以被捕获并随后被处理,以试图检测和解码(一个或多个)这样的图像内的机器可读符号体系。为了提高完成扫描操作的吞吐量和/或操作速率,期望快速且准确地施行这样的操作的读取器。
多种因素可能影响特定读取器完成扫描操作所花费的时间。一个这样的因素是图像尺寸,因为特定图像的处理时间随着图像尺寸的增加而增加。然而,即使捕获了大图像尺寸,该图像通常也仅包括对应于用于处理的机器可读符号体系的一小部分数据。处理整个图像通常导致计算时间和资源的浪费,因为在对应于机器可读符号体系的部分被实际处理之前,图像的大部分可能包括不相关的数据。浪费空间与相关空间(例如,对应于机器可读符号体系)的这一比例也在到目标对象的各种距离处改变,使得浪费空间的比例随着目标对象和扫描仪之间的距离增加而增加。然而,即使在这些更远的距离上,扫描仪也通常不管不顾地处理整个捕获的图像,从而导致在成功检测和/或解码机器可读符号体系之前花费更多的时间来处理图像。
可以试图在处理之前尝试并裁剪图像。某些现有技术——诸如基于边缘检测的图像裁剪和/或单独的机器学习实现——可以用于在进一步处理之前裁剪图像。然而,这样的方法在与图像处理相关联的处理时间和与预处理图像相关联的处理时间之间进行权衡,以实现这样的裁剪。例如,经由扫描仪的1 GHz双核CPU,对于1兆像素(“MP”)的图像,基于边缘检测的裁剪和/或基于机器学习的裁剪可能花费100到500毫秒(“ms”)来完成。单独完成裁剪所需的时间量不足以满足这样的扫描仪的读取时间,所述读取时间通常小于100 ms。因此,替代地,期望用于预处理图像以供进一步处理的方法。
本公开的实施例至少部分基于可存储到扫描仪存储器的至少一个裁剪参数来裁剪捕获的图像。该至少一个裁剪参数可以从扫描仪的存储器可检索,用于利用该至少一个裁剪参数裁剪捕获的图像。例如,至少一个裁剪参数可以表示要从捕获的图像裁剪的图像高度和/或宽度的百分比。在这点上,可以从存储器快速检索至少一个裁剪参数,并将其用于这样的裁剪,而不需要在复杂的预处理上花费大量的预处理时间,例如使得图像裁剪可以在少于1 ms内完成。
在一些实施例中,扫描仪包括测距仪,其使得能够确定到目标对象的距离。例如,扫描仪的激光瞄准仪可以用于通过将激光定位到目标对象上的机器可读符号体系上来定向扫描仪。在一些实施例中,利用经由测距仪标识的测距数据来确定要用于修剪的至少一个修剪参数。在一些这样的实施例中,测距数据表示到目标对象的距离,其中该距离用于从一组可选的至少一个裁剪维度检索特定的至少一个裁剪参数。在这点上,在一些这样的实施例中,可以在距目标对象的不同距离处标识(一个或多个)不同的裁剪参数,例如使得随着距离的增加可以裁剪更多的图像数据,而不影响这样的裁剪可以完成的速率。
在一些实施例中,至少一个裁剪参数是可确定的,并随后可存储到扫描仪的存储器以供后续使用。在一些实施例中,使用图像光线追踪函数或其它图像放大率估计函数来确定至少一个裁剪参数。在一些这样的实施例中,可以在确定至少一个裁剪参数的过程期间确定机器可读符号体系的边界点。来自边界点的光线追踪可以用于生成构造的图像数据,该图像数据体现了对应于机器可读符号体系表示的图像传感器的图像区域。在这点上,在一些实施例中,可以生成至少一个裁剪参数,使得对应于机器可读符号体系的图像区域被裁剪出图像传感器整个捕获的图像。
至少一个裁剪参数的确定可以基于与机器可读符号体系和扫描仪放大率系数相关联的码尺寸数据进行估计。在一些实施例中,对应于由特定扫描仪可处理的最大机器可读符号体系的码尺寸数据被用于估计图像传感器的对应图像区域,该图像区域表示特定范围内的机器可读符号体系。例如,在一些实施例中,至少一个裁剪参数被确定为针对特定机器可读符号体系确定的图像区域的两倍。
一些实施例生成和/或存储与表示特定距离的测距数据相关联的裁剪参数。一些实施例生成范围参数表,该范围参数表包括与多个测距数据中表示的每个范围相关联的至少一个裁剪参数。在这点上,一些实施例确定专门配置的范围裁剪表并将其存储到一个或多个扫描仪,以供在后续扫描操作中使用。因此,至少部分基于为特定扫描仪实时标识的测距数据,可以从如本文中所描述的距离-裁剪维度表确定对应于所标识的测距数据的至少一个裁剪参数。
本文中所描述的实施例提供了无数技术优点。利用本文中所描述的所生成和存储的(一个或多个)裁剪参数来高效地裁剪所捕获的图像,使得这样的裁剪能够以最小的开销、额外使用的计算资源和提高的吞吐量来发生。此外,通过利用经裁剪的图像,后续处理操作(例如,用于图像去卷积和/或图像处理)类似地以增加的吞吐量和减少的所利用的计算资源来施行。例如,在检测和解码机器可读符号体系的上下文中,裁剪和处理捕获的图像所需时间的这样的减少导致成功完成检测和解码(其中这样的检测和解码体现了对机器可读符号体系的“读取”)机器可读符号体系的总的改进时间(例如,完成条形码扫描的成功时间)。在去卷积的速度可以降低到20%的情况下,例如,对于处理在2米范围内捕获的1兆像素图像的双核1 GHz CPU,这样的读取可以在完成时间提高五倍的情况下施行。
定义
如本文中所使用的,术语“数据”、“内容”、“信息”和类似术语可互换使用,以指代根据本公开实施例能够传输、接收和/或存储的数据。因此,任何这样的术语的使用不应被视为限制本公开实施例的精神和范围。另外,在计算设备在本文中被描述为从另一计算设备接收数据的情况下,将领会,该数据可以直接从另一计算设备接收,或者可以经由一个或多个中间计算设备间接接收,所述中间计算设备诸如例如一个或多个服务器、中继器、路由器、网络接入点、基站、主机和/或诸如此类,有时在本文中被称为“网络”。类似地,在计算设备在本文中被描述为向另一计算设备发送数据的情况下,将领会,数据可以被直接发送到另一计算设备,或者可以经由一个或多个中间计算设备被间接发送,所述中间计算设备诸如例如一个或多个服务器、中继器、路由器、网络接入点、基站、主机和/或诸如此类。
如本文中所使用的,术语“电路”指代(a)纯硬件电路实现(例如,模拟电路和/或数字电路中的实现);(b)电路和(一个或多个)计算机程序产品的组合,包括存储在一个或多个计算机可读存储器上的软件和/或固件指令,它们一起工作以使装置施行本文中描述的一个或多个功能;以及(c)电路,诸如例如(一个或多个)微处理器或(一个或多个)微处理器的一部分,其需要软件或固件以供操作,即使软件或固件在物理上不存在。“电路”的这一定义适用于该术语在本文中的所有使用,包括在任何权利要求中。作为另外的示例,如本文中所使用的,术语“电路”还包括包含一个或多个处理器和/或其(一个或多个)部分以及随附的软件和/或固件的实现。作为另一个示例,如本文中所使用的术语“电路”还包括例如用于移动电话的基带集成电路或应用处理器集成电路,或者服务器、蜂窝联网设备、其它网络设备和/或其它计算设备中的类似集成电路。
如本文中所使用的,“计算机可读存储介质”指代物理存储介质(例如,易失性或非易失性存储器设备),可以与“计算机可读传输介质”区分开来,后者指代电磁信号。
如本文中所使用的,术语“用户”和“客户”指代作为读取器操作源的个人或实体。
术语“客户端设备”指代被配置为访问服务器提供的服务的计算机硬件、软件和/或固件。服务器通常(但不总是)在另一个计算机系统上执行,在这种情况下,客户端设备通过网络的方式访问服务。非限制性示例包括读取器或与读取器通信耦合的用户设备,例如智能电话、平板计算机、膝上型计算机、可穿戴式、个人计算机、企业计算机和/或诸如此类。
术语“机器可读符号体系”指代利用(一个或多个)计算机实现的过程可检测和可解码的任何视觉表示的编码数据。机器可读符号体系的非限制性示例包括2D条形码、3D条形码、快速响应码、Datamatrix码和编码图像。
术语“几何图像裁剪”指代一个或多个计算机实现的过程,其至少部分基于从传感器图像区域导出的(一个或多个)裁剪参数来裁剪捕获的图像,所述裁剪参数从机器可读符号体系的尺寸导出,所述尺寸在机器可读符号体系的特定范围内影响传感器。
术语“成像器”指代与图像传感器对齐的一个或多个光学组件,其使得图像传感器能够捕获图像,该图像表示由与(一个或多个)光学组件对齐的图像传感器限定的特定视场。
术语“裁剪参数”指代电子管理的数据,其表示从捕获的图像的至少一个维度裁剪的量。裁剪参数的非限制性示例包括应用于图像的特定维度的百分比、乘数和/或绝对或相对减少。
在一些实施例中,裁剪参数与特定维度相关联,例如,与捕获的图像的高度维度相关联的裁剪参数,使得裁剪参数仅用于裁剪高度维度。多个裁剪参数每个可以与不同的维度相关联,例如与高度维度相关联的第一裁剪参数和与宽度维度相关联的第二裁剪参数,使得第一裁剪参数用于裁剪高度维度,而第二维度参数用于裁剪捕获的图像的宽度维度。在一些实施例中,单个裁剪参数被应用于多个维度,例如使得单个裁剪参数被用于裁剪图像的高度和宽度维度。
术语“捕获的图像”指代表示捕获的视场描绘的电子管理数据。经由成像器的图像传感器输出捕获的图像,该成像器至少部分基于从视场内到图像传感器上的光的衰减来捕获图像数据。
术语“经裁剪的图像”指代至少部分基于(一个或多个)裁剪参数从捕获的图像提取的图像数据部分,可用于导出要在裁剪期间移除的捕获的图像的(一个或多个)部分。
术语“图像去卷积算法”指代对图像数据进行预处理以去模糊、提高分辨率和/或以其它方式配置这样的图像数据以用于与检测和/或解码机器可读符号体系相关联的处理的任何(一个或多个)计算机实现的过程。
术语“经处理的图像”指代通过图像去卷积算法输出的图像数据。
术语“图像处理算法”指代完成特定图像处理任务的一个或多个计算机实现的过程。
术语“机器可读符号体系读取算法”指代试图从图像数据检测至少一个机器可读符号体系,并试图对通过处理图像数据检测到的至少一种机器可读符号体系进行解码的图像处理算法。机器可读符号体系的每个成功完成的检测和解码被称为“扫描操作”。
术语“透镜”指代一个或多个光学组件,其限定了经由至少一个图像传感器可捕获的视场。
术语“透镜数据”指代影响透镜与光的交互的透镜的一个或多个属性。
关于特定透镜的术语“当前焦距”指代基于透镜的当前位置与成像器相关联的当前焦距。
术语“测距数据”指代表示从图像传感器到特定点的距离的电子管理数据。在一些实施例中,测距数据由测距仪生成。在一些实施例中,特定点对应于瞄准仪在目标对象上的位置。
术语“图像光线追踪函数”指代一个或多个计算机实现的过程,其生成从与机器可读符号体系相关联的位置到图像传感器上的位置的投射光线轨迹。
术语“构造的图像数据”指代对应于来自图像传感器上位置的数据输出的电子管理数据,该数据输出经由光线追踪进行投影,并确定为表示与机器可读符号体系相关联的光线。
术语“测距参数表”指代存储测距数据和至少一个对应裁剪参数之间的对的数据结构。存储在范围参数表中的裁剪参数基于特定测距数据的值可检索,使得测距数据用作检索范围参数表中的特定配对的关键字。
术语“码尺寸数据”指代表示特定机器可读符号体系的一个或多个维度的电子管理数据。
术语“图像放大率估计函数”指代一个或多个计算机实现的过程,其基于与机器可读符号体系相关联的码尺寸数据和与成像器透镜相关联的透镜数据,估计特定机器可读符号体系的图像区域。
术语“估计的图像数据”指代至少部分基于图像放大率估计函数的输出生成的图像区域的维度数据。
术语“透镜点扩散函数”指代成像器对定义目标对象处的特定位置的点源的光的影响。
关于特定成像器的术语“最大码尺寸”指代表示特定成像器额定捕获和处理的码的最大值维度的电子管理数据。在一些实施例中,特定成像器可读的最大码尺寸是基于成像器的图像传感器的配置来预确定的。
术语“瞄准仪位置”指代瞄准仪激光在目标对象上的位置。
本公开的示例系统和装置
图1图示了可以专门配置的系统的框图,本公开的实施例可以在该系统内操作。具体地,图1描绘了示例系统100。示例系统100包括专门配置的图像裁剪读取器102,其与其上具有机器可读符号体系106的特定对象104交互。系统100进一步包括可选的图像处理系统108,其通过可选的通信网络110与图像裁剪读取器102可通信。
对象104可以是其上可以印刷、粘附、相关联或以其它方式链接机器可读符号体系的任何对象。在一些实施例中,对象104是其上可以印刷机器可读符号体系的表面。替代地或附加地,在一些实施例中,对象104是物品、盒子或诸如此类。在一些实施例中,机器可读符号体系106被印刷在粘附于对象的标签上,例如使用粘合剂、螺钉、钉子、订书钉或其它固定机构或诸如此类。将领会,对象104可以是任何形状、尺寸和/或类型的对象。为了描述和附图的简洁性和清楚性,对象104被描绘为矩形棱柱,以及机器可读符号体系110被描绘为条形码,然而,在其它实施例中,对象104可以是另一种类型的对象和/或机器可读符号体系106可以是另一种类型的机器可读符号体系。
在一些实施例中,机器可读符号体系106对数据进行编码,使得机器可读符号体系106的成功检测和解码可用于检索由此编码的数据。机器可读符号体系106的非限制性示例包括任何一维、二维和/或三维码。机器可读符号体系106可以或不可以被人类视觉区分,但是可被一个或多个计算设备检测和/或解码,如本文中进一步描述的。在一些实施例中,机器可读符号体系106编码与其上印刷或粘附的对象104相关联的数据。例如,在一些实施例中,机器可读符号体系106编码对象标识符、尺寸数据、对象类型和/或与对象104相关联的其它信息。然而,将领会,机器可读符号体系106可以表示任何期望的数据。
图像裁剪读取器102包括一个或多个计算设备,其捕获至少一个视场。在一些实施例中,图像裁剪读取器102体现机器可读符号体系的安装或手持读取器,例如条形码扫描仪或诸如此类。在一些实施例中,图像裁剪读取器102包括至少一个成像器,每个成像器定义利用图像传感器和(一个或多个)相关联的光学组件可捕获的特定视场。在一些实施例中,图像裁剪读取器102包括两个成像器,每个成像器被配置为捕获不同的视场,例如远视场和近视场。将领会,在其它实施例中,图像裁剪读取器102包括用于捕获不同数量的视场的成像器。例如,在一些实施例中,图像裁剪读取器102捕获单个视场。在一些其它实施例中,图像裁剪读取器102包括用于捕获两个视场、三个视场或更多视场的多个成像器。在一些实施例中,图像裁剪读取器102包括一个或多个照明器,这些照明器产生用于照亮图像裁剪读取器102可捕获的(一个或多个)特定视场的(一个或多个)照明。如所图示的,图像裁剪读取器102包括一个或多个成像器,其被配置为照明和/或捕获特定视场112。
在一些实施例中,图像裁剪读取器102包括固定焦距的成像器。替代地或附加地,在一些实施例中,图像裁剪读取器102包括与可变焦距相关联的成像器。例如,在一些实施例中,图像裁剪读取器102包括使得能够更改成像器的聚焦范围的可移动透镜。在这点上,视场112可以随着图像裁剪读取器102的聚焦范围的更新而更改。
在一些实施例中,图像裁剪读取器102存储(一个或多个)裁剪参数。例如,在一些实施例中,图像裁剪读取器102存储由外部系统导出的(一个或多个)裁剪参数,例如经由本文中所描述的一个或多个过程。在一些实施例中,图像裁剪读取器102维护与测距数据相关联的至少一个存储的裁剪参数,以供在图像裁剪读取器102的操作期间至少部分基于实时测距数据来使用。
图像裁剪读取器102专门配置为捕获图像数据,并至少部分基于从图像裁剪读取器102检索的(一个或多个)裁剪参数来裁剪捕获的图像数据。在这点上,图像裁剪读取器102可以从图像裁剪读取器102可访问的存储器检索至少一个裁剪参数。例如,在一些实施例中,图像裁剪读取器102存储至少一个裁剪参数,以用于裁剪每个捕获的图像。替代地或附加地,在一些实施例中,图像裁剪读取器102实时确定测距数据,该测距数据表示图像裁剪读取器102的图像传感器和用于测距的测距仪的特定点所定位的对象104之间的距离。在一些这样的实施例中,图像裁剪读取器102至少部分基于实时确定的测距数据来检索特定的至少一个裁剪参数。利用由图像裁剪读取器102标识的至少一个裁剪参数,图像裁剪读取器102随后可以相应地裁剪捕获的图像以生成经裁剪的图像。可以经由图像裁剪读取器102或外部系统对经裁剪的图像进行相应的处理,例如用于特定的图像处理任务。
在一些实施例中,图像裁剪读取器102利用特定方法进行配置,例如,利用(一个或多个)裁剪参数实现操作。在一些实施例中,图像裁剪读取器102由一个或多个系统配置,诸如由配置系统112配置。在一些实施例中,图像裁剪读取器102通过安装、配置、存储和/或更新图像裁剪读取器102的硬件、固件和/或软件来配置。例如,在一些实施例中,图像裁剪读取器102包括在图像裁剪读取器102被传送给终端用户之前配置的固件,其中所述固件包括如本文中所描述的那样生成的(一个或多个)裁剪参数。
在一些实施例中,系统100可选地进一步包括配置系统112。配置系统112包括以硬件、软件、固件和/或其任何组合体现的一个或多个计算设备,该计算设备生成至少一个裁剪参数以供特定读取器(例如图像裁剪读取器102)使用。在一些实施例中,配置系统112包括至少一个服务器、数据库、终端、用户设备和/或诸如此类。替代地或附加地,在一些实施例中,配置系统112由图像裁剪读取器102本身的子系统来体现。替代地或附加地,在一些实施例中,配置系统112是如本文中所描述的图像处理系统108的子系统。
在一些实施例中,经由图像裁剪读取器102存储的(一个或多个)裁剪参数经由一个或多个外部系统来确定和/或设置。例如,在一些实施例中,图像处理系统108和/或诸如配置系统112之类的另一外部系统生成与一个或多个距离相关联的(一个或多个)裁剪参数。在一些实施例中,配置系统112和/或图像处理系统108经由软件、硬件、固件和/或诸如此类专门配置,用于利用图像光线追踪函数和/或图像放大率估计函数来生成至少一个裁剪参数,和/或由表示多个范围的多个测距数据的测距数据表示的每个范围的至少一个裁剪参数。在一些实施例中,图像处理系统108、配置系统112和/或另一外部系统生成裁剪范围参数表,该裁剪范围参数表包括至少一个裁剪参数,该至少一个裁剪参数与要使用该至少一个裁剪参数的对应测距数据相关联。图像裁剪读取器102可以在图像裁剪读取器102的配置期间经由固件存储(一个或多个)裁剪参数(诸如范围参数表)和/或包括裁剪参数的数据结构。例如,在一些实施例中,配置系统112确定至少一个裁剪参数和/或范围裁剪维度参数,并将这样的数据推送到或以其它方式存储到图像裁剪读取器102以供后续使用。在一些实施例中,配置系统112利用一个或多个图像光线追踪函数来生成特定读取器的一个或多个裁剪参数,和/或利用一个或多个图像放大率估计函数来生成特定读取器的一个或多个裁剪参数,然后将其推送到该读取器(例如,图像裁剪读取器102)和/或具有相同配置、成像器布置和/或类似功能的诸如此类的一个或多个其它读取器。
在一些实施例中,图像裁剪读取器102与图像处理系统108通信。在一些实施例中,图像处理系统108包括以硬件、软件、固件和/或其组合体现的一个或多个计算设备,其处理用于特定图像处理任务的图像数据。在一些实施例中,图像处理系统108包括一个或多个应用服务器和/或数据库服务器,其被专门配置为执行一个或多个软件应用,所述软件应用施行图像处理任务。在一些实施例中,图像处理系统108包括一个或多个远程计算设备。替代地或附加地,在一些实施例中,图像处理系统108包括一个或多个云计算设备,它们可以彼此远离和/或彼此接近。
在一些实施例中,图像处理系统108被专门配置为对表示裁剪图像的图像数据施行图像处理算法。在一些实施例中,从图像裁剪读取器102接收经裁剪的图像。在这点上,在一些这样的实施例中,图像裁剪读取器102从捕获的图像生成经裁剪的图像,并将经裁剪的图像传输到图像处理系统108进行处理。替代地或附加地,在一些实施例中,图像裁剪读取器102自己处理经裁剪的图像。在一些实施例中,图像处理系统108和/或图像裁剪读取器102在图像处理算法完成时发起一个或多个过程,例如基于从经裁剪的图像中表示的机器可读符号体系的表示解码的数据。
在一些实施例中,可选通信网络110以无数网络配置中的任何一种体现。在一些实施例中,通信网络110体现公共网络(例如,互联网)。在一些实施例中,通信网络110体现私有网络(例如,特定设备之间的内部、局部或封闭网络)。在一些其它实施例中,通信网络110体现混合网络(例如,实现特定连接设备之间的内部通信和与其它设备的外部通信的网络)。在一些实施例中,通信网络110包括一个或多个基站、中继器、路由器、交换机、蜂窝塔、通信线缆和/或相关联路由站和/或诸如此类。在一些实施例中,通信网络110包括一个或多个用户控制的计算设备(例如,用户所有者路由器和/或调制解调器)和/或一个或多个外部实用设备(例如,(一个或多个)互联网服务提供商通信塔和/或其它设备)。
(一个或多个)计算设备每个可以通过一个或多个通信网络(诸如通信网络110)的整体或一部分进行通信。例如,系统的每个组件通信地耦合以通过体现通信网络110的相同或不同的无线或有线网络向例如彼此传输数据和/或从例如彼此接收数据。(一个或多个)这样的配置包括但不限于有线或无线个人区域网(PAN)、局域网(LAN)、城域网(MAN)、广域网(WAN)和/或诸如此类。此外,虽然图1将某些系统实体图示为通过通信网络110进行通信的分离的独立实体,但是各种实施例不限于该特定架构。在其它实施例中,一个或多个计算实体共享一个或多个组件、硬件和/或诸如此类,或者以其它方式由单个计算设备来体现,使得通信网络110上的计算实体之间的(一个或多个)连接被更改和/或变得不必要。替代地或附加地,在一些实施例中,通信网络110由图像裁剪读取器102和/或图像处理系统108之间的一个或多个无线和/或有线连接来体现。
图2A图示了可以根据本公开示例实施例专门配置的示例装置的框图。具体地,图2A描绘了根据本公开的至少一些示例实施例具体配置的示例改进的图像裁剪读取器装置(“装置200”)。在一些实施例中,图像裁剪读取器102和/或其一部分由一个或多个系统来体现,诸如如在图2A中描绘和描述的装置200。替代地或附加地,在一些实施例中,单个计算系统体现图像裁剪读取器102和/或图像处理系统108的组合,例如由如图2A中描绘和描述的装置200体现。装置200包括处理器202、存储器204、输入/输出电路206、通信电路208、成像引擎210、测距电路212、图像裁剪电路214和/或可选的图像处理电路216。在一些实施例中,装置200被配置成使用一组或多组电路202、204、206、208、210、212、214和/或216来执行和施行本文中所描述的操作。
一般而言,本文中可互换使用的术语计算实体(或“实体”,而非指用户)、设备、系统和/或类似词语可以指,例如,一个或多个计算机、计算实体、台式计算机、移动电话、平板电脑、平板手机、笔记本电脑、膝上型计算机、分布式系统、物品/设备、终端、服务器或服务器网络、刀片、网关、交换机、处理设备、处理实体、机顶盒、中继器、路由器、网络接入点、基站等,和/或适于施行本文中所描述的功能、操作和/或过程的设备或实体的任何组合。这样的功能、操作和/或过程可以包括例如传输、接收、操作、处理、显示、存储、确定、创建/生成、监视、评估、比较和/或本文中可互换使用的类似术语。在一个实施例中,这些功能、操作和/或过程可以对数据、内容、信息和/或本文中可互换使用的类似术语施行。在这点上,装置200体现了特定的、专门配置的计算实体,该计算实体被转换以实现本文中所描述的特定操作并提供与其相关联的特定优点,如本文中所描述的。
尽管关于功能限制对组件进行了描述,但应当理解,特定实现必要包括特定计算硬件的使用。还应当理解,在一些实施例中,本文中描述的某些组件包括类似或公共的硬件。例如,在一些实施例中,两组电路都利用(一个或多个)相同的处理器、网络接口、存储介质和/或诸如此类来施行它们相关联的功能,使得每组电路都不需要重复的硬件。因此,如本文中关于本文中描述的装置的组件使用的术语“电路”应该被理解为包括被配置为施行与如本文中描述的特定电路相关联的功能的特定硬件。
特别地,术语“电路”应当广义理解为包括硬件,以及在一些实施例中,包括用于配置硬件的软件。例如,在一些实施例中,“电路”包括处理电路、存储介质、网络接口、输入/输出设备和/或诸如此类。替代地或附加地,在一些实施例中,装置200的其它元件提供或补充另一特定组电路的功能。例如,在一些实施例中,处理器202向任何电路组提供处理功能,存储器204向任何电路组提供存储功能,通信电路208向任何电路组提供网络接口功能,和/或诸如此类。
在一些实施例中,处理器202(和/或协处理器或辅助处理器或以其它方式与处理器关联的任何其它处理电路)经由总线与存储器204通信,用于在装置200的组件之间传递信息。例如,在一些实施例中,存储器204是非暂时性的,并且可以包括例如一个或多个易失性和/或非易失性存储器。换句话说,例如,在一些实施例中,存储器204包括或体现电子存储设备(例如,计算机可读存储介质)。在一些实施例中,存储器204被配置为存储信息、数据、内容、应用、指令或诸如此类,用于使得装置200能够实行根据本公开的示例实施例的各种功能。
处理器202可以以多种不同方式体现。例如,在一些示例实施例中,处理器202包括被配置为独立施行的一个或多个处理设备。附加地或替代地,在一些实施例中,处理器202包括一个或多个处理器,这些处理器经由总线串联配置,以实现指令、流水线和/或多线程的独立执行。术语“处理器”和“处理电路”的使用应当理解为包括单核处理器、多核处理器、装置200内部的多个处理器和/或装置200外部的一个或多个远程或“云”处理器。
在示例实施例中,处理器202被配置为执行存储在存储器204中的指令或处理器以其它方式可访问的指令。替代地或附加地,在一些实施例中,处理器202被配置为执行硬编码的功能。照此,无论是通过硬件或软件方法配置,还是通过其组合配置,处理器202都表示能够根据本公开的实施例施行操作同时被相应配置的实体(例如,物理地体现在电路中)。替代地或附加地,作为一些示例实施例中的另一个示例,当处理器202被体现为软件指令的执行器时,这些指令具体地配置处理器202,以当这样的指令被执行时施行在本文中描述的特定操作中体现的算法。
作为一个特定示例实施例,处理器202被配置为施行如本文中所描述的几何图像裁剪和/或特定图像处理任务的经裁剪的图像的处理。在一些实施例中,处理器包括硬件、软件、固件和/或其组合,其激活经由成像器捕获的捕获图像的捕获和/或接收。附加地或替代地,在一些实施例中,处理器202包括硬件、软件、固件和/或其组合,其例如从装置200的存储器标识至少一个裁剪参数。附加地或替代地,在一些实施例中,处理器202包括硬件、软件、固件和/或其组合,其至少部分基于至少一个裁剪参数来裁剪捕获的图像以生成经裁剪的图像。附加地或替代地,在一些实施例中,处理器202包括硬件、软件、固件和/或其组合,其将经裁剪的图像应用于图像处理算法。附加地或替代地,在一些实施例中,处理器202包括硬件、软件、固件和/或其组合,其将经裁剪的图像传输到外部设备以供进一步处理。
在一些实施例中,装置200包括向用户提供输出以及在一些实施例中接收用户输入的指示的输入/输出电路206。在一些实施例中,输入/输出电路206与处理器202通信以提供这样的功能。输入/输出电路206可以包括一个或多个用户接口,并且在一些实施例中包括显示器,该显示器包括呈现为网络用户接口、应用用户接口、用户设备、后端系统或诸如此类的(一个或多个)接口。在一些实施例中,输入/输出电路206还包括键盘、鼠标、操纵杆、触摸屏、触摸区域、软键、麦克风、扬声器或其它输入/输出机构。处理器202和/或包括处理器的输入/输出电路206可以被配置为通过存储在处理器可访问的存储器(例如,存储器204和/或诸如此类)上的计算机程序指令(例如,软件和/或固件)来控制一个或多个用户接口元件的一个或多个功能。在一些实施例中,输入/输出电路206包括或利用面向用户的应用来向客户端设备和/或与用户相关联的其它显示器提供输入/输出功能。
在一些实施例中,装置200包括通信电路208。通信电路208包括被配置为从/向与装置200通信的网络和/或任何其它设备、电路或模块接收和/或传输数据的任何部件,诸如以硬件或硬件和软件的组合体现的设备或电路。在这点上,在一些实施例中,通信电路208包括例如网络接口,用于实现与有线或无线通信网络的通信。附加地或替代地,在一些实施例中,通信电路208包括一个或多个网络接口卡、天线、总线、交换机、路由器、调制解调器和支持硬件、固件和/或软件、或者适用于经由一个或多个通信网络实现通信的任何其它设备。附加地或替代地,通信电路208包括用于与(一个或多个)天线和/或其它硬件或软件交互的电路,以经由(一个或多个)天线传输信号或处置经由(一个或多个)天线接收的信号的接收。在一些实施例中,通信电路208使得能够向与装置200通信的客户端设备、捕获设备和/或其它外部计算设备传输数据和/或从其接收数据。
装置200包括成像引擎210。在一些实施例中,成像引擎210包括硬件、软件、固件和/或其组合,其支持与经由一个或多个成像器对视场进行图像捕获相关联的各种功能。例如,在一些实施例中,成像引擎210包括至少一个成像器,每个成像器包括至少一个透镜和至少一个图像传感器。在一些实施例中,成像引擎210的每个成像器可被激活以捕获表示不同视场的图像数据。附加地或替代地,在一些实施例中,成像引擎210包括一个或多个照明器,所述照明器可被激活以通过投射特定照明来照明特定视场。附加地或替代地,在一些实施例中,成像引擎包括一个或多个触发器和/或(一个或多个)其它输入组件,其激活经由一个或多个特定成像器的捕获和/或经由一个或多个特定照明器的照明。在一些实施例中,成像引擎210包括单独的处理器、专门配置的现场可编程门阵列(FPGA)或专门编程的专用集成电路(ASIC)。
测距电路212包括硬件、软件、固件和/或其组合,其支持与生成和/或以其它方式确定测距数据相关联的各种功能。例如,在一些实施例中,测距电路212包括硬件、软件、固件和/或其任何组合,体现测距仪,该测距仪生成表示从测距仪到经由测距仪指示的特定位置的距离的实时测距数据。在一些这样的实施例中,测距数据近似或用于导出表示从图像传感器到特定位置的距离的测距数据。特定位置可以是经由装置200的激光瞄准仪投射的激光到达环境中的目标对象(例如,装置200出于读取目标对象上的机器可读符号体系的目的而与其对准的对象)的点。替代地或附加地,在一些实施例中,测距电路212包括硬件、软件、固件和/或其组合,其激活测距仪生成与其相关联的对应测距数据。在一些实施例中,测距电路212包括单独的处理器、专门配置的现场可编程门阵列(FPGA)或专门编程的专用集成电路(ASIC)。
在一些实施例中,装置200进一步包括图像裁剪电路214。图像裁剪电路214包括硬件、软件、固件和/或其组合,其支持与裁剪捕获的图像数据相关联的各种功能。例如,在一些实施例中,图像裁剪电路214包括硬件、软件、固件和/或其组合,其检索、确定和/或以其它方式标识至少一个裁剪参数以用于裁剪捕获的图像。在一些这样的实施例中,图像裁剪电路214包括硬件、软件、固件和/或其组合,其至少部分基于例如经由测距电路212确定的测距数据来标识至少一个裁剪参数。附加地或替代地,在一些实施例中,图像裁剪电路214包括硬件、软件、固件和/或其组合,其从由装置200维护的范围参数表检索至少一个裁剪参数,例如经由存储器204存储的。附加地或替代地,在一些实施例中,图像裁剪电路214包括硬件、软件、固件和/或其组合,其施行捕获的图像的裁剪以从其生成经裁剪的图像,这样的裁剪利用所确定的至少一个裁剪参数来标识捕获的图像中由于不可能包括用于施行图像处理算法的相关数据而应该被裁剪掉的(一个或多个)部分。在一些实施例中,图像裁剪电路214包括单独的处理器、专门配置的现场可编程门阵列(FPGA)或专门编程的专用集成电路(ASIC)。
在一些实施例中,装置200可选地包括图像处理电路216。图像处理电路216包括硬件、软件、固件和/或其组合,其支持与针对特定图像处理任务处理经裁剪的图像相关联的各种功能(例如,读取其中描绘的一个或多个机器可读符号体系)。例如,在一些实施例中,图像处理电路216包括硬件、软件、固件和/或其组合,其经由图像去卷积算法施行经裁剪的图像的图像去卷积。在一些实施例中,图像去卷积算法输出经处理的图像。附加地或替代地,在一些实施例中,图像处理电路216包括硬件、软件、固件和/或其组合,其施行去卷积图像数据的图像处理。在一些实施例中,图像处理电路216将经处理的图像应用于图像处理算法,该算法输出与特定图像处理任务相关联的特定数据。在一些实施例中,图像处理电路216包括硬件、软件、固件和/或其组合,其处理经处理的图像的图像数据,以尝试检测经处理的图像数据中表示的至少一个机器可读符号体系,和/或解码经处理的图像数据中表示的检测到的至少一个机器可读符号体系。在一些实施例中,图像处理电路216包括单独的处理器、专门配置的现场可编程门阵列(FPGA)或专门编程的专用集成电路(ASIC)。
附加地或替代地,在一些实施例中,两组或更多组电路202-216可组合。替代地或附加地,在一些实施例中,一组或多组电路施行与另一组件相关联的所描述的一些或所有功能。例如,在一些实施例中,两组或更多组电路202-216被组合成体现在硬件、软件、固件和/或其组合中的单个模块。类似地,在一些实施例中,一组或多组电路,例如成像引擎210、测距电路212、图像裁剪电路214和/或图像处理电路216和/或其任何组合,与处理器202组合,使得处理器202施行上面关于这些电路组210-216中的每一组所描述的一个或多个操作。
应当领会,在如本文中所描绘和描述的那样配置装置200时,装置200可以用于高效的图像捕获、裁剪和后续处理。例如,在一些实施例中,使装置200经由成像器捕获或以其它方式接收捕获的图像。进一步使装置200标识与成像器相关联的至少一个存储的裁剪参数。进一步使装置200至少部分基于至少一个存储的裁剪参数来裁剪捕获的图像,例如从捕获的图像生成经裁剪的图像。随后,进一步使装置200将经裁剪的图像应用于至少一个进一步的图像处理算法,例如应用于图像去卷积算法和/或机器可读符号体系检测和/或解码算法,或者直接应用于机器可读符号体系检测和/或解码算法。在这点上,在一些这样的实施例中,装置200表示由(一个或多个)存储的裁剪参数专门配置的(例如利用本文中描述的方法生成的)符号体系读取器,以更高效地施行这样的操作。
图2B图示了可以根据本公开示例实施例专门配置的另一示例装置的框图。具体地,图2B描绘了根据本公开的至少一些示例实施例具体配置的示例裁剪参数配置装置(“装置250”)。裁剪参数配置装置可以施行为特定读取器生成(一个或多个)裁剪参数的任何(一个或多个)过程,例如由装置200体现,如本文中所描述的。在一些实施例中,配置系统112和/或其一部分由一个或多个系统(诸如如图2B中描绘和描述的装置250)来体现。替代地或附加地,在一些实施例中,单个计算系统体现图像裁剪读取器102、图像处理系统108和/或配置系统112的组合,例如由如图2B中单独描绘和描述的装置250和/或与如图2A中描绘和描述的装置200相组合来体现。装置250包括处理器252、存储器254、输入/输出电路256、通信电路258、输入标识电路260、范围标识电路262、参数生成电路264和参数维护电路266。在一些实施例中,装置250被配置成使用一组或多组电路252、254、256、258、260、262、264和/或266来执行和施行本文中所描述的操作。
将领会,装置250包括与装置200的组件类似命名的某些组件。这样的组件施行与装置250相同和/或类似的功能。出于简洁性和清楚性的目的,本文中省略了关于与关于装置200所描绘和描述的组件具有相同名称的组件的附加公开。
在一些实施例中,装置250包括输入标识电路260。输入标识电路260包括硬件、软件、固件和/或其组合,其检索、接收和/或以其它方式标识用作一个或多个函数的输入的任何数据,用于生成(一个或多个)裁剪参数,如本文中所描述的。例如,在一些实施例中,输入标识电路260包括硬件、软件、固件和/或其组合,其检索、接收和/或以其它方式标识与特定成像器、读取器和/或要配置的其它设备相关联的透镜数据。附加地或替代地,在一些实施例中,输入标识电路260包括硬件、软件、固件和/或其组合,其检索、接收和/或以其它方式标识与特定成像器、读取器和/或要配置的其它设备相关联的码尺寸数据。附加地或替代地,在一些实施例中,输入标识电路260包括硬件、软件、固件和/或其组合,其接收、检索和/或以其它方式标识指示或唯一标识特定读取器、装置、设备、成像器和/或诸如此类的数据,其中这样的数据可用于检索与特定读取器、装置、设备、成像器和/或诸如此类相关联的存储数据。附加地或替代地,在一些实施例中,输入标识电路260包括硬件、软件、固件和/或其组合,其体现和/或维护一个或多个数据存储,该数据存储包括用于一个或多个特定读取器、装置和/或诸如此类的任何这样的数据。在一些实施例中,输入标识电路260包括单独的处理器、专门配置的现场可编程门阵列(FPGA)或专门编程的专用集成电路(ASIC)。
在一些实施例中,装置250包括范围标识电路262。范围标识电路262包括硬件、软件、固件和/或其组合,其标识用于生成至少一个裁剪参数的特定函数的测距数据。例如,在一些实施例中,范围标识电路262包括生成和/或检测测距数据的测距仪。附加地或替代地,在一些实施例中,测距标识电路262包括硬件、软件、固件和/或其组合,其从数据存储检索、接收和/或以其它方式标识测距数据。附加地或替代地,在一些实施例中,测距标识电路262包括硬件、软件、固件和/或其组合,其至少部分基于特定算法来生成测距数据。在一些实施例中,范围标识电路262包括单独的处理器、专门配置的现场可编程门阵列(FPGA)或专门编程的专用集成电路(ASIC)。
在一些实施例中,装置250包括参数生成电路264。参数生成电路264包括硬件、软件、固件和/或其组合,其生成至少一个裁剪参数。例如,在一些实施例中,参数生成电路264包括硬件、软件、固件和/或其组合,其利用本文中描述的一个或多个函数生成至少一个裁剪参数。附加地或替代地,在一些实施例中,参数生成电路264包括硬件、软件、固件和/或其组合,其将生成的(一个或多个)裁剪参数与由特定测距数据表示的特定范围相关联。附加地或替代地,在一些实施例中,参数生成电路264包括硬件、软件、固件和/或其组合,其将输入数据应用于一个或多个图像光线追踪函数。附加地或替代地,在一些实施例中,参数生成电路264包括硬件、软件、固件和/或其组合,其将输入数据应用于一个或多个图像放大率估计函数。附加地或替代地,在一些实施例中,参数生成电路264包括硬件、软件、固件和/或其组合,其至少部分基于对应于特定图像传感器的图像区域来生成至少一个裁剪参数。在一些实施例中,参数生成电路264包括单独的处理器、专门配置的现场可编程门阵列(FPGA)或专门编程的专用集成电路(ASIC)。
在一些实施例中,装置250包括参数维护电路266。参数维护电路266包括硬件、软件、固件和/或其组合,其维护至少一个裁剪参数,用于存储和/或配置特定设备,例如专门配置的图像裁剪读取器。例如,在一些实施例中,参数维护电路266包括硬件、软件、固件和/或其组合,其被配置为例如经由软件和/或固件的一部分将至少一个裁剪参数存储到特定读取器,以供后续使用。附加地或替代地,在一些实施例中,参数维护电路266包括硬件、软件、固件和/或其组合,其将至少一个裁剪参数传输到读取器以供存储和/或使用。附加地或替代地,在一些实施例中,参数维护电路266包括硬件、软件、固件和/或其组合,其维护至少一个范围参数表以用于存储到至少一个读取器,这样的至少一个范围参数表包括一个或多个裁剪参数和用于多个范围中的任何一个的对应测距数据。附加地或替代地,在一些实施例中,参数维护电路266包括硬件、软件、固件和/或其组合,其包括与(一个或多个)不同成像器相关联的至少一个裁剪参数(例如,作为数据的独立部分和/或在范围参数表中),例如至少部分基于不同成像器的透镜数据、不同成像器的图像传感器参数数据和/或诸如此类。在一些实施例中,参数维护电路266包括单独的处理器、专门配置的现场可编程门阵列(FPGA)或专门编程的专用集成电路(ASIC)。
附加地或替代地,在一些实施例中,两组或更多组电路252-266是可组合的。替代地或附加地,在一些实施例中,一组或多组电路施行与另一组件相关联的所描述的一些或所有功能。例如,在一些实施例中,两组或更多组电路252-266被组合成体现在硬件、软件、固件和/或其组合中的单个模块。类似地,在一些实施例中,一组或多组电路,例如输入标识电路260、范围标识电路262、参数生成电路264、参数维护电路266和/或其任何组合,与处理器252组合,使得处理器252施行上面关于这些电路组260-266中的每一组所描述的一个或多个操作。
本公开的示例裁剪参数生成和使用
已经根据本公开描述了示例系统和装置,现在将公开(一个或多个)裁剪参数的示例生成和/或使用。在一些实施例中,利用例如由装置200体现的图像裁剪读取器102来施行裁剪参数生成。附加地或替代地,在一些实施例中,裁剪参数生成至少部分基于对应的外部系统(例如配置系统,诸如配置系统112,和/或图像处理系统,诸如图像处理系统108)来施行。例如,外部系统可以至少部分基于经由装置200的成像引擎捕获的(一个或多个)图像来施行裁剪参数生成。在一些实施例中,至少部分基于如本文中所描述的那样生成的一个或多个裁剪参数来配置专门配置的读取器——例如由装置200体现的图像裁剪读取器102。例如,在一些实施例中,外部系统至少部分基于(一个或多个)特定裁剪参数来配置由装置200体现的图像裁剪读取器102,所述(一个或多个)特定裁剪参数至少部分基于装置200内的成像器的(一个或多个)特定组件来生成。在这点上,将领会,外部系统可以施行一个或多个过程,用于为特定配置的(一个或多个)成像器生成(一个或多个)裁剪参数,并且可以配置装置200以利用对应于装置200中的(一个或多个)成像器的特定设计元素的这样(一个或多个)裁剪参数,诸如通过传输和/或以其它方式存储(一个或多个)裁剪参数以供经由装置200访问。
图3图示了根据本公开的至少一个示例实施例的具有光线追踪的示例成像器布置的可视化。具体地,图3图示了以特定布置的示例成像器300,具有从成像器300的组件到成像器300捕获的视场内的机器可读符号体系302的光线追踪的可视化。如所描绘和描述的光线追踪可以用于生成与如所描绘的那样布置的特定成像器相关联的至少一个裁剪参数。在这点上,将领会,所描绘的成像器布置体现了特定的示例成像器,并且在其它实施例中,其它成像器可以不同地布置。类似地,在这点上,所生成的至少一个裁剪参数可以具体地与如所描绘的成像器布置相关联,使得可以与(一个或多个)其它成像器布置相关联地生成(一个或多个)不同的裁剪参数。
在一些实施例中,装置250生成和/或维护模拟,该模拟施行如关于图3所描绘和描述的裁剪参数生成。例如,在一些实施例中,装置250施行特定的模拟,该模拟为特定的成像器布置(诸如图3中描绘的成像器布置)生成(一个或多个)裁剪参数。在一些实施例中,该模拟可以体现或以其它方式施行图像光线追踪功能,该功能用于生成(一个或多个)裁剪参数。替代地或附加地,在一些实施例中,模拟可以体现或以其它方式施行用于生成(一个或多个)裁剪参数的图像放大率估计函数。在这点上,在一些实施例中,装置250维护软件环境,该软件环境体现特定成像器布置的模拟,使用该模拟来生成(一个或多个)裁剪参数,并且随后通过利用特定成像器配置操作的一个或多个读取器来推送这样的(一个或多个)裁剪参数以供存储。在这点上,将领会,如所描绘和描述的成像器可以是模拟环境的可视化,例如,其与要配置的真实成像器的特定透镜数据相匹配。在一些实施例中,装置250利用特定的光线追踪和/或可视化软件(例如但不限于Zemax、Code V和/或诸如此类)来维护模拟,以施行光线追踪和/或图像放大率估计。
图3中所描绘的成像器300包括图像传感器306和透镜304。在一些实施例中,图像传感器306包括捕获特定传感器上的光衰减以生成特定传感器上的光衰减的对应图像表示的电路。图像传感器的非限制性示例包括CMOS传感器和/或CCD传感器。在这点上,图像传感器306可以被配置为生成表示入射在图像传感器306的每个特定点的光的图像数据。图像传感器可以根据特定分辨率来配置,例如对应于经由图像传感器306捕获的特定数量的像素。在这点上,图像传感器306可以输出对应于图像传感器306的特定分辨率的捕获的图像。
此外,在一些实施例中,图3中所描绘的成像器300进一步包括透镜304。透镜304包括一个或多个光学组件,光通过这些光学组件投射。在一些实施例中,透镜304被专门配置为投射、反射、折射和/或以其它方式操纵光,以定义可由对应的图像传感器306捕获的视场。在一些实施例中,透镜304被设计成以特定方式影响光。在一些实施例中,至少部分基于一个或多个光学因子的特定值来设计透镜,例如由对应的透镜数据来表示。
在一些实施例中,透镜304是固定透镜——使得其相对于图像传感器306的位置保持不变。在这点上,与所描绘的成像器布置相关联的焦距可以是固定的。在其它实施例中,透镜304体现为可变焦距透镜。例如,透镜304相对于图像传感器306的位置可以是可变的,从而使得成像器布置的焦距能够随着透镜304的重新定位而改变。在这点上,在一些实施例中,与成像器布置相关联的透镜数据包括指示透镜304的当前焦距和/或当前位置的数据。在一些实施例中,成像器布置的当前配置的透镜数据从成像器布置的一个或多个组件和/或相关联组件(例如,控制成像器的装置200的处理器)可确定。
如所描绘的,包括透镜304和图像传感器306的成像器布置捕获包括机器可读符号体系302的视场。在一个示例上下文中,机器可读符号体系可以体现面向包括透镜304和图像传感器306的成像器的条形码。如所描绘的,机器可读符号体系302由特定维度定义,例如由高度314定义的特定高度维度。在一些实施例中,机器可读符号体系302类似地包括特定宽度维度,其可以与高度314的值相同或不同。在一些实施例中,高度314是例如由配置系统和/或装置200预确定的(例如,表示特定码尺寸)或可确定的。
在一些实施例中,与成像器300相关联的激光瞄准仪朝向机器可读符号体系302投射。在由激光瞄准仪产生的瞄准仪图案定位在机器可读符号体系302上的情况下,描绘机器可读符号体系302的一部分的表示图像传感器306的区域的对应图像区域以无数方式中的任何一种可确定。在一些实施例中,至少一个裁剪参数至少部分基于所述瞄准仪的瞄准仪位置,例如当瞄准仪位置在机器可读符号体系的边界内时确定的。在一些实施例中,例如,瞄准仪位置被模拟为定向在模拟的机器可读符号体系的边界处。
在一些实施例中,对应于机器可读符号体系302的图像区域利用如本文中所描述的光线追踪可确定。图3描绘了从机器可读符号体系302的顶部和底部边缘到图像传感器306的各种光线轨迹。可以利用无数图像光线追踪函数中的任何一个来施行光线追踪,包括一个或多个定制图像光线追踪函数和/或已知的图像光线追踪函数(例如,Zemax、Code V和/或诸如此类)。如所描绘的,光线轨迹可以定义图像区域,在该图像区域内,来自机器可读符号体系的光影响图像传感器306,并且由此经由图像区域的对应图像数据来表示。具体地,如所图示的,从机器可读符号体系302到图像传感器306的光线轨迹定义了图像区域316。进一步如所图示的,图像区域316至少部分基于对应于从机器可读符号体系302的边缘到传感器306处的对应撞击点的线性光线追踪的线性图像放大率来定义。将领会,基于来自用于成像器300的特定布置和配置的机器可读符号体系302的光线轨迹,图像区域316可以与对应于图像区域316的边缘边界的特定高度和特定宽度相关联。在一些实施例中,基于对应于机器可读符号体系的特定已知尺寸数据来施行光线追踪,例如至少部分基于最大的机器可读符号体系,该最大的机器可读符号体系被指定为在特定授权环境下的操作期间经由成像器300可捕获。
在一些实施例中,成像器300包括测距仪或与测距仪相关联,该测距仪确定和/或生成表示与机器可读符号体系302的特定距离的测距数据。例如,在一些实施例中,激光瞄准仪体现生成测距数据的测距仪。在这点上,为机器可读符号体系302确定的图像区域316可以类似地与施行这样的确定的特定测距数据相关联。在这点上,将领会,在对应于不同测距数据的不同距离处,图像区域316可以不同。在这点上,特定描绘的图像区域316对应于特定的对应成像器布置和配置、对应于高度314的码尺寸数据以及从图像传感器306到机器可读符号体系302的距离。如所图示的,测距仪可以确定和/或生成表示距离308的测距数据。距离308可以包括透镜304和机器可读符号体系302之间的第一距离312,以及图像传感器306和透镜304之间的第二距离310。在一些实施例中,透镜304体现为可变焦距透镜,其中透镜304的位置是可变的。随着透镜位置的更改,第二距离310和第一距离312类似地更改,并且基于新的距离来更改与成像器300相关联的当前焦距。
在一些实施例中,至少部分基于图像区域316可确定至少一个裁剪参数。在一些实施例中,图像区域316基于到机器可读符号体系的距离参数和成像器300的图像放大率可确定。在一些实施例中,该距离由如所描绘和描述的第一和/或第二距离确定,和/或在模拟中从成像器300的焦距可导出。类似地,在一些实施例中,图像放大率由用于配置特定成像器300的模拟以包括特定透镜304的透镜数据来确定。例如,在一些实施例中,至少一个裁剪参数包括百分比乘数,其指示对应于图像区域316的图像传感器306的总分辨率的百分比。例如,在图像区域316对应于图像传感器306的总分辨率的20%的情况下,可以对应于表示距离308的测距数据来确定裁剪参数为0.2。替代地或附加地,在一些实施例中,至少一个裁剪参数表示用于确定图像区域316的维度的任何其它数据,该图像区域316表示特定距离308处的机器可读符号体系302。在一些实施例中,至少一个裁剪参数包括与图像区域316的每个维度相关联的裁剪参数。例如,在一些实施例中,至少一个裁剪参数包括与图像区域316的高度相关联的第一裁剪参数和与图像区域316的宽度相关联的第二裁剪参数。在一些实施例中,这样的多个裁剪参数可以是相同的值(例如,每个被设置为0.2)。替代地或附加地,在一些实施例中,这样的多个裁剪参数可以表示不同的值(例如,在机器可读符号体系302在图像区域316中由大于高度的宽度表示的情况下,高度裁剪参数为0.2,以及宽度裁剪参数为0.5)。
在一些实施例中,图像区域316经由图像放大率估计函数来确定。例如,在一些实施例中,对应于机器可读符号体系302的码尺寸数据由读取器确定和/或检索,例如包括成像器300的装置200,用于生成对应的图像区域316。在一些实施例中,码尺寸数据表示可由装置处理的最大机器可读符号体系的维度,例如体现机器可读符号体系302的高度314和对应宽度。在一些这样的实施例中,利用最大的码尺寸来确保所得到的(一个或多个)裁剪参数足够大,以确保能够经由该装置读取的所有尺寸的机器可读符号体系都被表示在裁剪后剩余的图像部分中。在这点上,经由图像放大率估计函数输出的数据可以对应于图像传感器306的特定估计区域,该图像传感器306的特定估计区域对应于机器可读符号体系302的捕获表示,例如体现图像区域316的估计。
在一个示例上下文中,2m距离处的100密耳C39条形码与图像区域相关联,这导致图像传感器306的完整传感器区域少于20%。在这点上,利用任何公开的用于确定该图像区域的方法,可以生成对应的至少一个裁剪参数,该裁剪参数对应于裁剪除了捕获的图像的20%之外的全部。将领会,在其它距离处,该值可以改变。例如,随着成像器300更接近机器可读符号体系302(例如,1米的距离),表示机器可读符号体系所需的图像区域可能增加,例如增加到完整传感器区域的50%。类似地,随着成像器远离机器可读符号体系302(例如,在5米的距离处),表示机器可读符号体系所需的图像区域可能减少,例如减少到少于10%。在这点上,可以生成对应于这样的图像区域的对应的(一个或多个)裁剪参数,例如利用本文中描述的任何(一个或多个)函数生成,并且与表示对应于这样的至少一个裁剪参数的范围的特定数据(例如,测距数据)相关联地存储。在一些实施例中,(一个或多个)函数依赖于在机器可读符号体系302的边界内的瞄准仪(例如,表示相对于可捕获视场的近同轴中心),以确保基于至少一个确定的裁剪参数的经裁剪的图像总是包括足够的数据来描绘机器可读符号体系的表示的整体。
图4图示了根据本公开至少一个示例实施例的示例范围参数表。具体地,图4图示了特定的范围参数表400。如本文中所描述的,可以利用本文中所描述的任何(一个或多个)机制——例如利用(一个或多个)图像光线追踪函数和/或图像放大率估计函数——来生成范围参数表400。在一些实施例中,装置250在配置过程期间生成范围参数表400,用于配置一个或多个设备、读取器和/或诸如此类来利用范围参数表400。例如,在一些实施例中,装置250配置装置200来利用范围参数表400。
如所图示的,范围参数表400包括与表示多个不同范围中特定范围的测距数据相关联的至少一个裁剪参数。例如,范围参数表400包括将第一裁剪参数与表示距目标对象0.1米距离的第一测距数据相关联的第一记录402A,将第二裁剪参数与表示距目标对象0.3米距离的第二测距数据相关联的第二记录402B,将第三裁剪参数与表示距目标对象0.7米距离的第三测距数据相关联的第三记录402C,将第四裁剪参数与表示距目标对象1.0米距离的第四测距数据相关联的第四记录402D,将第五裁剪参数与表示距目标对象2.0米距离的第五测距数据相关联的第五记录402E,将第六裁剪参数与表示距目标对象6.0米距离的第六测距数据相关联的第六记录402F,以及将第七裁剪参数与表示距目标对象10.0米距离的第七测距数据相关联的第七记录402G。在一些实施例中,利用特定函数、例如(一个或多个)图像光线追踪函数和/或(一个或多个)图像放大率估计函数,生成每个裁剪参数,其中在执行函数期间检测和/或生成对应的测距数据。例如,在一些实施例中,使用测距仪结合为测距数据表示的范围生成对应的裁剪参数来检测测距数据。在这点上,用于生成至少一个裁剪参数的函数为该特定范围生成(一个或多个)特定值。
在一些实施例中,范围参数表400在特定设备中使用之前确定,例如在特定读取器使用之前确定。在这点上,所生成的范围参数表400可以被安装、上传、推送和/或以其它方式存储到特定设备以供后续使用。例如,在一些实施例中,范围参数表400在配置和/或产生期间被存储到装置200,例如作为软件和/或固件,以供在装置200的操作期间使用。
图5图示了根据本公开的至少一个示例实施例的用于生成(一个或多个)裁剪参数的示例数据流。具体地,图5描绘了利用(一个或多个)图像光线追踪函数生成至少一个裁剪参数的数据流。在这点上,所生成的至少一个裁剪参数可以表示特定图像传感器的区域,该特定图像传感器的区域可以基于图像传感器的特定区域在特定范围内被裁剪,该图像传感器的特定区域是经由光线追踪确定的,以对应于机器可读符号体系。数据流可以由装置200和/或对应的配置系统施行,例如装置250在生成用于存储到装置200、另一个读取器和/或诸如此类的范围参数表期间施行。在一些实施例中,数据流在经由装置250维护的模拟环境内施行,以生成要被推送到特定读取器的(一个或多个)特定裁剪参数,例如由装置200体现的(一个或多个)特定裁剪参数。
如所图示的,数据流包括测距数据502。测距数据502表示从设备的特定组件(例如测距仪、图像传感器和/或诸如此类)到目标对象的特定距离。在一些实施例中,测距数据502经由装置(例如装置200)的测距仪来确定。测距数据502可以对应于任何可确定单位——例如米、英寸、英尺、毫米和/或诸如此类——的数据值。在一些实施例中,装置250模拟测距数据502的各种值,以生成对应于由不同测距数据表示的这样的距离中的每一个的(一个或多个)裁剪参数。
如所图示的,数据流包括透镜数据504。在一些实施例中,透镜数据504表示与设备的透镜相关联的一个或多个光学属性的(一个或多个)特定数据值。例如,透镜数据504可以表示与特定读取器的透镜相关联的折射率、焦距和/或其它光学属性,例如由装置200体现。在一些实施例中,透镜数据504对应于在范围参数表的配置期间利用的特定读取器的透镜,该范围参数表用于存储和/或由具有带相同光学属性或被确定为类似的光学属性的透镜的(一个或多个)其它读取器使用。在一些实施例中,透镜数据504是用户输入的或者以其它方式由装置250可确定的,用于配置包括与这样的透镜数据504一致的成像器的对应读取器。
如所图示的,测距数据502和透镜数据504被输入到(一个或多个)图像光线追踪函数506中。在一些实施例中,(一个或多个)图像光线追踪函数506生成和/或以其它方式对从环境中的机器可读符号体系上的位置到图像传感器上的对应位置的光线轨迹建模。在这点上,光线追踪可以用于确定表示图像传感器的部分的图像区域,该图像传感器的部分表示设备的当前配置中的机器可读符号体系的至少一部分。例如,光线轨迹可以基于来自如由测距数据502表示的机器可读符号体系的范围、至少部分由透镜数据504表示的透镜和/或成像器的设计和/或配置和/或诸如此类。
在一些实施例中,(一个或多个)图像光线追踪函数506用于生成图像区域508。图像区域508包括表示图像传感器的区域、维度和/或部分的数据,该图像传感器对应于基于经由(一个或多个)图像光线追踪函数506施行的光线追踪的机器可读符号体系的表示。将领会,在一些上下文中,随着设备(例如,读取器)进一步远离如由测距数据502表示的机器可读符号体系,图像区域508可以减小,因为机器可读符号体系利用图像传感器的总图像区域的较小部分来表示。附加地或替代地,图像区域508可以基于由透镜数据504表示的透镜的配置而不同。在这点上,当测距数据502和/或透镜数据504中的任一个或两个改变时,(一个或多个)图像光线追踪函数506可以生成不同的图像区域508。
在一些实施例中,图像区域508用于生成(一个或多个)裁剪参数510。在一些实施例中,(一个或多个)裁剪参数510对应于图像传感器的总图像区域的一部分,该部分要被裁剪以留下剩余的图像区域508。例如,在一些实施例中,(一个或多个)裁剪参数510包括表示要应用于总图像区域的每个维度以留下剩余的图像区域508的乘数的值。在一个示例上下文中,(一个或多个)裁剪参数510包括20%的百分比值,例如,其中20%表示要应用于总图像区域的每个维度的乘数0.2。替代地或附加地,在一些实施例中,(一个或多个)裁剪参数510包括多个值,包括表示总图像区域的每个维度的乘数的值。
在一些实施例中,裁剪参数510被存储到特定设备(例如装置200),用于裁剪一个或多个随后捕获的图像。附加地或替代地,在一些实施例中,与特定范围相关联地存储(一个或多个)裁剪参数510。例如,在一些实施例中,(一个或多个)裁剪参数510与测距数据502相关联地存储。在这点上,(一个或多个)裁剪参数510可以是可检索的,以供在设备到机器可读符号体系的范围被确定为等同于测距数据502或与测距数据502相关联的情况下使用。附加地或替代地,在这点上,将领会,(一个或多个)不同的裁剪参数510可以被确定和/或与不同的测距数据相关联,例如在如本文中所描述的范围参数表中。
图6图示了根据本公开的至少一个示例实施例的用于生成(一个或多个)裁剪参数的示例数据流。具体地,图6描绘了利用(一个或多个)图像放大率估计函数生成至少一个裁剪参数的数据流。在这点上,所生成的至少一个裁剪参数可以表示特定图像传感器的区域,该区域可以基于图像传感器的特定区域在特定范围内被裁剪,该特定区域是经由特定机器可读符号体系的估计放大率来确定的。数据流可以由装置200和/或对应的配置系统(例如装置250)在生成用于存储到装置200、另一个读取器和/或诸如此类的范围参数表期间施行。在一些实施例中,数据流在经由装置250维护的模拟环境内施行,以生成要被推送到特定读取器的(一个或多个)特定裁剪参数,例如由装置200体现的(一个或多个)特定裁剪参数。
如所图示的,数据流包括测距数据602。测距数据602表示从设备的特定组件(例如测距仪、图像传感器和/或诸如此类)到目标对象的特定范围。在一些实施例中,测距数据602经由装置(例如装置200)的测距仪来确定。测距数据602可以对应于任何可确定单位——例如米、英寸、英尺、毫米和/或诸如此类——的数据值。
如所图示的,数据流包括可选的透镜数据604。在一些实施例中,透镜数据604表示与设备的透镜相关联的一个或多个光学属性的(一个或多个)特定数据值。例如,透镜数据604可以表示与特定读取器的透镜相关联的折射率、焦距和/或其它光学属性,例如由装置200体现的。在一些实施例中,透镜数据604对应于在范围参数表的配置期间利用的特定读取器的透镜,该范围参数表用于存储和/或由具有带相同光学属性或被确定为类似的光学属性的透镜的(一个或多个)其它读取器使用。
如所图示的,数据流包括码尺寸数据606。在一些实施例中,码尺寸数据606表示体现由特定设备(例如,由装置200体现的读取器)可读取的至少一个机器可读符号体系的(一个或多个)维度的(一个或多个)特定数据值。在一些实施例中,码尺寸数据606对应于经由读取器可读取的最大码尺寸。例如,这样的码尺寸数据606可以是可确定的和/或以其它方式预定义的,诸如基于与能够读取这样的机器可读符号体系的设备相关联的特定配置规范或(一个或多个)其它设计元素。
如所图示的,测距数据602、可选地透镜数据604和/或码尺寸数据606被输入到(一个或多个)图像放大率估计函数608中。在一些实施例中,(一个或多个)图像放大率估计函数608估计由特定设备的透镜在特定范围内(例如对应于测距数据602)对由码尺寸数据606表示的机器可读符号体系的尺寸的操纵。在这点上,估计的放大率可以用于确定图像区域,该图像区域表示图像传感器的一部分,该图像传感器的一部分表示设备的当前配置中的机器可读符号体系的至少一部分。例如,由(一个或多个)图像放大率估计函数608估计的放大率可以指示由于体现所述设备(例如,读取器)的至少一个透镜的一个或多个光学元件,经由捕获机器可读符号体系的表示的图像传感器表示的机器可读符号体系的尺寸的减小。
在一些实施例中,(一个或多个)图像放大率估计函数608用于生成图像区域610。图像区域608包括表示图像传感器的区域、维度和/或部分的数据,该图像传感器对应于基于由(一个或多个)图像放大率估计函数608施行的放大率估计的机器可读符号体系的表示。将领会,在一些上下文中,随着设备(例如,读取器)移动远离由测距数据602表示的机器可读符号体系,图像区域610可以减小,因为机器可读符号体系利用图像传感器的总图像区域的较小部分来表示。附加地或替代地,图像区域610可以基于由透镜数据604表示的透镜的配置而不同。仍然附加地或替代地,图像区域610可以基于如由码尺寸数据606表示的机器可读符号体系的维度而不同,例如,在放大之后较大的机器可读符号体系与较大的图像区域相关联的情况下。在这点上,当范围数据602、可选透镜数据604和/或码尺寸数据606中的任何一个或组合改变时,(一个或多个)图像放大率估计函数608可以生成不同的图像区域610。
在一些实施例中,图像区域610用于生成(一个或多个)裁剪参数612。在一些实施例中,(一个或多个)裁剪参数612对应于图像传感器的总图像区域的一部分,该部分要被裁剪以留下剩余的图像区域610。例如,在一些实施例中,(一个或多个)裁剪参数612包括表示要应用于总图像区域的每个维度以留下剩余的图像区域610的乘数的值。在一个示例上下文中,(一个或多个)裁剪参数610包括20%的百分比值,例如,其中20%表示要应用于总图像区域的每个维度的乘数0.2。替代地或附加地,在一些实施例中,(一个或多个)裁剪参数612包括多个值,所述多个值包括表示总图像区域的每个维度的乘数的值。
在一些实施例中,与特定范围相关联地存储(一个或多个)裁剪参数612。例如,在一些实施例中,(一个或多个)裁剪参数612与测距数据602相关联地存储。在这点上,(一个或多个)裁剪参数612可以是可检索的,以供在设备到机器可读符号体系的范围被确定为等同于测距数据602或与测距数据602相关联的情况下使用。附加地或替代地,在这点上,将领会,(一个或多个)不同的裁剪参数612可以被确定和/或与不同的测距数据相关联,例如在如本文中所描述的范围参数表中。
无论用于标识至少一个裁剪参数的方法如何,在一些实施例中,裁剪参数用于裁剪捕获的图像。例如,在一些实施例中,装置200被配置为利用至少一个裁剪参数来裁剪在一个或多个范围内捕获的图像。例如,装置200可以仅输出由图像传感器捕获的图像数据的一部分,以通过将捕获的图像裁剪到对应于至少一个裁剪参数的图像区域来进行进一步处理。在这点上,经由一个或多个图像处理算法,尺寸减小的图像可更高效地传输和/或处理。
本公开的示例过程
已经根据本公开描述了示例系统和装置、数据架构和数据流,现在将讨论本公开的示例过程。将领会,每个流程图描绘了可由本文中描述的一个或多个装置、系统设备和/或计算机程序产品施行的示例计算机实现的过程,例如利用其一个或多个专门配置的组件。
框指示每个过程的操作。这样的操作可以以多种方式中的任何一种来施行,包括但不限于,以本文中所描绘和描述的次序和方式。在一些实施例中,本文中描述的任何过程的一个或多个框出现在另一过程的一个或多个框之间、另一过程的一个或多个框之前、与另一过程的一个或多个框并行、和/或作为第二过程的子过程。附加地或替代地,各种实施例中的任何过程包括所描述和/或描绘的一些或所有操作步骤,在一些实施例中包括一个或多个可选框。关于本文中所图示的流程图,一些实施例中的一个或多个所描绘的框在本公开的一些或所有实施例中是可选的。可选框用断线(或“虚线”)描绘。类似地,应当领会,每个流程图的一个或多个操作可以是可组合的、可替换的和/或以其它方式更改的,如本文中所描述的。
图7图示了描绘根据本公开的至少一个示例实施例的用于使用图像光线追踪函数来确定至少一个裁剪参数的过程的示例操作的流程图。具体地,图7描绘了示例过程700的操作。在一些实施例中,过程700由存储在计算机程序产品的非暂时性计算机可读存储介质上的计算机程序代码来体现,该计算机程序产品被配置用于执行以施行如所描绘和描述的过程。替代地或附加地,在一些实施例中,过程700由一个或多个专门配置的计算设备(诸如由装置250体系的配置系统)来施行,其配置和/或以其它方式与单独装置200相关联,或者与一个或多个其它组件、设备、系统和/或诸如此类通信。在这点上,在一些这样的实施例中,装置250由存储在其上的计算机编码指令(例如,计算机程序指令)专门配置,例如在存储器和/或本文中描绘和/或描述的和/或配置系统以其它方式可访问的另一组件中,用于施行如所描绘和描述的操作。在一些实施例中,由装置250体现的配置系统与一个或多个外部装置、系统、设备和/或诸如此类通信,以施行如所描绘和描述的一个或多个操作。例如,在一些实施例中,装置250与一个或多个外部数据存储、被配置的外部读取器和/或诸如此类通信。出于简化描述的目的,过程700被描述为由装置250施行并且从装置250的角度来看。
过程700开始于操作702。在操作702处,装置250包括诸如输入标识电路260、范围标识电路262、参数生成电路264、参数维护电路266、通信电路258、输入/输出电路256、处理器252和/或诸如此类、或其组合之类的部件,其标识与成像器相关联的测距数据。测距数据表示从成像器或其一个或多个组件(例如,图像传感器)到目标对象(例如,环境内的机器可读符号体系)的距离。在一些实施例中,经由装置250的测距仪和/或相关联的设备(例如,用于施行部分配置过程的外部测距仪或对应的读取器,诸如装置200)来标识测距数据。替代地或附加地,在一些实施例中,从一个或多个数据存储检索测距数据。替代地或附加地,在一些实施例中,例如经由传输从外部设备接收测距数据。
在操作704处,装置250包括诸如输入标识电路260、范围标识电路262、参数生成电路264、参数维护电路266、通信电路258、输入/输出电路256、处理器252和/或诸如此类、或其组合之类的部件,其标识与成像器相关联的透镜数据。透镜数据表示与成像器相关联的一个或多个光学特性和/或参数。例如,在一些实施例中,成像器包括体现透镜的一个或多个光学组件,其中透镜数据表示(一个或多个)光学参数的(一个或多个)数据值,所述光学参数定义透镜如何折射和/或以其它方式操纵与透镜交互的光。
在操作706处,装置250包括诸如输入标识电路260、范围标识电路262、参数生成电路264、参数维护电路266、通信电路258、输入/输出电路256、处理器252和/或诸如此类、或其组合之类的部件,其将测距数据和透镜数据应用于图像光线追踪函数,以生成构造的图像数据。在一些实施例中,图像光线追踪函数计算光线轨迹的投影,该投影表示从机器可读符号体系上的一点到成像器的图像传感器上的一点的光的操纵。在这点上,图像光线追踪函数可以对成像器的透镜在这样的光在特定范围内(例如,至少部分基于测距数据)到达图像传感器时的效果(例如,至少部分基于透镜数据)进行建模。将领会,可以利用无数已知的图像光线追踪函数中的任何(一个或多个),和/或可以利用定制的图像光线追踪函数。
在一些实施例中,构造的图像数据表示成像器的图像传感器的一部分,该部分对应于特定的机器可读符号体系。例如,构造的图像数据可以对应于每个点,在该点处确定来自特定机器可读符号体系上的点的光线轨迹,以利用图像光线追踪函数与成像器的图像传感器进行交互。构造的图像数据可以与图像传感器上的特定图像区域相关联,该图像区域表示由构造的图像数据定义的维度和/或其它区域。在这点上,构造的图像数据可以对应于经由成像器的图像传感器可捕获的总图像区域的特定子集。
在操作708处,装置250包括诸如输入标识电路260、范围标识电路262、参数生成电路264、参数维护电路266、通信电路258、输入/输出电路256、处理器252和/或诸如此类、或其组合之类的部件,其至少部分基于构造的图像数据来确定至少一个裁剪参数。在一些实施例中,至少部分基于与成像器的图像传感器相关联的数据来附加地或替代地确定至少一个裁剪参数。在一些实施例中,至少部分基于将图像传感器的维度与构造的图像数据的图像区域相关的算法来确定至少一个裁剪参数。例如,在一些实施例中,至少一个裁剪参数包括要应用于图像传感器的每个维度的乘数,以生成构造的图像数据的相同图像区域的图像数据。在一些实施例中,至少一个裁剪参数包括与图像传感器的每个维度相关联的裁剪参数。在一些实施例中,装置250标识指示成像器的图像传感器在一个或多个维度上的尺寸的数据(例如,作为分辨率),并确定构造的图像数据的一个或多个特定维度与成像器的图像传感器的(一个或多个)对应维度的比率或百分比。
在一些实施例中,装置250维护至少一个裁剪参数。替代地或附加地,在一些实施例中,装置200生成和/或以其它方式维护范围参数表,该范围参数表将特定的至少一个裁剪参数与由测距数据表示的对应范围相关联。在这点上,装置250可以重复所公开的操作来生成范围参数表。
在可选操作710处,装置250包括诸如输入标识电路260、范围标识电路262、参数生成电路264、参数维护电路266、通信电路258、输入/输出电路256、处理器252和/或诸如此类、或其组合之类的部件,其将至少一个裁剪参数存储到读取器。在一些实施例中,读取器由专门配置的装置(例如装置200)体现。在一些实施例中,装置250在读取器的配置和/或产生期间将至少一个裁剪参数推送到读取器。将领会,一旦至少一个裁剪参数被存储到读取器,读取器就可以利用至少一个裁剪维度来进行随后经由读取器捕获的裁剪。本文中关于图9和10进一步描述了至少部分基于裁剪参数的读取器裁剪的示例操作。
图8图示了描绘根据本公开的至少一个示例实施例的用于使用图像放大率估计函数来确定至少一个裁剪参数的过程的示例操作的流程图。具体地,图8描绘了示例过程800的操作。在一些实施例中,过程800由存储在计算机程序产品的非暂时性计算机可读存储介质上的计算机程序代码来体现,该计算机程序产品被配置用于执行以施行如所描绘和描述的过程。替代地或附加地,在一些实施例中,过程800由一个或多个专门配置的计算设备(诸如由装置250体现的配置系统)来施行,其配置和/或以其它方式与单独装置200相关联,或者与一个或多个其它组件、设备、系统和/或诸如此类通信。在这点上,在一些这样的实施例中,装置250由存储在其上的计算机编码指令(例如,计算机程序指令)专门配置,例如在存储器和/或本文中描绘和/或描述的和/或配置系统以其它方式可访问的另一组件中,用于施行如所描绘和描述的操作。在一些实施例中,由装置250体现的配置系统与一个或多个外部装置、系统、设备和/或诸如此类通信,以施行如所描绘和描述的一个或多个操作。例如,在一些实施例中,装置250与一个或多个外部数据存储、被配置的外部读取器和/或诸如此类通信。出于简化描述的目的,过程800被描述为由装置250施行并且从装置250的角度来看。
过程800开始于操作802。在一些实施例中,过程800在关于本文中描述的任何一个其它过程描绘和/或描述的一个或多个操作之后开始。在这点上,过程800的一些或全部可以替换或补充关于本文中描述的任何过程所描绘和/或描述的一个或多个框。在过程800完成时,操作流程可以终止。附加地或替代地,如所描绘的,在一些实施例中,在过程800完成时,流程可以返回到另一过程的一个或多个操作,诸如操作702。将领会,在一些实施例中,过程800体现了在本文中描绘和/或描述的一个或多个其它过程的子过程,例如过程700。替代地或附加地,在一些实施例中,代替过程700的一次或多次迭代来施行过程800。
在操作802处,装置250包括诸如输入标识电路260、范围标识电路262、参数生成电路264、参数维护电路266、通信电路258、输入/输出电路256、处理器252和/或诸如此类、或其组合之类的部件,其标识与成像器相关联的测距数据。测距数据表示从成像器或其一个或多个组件(例如,图像传感器)到目标对象(例如,环境内的机器可读符号体系)的距离。在一些实施例中,经由装置250的测距仪和/或相关联的设备(例如,用于施行部分配置过程的外部测距仪或对应的读取器,诸如装置200)来标识测距数据。替代地或附加地,在一些实施例中,从一个或多个数据存储检索测距数据。替代地或附加地,在一些实施例中,例如经由传输从外部设备接收测距数据。
在操作804中,装置250包括诸如输入标识电路260、范围标识电路262、参数生成电路264、参数维护电路266、通信电路258、输入/输出电路256、处理器252和/或诸如此类、或其组合之类的部件,其标识与成像器相关联的码尺寸数据。码尺寸数据表示特定机器可读符号体系的维度,该机器可读符号体系被指示为由对应的读取器可读取,例如由装置200体现。在一些实施例中,码尺寸数据对应于定义的码尺寸(例如,以密耳为单位)、像素尺寸和/或以另一单位(例如,英寸、毫米和/或诸如此类)的尺寸。在一些实施例中,从外部设备、例如从装置200和/或外部数据存储装置接收码尺寸数据。替代地或附加地,在一些实施例中,装置250从数据存储检索码尺寸数据。在一些实施例中,装置250至少部分基于对应于成像器的特定标识符、与其相关联的读取器和/或诸如此类来标识与成像器相关联的码尺寸数据,例如,其中每个标识符与对应于由所标识的读取器可读取的最大码尺寸的特定码尺寸数据相关联。在一些其它实施例中,装置250通过将这样的码尺寸数据确定为存储的数据和/或接收这样存储的数据来标识码尺寸数据。在一些实施例中,装置200利用二次边缘检测过程来验证或确认所生成的数据(例如,码尺寸数据、(一个或多个)裁剪参数和/或诸如此类)。在一些实施例中,装置250利用对机器可读符号体系的捕获图像表示的图像处理,例如通过利用边缘检测来检测机器可读符号体系的边缘,来从图像表示确认码尺寸数据。
在一些实施例中,装置250进一步标识与成像器相关联的透镜数据以供使用。例如,在一些实施例中,装置250标识用户输入的透镜数据,以供维护用于施行至少一个图像放大率估计函数的模拟,如本文中所描述的。替代地或附加地,在一些实施例中,装置250标识表示特定成像器的透镜数据的存储数据。
在操作806处,装置250包括诸如输入标识电路260、范围标识电路262、参数生成电路264、参数维护电路266、通信电路258、输入/输出电路256、处理器252和/或诸如此类、或其组合之类的部件,其将测距数据和码尺寸数据应用于图像放大率估计函数,以生成估计的图像数据。在一些实施例中,图像放大率估计函数体现一个或多个算法,所述算法估计用于表示特定尺寸的特定机器可读符号体系的图像传感器的图像区域,例如在距机器可读符号体系的特定范围内。在这点上,图像放大率估计函数可以对特定范围内的透镜的放大率进行建模,以确定在这样的放大之后,对应于码尺寸数据的特定码尺寸的机器可读符号体系如何在图像传感器上表示。将领会,可以利用无数已知的图像放大率估计函数中的任何(一个或多个),和/或可以利用(一个或多个)定制的图像放大率估计函数。
在一些实施例中,估计的图像数据表示成像器的图像传感器的一部分的维度,其被估计为表示特定机器可读符号体系的至少一部分。例如,估计的图像数据可以对应于图像传感器的图像区域基于与图像传感器相关联的特定透镜的特定放大率被估计为表示图像传感器上的机器可读符号体系的每个点。在这点上,估计的图像数据可以表示或对应于经由成像器的图像传感器可捕获的总图像区域的特定子集。
在操作808处,装置250包括诸如输入标识电路260、范围标识电路262、参数生成电路264、参数维护电路266、通信电路258、输入/输出电路256、处理器252和/或诸如此类、或其组合之类的部件,其至少部分基于估计的图像数据来确定至少一个裁剪参数。在一些实施例中,至少部分基于与成像器的图像传感器相关联的数据来附加地或替代地确定至少一个裁剪参数。在一些实施例中,至少部分基于将图像传感器的维度与估计的图像数据的图像区域相关的算法来确定至少一个裁剪参数。例如,在一些实施例中,至少一个裁剪参数包括要应用于图像传感器的每个维度的乘数,以生成估计的图像数据的相同图像区域的图像数据。在一些实施例中,至少一个裁剪参数包括与图像传感器的每个维度相关联的裁剪参数。在一些实施例中,装置250标识指示成像器的图像传感器在一个或多个维度上的尺寸的数据(例如,作为分辨率),并确定估计的图像数据的一个或多个特定维度与成像器的图像传感器的(一个或多个)对应维度的比率或百分比。
在一些实施例中,装置250维护至少一个裁剪参数。替代地或附加地,在一些实施例中,装置200生成和/或以其它方式维护范围参数表,该范围参数表将特定的至少一个裁剪参数与由测距数据表示的对应范围相关联。在这点上,装置250可以重复所公开的操作来生成范围参数表。
在可选操作810处,装置250包括诸如输入标识电路260、范围标识电路262、参数生成电路264、参数维护电路266、通信电路258、输入/输出电路256、处理器252和/或诸如此类、或其组合之类的部件,其将至少一个裁剪参数存储到读取器。在一些实施例中,读取器由专门配置的装置(例如装置200)体现。在一些实施例中,装置250在读取器的配置和/或产生期间将至少一个裁剪参数推送到读取器。将领会,一旦至少一个裁剪参数被存储到读取器,读取器就可以利用至少一个裁剪维度来进行随后经由读取器捕获的裁剪。本文中关于图9和10进一步描述了至少部分基于裁剪参数的读取器裁剪的示例操作。
图9图示了描绘根据本公开的至少一个示例实施例的基于至少一个裁剪参数进行裁剪的过程的示例操作的流程图。具体地,图9描绘了示例过程900的操作。在一些实施例中,过程900由存储在计算机程序产品的非暂时性计算机可读存储介质上的计算机程序代码来体现,该计算机程序产品被配置用于执行以施行如所描绘和描述的过程。替代地或附加地,在一些实施例中,过程900由一个或多个专门配置的计算设备来施行,诸如单独装置200或在配置过程期间与由装置250体现的配置系统通信,和/或与一个或多个其它组件、设备、系统和/或诸如此类通信。在这点上,在一些这样的实施例中,装置200由存储在其上的计算机编码指令(例如,计算机程序指令)专门配置,例如在存储器和/或本文中所描绘和/或描述的和/或配置系统以其它方式可访问的另一组件中,用于施行如所描绘和描述的操作。在一些实施例中,由装置200体现的配置系统与一个或多个外部装置、系统、设备和/或诸如此类通信,以施行如所描绘和描述的一个或多个操作。例如,在一些实施例中,装置200与一个或多个外部数据存储、被配置的外部读取器和/或诸如此类通信。出于简化描述的目的,过程900被描述为由装置200施行并且从装置200的角度来看。
过程900开始于操作902。在一些实施例中,过程900在关于本文中所描述的任何一个其它过程所描绘和/或描述的一个或多个操作之后——诸如在如本文中所描绘和描述的操作710和/或810之后——开始。在这点上,过程900的一些或全部可以替换或补充关于本文中描述的任何过程所描绘和/或描述的一个或多个框。在过程900完成时,操作流程可以终止。附加地或替代地,如所描绘的,在一些实施例中,在过程900完成时,流程可以返回到另一过程的一个或多个操作,诸如操作902。将领会,在一些实施例中,过程900体现了在本文中描绘和/或描述的一个或多个其它过程的子过程,例如过程700和/或800。
在操作902处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其接收捕获的图像。在一些实施例中,经由成像器接收捕获的图像。例如,在一些实施例中,成像器包括与一个或多个光学组件对准的图像传感器,所述光学组件限定了由图像传感器可捕获的视场。在这点上,捕获的图像可以表示在成像器的图像传感器上衰减的穿过成像器的透镜的光。捕获的图像的至少一部分可以包括机器可读符号体系的表示。在一些实施例中,成像器包括激光瞄准仪或与激光瞄准仪相关联,所述激光瞄准仪用于将成像器的取向与要捕获的机器可读符号体系对准。
在操作904处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其标识与成像器相关联的至少一个裁剪参数。在一些实施例中,装置200在装置200可访问的存储器或数据存储中维护至少一个裁剪参数。在一些这样的实施例中,装置200从数据存储和/或存储器检索至少一个裁剪参数,以供在接收到捕获的图像时使用。替代地或附加地,在一些实施例中,装置200标识预定义的至少一个裁剪参数。
在一些实施例中,装置200经由范围参数表标识至少一个裁剪参数。范围参数表可以包括与各种测距数据相关联的至少一个裁剪参数,每个测距数据表示范围参数表中表示的多个范围中的不同范围。在一些实施例中,装置200标识捕获的图像被捕获的范围。例如,在一些实施例中,装置200接收表示捕获的图像被捕获的范围的测距数据。例如,可以从装置200的测距仪接收测距数据。替代地或附加地,在一些实施例中,装置200包括用于检测和/或以其它方式确定测距数据的激光瞄准仪。在这点上,可以从范围参数表标识至少一个裁剪参数,例如通过检索与经由装置200标识的测距数据相关联存储的和/或与最接近经由装置200标识的测距数据的其它测距数据相关联存储的至少一个裁剪参数,或者可以基于用于从范围参数表选择记录的另一算法来以其它方式确定利用至少一个裁剪参数(例如,从范围参数表选择具有最低对应测距数据的记录,所述最低对应测距数据超过由装置200标识为与捕获的图像相关联的测距数据)。 将领会,在一些实施例中,装置200维护范围参数表,例如经由如本文中所描绘和描述的一个或多个过程700和/或800来设置。
在操作906处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其裁剪捕获的图像。装置200裁剪捕获的图像以生成经裁剪的图像,例如,其中经裁剪的图像包括整个捕获的图像的至少一部分。在一些实施例中,装置200至少部分基于例如在操作904处标识供使用的至少一个裁剪参数来裁剪捕获的图像。例如,在一些实施例中,装置200至少部分基于至少一个裁剪参数,通过从捕获的图像的边缘裁剪一定量的数据来裁剪捕获的图像,其中裁剪的数据量至少部分基于至少一个裁剪参数是可确定的。在一些实施例中,至少一个裁剪参数包括应用于捕获的图像的每个维度的单个裁剪参数(例如,具有值0.2的百分比参数,使得在每个维度中除了20%之外的图像都被裁剪)。替代地,在一些实施例中,至少一个裁剪参数包括多个裁剪参数,每个裁剪参数与捕获的图像的特定维度相关联并被用于裁剪捕获的图像的特定维度(例如,对于捕获的图像的高度具有值0.4的百分比参数,以及对于捕获的图像的宽度具有值0.5的百分比参数)。将领会,任何不同的维度可以与相同的裁剪参数或不同的裁剪参数相关联(例如,用于从捕获的图像的顶部、捕获的图像的左侧、捕获的图像的底部和捕获的图像的右侧中的每一个进行裁剪的不同的裁剪参数)。
在操作908处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其将经裁剪的图像应用于图像去卷积算法。去卷积算法从经裁剪的图像生成经处理的图像。在一些实施例中,去卷积算法在后续图像处理之前(例如,为尝试特定的图像处理任务做准备)处理经裁剪的图像以增强清晰度或者以其它方式更改捕获的图像的一个或多个方面。在一些实施例中,图像去卷积算法使经裁剪的图像的一个或多个方面清晰,以增强其中表示的机器可读符号体系的(一个或多个)可解码元素。例如,图像去卷积算法可以增加条形码的捕获表示的一个或多个条的清晰度,视觉上锐化QR码的可区分点,和/或诸如此类。将领会,可以利用无数已知的图像去卷积算法和/或定制的去卷积算法中的任何一种。
在一些实施例中,图像去卷积算法由对应于装置200的特定透镜的透镜点扩散函数体现或包括该函数。在这点上,不管透镜的设计如何,都可以利用透镜点扩散函数来改进或移除捕获的图像的图像模糊。例如,在透镜被设计成具有强像差的情况下,在去卷积期间仍然可以利用透镜点扩散函数来大大改进图像模糊,同时仍然保持由这样的透镜设计提供的大景深。在一些实施例中,透镜点扩散函数由装置200维护、预定义和/或诸如此类,例如作为由装置200可访问或维护的透镜数据的一部分。
将经裁剪的图像应用于图像去卷积算法比应用整个捕获的图像具有无数优点。例如,因为经裁剪的图像比没有任何裁剪的全尺寸捕获的图像可处理得更快。在这点上,装置200以增加的吞吐量和减少的计算资源使用(例如,处理器和存储器使用)来处理经裁剪的图像。
在可选操作910处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其将经处理的图像输出到图像处理算法。例如,在一些实施例中,装置200将经处理的图像输出到施行特定图像处理任务的图像处理算法,并且例如输出指示图像处理任务是否成功完成的结果数据。在一些实施例中,图像处理算法在装置200上施行。在一些实施例中,图像处理算法在外部系统上施行,例如通过装置200将经处理的图像输出到外部系统进行进一步处理,例如经由传输到外部系统。在一些实施例中,装置200输出、传输和/或以其它方式显示图像处理算法的结果。
在一些实施例中,装置200将经处理的图像输出到图像处理算法,该算法试图检测和解码经处理的图像中表示的机器可读符号体系。图像处理算法可以是检测和/或解码其中表示的机器可读符号体系的无数已知图像处理算法和/或定制图像处理算法中的任何(一个或多个),包括(一个或多个)条形码检测和/或解码算法、(一个或多个)QR码检测和/或解码算法和/或诸如此类。将领会,由于经处理的图像是从经裁剪的图像生成的,因此与处理对应的去卷积后的完整捕获图像相比,它类似地以更高效的方式和更少的计算资源可处理。
图10图示了描绘根据本公开的至少一个示例实施例的用于基于可变焦距来标识至少一个裁剪参数的过程的示例操作的流程图。具体地,图10描绘了示例过程1000的操作。在一些实施例中,过程1000由存储在计算机程序产品的非暂时性计算机可读存储介质上的计算机程序代码来体现,该计算机程序产品被配置用于执行以施行如所描绘和描述的过程。替代地或附加地,在一些实施例中,过程1000由一个或多个专门配置的计算设备来施行,诸如单独装置200或在配置过程期间与由装置250体现的配置系统通信,和/或与一个或多个其它组件、设备、系统和/或诸如此类通信。在这点上,在一些这样的实施例中,装置200由存储在其上的计算机编码指令(例如,计算机程序指令)专门配置,例如在存储器和/或本文中描绘和/或描述的和/或配置系统以其它方式可访问的另一组件中,用于施行如所描绘和描述的操作。在一些实施例中,由装置200体现的配置系统与一个或多个外部装置、系统、设备和/或诸如此类通信,以施行如所描绘和描述的一个或多个操作。例如,在一些实施例中,装置200与一个或多个外部数据存储、被配置的外部读取器和/或诸如此类通信。出于简化描述的目的,过程1000被描述为由装置200施行并且从装置200的角度来看。
过程1000开始于操作1002。在一些实施例中,过程1000在关于本文中所描述的任何一个其它过程描绘和/或描述的一个或多个操作之后开始。在这点上,过程1000的一些或全部可以替换或补充关于本文中描述的任何过程所描绘和/或描述的一个或多个框。在过程1000完成时,操作流程可以终止。附加地或替代地,如所描绘的,在一些实施例中,在过程1000完成时,流程可以返回到另一过程的一个或多个操作,诸如操作902。将领会,在一些实施例中,过程1000体现了在本文中描绘和/或描述的一个或多个其它过程的子过程,例如过程700。替代地或附加地,在一些实施例中,代替过程900的一次或多次迭代来施行过程800。
在操作1002处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其更改与成像器相关联的透镜的当前焦距。例如,在一些实施例中,装置200包括具有可变焦距透镜的成像器。在这点上,装置200的透镜和/或一个或多个其它组件可以调整位置,以更改限定与成像器相关联的透镜的当前焦距的焦距。在这点上,可以移动透镜来更改成像器可捕获的视场,和/或视场中(一个或多个)特定范围内的清晰度。装置200可以以无数方式中的任何一种来更改当前焦距,包括磁化力来重新定位透镜、电子地重新定位透镜和/或成像器的另一个组件,和/或诸如此类。将领会,在一些实施例中,装置200可以追踪和/或被配置为能够确定表示与成像器相关联的透镜的当前焦距的透镜数据。
在操作1004处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其至少部分基于透镜的当前焦距来标识至少一个裁剪参数。例如,在一些实施例中,当前焦距被包括为由装置200维护的透镜数据。由装置200维护的透镜数据可以被输入到用于生成数据的函数(例如图像光线追踪函数和/或图像放大率估计函数),至少一个裁剪参数从该数据可导出。在这点上,随着成像器的透镜的当前焦距被更新为新的值,装置200可以为每个更新的当前焦距确定不同的至少一个裁剪参数。
本公开的其它成像器布置
应当领会,其它实施例可以利用不同的成像器布置。这样的(一个或多个)成像器可以被布置成包括任何数量的附加和/或替代组件。(一个或多个)不同的成像器布置可以与(一个或多个)不同的视场、(一个或多个)焦距范围和/或诸如此类相关联。在这点上,将领会,这样(一个或多个)不同的成像器布置可以类似地不同地影响其图像传感器如何捕获图像,例如具有(一个或多个)不同的光学像差,这影响图像传感器捕获的所得到的图像。
应当领会,在一些实施例中,实施例的一个或多个方面特别设计为要利用的(一个或多个)成像器(一个或多个)的方面和/或其特定子组件,例如图像(一个或多个)透镜的特性、图像传感器类型和/或配置和/或诸如此类。不同的成像器布置对与其图像传感器交互的入射光可能具有不同的光学效应。在一些这样的实施例中,可以利用不同的特定光学特性来生成用于配置该成像器的(一个或多个)特定过程和/或经由成像器捕获的(一个或多个)过程图像。例如,在一些实施例中,在图像去卷积期间利用与特定成像器相关联的透镜点扩展函数来改进或以其它方式解决如由所配置的特定成像器引起的特定光学像差。
经由本公开的图像处理来提高图像清晰度的示例过程
图11图示了根据本公开的至少一个示例实施例的利用(一个或多个)去卷积过程的图像去模糊的示例可视化。具体地,图11描绘了经由成像器捕获的示例图像1102。在一些实施例中,图像1102经由成像器300和/或如本文中所描绘和描述的另一成像器布置来捕获。如所描绘的,图像1102可以表示如所捕获的并且在任何后续图像处理(例如,用于裁剪、去卷积和/或其它处理)之前的图像数据。如所图示的,图像1102被描绘为包括(一个或多个)光学像差,例如引起成像器在视场内捕获的目标对象的表示的显著模糊。
图像1102所表示的原始图像数据经由一个或多个过程可处理,以降低光学像差的影响,例如,提高图像的一个或多个位置和/或部分处的图像清晰度。例如,在一些实施例中,图像1102经由本文中的过程7-10和/或13-16中的一个或多个可处理,以提高表示的视觉清晰度。这样的(一个或多个)过程产生所得到的经处理的图像,例如图像1104。如所图示的,图像1104包括比从其生成它的对应图像1102显著提高的清晰度,例如通过减少这样的(一个或多个)像差的影响和/或经由本文中所描述的(一个或多个)过程相应地以其它方式进行补偿。在一些实施例中,图像1102被处理以经由例如如本文中关于图12-15所描述的那样利用特定图像裁剪、下采样和/或去卷积的过程来生成对应的图像1104。
图12图示了根据本公开的至少一个示例实施例的图像裁剪的边缘检测的示例。具体地,图12描绘了图像1200以及表示用于裁剪图像1200的边界线的所描绘的边缘。在这点上,边界线可以表示图像1200内被用来裁剪到图像1200的特定部分的(一个或多个)描绘点,例如基于检测到的(一个或多个)边缘来改进图像1200内的机器可读符号体系的隔离。在一些实施例中,本文中施行的(一个或多个)边缘检测过程被用于确认和/或增强裁剪参数生成,如本文中关于图3-10所描绘和描述的。例如,装置250可以利用边缘检测来确认被确定用于为特定成像器布置生成(一个或多个)裁剪参数的图像区域。
在一些实施例中,对图像1200进行处理,以标识图像1200的垂直方向和图像1200的水平方向上的两个边缘。例如,如所描绘的边界线包括顶部边缘1204A和底部边缘1204B。顶部边缘1204A定义了在图像1200中检测到边缘的顶部线(例如,垂直或y坐标值)。类似地,底部边缘1204B定义了检测到另一个边缘的底部线(例如,第二垂直或更低的y坐标值,或其它坐标系中更高的y坐标值)。在这点上,顶部边缘1204A和底部边缘1204B可以定义用于裁剪图像1200的特定垂直部分的垂直边界框,例如通过裁剪掉顶部边缘1204A之上和/或底部边缘1204B之下的图像的(一个或多个)特定部分。在一些实施例中,沿着图像1200的y轴应用一个或多个Sobel滤波器来标识顶部边缘1204A和/或底部边缘1204B。将领会,在其它实施例中,可以应用无数其它已知的和/或(一个或多个)边缘检测算法中的任何一种。
例如,如所描绘的边界线进一步包括左边缘1202A和右边缘1202B。左边缘1202A定义了在图像1200中检测到边缘的最左边的线(例如,水平或x坐标值)。类似地,右边缘1202B定义了检测到另一边缘的右边线(例如,第二水平或更高的x坐标,或其它坐标系中更低的x坐标值)。在这点上,左边缘1202A和右边缘1202B可以定义用于裁剪图像1200的特定水平部分的水平边界框,例如通过裁剪掉图像在左边缘1202A的左边和/或右边缘1202B的右边的(一个或多个)特定部分。在一些实施例中,沿着图像1200的x轴应用一个或多个Sobel滤波器来标识左边缘1202A和/或右边缘1202B。将领会,在其它实施例中,可以应用无数其它已知的和/或(一个或多个)边缘检测算法中的任何一种。
利用各种边界线,定义图像1200的特定子部分。例如,图像1200的一部分落在由上部边缘1204A、右边缘1202B、下部边缘1204B和左边缘1202A限定的边界框内。在这点上,图像1200的这样的内部部分可以通过裁剪掉图像的剩余部分来提取。图像1200的内部部分可以随后被进一步处理,例如作为图像处理任务的后续步骤的一部分。将领会,如本文中所描述的,这样的裁剪提高了如本文中所描述的图像处理任务的总体效率、速度和吞吐量,例如通过减少需要处理的数据量,并且由此减少这样的处理所需的计算资源量和/或时间。
图13图示了描绘根据本公开的至少一个示例实施例的图像处理过程的示例操作的流程图。具体地,图13描绘了示例过程1300的操作。在一些实施例中,过程1300由存储在计算机程序产品的非暂时性计算机可读存储介质上的计算机程序代码来体现,该计算机程序产品被配置用于执行以施行如所描绘和描述的过程。替代地或附加地,在一些实施例中,过程1300由一个或多个专门配置的计算设备(诸如由装置250体现的配置系统)来施行,其配置和/或以其它方式与单独装置200相关联,或者与一个或多个其它组件、设备、系统和/或诸如此类通信。在这点上,在一些这样的实施例中,装置250由存储在其上的计算机编码指令(例如,计算机程序指令)专门配置,例如在存储器和/或本文中描绘和/或描述的和/或配置系统以其它方式可访问的另一组件中,用于施行如所描绘和描述的操作。在一些实施例中,由装置200体现的配置系统与一个或多个外部装置、系统、设备和/或诸如此类通信,以施行如所描绘和描述的一个或多个操作。出于简化描述的目的,过程1300被描述为由装置200施行并且从装置200的角度来看。
过程1300开始于操作1302。在操作1302处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其获取图像。在一些实施例中,装置200获取从成像引擎捕获的图像。在这点上,在一些实施例中获取的图像表示原始图像数据,该原始图像数据可能受到一个或多个像差的影响,这些像差降低了这样原始图像数据的视觉清晰度。在一些实施例中,经由根据如本文中所描绘和描述的成像器1100布置的成像器来获取图像。
在操作1304处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其施行图像裁剪以及可选地施行下采样。图像裁剪和/或下采样可以生成经处理的图像用于进一步处理。可以对在操作1302处获取的图像施行这样的图像裁剪和下采样。在一些实施例中,装置200利用边缘检测来施行图像裁剪,以裁剪掉所获取的图像中未落在经由边缘检测定义的边界内的所有部分。本文中描述了示例过程,包括关于图14描述的边缘检测。
在一些实施例中,施行下采样以减少获取的图像的维度和/或数据。在一些实施例中,裁剪表示下采样。附加地或替代地,在一些实施例中,施行下采样以在裁剪之前减小图像尺寸和/或维度。在一些实施例中,施行下采样以减少裁剪之后的图像尺寸和/或维度。在一些实施例中,可以利用无数已知和/或定制的下采样算法中的任何一种来施行所描述的下采样。在一些实施例中,下采样是可选的,使得在一些情况下不需要下采样。例如,在装置200确定机器可读符号体系占据所获取图像的某个阈值区域的一些情况下,可以不施行下采样。
在操作1306处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其施行图像去卷积。图像去卷积生成进一步处理的图像,例如清晰的图像。在一些实施例中,去卷积算法施行去模糊和/或图像恢复,这提高了经处理的图像的图像清晰度。在一些实施例中,如关于图15所描述的那样施行图像去卷积。
在操作1308处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其处理从去卷积生成的清晰图像。在一些实施例中,解码器处理清晰图像的图像数据,以尝试检测和/或解码其中的至少一个机器可读符号体系。解码器的非限制性示例包括条形码处理算法、QR码处理算法和/或诸如此类。在一些实施例中,解码器在机器可读符号体系从清晰图像被成功检测和解码的情况下生成经解码的数据。替代地或附加地,在一些实施例中,在没有机器可读符号体系被成功检测和/或解码的情况下,解码器生成和/或输出表示解码失败的指示。
在操作1310处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其施行输出。在一些实施例中,装置200输出经由解码器生成的经解码的数据。装置200可以经由装置200的显示器或者与装置200以其它方式相关联的显示器来输出这样的数据。替代地或附加地,在一些实施例中,装置200通过将经解码的数据传输到外部设备和/或系统以供进一步处理和/或显示来输出经解码的数据。
图14图示了描绘根据本公开的至少一个示例实施例的作为图像处理过程的一部分的图像裁剪过程的示例操作的流程图。具体地,图14描绘了示例过程1400的操作。在一些实施例中,过程1400由存储在计算机程序产品的非暂时性计算机可读存储介质上的计算机程序代码来体现,该计算机程序产品被配置用于执行以施行所描绘和描述的过程。替代地或附加地,在一些实施例中,过程1400由一个或多个专门配置的计算设备(诸如由装置250体现的配置系统)来施行,其配置和/或以其它方式与单独装置200相关联,或者与一个或多个其它组件、设备、系统和/或诸如此类通信。在这点上,在一些这样的实施例中,装置200由存储在其上的计算机编码指令(例如,计算机程序指令)专门配置,例如在存储器和/或本文中描绘和/或描述的和/或配置系统以其它方式可访问的另一组件中,用于施行如所描绘和描述的操作。在一些实施例中,由装置200体现的配置系统与一个或多个外部装置、系统、设备和/或诸如此类通信,以施行如所描绘和描述的一个或多个操作。出于简化描述的 目的,过程1400被描述为由装置200施行并且从装置200的角度来看。
过程1400开始于操作1402。在一些实施例中,过程1400在关于本文中描述的任何一个其它过程描绘和/或描述的一个或多个操作之后开始。在这点上,过程1400的一些或全部可以替换或补充关于本文中描述的任何过程所描绘和/或描述的一个或多个框。在过程1400完成时,操作流程可以终止。附加地或替代地,如所描绘的,在一些实施例中,在过程1400完成时,流程可以返回到另一过程的一个或多个操作,诸如操作1306。将领会,在一些实施例中,过程1400体现了在本文中描绘和/或描述的一个或多个其它过程的子过程,例如过程1300。替代地或附加地,在一些实施例中,代替过程1300的一次或多次迭代来施行过程1400。
在操作1402处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其对获取的图像进行边缘处理。在一些实施例中,边缘检测定义了对应于在图像中检测到的水平边缘的行值,和/或定义了对应于在图像中检测到的垂直边缘的列值。边缘处理可以检测所获取的图像内的边缘。在一些实施例中,边缘处理至少部分基于图像内强度值的改变来检测与机器可读符号体系相关联的垂直边缘和/或水平边缘。替代地或附加地,在一些实施例中,边缘处理检测所获取的图像中表示垂直方向和/或水平方向上的边缘的其它改变。将领会,可以利用无数已知的和/或定制的边缘检测算法中的任何一种。
在操作1404处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其施行能量计算。在一些实施例中,能量计算过程确定在操作1406处定义的边缘内的图像数据的能量水平和/或强度。在一些实施例中,能量计算过程标识图像边缘部分内不同点处的能量水平。
在操作1406处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其标识机器可读符号体系区域。在一些实施例中,至少部分基于在操作1404处确定的能量水平来定义机器可读符号体系区域。在一些实施例中,机器可读符号体系区域被确定为对应于边缘区域内与满足特定能量水平阈值的能量水平相关联的位置(例如,通过超过特定能量水平阈值)。在一些实施例中,能量水平阈值是可确定的。替代地或附加地,在一些实施例中,在能量计算期间,图像被处理成二进制能量水平,使得可以基于每个位置处的二进制指示符(例如,指示暗点或亮点)来处理图像,以标识对应于机器可读符号体系的区域。在一些实施例中,机器可读符号体系体现条形码,使得装置200确定条形码区域,该条形码区域定义图像内表示条形码的特定部分的区域。
在操作1408处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其确定机器可读符号体系区域是否超过图像区域的特定阈值部分。在一些实施例中,装置200将机器可读符号体系区域的面积与总获取图像的特定百分比面积进行比较。在一些实施例中,装置200维护或以其它方式标识表示百分比的特定数据参数,该百分比定义要满足的图像区域的阈值部分。例如,装置200可以维护或标识60%的百分比阈值,使得装置200确定机器可读符号体系区域是否超过正在被处理的总图像区域的60%。
在操作1408处的确定指示机器可读符号体系区域满足图像区域的阈值部分的情况下,流程继续进行到操作1410。在操作1410处,装置200包括诸如成像引擎210、测距电路212、图像裁剪电路214、图像处理电路216、通信电路208、输入/输出电路206、处理器202和/或诸如此类、或其组合之类的部件,其施行下采样。在一些实施例中,装置200施行下采样以减少正在被处理的图像中表示的总图像数据。在一些实施例中,经由一个或多个已知或定制的下采样算法生成下采样图像。
在操作1408处的确定指示机器可读符号体系区域不满足图像区域的阈值部分的情况下,流程继续进行到过程1400的结束。所得到的图像——例如被确定为落在总图像区域的阈值部分以下的边缘图像或者从操作1410得到的下采样图像——可以如关于图13所描述的那样被进一步处理,例如以施行图像去卷积和/或机器可读符号体系检测和处理。
图15图示了描绘根据本公开的至少一个示例实施例的作为图像处理过程的一部分的图像去卷积过程的示例操作的流程图。具体地,图15描绘了示例过程1500的操作。在一些实施例中,过程1500由存储在计算机程序产品的非暂时性计算机可读存储介质上的计算机程序代码来体现,该计算机程序产品被配置用于执行以施行如所描绘和描述的过程。替代地或附加地,在一些实施例中,过程1500由一个或多个专门配置的计算设备(诸如由装置250体现的配置系统)来施行,其配置和/或以其它方式与单独装置200相关联,或者与一个或多个其它组件、设备、系统和/或诸如此类通信。在这点上,在一些这样的实施例中,装置200由存储在其上的计算机编码指令(例如,计算机程序指令)专门配置,例如在存储器和/或本文中描绘和/或描述的和/或配置系统以其它方式可访问的另一组件中,用于施行如描绘和描述的操作。在一些实施例中,由装置200体现的配置系统与一个或多个外部装置、系统、设备和/或诸如此类通信,以施行如所描绘和描述的一个或多个操作。出于简化描述的目的,过程1500被描述为由装置200施行并且从装置200的角度来看。过程1500在关于本文中描述的任何一个其它过程描绘和/或描述的一个或多个操作之后开始。在这点上,过程1500的一些或全部可以替换或补充关于本文中描述的任何过程所描绘和/或描述的一个或多个框。在过程1500完成时,操作流程可以终止。附加地或替代地,如所描绘的,在一些实施例中,在过程1500完成时,流程可以返回到另一过程的一个或多个操作,诸如操作1308。将领会,在一些实施例中,过程1500体现了在本文中描绘和/或描述的一个或多个其它过程的子过程,例如过程1300。替代地或附加地,在一些实施例中,代替过程1300的一次或多次迭代来施行过程1500。
装置200接收经裁剪的感兴趣区域1502。在一些实施例中,经裁剪的感兴趣区域1502对应于由成像器的图像传感器捕获的输入图像的至少一部分。在一些实施例中,经裁剪的感兴趣区域1502体现了来自输入图像的经裁剪的图像,该经裁剪的图像利用本文中所描述的任何(一个或多个)图像裁剪算法进行裁剪,例如利用来自(一个或多个)光线追踪过程、(一个或多个)图像尺寸估计过程、(一个或多个)边缘检测过程和/或诸如此类的(一个或多个)裁剪参数。在这点上,在一些实施例中,经裁剪的感兴趣区域1502表示输入图像的子图像以供进一步处理,该子图像可以被提取到单独的图像或者由输入图像的数据边界来定义,以在输入图像内的适当位置标识经裁剪的感兴趣区域1502。
装置200利用去卷积过程1504处理经裁剪的感兴趣区域1502。在一些实施例中,去卷积过程1504提高了图像清晰度、分辨率,或者以其它方式锐化了图像。在一些实施例中,去卷积过程1504利用由装置200维护的用于这样的图像去卷积的一个或多个数据值和/或数据对象,例如与捕获输入图像的距离相关联的估计或测量的距离、在图像去卷积期间要应用的特定滤波器、与捕获输入图像的图像传感器相关联的图像传感器设置(例如增益)和/或诸如此类。将领会,装置200可以利用任何已知的和/或定制的去卷积过程1504。
经由去卷积过程1504,装置200生成输出图像1506。在一些实施例中,输出图像1506经由去卷积过程1504体现了具有提高的图像清晰度的经裁剪的感兴趣区域1502。例如,在一些实施例中,输出图像1506包括经裁剪的感兴趣区域1502中的数据的清晰的、去模糊的、提高的分辨率或以其它方式锐化的表示。在一些实施例中,输出图像1506被输出用于进一步处理。例如,在一些实施例中,输出图像1506被输出用于经由尝试读取其中的(一个或多个)机器可读符号体系的过程进行进一步处理,例如通过一个或多个图像处理算法尝试检测和/或解码机器可读符号体系。
结论
在一些实施例中,可以对上面一些操作进行修改或进一步放大。此外,在一些实施例中,可以包括附加的可选操作。可以以任何次序和任何组合对上面的操作进行修改、扩充或添加。
受益于前述描述和相关联附图中呈现的教导,本公开所属领域技术人员将会想到本公开阐述的许多修改和其它实施例。因此,应当理解,实施例将不限于所公开的特定实施例,并且修改和其它实施例意图包括在所附权利要求的范围内。此外,尽管前述描述和相关联的附图在元件和/或功能的某些示例组合的上下文中描述了示例实施例,但是应当领会,在不脱离所附权利要求的范围的情况下,替代实施例可以提供元件和/或功能的不同组合。在这点上,例如,与上面明确描述的不同的元件和/或功能的组合也是设想的,如在一些所附权利要求中阐述的。尽管本文中采用了特定的术语,但是它们仅用于一般的和描述性的意义,而不是出于限制的目的。
尽管上面已经描述了示例处理系统,但是本文中所描述的主题和功能操作的实现可以以其它类型的数字电子电路实现,或以计算机软件、固件或硬件实现,包括本说明书中公开的结构及其结构等同物,或者以它们中的一个或多个的组合实现。
本文中所描述的主题和操作的实施例可以以数字电子电路实现,或以计算机软件、固件或硬件实现,包括本说明书中公开的结构及其结构等同物,或者以它们中的一个或多个的组合实现。本文中描述的主题的实施例可以被实现为一个或多个计算机程序,即一个或多个计算机程序指令模块,其被编码在计算机存储介质上,用于由信息/数据处理装置执行或控制信息/数据处理装置的操作。替代地或附加地,程序指令可以被编码在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上,其被生成以编码信息/数据,用于传输到合适的接收器装置,以用于由信息/数据处理装置执行。计算机存储介质可以是或被包括在计算机可读存储设备、计算机可读存储基底、随机或串行存取存储器阵列或设备、或者它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括在一个或多个单独的物理组件或介质(例如,多个CD、盘或其它存储设备)中。
本文中所描述的操作可以实现为信息/数据处理装置对存储在一个或多个计算机可读存储装置上或从其它源接收的信息/数据施行的操作。
术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,包括作为示例可编程处理器、计算机、片上系统或前述的多个或组合。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、储存库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言、声明或程序语言,并其可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适用于计算环境中的其它单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其它程序或信息/数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协作文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署为在一台计算机上执行或在位于一个地点跨多个地点分布并通过通信网络互连的多台计算机上执行。
本文中所描述的过程和逻辑流程可以由一个或多个可编程处理器施行,所述可编程处理器执行一个或多个计算机程序,以通过对输入信息/数据进行操作并生成输出来施行动作。作为示例,适用于执行计算机程序的处理器包括通用和专用微处理器二者、以及任何种类的数字计算机的任何一个或多个处理器。一般而言,处理器将从只读存储器或随机存取存储器或二者接收指令和信息/数据。计算机的基本元件是用于根据指令施行动作的处理器和用于存储指令和数据的一个或多个存储器设备。一般而言,计算机还将包括或可操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘)接收信息/数据,或将信息/数据传送到一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘),或二者兼有。然而,计算机不需要有这样的设备。适用于存储计算机程序指令和信息/数据的设备包括所有形式的非易失性存储器、介质和存储设备,包括作为示例半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移除盘;磁光盘;和CD-ROM以及DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入其中。
为提供与用户的交互,本文中所描述主题的实施例可以在计算机上实现,所述计算机具有用于向用户显示信息/数据的显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,以及用户可以向计算机提供输入的键盘和定点设备,例如鼠标或轨迹球。也可以使用其它种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求,向用户的客户端设备上的网络浏览器发送网页。
本文中所描述的主题的实施例可以在计算系统中实现,所述计算系统包括后端组件,例如信息/数据服务器;或包括中间件组件,例如应用服务器;或包括前端组件,例如具有图形用户接口或网页浏览器的客户端计算机,用户可以通过所述图形用户接口或网页浏览器与本文中所描述的主题的实现进行交互;或一个或多个这样的后端、中间件或前端组件的任何组合。该系统的组件可以通过任何形式或介质的数字信息/数据通信(例如通信网络)来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网(例如,因特网)和对等网络(例如,自组织对等网络)。
计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生的。在一些实施例中,服务器将信息/数据(例如,HTML页面)传输到客户端设备(例如,出于向与客户端设备交互的用户显示信息/数据并从其接收用户输入的目的)。在客户端设备处生成的信息/数据(例如,用户交互的结果)可以在服务器处从客户端设备接收。
虽然本说明书包含许多特定实现细节,但是这些不应被视为对任何公开内容或可能要求保护的内容的范围的限制,而是特定于特定公开内容的特定实施例的特征的描述。本文中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实现。此外,尽管特征可能在上面被描述为在某些组合中起作用,并且甚至最初被照此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从该组合删除,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然附图中以特定次序描绘了操作,但是这不应理解为要求以所示出的特定次序或顺序施行这样的操作,或要求施行所有图示操作,以实现所期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上面描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都要求这样的分离,并且应理解,所描述的程序组件和系统一般可以一起集成在单个软件产品中或者封装到多个软件产品中。
因此,已经描述了主题的特定实施例。其它实施例在以下权利要求的范围内。在一些情况下,权利要求中所述的动作可以以不同的次序施行,并且仍然实现期望的结果。此外,附图中描绘的过程不一定要求所示出的特定次序或顺序来实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

Claims (20)

1.一种用于几何图像裁剪的装置,所述装置包括至少一个处理器和其上包括计算机编码指令的至少一个非暂时性存储器,所述计算机编码指令与所述至少一个处理器一起使装置进行以下操作:
经由成像器接收捕获的图像;
标识与成像器相关联的至少一个存储的裁剪参数;
至少部分基于所述至少一个存储的裁剪参数来裁剪捕获的图像以生成经裁剪的图像;和
将经裁剪的图像应用于图像去卷积算法以生成经处理的图像。
2.根据权利要求1所述的装置,进一步使装置进行以下操作:
将经处理的图像输出到图像处理算法,其中所述图像处理算法包括机器可读符号体系读取算法。
3.根据权利要求1所述的装置,进一步使装置进行以下操作:
更改与成像器相关联的透镜的当前焦距;和
至少部分基于透镜的当前焦距来标识所述至少一个裁剪参数。
4.根据权利要求1所述的装置,其中为了标识与成像器相关联的至少一个裁剪参数,使装置进行以下操作:
从外部系统接收所述至少一个裁剪参数,所述外部系统被配置为:
标识与成像器相关联的测距数据;
标识与成像器相关联的透镜数据;
将测距数据和透镜数据应用于图像光线追踪函数以生成构造的图像数据;和
至少部分基于构造的图像数据来确定所述至少一个裁剪参数。
5.根据权利要求1所述的装置,进一步使装置进行以下操作:
将所述至少一个裁剪参数存储到范围参数表。
6.根据权利要求1所述的装置,其中为了标识与成像器相关联的至少一个裁剪参数,使装置进行以下操作:
从外部系统接收所述至少一个裁剪参数,所述外部系统被配置为:
标识与成像器相关联的测距数据;
标识与成像器相关联的码尺寸数据;
将测距数据和码尺寸数据应用于图像放大率估计函数以生成估计的图像数据;和
至少部分基于所估计的图像数据来确定所述至少一个裁剪参数。
7.根据权利要求1所述的装置,其中所述图像去卷积算法包括透镜点扩散函数。
8.根据权利要求1所述的装置,其中为了标识与成像器相关联的至少一个裁剪参数,使装置进行以下操作:
标识与成像器相关联的测距数据;和
从范围参数表确定所述至少一个裁剪参数。
9.根据权利要求1所述的装置,所述至少一个裁剪参数至少部分基于经由装置可读取的最大码尺寸。
10.根据权利要求1所述的装置,其中所述至少一个裁剪参数至少部分基于瞄准仪位置。
11.根据权利要求1所述的装置,其中所述成像器包括至少一个透镜,并且其中所述至少一个裁剪参数至少部分基于与所述至少一个透镜相关联的透镜数据。
12.一种计算机实现的方法,包括:
经由成像器接收捕获的图像;
标识与成像器相关联的至少一个存储的裁剪参数;
至少部分基于所述至少一个存储的裁剪参数来裁剪捕获的图像以生成经裁剪的图像;和
将经裁剪的图像应用于图像去卷积算法以生成经处理的图像。
13.根据权利要求13所述的计算机实现的方法,所述计算机实现的方法进一步包括:
将经处理的图像输出到图像处理算法,其中所述图像处理算法包括机器可读符号体系读取算法。
14.根据权利要求13所述的计算机实现的方法,所述计算机实现的方法进一步包括:
更改与成像器相关联的透镜的当前焦距;和
至少部分基于透镜的当前焦距来标识所述至少一个裁剪参数。
15.根据权利要求13所述的计算机实现的方法,其中标识与成像器相关联的至少一个裁剪参数包括:
从外部系统接收所述至少一个裁剪参数,所述外部系统被配置用于:
标识与成像器相关联的测距数据;
标识与成像器相关联的透镜数据;
将测距数据和透镜数据应用于图像光线追踪函数以生成构造的图像数据;和
至少部分基于构造的图像数据来确定所述至少一个裁剪参数。
16.根据权利要求13所述的计算机实现的方法,所述计算机实现的方法进一步包括:
将所述至少一个裁剪参数存储到范围参数表。
17.根据权利要求13所述的计算机实现的方法,其中标识与成像器相关联的至少一个裁剪参数包括:
从外部系统接收所述至少一个裁剪参数,所述外部系统被配置用于:
标识与成像器相关联的测距数据;
标识与成像器相关联的码尺寸数据;
将测距数据和码尺寸数据应用于图像放大率估计函数以生成估计的图像数据;和
至少部分基于所估计的图像数据来确定所述至少一个裁剪参数。
18.根据权利要求13所述的计算机实现的方法,其中标识与成像器相关联的至少一个裁剪参数包括:
标识与成像器相关联的测距数据;和
从范围参数表确定所述至少一个裁剪参数。
19.一种计算机程序产品,包括至少一个其上存储有计算机程序代码的非暂时性计算机可读存储介质,所述计算机程序代码在由至少一个处理器执行时,配置所述计算机程序产品用于:
经由成像器接收捕获的图像;
标识与成像器相关联的至少一个存储的裁剪参数;
至少部分基于所述至少一个存储的裁剪参数来裁剪捕获的图像以生成经裁剪的图像;以及
将经裁剪的图像应用于图像去卷积算法以生成经处理的图像。
20.根据权利要求20所述的计算机程序产品,所述计算机程序产品进一步被配置用于:
将经处理的图像输出到图像处理算法,其中所述图像处理算法包括机器可读符号体系读取算法。
CN202210971179.XA 2022-08-12 2022-08-12 用于改进的图像处理的几何图像裁剪的装置和计算机实现的方法 Pending CN117635622A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202210971179.XA CN117635622A (zh) 2022-08-12 2022-08-12 用于改进的图像处理的几何图像裁剪的装置和计算机实现的方法
EP23184980.3A EP4325393A1 (en) 2022-08-12 2023-07-12 Apparatuses and computer-implemented methods for geometric image cropping for improved image processing
US18/357,473 US20240054306A1 (en) 2022-08-12 2023-07-24 Apparatuses and computer-implemented methods for geometric image cropping for improved image processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210971179.XA CN117635622A (zh) 2022-08-12 2022-08-12 用于改进的图像处理的几何图像裁剪的装置和计算机实现的方法

Publications (1)

Publication Number Publication Date
CN117635622A true CN117635622A (zh) 2024-03-01

Family

ID=87280847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210971179.XA Pending CN117635622A (zh) 2022-08-12 2022-08-12 用于改进的图像处理的几何图像裁剪的装置和计算机实现的方法

Country Status (3)

Country Link
US (1) US20240054306A1 (zh)
EP (1) EP4325393A1 (zh)
CN (1) CN117635622A (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8596541B2 (en) * 2008-02-22 2013-12-03 Qualcomm Incorporated Image capture device with integrated barcode scanning
US11350024B1 (en) * 2021-03-04 2022-05-31 Amazon Technologies, Inc. High speed continuously adaptive focus and deblur

Also Published As

Publication number Publication date
EP4325393A1 (en) 2024-02-21
US20240054306A1 (en) 2024-02-15

Similar Documents

Publication Publication Date Title
CN105404838B (zh) 可变景深条形码扫描仪
US10402956B2 (en) Image-stitching for dimensioning
US11875219B2 (en) System and method for auto-focusing a vision system camera on barcodes
JP5631025B2 (ja) 情報処理装置、その処理方法及びプログラム
US20130240628A1 (en) Barcode Recognition Using Data-Driven Classifier
EP3462372B1 (en) System and method for detecting optical codes with damaged or incomplete finder patterns
GB2531928A (en) Image-stitching for dimensioning
CN108573184B (zh) 一种二维码定位方法、模块及计算机可读存储介质
EP2560127A2 (en) Barcode decoding system and method for compensating for motion relative to a barcode
WO2018059365A1 (zh) 图形码处理方法及装置、存储介质
JP6337614B2 (ja) 制御装置、ロボット、及び制御方法
US9946947B2 (en) System and method for finding saddle point-like structures in an image and determining information from the same
EP3867809A1 (en) Methods and systems for processing an image
EP3331236A1 (en) Method for rendering a final image from initial images acquired by a camera array, corresponding device, computer program product and computer-readable carrier medium
US9129171B2 (en) Code reading device and code reading method
CN117635622A (zh) 用于改进的图像处理的几何图像裁剪的装置和计算机实现的方法
Wang Symbol recognition system based on 3D stereo vision
CN113470103A (zh) 车路协同中相机作用距离确定方法、装置和路侧设备
CN110263782B (zh) 基于深度学习的卡证检测方法和装置
CN114444531A (zh) 采集用于训练机器学习(ml)模型的数据的方法和系统
CN116046791B (zh) 点胶缺陷检测方法及检测装置
CN114548136A (zh) 一种反光二维码图片的解析方法、装置、设备和介质
JP5818281B2 (ja) 距離検出装置、距離検出装置を備えた読取装置、距離検出方法及び距離検出プログラム
KR20240134232A (ko) 이미지 내의 배열된 복수의 바코드를 찾고 디코딩하기 위한 방법들 및 장치
JP5559393B1 (ja) 距離検出装置、距離検出装置を備えた読取装置、距離検出方法及び距離検出プログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication