字符识别用的图像处理方法、使用该方法的字符识别装置及程序的制作方法

文档序号:6498124阅读:92来源:国知局
字符识别用的图像处理方法、使用该方法的字符识别装置及程序的制作方法
【专利摘要】一种涉及图像处理方法及使用该方法的字符识别装置的发明,以排列成多行的字符串的浓淡图像为对象,按照每行检测图像中的字符串。在浓淡图像中的字符串分布的范围中设定搜索区域(101),对于沿着表示图像内的坐标的2轴(x轴、y轴)中与字符串的行的排列对应的轴(例如y轴)而排列的多个点(Pi),分别设定以该点(Pi)为起点横穿搜索区域(101)的多条线段(LU、LD等),并计算各线段中的图像数据的累计值。另外,对于每个点Pi求出对该点设定的线段组上的累计值的最大值,并且确定至少一个在将对每个点(Pi)求出的最大值按照各个点的排列而布置时产生的分布图案中的极大值,将得到与所确定的极大值相当的累计值的线段作为在字符串之间通过的线段,根据该线段按照每行检测图像中的字符串。
【专利说明】字符识别用的图像处理方法、使用该方法的字符识别装置 及程序

【技术领域】
[0001] 本发明涉及基于图像处理的字符识别处理,尤其涉及从被排列成多行的字符串的 浓淡图像中独立地检测各行的字符串的方法、以及应用该方法的字符识别装置。

