)。字符识别存在很多的方法,可W使用其中的任意方法。例如, 可W考虑基于亮度的匹配、边缘特征匹配等。
[0069] 接下来,后处理部135根据需要,考虑字符的排列等,进行步骤S104的识别结果的 修正(步骤S105)。最后,输出部136将作为识别结果的字符串向显示器102或者外部装置 输出(步骤S106),结束处理。
[0070](行切出处理)
[0071] 参照图5对图4的步骤S102的行切出处理的细节进行说明。行切出处理W(1) 字符区域设定、(2)强制分割、(3)左优先排序、(4)行识别运样的步骤进行。但是,(2)强 制分割与(3)左优先排序是能够省略的处理。W下,对(1)~(4)的各个处理进行说明。 [00巧 (1)字符区域设定
[0073] 行切出部132接受由前处理生成的2值化图像与设定参数,执行字符区域设定处 理。作为设定参数,提供了字符宽度与字符高度的信息。关于字符宽度与字符高度,例如可 W像"20像素"及"7. 5mm"运样W单一的值来给定,在图像中可能包含不同尺寸的字符的情 况下,可W像"10像素~20像素"及"6. 0mm~10mm"运样W值域(最小值与最大值)来给 定。
[0074] 图6中的(A)示出了字符区域设定处理的流程。首先,行切出部132对2值化图 像进行加标签。具体而言,行切出部132从2值化图像中检测连结成分(连成一个整体的 像素组),对检测出的每个连结成分分配不同的标签(数字)。将带有相同标签的连结成分 (像素组)称为字符要素。接下来,行切出部132W包含各字符要素的方式设定多个字符区 域。在本例子中,计算字符要素的外切矩形,将其作为字符区域来处理。最后,字符区域的 宽度、高度与作为设定参数而给定的"字符宽度"、"字符高度"相比,如果为一定值W下(例 如30%W下),则行切出部132将该字符区域中包含的字符要素作为噪声而删除。另外,也 可W在检测出的多个字符区域中刻意地将小的区域(例如,与检测出的字符区域的平均宽 度、高度相比,在一定值W下(例如30%W下)的区域)作为噪声而删除。
[00巧]在图6中的(A)所示的例子中,可知得到了 6个字符区域。作为字符区域设定处 理的结果,生成了标签图像与字符区域坐标数据。标签图像是指每个像素上记述有标签编 号的图像。如图6中的度)所示,字符区域坐标数据是按照标签编号顺序记述有各字符区 域的坐标(例如,左上与右下2点的坐标)的数据。
[0076] 似强制分割
[0077] 行切出部132根据字符区域坐标数据调查各字符区域的高度,对高度超过规定阔 值的字符区域实施强制分割。阔值可W将设定参数所给出的字符高度作为基准来确定(例 如,字符高度的130%等)。在图7中示出了强制分割的一例。如图7的例子那样,如果字 符与其他的图案(在该例子中是条形码的条)相连,则在加标签处理中将它们识别为一个 要素,因此,字符区域的高度超过阔值。行切出部132从标签图像中提取高度超过阔值的字 符区域的部分,生成在横向上对黑像素进行计数的横投影直方图。并且,在纵向上捜索直方 图的谷,如果检测出谷,则在其高度处将字符区域分割。在实施了强制分割的情况下,对分 割后的字符区域赋予新的标签编号,并更新字符区域坐标数据。另外,除图7所示的方法W 夕F,强制分割的方法还存在各种各样的方法,可W使用其中的任意方法。 阳〇7引 做左优先排序
[0079] 行切出部132根据字符区域坐标数据对各字符区域进行左优先排序。具体而言, 从左上点的X坐标(横向坐标)小的字符区域起,按顺序重新赋予标签编号。运里,不需要 修正标签图像本身,只更新字符区域坐标数据中的标签编号及记述顺序即可。图8示出了 排序后的标签编号。符号Rx表示带有标签编号:x的字符区域。
[0080] (4)行识别
[0081] 行切出部132使用排序后的字符区域坐标数据实施行识别(行切出)。在本实施方 式中,进行如下操作:改变作为起点的字符区域来反复执行行提取处理(也称为行捜索), 由此将字符区域坐标数据中包含的多个字符区域分为多个行,所述行提取处理是W某个字 符区域为起点,将满足规定的相邻条件的字符区域依次连结,由此提取出被推断为属于同 一行的字符区域的组。
[0082] 图9中的(A)示意性地示出了对图8所示的字符区域组实施了行识别的情况的例 子。
[0083] 首先,行切出部132W标签编号最小的字符区域R1为起点进行第1行的行提取处 理。具体而言,行切出部132对作为起点的字符区域R1赋予了行编号:1之后,将字符区域 R1设定为关注字符区域。并且,在关注字符区域R1之后,从标签编号小的字符区域R2起按 顺序评价与关注字符区域R1的相邻关系,检测满足规定的相邻条件的字符区域。
[0084] 在本实施方式中,如图9中的度)所示,将两个字符区域的高度方向的重叠范围化 相对于关注字符区域的高度化的比定义为"重叠率R(=化/TL)",在重叠率R比规定的阔 值(例如1/3)大的情况下,判断为两个字符区域相邻。另外,阔值的值可W适当变更。此 夕F,重叠率的定义式也不限于上述的例子。例如,也可W考虑重叠宽度化相对于作为非关 注字符区域的字符区域的高度化'的比。
[0085] 由此,如图9中的(A)所示,相对于关注字符区域R1,检测出了R3作为满足相邻条 件的字符区域(称为相邻字符区域)。行切出部132对检测出的相邻字符区域R3赋予当前 的行编号:1 (也将该处理表示为:将字符区域R3与字符区域R1连结,或者,将字符区域R3 加入到W字符区域R1为起点的行。),将该字符区域R3设定为新的关注字符区域,捜索进 一步的相邻字符区域。该捜索一直进行到不再发现相邻字符区域为止。其结果,如图9中 的(A)所示,提取"R1 -R3 -R5 -R7"作为构成第1行的字符区域的组。
[0086] 如果第1行的捜索结束,行切出部132从没有被赋予行编号的字符区域中,将标签 编号最小的字符区域设定为下一个(第2行的)起点。在图9中的(A)的例子中,将字符 区域R2选择为起点,赋予行编号:2。此后的处理也与第1行的处理同样。另外,在本实施 方式中,已经被赋予了行编号的字符区域也包含在相邻字符区域的捜索对象中。目P,在关注 字符区域是R2的情况下,按照R3、R4、R5 - ??的顺序继续捜索。采用运样的方法的原因 在于,能够实现误判定的修正(连结的更换)(后面会参照图11进行详细叙述)。
[0087]在图9中的(A)的例子中,在第2行的捜索中,提取"R2 -R4 -R6 -R8"的字符 区域的组。至此,由于对全部字符区域赋予了行编号,因此,行识别结束。行识别的结果是 如图10那样,生成了对字符区域坐标数据赋予了行编号后的数据。 阳0蝴(误判定的修正)
[0089] 参照图11对(4)行识别的处理中的误判定的修正步骤进行说明。在图11的图像 中包含了 "123"与"ABCD"运2行字符串,但是,由于各字符串的弯曲大,因此,在基于上述 的相邻条件的连结处理中,行的判定发生错误的可能性高。
[0090] 如果W字符区域R1 (字符"1")为起点对图11的图像进行第1行的捜索,则在 连结为"R1 -R3 -R5"之后,判定为字符区域R6相对于R5满足相邻条件(误判定),将 "R1 -R3 -R5 -R6 -R7"的组(字符串"123CD")作为一个行而提取出来。目P,在第1 行的捜索结束后,成为对字符区域R1、R3、R5、R6、R7赋予了行编号:1的状态。
[0091] 接下来,行切出部132W字符区域R2(字符"A")为起点进行第2行的捜索。此时, 在连结为"R2 -R4"之后,判定为字符区域R6相对于R4满足相邻条件(正确判定)。良P, 产生了如下状况:在W字符区域R1 (第1字符区域)为起点进行行提取处理的情况下W及 W字符区域R2 (第2字符区域)为起点进行行提取处理的情况下,相同的字符区域R6 (第3 字符区域)被重复选择。运种状况可W根据被判定为满足相邻条件的字符区域R6是否已 经被赋予了行编号来进行判断。
[0092] 在产生了运样的状况的情况下,行切出部132比较将字符区域R6加入到第1行中 的情况与将字符区域R6加入到第2行中的情况中的哪一种情况较为妥当,来确定字符区域 R6应该加入的行。具体而言,行切出部132比较第1行中的字符区域R5与R6的重叠率和 第2行中的字符区域R4与R6的重叠率,将重叠率大的一方视为连结强,将字符区域R6加 入连结强的行中。在图11的情况下,由于与第2行的字符区域R4连结强,因此,行切出部 132将字符区域