光学扫描器及其软件的制作方法

文档序号:6472804阅读:180来源:国知局
专利名称:光学扫描器及其软件的制作方法
技术领域
本发明属于文本扫描器和与其一起使用的软件的领域。
背景技术
手持式光学扫描器用于不同的应用包括扫描文本,阅读条码和获取图象。这些扫描器包括一个用于获取由一个中央处理器(CPU)管理和存储在一个存储器中的图象信息的光学扫描器。典型地信息由字符识别软件处理然后传送给一个用户应用装置如一个文字处理器,数据库或输送页。
在一个给定的瞬间手持式光学扫描器的观察区域只包括整个被扫描媒体的一小部分。这样在使用时,使手持式光学扫描器通过整个被扫描媒体以便产生获取图象的一个时间系列,其中每个获取图象都与被扫描媒体的一小部分对应。因为以一个恒定速率获取图象,所以其后当从获取图象系列重建被扫描媒体时,由于当扫描时扫描速度的变化,将产生一个畸变的图象。手持式扫描器有一个基准扫描速度,在该基准扫描速度上获取图象与原始图象完全相同。基准扫描速度是光学扫描器的宽度(在扫描方向)和由传感器获取图象的速率的乘积。当扫描速度低于基准扫描速度时获取的被扫描媒体中的位置显得被拉长或扩大了,而当扫描速度高于基准扫描速度时获取的位置显得被压缩了。字符识别软件不能识别这种畸变图象。这样,必须通过在扫描方向上用一个等于瞬间扫描速度除以基准速度的校正因子对每个获取图象进行按比例缩放来处理每个获取图象。所以已有技术的扫描器包括用于连续地监视瞬间扫描速度的装置。例如,美国专利5,083,218公布了一种手持式光学扫描器,它有一个当扫描时沿着被扫描媒体滚动的轮子用于测量当扫描时每个时刻的瞬间速度。美国专利5,023,922公布了一种手持式光学扫描器,它有一个二维光学传感器其中瞬间速度是从一个图象横过传感器所需的时间间隔算出的。一个轮子或一个二维传感器的存在使手持式扫描器笨重和难以使用。
所以,在技术上需要提供一个基本上消除或克服了已有技术扫描器的缺点的扫描器。
在下面的描述和权利要求书中我们要用到这个术语表以及诸术语的定义,诸术语中的一些在技术上是已知的,另一些是我们创造的。
视场—在一个瞬间由一个扫描器获取的被扫描媒体的部分。
扫描图象—通过在一个表面上移动一个扫描器产生的一个二维图象。从当扫描时获取的视场的时间系列对扫描图象进行编辑。
文本图象—一个由任何语言的文本组成的扫描图象。
群集—一个在文本图象中诸黑象素的相连的组。典型地一个黑群集是单个字符但是可以是单个字符的一部分或两个或多个字符的组合。
水平段—一条相连黑象素直线,它与文本行平行,有一个象素高度。水平段的长度等于它的黑象素的数目。
堆—在一个扫描图象中至少一个预先确定数目的水平段的一个相连的阵列,它有下列特性(a)没有两条水平段是共线的;(b)在堆中最长的水平段的长度与最短的水平段的长度之比不超过一个预先确定的值;(c)堆中诸相邻水平段至少部分重叠(即,在堆中一对给定的相邻水平段中,从同一个视场获取的两个水平段中的每一个中至少有一个黑象素)。
每个堆都有一个与它相关的高度,可以将该高度定义为,例如,它的组合的水平段的数目。每个堆也都有一个与它相关的宽度,可以将该宽度定义为,例如,它的水平组合段的平均长度,它的水平组合段的最小长度或它的水平段中任意一个的长度。我们不认为本发明受这些定义的约束,在本发明的范围内考虑用其它的高度和宽度的定义。每个堆也都有一个与它相关的最小尺度的有界矩形,在该矩形中两条相对的边是垂直的,另两条相对的边是水平的。
基本垂直的堆—一个高度超过一个预先确定数的堆,其中堆的宽度与它的有界矩形的宽度之比超过一个预先确定的值。
字符识别软件—任何用于将文本图象变换成ASCII字符串的软件包,例如光学字符识别(OCR)软件。
停止间隔—一个连续的视场系列,视场数超过一个预先确定的数,所有的视场与第1个视场几乎相同。如果在一个视场中不存在一个长度大于一个预先确定长度的诸相连象素的子场,在该子场中所有的象素都与另一个视场中的诸对应象素不同,则这两个视场被认为是几乎相同的。
字体比—在一个特定的字体中模字符高度(最通常的字符高度)与字符的最通常的基本垂直线宽度之比。字体比是一种给定字体的特征常数。对于大多数字体来说,字体比,典型地尽管不是必须的,约为6。
校正因子—瞬间扫描速度除以基准速度。
技术内容在下面的描述和权利要求书中,我们将文本行的方向以及手持式扫描器的扫描方向任意地指定为水平方向。作这样的指定只是为了描述本发明时比较简单。在本发明的范围内也可以考虑另一些扫描方向,我们不认为本发明受到这种任意指定的约束。
在本发明的第一个方面,本发明提供一种扫描器,它有一个一维(线性)光学传感器,该传感器产生宽为一个象素长(高)为n个象素的图象,但该扫描器没有机械移动部件如一个轮子。当扫描器的传感器阵列在表面上移动以便扫描一行符号时,在由一个在扫描器内的内部时钟确定的恒定速率上获取一个扫描图象系列。可以将由传感器得到的图象信息存储在一个计算机处理装置中,并在该计算机处理装置中对它进行处理。
在本发明的第二个方面,本发明提供一个用于确定当用手持式扫描器扫描时一个文本图象的瞬间校正因子的方法。因为瞬间校正因子等于瞬间扫描速度除以扫描器的基准速度,所以该方法等效于确定瞬间扫描速度的方法。该方法可以与没有任何机械移动部件的扫描器一起使用。它也可以与只有一个一维光学传感器的扫描器一起使用。本发明的方法可以用于消除由于扫描速度的变化在文本图象中引起的畸变,以便使该文本可以被光学字符识别软件识别或用户可以将它作为一个图象读出来。
本发明的方法是建立在一个扫描图象中,在任何特定位置上的垂直距离(即与扫描方向垂直的距离)与在那个位置上的瞬间扫描速度无关的观察基础上的。特别是,在文本图象中,一个文本字符的高度与扫描速度无关。所以在文本图象中的模字符高度与当获取文本图象时扫描速度中的任何变化无关。如下面揭示的那样,能够从基本垂直的堆的宽度,扫描文本的模字符高度和字体比确定在包括一个基本垂直的堆的文本图象的一个位置上的瞬间扫描速度或等效地瞬间校正因子。
这样,本发明提供用于扫描表面的扫描器,该扫描器的特征是它有一个一维光学传感器但没有用于确定扫描速度的机械移动部件。
本发明还提供一个用于处理通过用扫描器扫描文本得到的获取的文本图象的方法,该文本有一种或多种字体,每种字体都有一个字体比,已经在一个瞬间扫描速度上扫描了文本中的每个位置,其中由于瞬间扫描速度的可变性使该文本图象畸变。该方法包括下列诸步骤(a)对每种字体提供一个模字符高度;和(b)利用所述的模字符高度和字体比构造一个用于校正已被畸变的文本图象的校正因子。
本发明进一步提供一个存储可执行的计算机程序的存储媒体,用该程序处理一个通过用扫描器扫描文本得到的获取的文本图象,该文本有一种或多种字体,每种字体都有一个字体比,已经在一个瞬间扫描速度上扫描了文本中的每个位置,其中由于瞬间扫描速度的可变性使该文本图象畸变,该处理包括下列诸步骤(a)对每种字体提供一个模字符高度;和(b)利用所述的模字符高度和字体比构造一个用于校正已被畸变的文本图象的校正因子。