【背景技术】
[0002] 在字符识别处理中,通常从拍摄字符串而生成的浓淡图像中切取各个字符,对切 取出的每个字符实施使用了各种字符模型的匹配处理(模型匹配),从而识别字符串的内 容。
[0003] 为了从字符串的图像中切取出各个字符,首先进行向图像内与表示坐标的2轴中 字符串的长度方向(指字符排列的方向)垂直的轴的图像投影处理,从所生成的投影图案 中按照每行检测与各行的字符串对应的范围(以下,将该检测处理称为"行切分处理")。另 夕卜,在所提取的每个范围中进行向沿着字符串的轴的图像投影处理,从所生成的投影图案 中按照每个字符检测对应各个字符的区域(以下称为"字符区域'0(例如,参照专利文献1、 2)。
[0004] 具体地讲,在设图像的横向的轴为X轴、设纵向的轴为y轴来读取横写的文件的情 况下,首先通过向y方向的投影处理执行行切分处理,对被切分后的每行进行向X方向的投 影处理,由此检测各字符区域。并且,在读取坚写的文件的情况下,首先通过向X方向的投 影处理执行行切分处理,对被切分后的每行进行向y方向的投影处理,由此检测各字符区 域。
[0005] 另外,当在各投影处理中对浓淡数据的累计值进行投影的情况下,在字符部分比 背景暗时,检测投影图案的谷部分作为与字符对应的范围,在字符部分比背景明亮时,检测 投影图案内的峰部分作为与字符对应的范围。另一方面,在将低于阈值的浓度设为"1"而 将图像2值化,并对2值数据的累计值进行投影的情况下,在字符部分比背景暗时检测投影 图案内的峰部分作为与字符对应的范围,在字符部分比背景明亮时检测投影图案内的谷部 分作为与字符对应的范围。
[0006] 现有技术文献
[0007] 专利文献
[0008] 专利文献1 :日本公开专利公报1998 - 69524号公报
[0009] 专利文献2 :日本公开专利公报2000 - 357287号公报


【发明内容】

[0010] 发明要解决的问题
[0011] 如上所述,在过去的行切分处理中,以识别对象的字符串是在相对于X轴或者y轴 接近平行的状态下被拍摄为前提的,对沿着与该字符串较近的轴延伸的线段内的图像数据 进行累计,将其累计值投影于另一个轴上。但是,为了利用该方法来准确切分各行的字符 串,需要使包含字符串的范围的投影场所和背景部分的投影场所不重合。
[0012] 在字符串不倾斜的情况下,如图9(1)所示,可以设定沿顺着字符串的轴向(在图 示例中为X方向)在字符串之间通过的线段,而且该线段不会落在字符串上。因此,通过该 线段内的图像数据的投影,能够使投影图案产生极大值,并且准确地切分各行。
[0013] 但是,在识别对象的图像以旋转偏移的状态被输入时,如图9(2)所示,不能使沿 着X轴方向的线段在字符串之间通过。因此,包含字符串的范围的投影场所和背景部分的 投影场所之间的边界不清楚,导致行切分失败、切分的位置不准确。尤其是在字符串的行间 距狭窄时,即使是微小的倾斜,也存在不能确保在字符串之间通过的线段的情况,因而行切 分失败的可能性增大。
[0014] 本发明正是着眼于上述问题而提出的,其课题是通过简单的处理大幅提高字符串 的行切分处理的精度。
[0015] 用于解决问题的手段
[0016] 为了解决上述问题,在本发明的第一方法中,将浓淡图像中的字符串分布的范围 的至少一部分作为搜索区域,对于沿着表示图像内的坐标的2轴中与行的排列对应的轴 (例如y轴)而排列的多个点,分别设定以该点为起点横穿搜索区域的多条线段,按照各线 段分别累计搜索区域内的该线段上的像素数据。
[0017] 并且,对于成为线段的起点的每个点,求出对该点设定的线段组上的累计值的最 大值,并且确定至少一个在将对每个点求出的最大值按照各个点的排列而布置时产生的分 布图案中的极大值。并且,将得到与所确定的极大值相当的累计值的线段作为在字符串之 间通过的线段,根据该线段按照每行检测图像中的字符串。
[0018] 例如,在如图9所示的2行结构的横写字符串成为识别对象的情况下,设定搜索区 域使得字符串之间的间隙和各字符串各自的一部分进入,对于在该搜索区域的内部或者外 部沿着y轴方向排列的多个点,分别设定以该点为起点朝向各个方向横穿搜索区域的多条 线段。
[0019] 在此,假设对设定的每条线段计算与搜索区域对应的范围内的浓度的累计值,在 识别对象的图像中的字符部分比背景暗的情况下,示出背景部分的像素占据的比率越大的 线段,其累计值越高。因此,在将对每个点求出的最大值按照各个点的排列而布置时,在所 生成的分布图案中,认为在与被设定了在字符串之间通过的线段的点对应的位置将产生极 大值。在第1方法中,确定该极大值,将得到与该极大值相当的累计值的线段作为在字符串 之间通过的线段来进行行切分处理,因而能够准确检测各行的字符串。
[0020] 另外,即使是在将字符部分比背景明亮的图像作为识别对象的情况下,如果在以 越明亮时浓度值越低的方式对图像数据进行转换后实施上述的方法,同样能够准确检测各 行的字符串。并且,在将待累计的对象的图像数据设为2值图像数据的情况下,通过以字符 的部分为"〇"、背景的部分为" 1"的方式将图像2值化,能够得到与上述相同的效果。
[0021] 在将3行以上的字符串作为识别对象的情况下,与上述相同地,对于沿着与行的 排列方向对应的轴而排列的多个点,分别设定朝向各个方向横穿搜索区域的多条线段,确 定多个在将各个点在线段组中的图像数据的累计值中的最大值按照各点的排列而布置时 产生的分布图案中的极大值。并且,将得到与这些极大值相当的累计值的线段作为在字符 串之间通过的线段,由此能够准确切分各行。
[0022] 在上述的方法中,使作为线段的起点的点逐次移动1像素,对于各点分别在预先 设定的角度范围内依次变更线段的斜率,由此能够求出累计值。并且,也可以将包含于搜索 区域的一条边中的各点作为起点,并在与面对每个起点的一侧的边的各点之间设定线段。
[0023] 但是,每次的起点不一定是连续的,也可以间隔数个像素进行设定,还可以将位于 搜索区域之外的点作为起点。
[0024] "将对每个点求出的最大值按照各个点的排列而布置"的处理,可以理解为表示将 各最大值投影到沿着被设定为起点的各点的排列的轴上。该排列中的极大值例如能够通过 如下的步骤来确定,对于作为起点的多个点,分别反复进行线段的设定和图像数据的累计 处理并求出累计值的最大值,然后将各最大值投影到各自对应的点的坐标,从所生成的分 布图案中确定极大值。
[0025] 但是,不一定需要按照该步骤。例如,当在识别2行结构的字符串的处理中能够估 计出行间的位置偏移的范围的情况下,也可以设定包含该估计范围的搜索区域,然后变更 线段的起点并反复进行线段的设定和图像数据的累计,确定在此期间取得的累计值中的最 大值。在该情况下,将得到与所确定的最大值相当的累计值的线段作为在字符串之间通过 的线段。
[0026] 在本发明的第2图像处理方法中,与第1方法相同地,将浓淡图像中的字符串分布 的范围的至少一部分作为搜索区域,对于沿着表示图像内的坐标的2轴中与行的排列对应 的轴而排列的多个点,分别设定以该点为起点横穿搜索区域的多条线段,按照各线段分别 累计搜索区域内的该线段上的像素数据。
[0027] 另外,在第2图像处理方法中,对于成为线段的起点的每个点,求出对该点设定的 线段组上的累计值的最小值,并且确定至少一个在将对每个点求出的最小值按照各个点的 排列而布置时产生的分布图案中的极小值。并且,将得到与所确定的极小值相当的累计值 的线段作为在字符串之间通过的线段,根据该线段按照每行检测图像中的字符串。
[0028] 上述第2方法例如能够应用于将字符部分比背景明亮的浓淡图像作为处理对象 的情况、将以字符部分为"〇"、背景部分为" 1"的方式被变换后的2值图像作为处理对象的 情况。在这些情况下,与第1方法的情况相反,示出背景部分的像素占据的比率越高的线 段,图像数据的累计值越小,因而确定将对成为线段的起点的每个点求出的最小值按照各 个点的排列而布置得到的分布图案中的极小值。根据该极小值能够准确确定在字符串之间 通过的线段,能够根据该线段准确切分各行的字符串。
[0029] 在对于上述第1及第2方法而共同的一个实施方式中,在检测出每行的字符串后, 还对被检测出的每个字符串执行以下处理:将该字符串的图像投影到表示图像内的坐标的 2轴中不与所述行的排列对应的轴(例如X轴);根据其投影结果独立地检测包含于该字符 串中的字符。
[0030] 上述的实施方式能够应用于识别对象的字符串不可能大幅倾斜的情况。
[0031] 因为如果字符串的倾斜极小,在准确切分字符串后,通过向与该字符串的方向较 近的轴的图像投影处理,能够准确检测各个字符,并且无障碍地实施与模型的核对处理。
[0032] 在字符串的倾斜有可能比较大的情况下,优选采用以下两个实施方式中的任意一 种方式。
[0033] 在第一种方式中执行以下处理:对于根据在字符串之间通过的线段而检测出的每 个字符串,对该字符串的图像进行旋转校正,使得在该检测中使用的线段沿着表示图像内 的坐标的2轴中不与行的排列对应的轴;将校正后的图像投影于不与行的排列对应的轴; 根据其投影结果独立地检测包含于该字符串中的字符。即,在切分各行后,按照该行的倾斜 来旋转校正图像,将校正后的图像投影于沿着字符串的轴上,由此检测各个字符。
[0034] 在第二种方式中,在按照每行检测图像中的字符串的处理中,以使在字符串之间 通过的线段沿着表示图像内的坐标的2轴中不与行的排列对应的轴的方式,对处理对象的 图像进行旋转校正,然后根据在校正后的图像中的字符串之间通过的线段检测每行的字符 串。即,在进行行的切分处理之前,对包含各行的字符串的范围的图像整体进行旋转校正, 然后切分行,再按照每行进行向沿着字符串的轴的图像投影处理,由此检测各个字符。
[0035] 在上述两个实施方式中,都是根据在字符串之间通过的线段的斜率来旋转校正图 像,使得处于字符串沿着作为字符切取用的投影的对象的轴的状态,因而能够准确检测各 个字符。并且,即使是在以后的与模型的匹配处理中,也能够使没有旋转偏移的字符与模型 核对,因而能够大幅提商识别的精度和效率。
[0036] 本发明的字符识别装置具备这样的功能:输入通过拍摄字符串而生成的浓淡图像 作为识别对象,切取该图像中的字符串内的各个字符,然后将切取出的字符分别与预先登 记的模型进行核对,由此识别各字符。
[0037] 应用第1图像处理方法的第1字符识别装置具备以下各单元:区域设定单元,其对 识别对象的浓淡图像设定搜索区域;累计单元,其对沿着表示图像内的坐标的2轴中的一 个轴而排列的多个点,分别设定以该点为起点横穿搜索区域的多条线段,按照各线段分别 累计搜索区域内的该线段上的像素数据;确定单元,其对于成为线段的起点的每个点,求出 对该点设定的线段组上的累计值的最大值,并且确定在将对每个点求出的最大值按照各个 点的排列而布置时产生的分布图案中的极大值;字符串检测单元,其根据得到与由确定单 元确定的极大值相当的累计值的线段,按照每行检测图像中的字符串;以及字符识别单元, 其对于由字符串检测单元检测出的每个字符串独立地切取出包含于该字符串中的字符,执 行与模型的核对处理。
[0038] 应用第2图像处理方法的第2字符识别装置具备以下各单元:区域设定单元,其对 识别对象的浓淡图像设定搜索区域;累计单元,其对沿着表示图像内的坐标的2轴中的一 个轴而排列的多个点,分别设定以该点为起点横穿搜索区域的多条线段,按照各线段分别 累计搜索区域内的该线段上的像素数据;确定单元,其对于成为线段的起点的每个点,求出 对该点设定的线段组中的累计值的最小值,并且确定在将对每个点求出的最小值按照各个 点的排列而布置时产生的分布图案中的极小值;字符串检测单元,其根据得到与由确定单 元确定的极小值相当的累计值的线段,按照每行检测所述图像中的字符串;以及字符识别 单元,其对于由字符串检测单元检测出的每个字符串独立地切取出包含于该字符串中的字 符,执行与所述模型的核对处理。
[0039] 根据第1及第2字符识别装置的结构,在识别对象的图像内的字符串分布的范围 中设定搜索区域,并且将表示图像内的坐标的2轴中与识别对象的字符串的行的排列对应 的轴设定为作为线段的起点的点排列的方向,由此能够准确切分各行的字符串。因此,能够 对被切分出的每个字符串执行字符的切取处理和与模型的核对处理,并且高精度地识别各 字符。
[0040] 另外,也能够将上述的第1及第2装置设为一个装置。在这种情况下,可以理解为 区域设定单元和累计单元被合并为一个单元,但对于确定单元、字符串检测单元、字符识别 单元设有两种形式,根据字符串与背景的明暗关系选择任意一种形式。
[0041] 另外,本发明提供用于对计算机设定第1及第2字符识别装置具有的各单元的功 能的程序。
[0042] 发明效果
[0043] 根据本发明,能够通过简单的步骤高精度地实施从被排列成多行的字符串的浓淡 图像中切分各行的字符串的处理。并且,在将产生了角度偏移的字符串或行间距狭窄的字 符串作为识别对象的情况下,也能够稳定地实施行切分处理,提高字符的识别精度。

【专利附图】

【附图说明】
[0044] 图1是示出字符识别装置的结构例的框图。
[0045] 图2是示出字符识别处理的步骤的流程图。
[0046] 图3是示出边界线的确定、图像的旋转校正、字符串的切分这些处理各自的具体 例的图。
[0047] 图4是示出从一点设定的线段的概念的图。
[0048] 图5是将边界线检测用的搜索区域的设定例与在检测处理中使用的参数一起示 出的图。
[0049] 图6是示出边界线的检测处理的前半部分的流程图。
[0050] 图7是示出边界线的检测处理的后半部分的流程图。
[0051] 图8是示出将处理对象区域整体作为搜索区域检测边界线的示例的图。
[0052] 图9是示出行切分处理用的投影线的方向与字符串的倾斜之间的关系的图。

【具体实施方式】
[0053] 图1示出应用本发明的字符识别处理装置的结构例。
[0054] 该字符识别处理装置是以字符串为对象进行拍摄,读取所生成的图像中的字符而 输出其读取结果的装置,由包括控制部10的主体部1、摄影用的摄像机2、显示部3、操作部 4等构成。显示部3例如由液晶监视器构成,操作部4包括鼠标和键盘。另外,摄像机2也 能够置换为扫描装置。
[0055] 主体部1是通用的计算机装置(个人电脑),除包括CPU的控制部10外,还具有主 存储部11、图像存储器12、摄像接口 13、显示用接口 14、输入用接口 15、外部接口 16、外部 盘用读取部17等。
[0056] 主存储部11例如是硬盘,图像存储器12例如是RAM板。在主存储部11中登记了 由外部盘用读取部17从外部硬盘18读取的专用的程序、在字符识别处理中使用的字体数 据等。从摄像机2输出的图像被取入到摄像接口 13中进行数字变换后,变换后的图像数据 被存储在图像存储器12中。
[0057] 对控制部10设定了以下功能:按照存储在主存储部11中的程序,从存储在图像存 储器12中的图像中逐字符地切取出字符的功能;将切取出的字符与各种字体数据核对并 识别字符的功能。另外,也对控制部10设定了作为在这些处理中提示给用户的图形用户界 面的功能。在该图形用户界面中,通过显示用接口 14在显示部3显示包括处理对象的图像 的画面,通过输入用接口 15受理操作部4的操作。
[0058] 图2示出由控制部10实施的用于字符识别的处理的概略步骤。
[0059] 该处理通过对显示于画面中的图像进行指定处理对象区域的操作,进而进行读取 操作而开始。按照该操作,控制部10取得处理对象区域内的图像(步骤U1),并执行检测用 于表示字符串之间的边界的线段(以下将其称为"边界线")的处理(步骤U2)。
[0060] 详情后述,边界线利用该线段的一端点的坐标与表示该线段的斜率的角度Θ (相 对于X轴的旋转角度)表示。在步骤U3,根据该角度Θ来旋转校正图像,使得边界线与X 轴方向大致平行。在步骤U4,沿着校正后的边界线分割被校正后的图像,由此按照每行检测 字符串。
[0061] 然后,对于被检测的每行,将包括该行的字符串的范围的图像投影于X轴(步骤 U6),分析所生成的投影图案,并独立地检测与包含于字符串中的各个字符对应的区域(字 符区域)(步骤U7)。通过将被切取出的各字符与基于所登记的字体数据的字符模型进行核 对的匹配处理,识别字符的内容(步骤U8)。
[0062] 在对所有的行执行U6、U7、U8的各步骤时,步骤U5为"是"而进入步骤U9,输出识 别结果。以该输出结束针对用户的读取指示的处理。
[0063] 另外,以上是由用户设定处理对象区域,但不限于此,也可以根据预先登记的基准 数据,每次摄像时在由基准数据所确定的范围中自动设定处理对象区域。或者,也可以将所 生成的图像整体作为处理对象区域。
[0064] 图3以将2行结构的横写的字符串作为识别对象的情况为例,具体地示出从边界 线的检测到按照每行切分字符串的处理(图2的步骤U2、U3、U4)。另外,在自图3以后的具 体例中,将图中从左朝右的方向设为X轴的正方向,将从下朝上的方向设为y轴的正方向。 并且,用标号100表示处理对象区域。
[0065] 图3的示例的字符串相对于X轴大幅旋转偏移,但在步骤U2中,能够通过后述的 处理高精度地检测在字符串之间的间隙中通过的线段KL(图3(1))。该边界线KL沿着字 符串的长度方向延伸,因而在步骤U3通过旋转校正图像使边界线KL与X轴平行,形成如图 3(2)所示字符串也沿着X轴的状态。另外,在步骤U4中,通过沿着线段KL分割校正后的图 像,如图3(3)所示各行的字符串被准确切分。
[0066] 另外,旋转校正不是必须的处理,在边界线KL相对于X轴的旋转角度在允许值以 内的情况下,也可以不进行旋转校正,而沿着边界线KL分割图像。
[0067] 为了切分横写的字符串的各行,通常将沿着X轴的线段内的图像数据的累计值投 影于y轴。但是,在识别对象的字符串相对于X轴倾斜时,由于不能设定在字符串之间通过 的线段(参照前述的图9 (2)),因而难以生成明确划分出字符部分和背景部分的投影图案。 [0068] 因此,在该实施例中,将处理对象区域100的左边的规定范围中所包含的各点作 为对象点,对每个对象点设定以该对象点为起点朝向各个方向的多条线段,计算这些线段 中的浓度累计值,再求出其中的最大值。并且,生成将每个对象点的最大值按照各对象点的 排列而布置形成的数组,从该数组中的值的分布图案中检测极大值,将得到与该极大值相 当的累计值的线段确定为边界线KL。
[0069] 在浓淡图像中,通常是越明亮浓度值越大,因而如果在字符部分比背景暗的图像 中求出一条线段内的浓度累计值,则示出背景部分的像素占据的比率越大的线段,浓度累 计值越高。因此,如图4所示,从位于处理对象区域100的左边的点P朝向各个方向设定线 段,并求出各线段的浓度累计值,不与字符串相交而在字符串之间通过的边界线KL的浓度 累计值将高于其它线段的浓度累计值。因此,如果能够求出上述数组内的极大值,则能够根 据该极大值确定边界线KL。
[0070] 下面,将如图3、图4所示的2行结构的字符串作为对象,详细说明检测字符串之间 的边界线KL时的具体处理。
[0071] 首先,参照图5说明该检测处理的概要和在处理中使用的参数。
[0072] 在该实施例中,将处理对象区域100的y方向的范围中、分别位于在距上下的端缘 为规定距离DE内侧的位置的y坐标设为yl、y2,将由这些y坐标和处理对象区域100的左 右端缘的X坐标xl、x2确定的区域101,设为用于搜索边界线的搜索区域。
[0073] 另外,将距上下的端缘在DE以内的部分从搜索区域101中去除,是为了防止设定 通过字符串的上下空白部分而未落在字符串上的线段。在该实施例中,与处理对象区域1〇〇 相同地,通过用户的手动操作来设定搜索区域101,但不限于此,也可以根据对行间的位置 假定的偏差而预先登记坐标yl、y2,根据该登记数据自动设定搜索区域101。
[0074] 在该实施例中,设搜索区域101的左边上的点Pi为对象点Pi,设定连接该对象点 Pi和右边侧的一点Pj的线段。点Pi、Pj的y坐标均在yl到y2的范围内移动。下面,设 对象点Pi的坐标为(xl、yi),设右边侧的点Pj的坐标为(x2、yj),设yi与yj之差的绝对 值为d。并且,将点Pj称为"(线段的)终点Pj",将d称为"位移量"。
[0075] 在yj = yl+d时设定如图中的线段Lu所示向右上升的线段,在yj = yl-d时设定 如图中的线段LD所示向右下降的线段。
[0076] 另外,在该实施例中,将对每个时刻的对象点Pi求出的浓度累计值的最大值存储 为数组MAX(i),将设定了得到最大值MAX(i)的线段时的位移量d或者-d存储为数组D(i)。
[0077] 图6和图7表示使用上述的各参数检测边界线的处理(图3的步骤U2)的具体步 骤。
[0078] 下面,参照各图的步骤号码(ST1?ST24)说明处理的流程。
[0079] 在该处理中,首先对表示对象点Pi的变量i设定0作为初始值(步骤ST1)。另 夕卜,将yl与y2之差(yl_y2)设定为i的最大值imax (步骤ST2),进入步骤ST3?ST12的 循环(loop)。以下,将该循环称为"前半循环"。
[0080] 在前半循环中,对根据i的当前值而确定的MAX⑴及位移量d分别设定0作为初 始值(步骤ST3)。另外,将对象点Pi的y坐标yi设为y2+i (步骤ST4),将终点Pj的y坐 标yj设为yi+d(步骤ST5)。在前半循环刚刚开始后,i及d为0,因而yi = yj = y2。
[0081] 在yi和yj的值确定后,在步骤ST6,根据这些y坐标,设定连接位于坐标(xl、yi) 的点Pi和位于坐标(x2、yj)的点Pj的线段,计算该线段上的浓度累计值SUM1。
[0082] 在计算出的浓度累计值SUM1大于MAX⑴的情况下,步骤ST7为"是"。在进行 该"是"判定后,在步骤ST8,将最大值MAX(i)的值变更为SUM1,并且将当前的d值存储为 D(i)。在SUM1为MAX(i)以下的情况下,步骤ST7为"否",步骤ST8被跳过。
[0083] 然后,将d的值逐次加1直到yj达到yl为止(步骤ST9、ST10),根据该d的值使 终点Pj向上移动1像素(步骤ST5),设定连接对象点Pi和终点Pj的线段,求出浓度累计 值SUM1 (步骤ST6)。并且,在SUM1的值大于最大值MAX(i)的情况下,更新MAX(i)和D(i) (步骤 SI7、ST8)。
[0084] 在这一系列的处理中,在第一次(d = 0时)的步骤ST6,设定以对象点Pi为起点 且与X轴平行的线段,以后(d>l时)设定从对象点Pi向右上方延伸的线段。并且,这些线 段的浓度累计值中的最大值被存储为MAX(i)。随着d的值增大,所设定的线段的斜率变陡 峻。
[0085] 终点Pj的y坐标yj被设定为上限y2,在针对该终点的处理结束时,在步骤ST12 将i的值加1。然后,返回ST3,对根据更新后的i而确定的MAX(i)设定初始值0,并且使位 移量d恢复为0。另外,通过使用更新后的i的步骤ST4,使对象点Pi向上移动1像素。
[0086] 然后,对于新的对象点Pi,按照与前述相同的步骤,使终点Pj逐次向上移动1像 素,设定连接点Pi和点Pj的线段,求出线段内的浓度累计值。并且,适当地更新各点的最 大值MAX⑴和Di (步骤ST5?10)。
[0087] 以后,同样地根据i、d的值变更对象点Pi及终点Pj的组合并反复前半循环。通 过该处理,对位于搜索区域101的左边的每个点,分别设定从该点起与X轴平行的线段以及 向右上升的线段(在i = imax时只有与X轴平行的一条线段)。并且,在每个点各自的线 段组中求出的浓度累计值中的最大值被存储为MAX(i),并且在能够得到该最大值MAX(i) 的线段的设定时使用的位移量d被存储为D (i)。
[0088] 在i = imax、针对根据该i而确定的yi (yi = yl)的处理结束时,前半循环结束 (ST11为"否"),进入图7的步骤ST13?ST22的循环。以下,将该循环称为"后半循环"。
[0089] 在后半循环中,将位移量d设定为1(ST13),将对象点Pi的y坐标yi设为 yl-(imax-i) (ST14),将终点Pj的y坐标yj设为yi_d(ST15)。在后半循环刚刚开始后,i =imax,因而 yi = yl、yj = yl-1。
[0090] 在步骤ST16,设定连接根据上述设定而确定的对象点Pi (xl、yi)与终点Pj (x2、 yj)的线段,计算该线段的浓度累计值SUM2。在该浓度累计值SUM2大于MAX(i)的情况下, 步骤ST17为"是"。针对该"是"判定,在步骤ST18,将最大值MAX(i)的值变更为SUM2,并 且将_d设为D (i)。在SUM2为MAX⑴以下的情况下,步骤ST17为"否",步骤ST18被跳过。
[0091] 然后,将d的值逐次加1 (步骤ST19、ST20),在根据该d更新yj后(步骤ST15), 执行步骤ST16?ST18。在步骤ST16,每次设定从对象点Pi向右下方延伸的线段,并使其 斜率逐渐陡峻。
[0092] 在yj被设定为下限值y2、针对该yj的处理结束时,步骤ST19为"否"。接收到该 情况,从ST21进入步骤ST22,将i减1,然后返回步骤ST13。通过该步骤ST13,d恢复为1, 通过后面的步骤ST14,对象点Pi向下移动1像素。
[0093] 然后,针对新的对象点Pi变更终点Pj的坐标,并反复步骤ST15?ST20的循环。
[0094] 如上所述,在后半循环中,使通过前半循环而到达位置(xl、yl)的对象点Pi逐次 向下移动1像素,对于每个时刻的对象点Pi设定多条向右下方延伸的线段,计算各线段中 的浓度累计值。在这些浓度累计值中,如果存在超过通过前半循环而求出的最大值MAX (i) 的值,则利用该浓度累计值改写最大值MAX(i)。并且,将在得到该最大值MAX(i)的线段的 设定时使用的位移量_d存储为D (i)。
[0095] 这样,通过以位于处理对象区域100的左边内的坐标yl?y2的范围中的各点为 对象,执行基于ST3?12的前半循环和基于ST13?22的后半循环,对于每个点,分别将把 该点设定为起点的线段组中的浓度累计值的最大值存储为MAX (i),并且将在设定能够得到 该最大浓度累计值的线段时使用的位移量存储为D(i)。
[0096] 在确定了每个点的MAX(i)和D(i)后,依次执行步骤ST23、ST24、ST25。
[0097] 在步骤ST23,检测数组MAX(i)表示的分布图案中的极大值。在步骤ST24,根据与 检测出的极大值对应的i的值i。,确定得到该极大值的线段的起点的坐标(xl、y2+i。)。
[0098] 在步骤ST25,通过使用与i。对应的位移量D(i。)的以下运算计算角度Θ,该角度 Θ表示得到极大值时的线段的斜率。
[0099] [数式 1]

【权利要求】
1. 一种字符识别用的图像处理方法,对排列成多行的字符串的浓淡图像进行字符识别 用的处理,其特征在于, 将所述浓淡图像中的字符串分布的范围的至少一部分作为搜索区域, 对于沿着表示图像内的坐标的2轴中与行的排列对应的轴而排列的多个点,分别设定 以该点为起点横穿所述搜索区域的多条线段,按照各线段分别累计搜索区域内的该线段上 的像素数据, 对于成为所述线段的起点的每个点,求出对该点设定的线段组上的累计值的最大值, 并且确定至少一个在将对每个点求出的最大值按照各个点的排列而布置时产生的分布图 案中的极大值, 将得到与所述确定的极大值相当的累计值的线段作为在字符串之间通过的线段,根据 该线段按照每行检测所述图像中的字符串。
2. -种字符识别用的图像处理方法,对排列成多行的字符串的浓淡图像进行字符识别 用的处理,其特征在于, 将所述浓淡图像中的字符串分布的范围的至少一部分作为搜索区域, 对于沿着表示图像内的坐标的2轴中与行的排列对应的轴而排列的多个点,分别设定 以该点为起点横穿所述搜索区域的多条线段,按照各线段分别累计搜索区域内的该线段上 的像素数据, 对于成为所述线段的起点的每个点,求出对该点设定的线段组上的累计值的最小值, 并且确定至少一个在将对每个点求出的最小值按照各个点的排列而布置时产生的分布图 案中的极小值, 将得到与所述确定的极小值相当的累计值的线段作为在字符串之间通过的线段,根据 该线段按照每行检测所述图像中的字符串。
3. 根据权利要求1或2所述的字符识别用的图像处理方法,其特征在于, 对于根据在所述字符串之间通过的线段而检测出的每个字符串还执行以下处理:将该 字符串的图像投影到表示所述图像内的坐标的2轴中不与所述行的排列对应的轴上;根据 其投影结果独立地检测包含于该字符串中的字符。
4. 根据权利要求1或2所述的字符识别用的图像处理方法,其特征在于, 对于根据在所述字符串之间通过的线段而检测出的每个字符串还执行以下处理:对该 字符串的图像进行旋转校正,使得在该检测中使用的线段沿着表示所述图像内的坐标的2 轴中不与所述行的排列对应的轴;将校正后的图像投影到不与所述行的排列对应的轴上; 根据其投影结果独立地检测包含于该字符串中的字符。
5. 根据权利要求1或2所述的字符识别用的图像处理方法,其特征在于, 在按照每行检测所述图像中的字符串的处理中,以使在所述字符串之间通过的线段沿 着表示所述图像内的坐标的2轴中不与所述行的排列对应的轴的方式,对处理对象的图像 进行旋转校正,然后根据在校正后的图像中的所述字符串之间通过的线段检测每行的字符 串, 对根据在所述字符串之间通过的线段而检测出的每个字符串还执行以下处理:将该字 符串的图像投影到不与所述行的排列对应的轴上;根据其投影结果独立地检测包含于该字 符串中的字符。
6. -种字符识别装置,输入通过拍摄字符串而生成的浓淡图像作为识别对象,切取该 图像中的字符串内的各个字符,然后将切取出的字符分别与预先登记的模型进行核对,由 此识别各字符,其特征在于,所述字符识别装置具备: 区域设定单元,其对识别对象的浓淡图像设定搜索区域; 累计单元,其对沿着表示图像内的坐标的2轴中的一个轴排列的多个点,分别设定以 该点为起点横穿所述搜索区域的多条线段,按照各线段分别累计搜索区域内的该线段上的 像素数据; 确定单元,其对于成为所述线段的起点的每个点,求出对该点设定的线段组上的累计 值的最大值,并且确定在将对每个点求出的最大值按照各个点的排列而布置时产生的分布 图案中的极大值; 字符串检测单元,其根据得到与由所述确定单元确定的极大值相当的累计值的线段, 按照每行检测所述图像中的字符串;以及 字符识别单元,其对于由所述字符串检测单元检测出的每个字符串独立地切取出包含 于该字符串中的字符,执行与所述模型的核对处理。
7. -种字符识别装置,输入通过拍摄字符串而生成的浓淡图像作为识别对象,切取该 图像中的字符串内的各个字符,然后将切取出的字符分别与预先登记的模型进行核对,由 此识别各字符,其特征在于,所述字符识别装置具备: 区域设定单元,其对识别对象的浓淡图像设定搜索区域; 累计单元,其对沿着表示图像内的坐标的2轴中的一个轴而排列的多个点,分别设定 以该点为起点横穿所述搜索区域的多条线段,按照各线段分别累计搜索区域内的该线段上 的像素数据; 确定单元,其对于成为所述线段的起点的每个点,求出对该点设定的线段组上的累计 值的最小值,并且确定在将对每个点求出的最小值按照各个点的排列而布置时产生的分布 图案中的极小值; 字符串检测单元,其根据得到与由所述确定单元确定的极小值相当的累计值的线段, 按照每行检测所述图像中的字符串;以及 字符识别单元,其对于由所述字符串检测单元检测出的每个字符串独立地切取出包含 于该字符串中的字符,执行与所述模型的核对处理。
8. -种字符识别用的程序,使计算机作为字符识别装置而工作,该字符识别装置输入 通过拍摄字符串而生成的浓淡图像作为识别对象,切取该图像中的字符串内的各个字符, 然后将切取出的字符分别与预先登记的模型进行核对,由此识别各字符,其特征在于,所述 程序对所述计算机赋予以下各单元的功能 : 区域设定单元,其对识别对象的浓淡图像设定搜索区域; 累计单元,其对沿着表示图像内的坐标的2轴中的一个轴而排列的多个点,分别设定 以该点为起点横穿所述搜索区域的多条线段,按照各线段分别累计搜索区域内的该线段上 的像素数据; 确定单元,其对于成为所述线段的起点的每个点,求出对该点设定的线段组上的累计 值的最大值,并且确定在将对每个点求出的最大值按照各个点的排列而布置时产生的分布 图案中的极大值; 字符串检测单元,其根据得到与由所述确定单元确定的极大值相当的累计值的线段, 按照每行检测所述图像中的字符串;以及 字符识别单元,其对于由所述字符串检测单元检测出的每个字符串独立地切取出包含 于该字符串中的字符,并执行与所述模型的核对处理。
9. 一种字符识别用的程序,使计算机作为字符识别装置而工作,该字符识别装置输入 通过拍摄字符串而生成的浓淡图像作为识别对象,切取该图像中的字符串内的各个字符, 然后将切取出的字符分别与预先登记的模型进行核对,由此识别各字符,其特征在于,所述 程序对所述计算机赋予以下各单元的功能 : 区域设定单元,其对识别对象的浓淡图像设定搜索区域; 累计单元,其对沿着表示图像内的坐标的2轴中的一个轴而排列的多个点,分别设定 以该点为起点横穿所述搜索区域的多条线段,按照各线段分别累计搜索区域内的该线段上 的像素数据; 确定单元,其对于成为所述线段的起点的每个点,求出对该点设定的线段组上的累计 值的最小值,并且确定在将对每个点求出的最小值按照各个点的排列而布置时产生的分布 图案中的极小值; 字符串检测单元,其根据得到与由所述确定单元确定的极小值相当的累计值的线段, 按照每行检测所述图像中的字符串;以及 字符识别单元,其对于由所述字符串检测单元检测出的每个字符串独立地切取出包含 于该字符串中的字符,并执行与所述模型的核对处理。
【文档编号】G06K9/20GK104094281SQ201280069050
【公开日】2014年10月8日 申请日期:2012年11月28日 优先权日:2012年3月5日
【发明者】藤枝紫朗 申请人:欧姆龙 株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1