为了了解本发明并看它在实践中如何被实施,现在我们参照所附诸图通过不起限制作用的例子描述一个优先实施例,其中图1表示一个根据本发明的手持式扫描器;图2表示一个根据本发明执行的处理的方框图;图3表示分解成8个群集的7个字符;图4a和b每个都表示一个分解成诸水平段的群集;图5a表示要被扫描的一行文本;图5b表示一个通过用手持式扫描器扫描图5a的文本行得到的文本图象;图6表示一个用于根据本发明确定瞬间扫描速度的流程图;图7a-c表示一个获取的文本图象的诸部分;和图8表示在根据本发明进行校正后图7的获取的文本图象。
具体实施例方式
在本发明的第一个方面,本发明提供一种有一个一维光学传感器,但没有机械移动部件如一个轮子的扫描器。如图1所示,扫描器,在图中一般用1表示,有一个一维光学传感器2,一个用于抓住的手柄3,但没有机械移动部件。通过使传感器2在表面上移动获取一系列的扫描图象。图2是一个根据本发明包括一个一维扫描器和一个处理器的系统的方框图。用传感器2扫描符号行。传感器与中央处理器12的输入端口链接。由CPU14管理输入功能。通过CPU将由传感器10得到的图象信息16存储在存储器18中。本发明的系统构造不受图2所示的特定结构的约束。
在本发明的第二个方面,本发明提供一个用于当用手持式扫描器扫描时确定文本图象的瞬间校正因子的方法。该方法可以与没有任何机械移动部件的扫描器一起使用。它也可以与只有一个一维光学传感器的扫描器一起使用。本发明的方法可以用于消除由于扫描速度的变化在传感器2获取的文本图象16中引起的畸变,以便使该文本可以被字符识别软件或用户识别。该方法,下面将详细描述,由一个应用20执行,该应用20关于预先存储在存储器18中的图象或者实时地或者线外式地进行图象处理。在回到CPU或传送给接口22前可以选择地用字符识别软件对该处理的结果进行处理。
现在参照图3,图中表示出7个字符被分解成8个群集。群集31,35和38每个都形成一个完整的字符(分别为e,c和e)。群集32是两个字符(ff)的组合。群集33,34,36和37每个都包含字符(i)的一部分。
图4表示两个被分解成诸组合的象素的群集。在图4a中,水平线49,例如,有6(象素)的长度,水平线40有8的长度。堆42有12的高度。如果将水平线40加到堆42上,则因为在结构中最长的水平段的长度(8)与最短的水平段的长度(5)超过一个典型的预先确定的值1.3,所以所得到的组合结构不是一个堆。构成堆42的12条水平线中的2条,标记为45a和45b,有长度5,而其它的10条有长度6。这样算出堆42的宽度(它的水平线的平均长度)为5.83。在图4b中,堆43有高度为6和宽度为28,这等于群集宽度。因为堆43的高度不超过一个典型的预先确定的值约8,所以不认为堆43是一个基本垂直的堆。堆44由13条长为5-6的水平线段组成。在这个堆中,在最低和最高的水平线段46和47之间没有重叠。因为堆44的宽度(6.3)与它的有界矩阵48的宽度(12)之比不超过一个典型的预先确定的值约0.75,所以堆44也不是一个基本垂直的堆。上面提到的在参照图4时用到的预先确定的值只是一个例子,本发明不受这些预先确定的值的约束。
图5a表示要被扫描的一文本行。箭头56指示模字符高度,箭头57表示最通常的垂直线宽度。在一些字体中,基本垂直线对真正的垂直位置稍微有些倾斜。模字符高度56与最通常的基本垂直线宽度57之比(字体比)是字体的一个特征常数。
图5b表示一个通过用手持式扫描器扫描图5a的文本行得到的典型的文本图象。由于扫描速度的变化文本出现畸变。字符宽度反比于扫描速度。如通过比较原来文本中的字符50和51的宽度(图5a)和它们在文本扫描中的图象(图5b)可以看到的那样,在间隔54中瞬间扫描速度大于扫描器的基准速度,而在间隔55中瞬间扫描速度低于基准速度。垂直线宽度,例如垂直线59的宽度,也反比于扫描速度。然而,模字符高度56不受扫描速度可变性的影响,在图5a和5b中是一样的。水平线宽度,例如水平线58的宽度,也不受扫描速度变化的影响。间隔52是一个典型的停止段。
图6表示一个描述根据本发明的一个实施例的方法的流程图,用该方法确定如图7所示的一个获取的文本图象中诸不同位置上的瞬间校正因子。从文本得到图7所示的获取的文本图象,对于该文本的字体的字体比,作为一个例子,约为6。确定文本字符的模高度(步骤61),如上所述,它与扫描速度的任何可变性无关。如图7所示的获取的文本的模字符高度由双箭头70表示并且等于,作为一个例子,26象素。计算基准宽度(步骤62),它等于模字符高度除以字体比。对于图7的文本图象,这样算出的基准宽度为26/6,或4.3象素。因为字体比定义为模字符高度与包括字体的字符的最通常的基本垂直线宽度之比,所以当扫描速度等于基准速度时,基准宽度是一个基本垂直的堆的预期宽度。然后识别在文本图象中所有的基本垂直的堆(步骤63)。数字71-91指示图7中的所有21个基本垂直的堆。确定基本垂直的堆的宽度(步骤64)。有一个大于基准宽度的宽度的基本垂直的堆是瞬间扫描速度低于扫描器的基准速度的堆。有一个小于基准宽度的宽度的基本垂直的堆是瞬间扫描速度高于扫描器的基准速度的堆。然后,通过基准宽度除以基本垂直的堆的宽度得到在包含一个当扫描速度低于基准速度时获取的基本垂直的堆的图象中的校正因子(步骤65)。例如,对于基本垂直的堆86,它的宽度大于基准宽度,这样算出的校正因子为4.3/5.5或0.8。在包含一个当扫描速度高于基准速度时获取的基本垂直的堆的图象中校正因子为1。
本发明也提供确定在一个获取的文本图象中的一个停止段上的校正因子的方法。在图7中看到一个停止段102。在停止段102中,所有的视场都与在该段中的第1个视场几乎相同,这指出在获取的文本图象中的一个扫描速度接近0的位置。将停止段102分成预先确定数目的相连子段(步骤66)。在图7中,将停止段102分成4个子段。然后在每个子段中,从子段删除连续的视场中至少一个视场但不是全部的视场(步骤67)。例如,如果除了一个以外从每个子段删除所有视场,则停止段102将以图8中的段802出现。在一个停止段中的校正因子是一个预先确定的值,例如,0.1,这指出在停止段中的瞬间扫描速度非常低。
回到图6,用下面诸方法中的一个确定在一个不包含基本垂直的堆和不包含已经如上被处理的停止段的位置上的校正因子(步骤68)。(i)找出位在该位置的侧翼的不同的边上的两个基本垂直的堆。然后通过内插在两个侧翼的基本垂直的堆上的校正因子确定在两个基本垂直的堆之间的位置上的校正因子。(ii)找出在该位置的侧翼的不同的边上的两个停止段。然后通过内插在两个侧翼的停止段上的校正因子确定在两个停止段之间的位置上的校正因子。(iii)找出在该位置的侧翼的不同的边上的一个停止段和一个基本垂直的堆。然后通过内插在停止段和基本垂直的堆上的校正因子确定在停止段和基本垂直的堆之间的位置上的校正因子。
一旦当扫描文本时已经确定了校正因子,就对文本图象进行校正以便消除由于扫描速度中的变化引起的畸变(步骤69)。这是如原来已知的那样通过删除校正因子小于1的每个位置上的视场以便达到等于校正因子的按比例缩放来实现的。当用这种方法对一个基本垂直的堆进行校正时,该方法将由它表示成扫描图象的文本图象中的基本垂直的线组合起来。图8表示对图7所示的获取的文本图象进行校正后的获取的文本图象。
虽然我们已经以某种程度的特殊性描述了本发明,但是对于那些熟练的技术人员来说立即可以看到能够对本方法进行修改而没有偏离本发明的范围。特别是,可以改变实施本方法的诸步骤的顺序而没有偏离在下面的权利要求书中定义的本发明的范围。
权利要求
1.一种用于扫描一个表面的扫描器,它的特征是它有一个一维光学传感器但没有用于确定扫描速度的机械移动部件。
2.一种处理用扫描器扫描文本得到的获取的文本图象的方法,该文本有一种或多种字体,每种字体都有一个字体比,文本中的每个位置已经在一个瞬间扫描速度上经过扫描,其中由于瞬间扫描速度的可变性使该文本图象畸变。该方法包括下列诸步骤(a)对每种字体提供一个模字符高度;和(b)利用所述的模字符高度和字体比构造一个用于校正已畸变的文本图象的校正因子。
3.权利要求2的方法,用于确定在一个获取的文本图象中在一个或多个基本垂直的堆上的瞬间校正因子,诸基本垂直的堆有诸宽度,其中所述的步骤(b)进一步包括利用在获取的文本图象中的一个或多个基本垂直的堆的诸宽度。
4.权利要求3的方法,它包括下列诸步骤(a)确定扫描文本的模字符高度;(b)通过模字符高度除以字体比计算基准线宽度;(c)确定一个或多个基本垂直的堆的高度和宽度;(d)通过基准线宽度除以基本垂直的堆的宽度得到在基本垂直的堆上的瞬间校正因子计算一个或多个基本垂直的堆中的任意一个的瞬间校正因子;和(e)当根据步骤(d)计算的校正因子大于1时设置校正因子等于1。
5.权利要求4的方法,它进一步包括下列诸步骤(a)将一个或多个停止段分成连接的诸视场的预先确定数目的子段;和(b)从每个子段删去在子段中的至少一个视场但不是全部的视场。
6.权利要求5的方法,它进一步包括计算在一个或多个停止段中的瞬间校正因子的步骤,其中在一个停止段中的瞬间校正因子是一个预先确定的值。
7.一种用于计算在不包含基本垂直的堆和不包含已经按照权利要求6的方法进行校正的停止段的获取的文本图象中的一个位置上的一个瞬间校正因子的方法,其中该方法包括(a)识别在该位置的侧翼的不同的边上的诸基本垂直的堆;用权利要求3或4的方法计算在两个基本垂直的堆中的每一个上的瞬间校正因子,和通过内插诸基本垂直的堆的瞬间校正因子计算在所述位置上的瞬间校正因子;或(b)识别在该位置的侧翼的不同的边上的两个停止段的每一个中的一个子段,用权利要求6的方法计算在两个子段的每一个中的瞬间校正因子,和通过内插诸子段的瞬间校正因子计算在所述位置上的瞬间校正因子;或(c)识别在该位置的侧翼的不同的边上的一个停止段的基本垂直的堆和子段;用权利要求3或4的方法计算在两个基本垂直的堆中的瞬间校正因子,用权利要求6的方法计算在子段中的瞬间校正因子,和通过内插基本垂直的堆和停止段的瞬间校正因子计算在所述位置上的瞬间校正因子。
8.一个用于消除由于当扫描文本时扫描速度的变化引起一个获取的文本图象中的一个或多个位置上的畸变的方法,该方法包括下列诸步骤(a)用权利要求2到7中的任何一个的方法计算在文本图象中的一个或多个位置上的瞬间校正因子;和(b)删除校正因子小于1的一个或多个位置中的每一个上的视场以便用一个基本上等于在每个位置上的瞬间校正因子的因子进行在每个位置上的获取的文本图象的按比例缩放。
9.权利要求8的方法进一步包括用字符识别软件处理文本图象的步骤。
10.根据权利要求1的扫描器进一步包括一个CPU,该CPU与一个存储媒体耦合并执行用于实施根据权利要求2到9中任何一个的方法的软件。
11.存储一个可执行的计算机程序的存储媒体,该程序处理一个通过用扫描器扫描文本得到的获取的文本图象,该文本有一种或多种字体,每种字体都有一个字体比,文本中的每个位置已经在一个瞬间扫描速度上经过扫描,其中由于瞬间扫描速度的可变性使该文本图象畸变,该处理包括下列诸步骤(a)对每种字体提供一个模字符高度;和(b)利用所述的模字符高度和字体比构造一个用于校正已被畸变的文本图象的校正因子。
12.权利要求11的存储一个可执行的计算机程序的存储媒体,该程序确定在获取的文本图象中一个或多个基本垂直的堆上的瞬间校正因子,诸基本垂直的堆有诸宽度,其中所述的步骤(b)进一步包括利用在获取的文本图象中一个或多个基本垂直的堆的宽度。
13.权利要求12的存储媒体,其中处理包括下列诸步骤(a)确定扫描文本的模字符高度;(b)通过模字符高度除以字体比计算基准线宽度;(c)确定一个或多个基本垂直的堆的高度和宽度;和(d)通过基准线宽度除以基本垂直的堆的宽度得到在基本垂直的堆上的瞬间校正因子计算一个或多个基本垂直的堆中的任意一个的瞬间校正因子。
14.权利要求13的存储媒体,其中处理包括下列诸步骤(a)将一个或多个停止段分成连接的诸视场的预先确定数目的子段;和(b)从每个子段删去在子段中的至少一个视场但不是全部的视场。
15.权利要求14的存储媒体,其中处理进一步包括计算在一个或多个停止段中的瞬间校正因子,其中对于一个停止段的瞬间校正因子是一个预先确定的值。
16.权利要求15的存储媒体,其中处理进一步包括计算在不包含基本垂直的堆和不包含按照权利要求6的方法已经校正了的一个停止段的一个子段的获取的文本图象中的一个位置上的瞬间校正因子,其中该处理包括(a)识别在该位置的侧翼的不同的边上的基本垂直的堆;用权利要求3或4的方法计算在两个基本垂直的堆中的每一个上的校正因子,和通过内插诸基本垂直的堆的瞬间校正因子计算在所述位置上的瞬间校正因子;或(b)识别在该位置的侧翼的不同的边上的两个停止段的每一个中的一个子段,用权利要求6的方法计算在两个子段的每一个中的瞬间校正因子,和通过内插诸子段的瞬间校正因子计算在所述位置上的瞬间校正因子;或(c)识别在该位置的侧翼的不同的边上的一个基本垂直的堆和一个停止段的一个子段;用权利要求3或4的方法计算在基本垂直的堆中的瞬间校正因子,用权利要求6的方法计算在子段中的瞬间校正因子,和通过内插基本垂直的堆和停止段的瞬间校正因子计算在所述位置上的瞬间校正因子。
17.存储一个可执行的计算机程序的存储媒体,用该程序处理一个获取的文本图象,消除由于当扫描文本时扫描速度的变化引起获取的文本图象中的一个或多个位置上的畸变,该处理包括下列诸步骤(a)用权利要求2到7中的任何一个的方法计算在文本图象中的一个或多个位置上的瞬间校正因子;和(b)删除校正因子小于1的一个或多个位置中的每一个上的视场以便用一个基本上等于在每个位置上的瞬间校正因子的因子进行在每个位置上的获取的文本图象的按比例缩放。
18.权利要求17的存储媒体,用于用字符识别软件处理文本图象。
全文摘要
本发明提供一种用于扫描表面的光学扫描器及其软件,它有一个一维光学传感器但没有用于确定扫描速度的机械移动部件。本发明也提供一个处理通过扫描器扫描文本得到的文本图象的方法,由于瞬间扫描速度的可变性使该文本图象畸变。该方法利用文本中的模字符高度和对于每种字体的字体比得到在文本图象中每个位置上的局部校正因子。校正因子与在该位置上的瞬间扫描速度有关,用于校正畸变的文本图象。
文档编号G06T1/00GK1340176SQ00803821
公开日2002年3月13日 申请日期2000年1月6日 优先权日1999年1月7日
发明者雷文·里格弗 申请人:托普斯坎有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1