JP5744806B2 - 文字認識装置、プログラム、及び方法 - Google Patents

文字認識装置、プログラム、及び方法 Download PDF

Info

Publication number
JP5744806B2
JP5744806B2 JP2012188978A JP2012188978A JP5744806B2 JP 5744806 B2 JP5744806 B2 JP 5744806B2 JP 2012188978 A JP2012188978 A JP 2012188978A JP 2012188978 A JP2012188978 A JP 2012188978A JP 5744806 B2 JP5744806 B2 JP 5744806B2
Authority
JP
Japan
Prior art keywords
image
character recognition
area
ruled line
definition
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.)
Active
Application number
JP2012188978A
Other languages
English (en)
Other versions
JP2014048731A (ja
Inventor
昌昭 小澤
昌昭 小澤
勝利 小原
勝利 小原
浩一 金元
浩一 金元
中村 一夫
一夫 中村
亮 高田
亮 高田
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.)
Fujitsu Frontech Ltd
Original Assignee
Fujitsu Frontech Ltd
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 Fujitsu Frontech Ltd filed Critical Fujitsu Frontech Ltd
Priority to JP2012188978A priority Critical patent/JP5744806B2/ja
Publication of JP2014048731A publication Critical patent/JP2014048731A/ja
Application granted granted Critical
Publication of JP5744806B2 publication Critical patent/JP5744806B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

いくつかの実施形態は、文字認識装置、プログラム、及び方法に関する。
例えば、銀行、コンビニエンスストアなどの組織では様々な事務手続きが帳票を介して行われている。なお、帳票とは、例えば、金銭の収支や物品の出入り、その他事務処理を行う上で必要となる帳面、帳簿、伝票類などの総称であり、帳票には、例えば、元帳、現金出納帳、入・出金伝票、納品伝票、出庫伝票などの様々な種類の帳票が含まれる。
このような帳票をスキャナなどで読み取って画像化し、その画像をOCR(光学式文字認識)にかけるなどして、帳票の記入枠に記入された文字列を電子化することがしばしば行われている。図1A〜Cは、帳票1に記入されている情報の読み取りについて例示する図である。図1Aには、スキャナなどにより読み取られた帳票1の画像が画像2内に含まれており、銀行などで用いられる振込依頼書(銀行入金明細票)が帳票1として例示されている。なお、以下の説明では、例えば紙などに印字して作成された実際の帳票を帳票1として参照し、一方、帳票1をスキャナなどで読み取った画像2中に含まれている帳票1の画像を帳票画像10として参照する。
図1Bは、定義体3に含まれる情報に基づいて、文字認識を行う領域である定義領域4を帳票画像10に配置した状態を例示する図である。帳票1の文字認識処理では、帳票1の罫線の情報や帳票を特定する帳票IDなどに基づいて、帳票1が特定される。そして、特定された帳票1に対応する定義体3が選択され、定義体3に従って、文字認識に不要な記入枠やプレプリント文字が領域内に含まれないようにして定義領域4が帳票画像10に配置される(図1B)。なお、定義体3とは、例えば文字認識を行う対象である帳票1において、文字認識を行う領域(定義領域4)の位置、属性、及び文字認識を行う対象の帳票1の罫線の位置などの情報を含む情報である。定義領域4を配置した後、文字認識処理が定義領域4の枠内に実行され、文字列の読み取りが行われる。図1Cは、帳票画像10の文字認識処理の結果を例示する図である。図示されるように、定義体3の情報に基づいて、例えば、銀行名、支店名、及び科目等の項目には、それと対応付けられている定義領域4で読み取られた文字列が格納されている。このように定義体3の情報に基づいて文字認識処理が実行され、帳票1に記入されているデータが電子化される。
以上のような帳票1の情報を読み取る際に、スキャナなどで読み取った画像2において帳票画像10が傾いていることがある。例えば、図2は、読み取られた画像2において帳票画像10の全体が時計回りの方向に少し傾いている場合を例示している。このような読み取られた画像2において帳票画像10の全体が一様に傾いている場合には、例えば、画像2の全体を例えば反時計回り方向に回転させることで、定義体3の定義領域4を帳票画像10の記入欄に配置することができる。
これらの帳票1の文字認識に関し、搬送されてくる帳票の傾きが一定でない場合であっても精度よく文字を切り出す技術が知られている。
また、帳票をマットにセットし、上部からセンサ部でイメージを読み取る非接触スキャナ装置を用いた帳票画像の歪みを判別する技術が知られている。
また更に、用紙コーナーが変形していた場合にも正確に傾きを検出することができて、しかもデータ処理量の低減を実現する技術が知られている。
また更に、OCR装置における文字切出しの前処理として、画像メモリ上の帳票画像の傾き角を高速に求めることが可能な方法を提供する技術が知られている。
特開平6−301816号公報 特開2007−272572号公報 特開2002−199179号公報 特開平7−334618号公報
しかしながら、画像2において帳票画像10の一部分が傾いてしまった場合には、文字認識をうまく行えない場合がある。本発明に係るいくつかの実施形態においては帳票画像10の一部分が傾いてしまった場合にも帳票1の文字認識率を向上させることを目的とする。
本発明の一つの態様の文字認識装置は、帳票において文字認識を行う領域の位置情報を含む定義体を記憶する記憶部と、帳票の画像を取得する取得部と、定義体を帳票の画像に配置する配置部と、取得部が取得した画像に表されている帳票が折れ曲がっているか否かを判定する判定部と、帳票が折れ曲がっていると判定された場合に、取得部が取得した帳票の画像上で、画像に含まれている罫線の像における折れ曲がりの位置を特定する特定部と、文字認識を行う領域を、取得部が取得した帳票の画像上において特定部が特定した折れ曲がりの位置を中心として回転させて補正する補正部と、取得部が取得した画像における補正部による補正後の領域に対して文字認識処理を施す文字認識処理部と、を備える。
上述の態様により、帳票1の一部分が傾いてしまった場合にも帳票1の文字認識率を向上させることができる。
帳票に記入されている情報の読み取りについて例示する図である。 帳票に記入されている情報の読み取りについて例示する図である。 帳票に記入されている情報の読み取りについて例示する図である。 読み取られた画像において帳票画像の全体が傾いている場合を例示する図である。 帳帳票の一部分が浮きあがった状態で撮像された画像に文字認識処理を実行する例を示す図である。 帳票の一部分が浮きあがった状態で撮像された画像に文字認識処理を実行する例を示す図である。 帳票の一部分が浮きあがった状態で撮像された画像に文字認識処理を実行する例を示す図である。 一部分が傾いている帳票画像に対して実行される従来の文字認識処理を例示する図である。 いくつかの実施形態に係る定義体の定義領域の補正を用いた文字認識処理を例示する図である。 いくつかの実施形態に係る定義体の定義領域の補正を用いて文字認識処理を実行する文字認識装置の機能ブロック構成を例示する図である。 第1の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。 第1の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。 第1の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。 第1の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。 第1の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。 第1の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。 第1の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。 第1の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。 第1の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。 第1の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。 第1の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。 第1の実施形態に係る定義領域の補正を行う文字認識処理の動作フローを例示する図である。 第1の実施形態に係る定義領域の補正を行う文字認識処理の動作フローを例示する図である。 第1の実施形態に係る帳票の縦方向に折れ目が入った場合における帳票内での定義領域の位置と選択される罫線の像との関係を例示する図である。 第1の実施形態に係る帳票の縦方向に折れ目が入った場合における帳票内での定義領域の位置と選択される罫線の像との関係を例示する図である。 第2の実施形態に係る定義領域の補正を説明する図である。 第2の実施形態に係る定義領域の補正を説明する図である。 第2の実施形態に係る定義領域の補正を説明する図である。 第2の実施形態に係る定義領域の補正を説明する図である。 第2の実施形態に係る定義領域の補正を行う文字認識処理の動作フローを例示する図である。 第2の実施形態に係る定義領域の補正を行う文字認識処理の動作フローを例示する図である。 第2の実施形態に係る帳票の縦方向に折れ目が入った場合における帳票内での定義領域の位置と選択される罫線の像との関係を例示する図である。 第2の実施形態に係る帳票の縦方向に折れ目が入った場合における帳票内での定義領域の位置と選択される罫線の像との関係を例示する図である。 第3の実施形態に係る定義領域の補正を説明する図である。 第3の実施形態に係る定義領域の補正を説明する図である。 第3の実施形態に係る定義領域の補正を説明する図である。 第3の実施形態に係る定義領域の補正を説明する図である。 第3の実施形態に係る定義領域の補正を説明する図である。 第3の実施形態に係る定義領域の補正を行う文字認識処理の動作フローを例示する図である。 第3の実施形態に係る定義領域の補正を行う文字認識処理の動作フローを例示する図である。 第3の実施形態に係る帳票の斜め方向に折れ目が入った場合における、帳票内での定義領域の位置と選択される縦方向と横方向の2つの罫線の像との関係を例示する図である。 第3の実施形態に係る帳票の斜め方向に折れ目が入った場合における、帳票内での定義領域の位置と選択される縦方向と横方向の2つの罫線の像との関係を例示する図である。 文字認識を行なう前の追加の補正処理を例示する図である。 文字認識を行なう前の追加の補正処理を例示する図である。 いくつかの実施形態に係る、文字認識装置を実現するためのコンピュータのハードウェア構成を例示する図である。 いくつかの実施形態に係る文字認識装置が運用されるシステム構成を例示する図である。
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付した。
図3Aから図3Cは、帳票1の一部分が浮きあがった状態で撮像された画像2に文字認識処理を実行する例を示す図である。図3Aは、帳票1の一部分が浮き上がった状態で撮像された画像2を例示する図である。例えば、スキャナなどを用いて撮像を行う際に帳票1が部分的に浮き上がってしまうことがある。特に、帳票1とカメラ等の撮像装置とが非接触な状態でスキャンを行う非接触型のスキャナを用いる場合には帳票1が部分的に浮き上がってしまうことが起こり易い。そして、帳票1の一部が浮き上がった状態で撮像が行われた場合、その浮き上がりに起因して撮像された画像2において帳票画像10の一部分が傾いてしまう(図3Aの点線枠5)。このような撮像された画像2中の帳票画像10の部分的な傾きは、その後の文字認識に悪影響を与える可能性がある。
図3Bは、帳票1の一部が浮きあがった状態で撮像された画像2中の帳票画像10に定義体3を配置した状態を例示している。図示されるように、帳票画像10において、浮き上がりにより傾いてしまっている部分(例えば、図3Bの「金額」の欄)では、認識すべき領域が傾いており、それによって、認識すべき文字列の一部分が定義領域4から外れていたり、或いは、定義領域4内に帳票1の罫線の像が含まれてしまっている。例えば、この様な状態で、文字認識を実行した場合、定義領域4から外れてしまっている文字列は正しく認識できない。或いは、文字認識処理により文字認識すべき対象ではない罫線の像等が定義領域4に含まれてしまった状態で文字認識を実行すると、その罫線の像等を文字認識すべき文字列の一部として認識してしまうため、正しく文字を認識できない。図3Bには、文字認識処理の結果、文字として認識された領域を示す文字認識結果領域6が示されており、帳票画像10の左側の浮き上っていない状態で撮像されている領域では、帳票1に記入されている文字は1文字ごとに文字認識結果領域6として認識されている。しかしながら、帳票画像10の右側の浮き上った状態で撮像されている領域では、文字認識結果領域6に複数の文字列が含まれていたり、罫線の像が含まれていたりし、帳票1に記入されている文字列を正しく認識できていない。
図3Cは、図3Bにおいて文字認識処理を実行した結果を例示する図である。図3Bにおいて、例えば、「受取人名」の欄は、帳票画像10において帳票1の浮き上がりに起因して定義領域4内に罫線の像7が含まれてしまっている(図3B)。そのため、定義領域4内の罫線の像7が、文字列として認識されており文字認識結果領域6で囲われている。その結果、文字認識処理では、定義領域4内に含まれてしまった罫線の像7に対応する文字列を認識できず、文字認識できなかったことを示す「?」が図3Cの「受取人名」の欄に格納されている。また、図3Bの「金額」の欄では、文字認識すべき文字列が定義領域4からはみ出していたり、及び、罫線の像7が定義領域4に含まれてしまっている。その結果、文字認識処理では、文字認識結果領域6に複数の文字列や罫線の像7が含まれており、文字を正しく認識できていない。結果として、図3Cの「金額」の欄には、文字認識できなかったことを示す「?」が格納されている。
この様に、帳票1の浮き上がりにより一部分が傾いてしまっている帳票画像10に対して文字認識処理を実行する場合、文字認識に失敗してしまうことがある。或いは、帳票1の浮き上がりにより一部分が傾いてしまっている帳票画像10では、予め定義した定義体3から外れるため文字認識が行われずリジェクトされてしまうことがある。そして、文字認識に失敗した場合又は文字認識が実行されずにリジェクトされる場合には、認識されなかった文字列は、ユーザが帳票1の記入欄を見ながら手入力しなければならず、そのため、ユーザに負荷がかかっている。
そこで、本発明に係るいくつかの実施形態では、帳票1の浮き上がりにより、一部分が傾いてしまっている帳票画像10の文字認識の際に、定義体3の定義領域4を補正する。図4Aは、一部分が傾いている帳票画像10に対して実行される従来の文字認識処理を例示している。一方、図4Bは、いくつかの実施形態にかかる定義体3の定義領域4の補正を用いた文字認識処理を例示する図である。図4Aの従来の文字認識処理では、定義体3の定義領域4から認識対象の文字列である「100,000,000」の末尾が定義領域4からはみだしており(図4の部分8)、また、定義領域4内に罫線の像7が含まれてしまっている。そのため、図4Aに示す例では、文字認識処理の結果、1つの文字として認識された領域を示す文字認識結果領域6に罫線の像7と、認識対象の文字列の末尾の「,000」が含まれており、1つの文字列として認識されてしまっている。そのため、認識対象の文字列を正しく認識できない。
一方、図4Bのいくつかの実施形態に係る定義体3の定義領域4の補正を用いた文字認識処理では、定義領域4の位置及び形状が、帳票画像10の部分的な傾きに応じて補正されている。そのため、定義領域4内に認識対象の文字列である「100,000,000」がすべて収まっており、また、文字認識処理に悪影響を及ぼす罫線の像7等の不要な領域が定義領域4に含まれていない。そのため、図4Bに示す例では、文字認識処理により認識対象の文字列のそれぞれの文字が文字認識結果領域6により囲まれており、認識対象の文字列が正しく認識できている。この様に、いくつかの実施形態によれば、帳票1の部分的な浮き上がりに起因して、帳票画像10の一部分が傾いてしまったとしても、定義体3の定義領域4が補正されるため文字認識率を向上させることができる。
図5は、いくつかの実施形態に係る定義体3の定義領域4の補正を用いて文字認識処理を実行する文字認識装置100の機能ブロック構成を例示する図である。文字認識装置100は、例えば、制御部500及び記憶部510を含んでいる。制御部500は、例えば取得部511、配置部512、判定部513、特定部514、算出部515、補正部516、及び文字認識処理部517などの機能部501を含んでいる。文字認識装置100の記憶部510は、例えば、プログラム520、並びに定義体3、及び罫線選択情報800,1100,1400などの情報530を記憶している。文字認識装置100の制御部500は、プログラム520を読み出して実行することで例えば取得部511、配置部512、判定部513、特定部514、算出部515、補正部516、及び文字認識処理部517などの機能部501として機能する。これらの各機能部501の詳細及び記憶部510に格納されている情報530の詳細については後述する。
以下、図6A〜K並びに図7A〜Bを参照して、第1の実施形態に係る定義領域4の補正を用いた文字認識処理を説明する。第1の実施形態では、帳票1に縦に折れ目が入り、一部分が浮いてしまった状態で撮像された画像2の帳票画像10の文字認識において、定義体3の定義領域4の補正を行う例を説明する。
図6Aから図6Kは、第1の実施形態に係る定義領域4の補正を用いた文字認識処理を説明する図である。図6Aは、帳票1をスキャナなどで読み取って得られた画像2を例示する図である。図6Aに例示すように、帳票1に縦に折れ目が入り、一部分が浮いてしまった状態で画像2は撮像されており、帳票画像10の右端が傾いている。例えば、図6Aに示されるような一部分が傾いた帳票画像10に対し、文字認識装置100の制御部500は文字認識処理を実行する。まず、制御部500は、帳票1の罫線に当たる罫線の像7を帳票画像10から抽出する。この罫線の像7の抽出は、例えば、既知の手法を用いて実行することが可能である。一実施形態においては、罫線の像7の抽出は、画像2から黒色のドットが連続している所定の長さの線を抽出し、その線が、抽出された別な線と繋がる場合に、罫線の像7とすることで抽出されてもよい。図6Bは、図6Aの帳票画像10における罫線の像7の抽出を例示する図であり、太線は罫線の像7として抽出された線を示している。
続いて、第1の実施形態では制御部500は、抽出された罫線の像7に合わせて定義体3の例えばサイズ及び向きなどを調整し、帳票画像10に定義体3を配置する。図6Cは、罫線の像7に基づいて、帳票画像10に定義体3の定義領域4を配置した状態を例示する図である。図示されるように、第1の実施形態では、帳票画像10の右側の領域は傾いているため、定義領域4の位置にズレが生じている。なお、図6Cに示す例では、例示のためにいくつかの定義領域4を配置する例を示したが、定義領域4は実際にはより多い数、例えば全ての記入欄毎に配置されていてもよい。或いは、より少ない数の定義領域4が帳票画像10に配置されてもよい。
続いて、第1の実施形態では制御部500は、帳票画像10の外周9を抽出する。図6Dは、帳票画像10の外周9の抽出を例示する図である。図6Dの例では、抽出された外周9が示されている。なお、帳票画像10の外周9の抽出は、例えば、スキャンの際に帳票1を乗せる台の色を黒等にし、白色の紙に印字された帳票1をスキャンするというように、例えばスキャン対象と背景となる台等との間の色差が大きくなるように構成し、スキャンされた画像2の淵から内側へ向かって黒色から白色へと変化する境界のドットを抽出することで行われてもよい。或いは、帳票画像10の外周9は、その他の既知の手法により抽出されてもよい。
帳票画像10の外周9を抽出後、制御部500は、帳票画像10の上辺及び下辺に折れ曲がり11があるか否かを判定し、折れ曲がり11が有る場合には、帳票画像10の上辺及び下辺での折れ曲がり11の位置を特定する。折れ曲がり11の位置の特定は、例えば、帳票画像10の上辺及び下辺上で直線性が失われる点の位置を特定することで行われてもよい。折れ曲がり11の位置を特定すると、制御部500は帳票画像10の上辺及び下辺の2つの折れ曲がり11の位置を結ぶ線分12を特定する。図6Eは、帳票画像10の上辺及び下辺における折れ曲がり11の特定と、折れ曲がり11を結ぶ線分12の特定を例示する図である。図示されるように、線分12を境に帳票画像10の右側の領域は傾いている。
続いて、制御部500は、帳票1における定義領域4の位置に応じて、定義領域4に近接する(例えば隣り合う)横方向の罫線の像7を選択する。そして、定義体3の横方向(図6Fの矢印15)に対して、選択した罫線の像7が成す角度13を算出する。なお、定義体3の縦方向及び横方向とは、定義体3を帳票1に合わせた際の帳票1の縦及び横方向とそれぞれ一致する方向であってよい。例えば、定義体3の縦方向及び横方向は、定義体3に位置情報が定義されている帳票1の縦及び横の罫線の向きとそれぞれ一致する方向であってもよい。或いは、定義体3の縦及び横方向は、定義体3に位置情報が定義されている定義領域4の縦及び横方向の辺とそれぞれ一致する方向であってもよい。また、制御部500は、選択した罫線の像7と、線分12との交点14をその罫線の像7の折れ曲がり位置として特定する。図6Fは、定義領域4の補正のための交点14及び角度13の特定を説明する図である。図6Fは、図6Aから図6Eにおいて例示した帳票画像10の「金額」の欄の周辺を拡大しており、定義領域4の直近上側の罫線の像7と、線分12との交点14が例示されている。また、定義体3の横方向(図6Fの矢印15)に対して、定義領域4の直近上側の罫線の像7が成す角度13を例示している。
続いて、図6Gに示すように、制御部500は、交点14を中心として、角度13で定義領域4を回転させて補正する。そして、図6Hに示すように、回転した定義領域4の縦方向の辺の向きを、最も近い縦方向の罫線の像7の向きと同じ方向になるように補正する。続いて、制御部500は、補正後の定義領域4内の領域を、画像2から切り出し(図6I)、切り出した画像を2値化した後(図6J)、2値化した画像に対して文字認識処理を実行する(図6K)。そのため、図6Kに例示するように、帳票画像10の右側の傾いている領域においても文字認識処理で正しく文字を認識することができる。
以上で述べたように、第1の実施形態によれば、帳票1に縦に折れ目が入り帳票画像10の一部分が傾いてしまっている場合においても、その傾きに起因する定義領域4のズレが補正される。そのため、定義領域4内に例えば罫線の像7などの文字認識に悪影響を及ぼす領域を含まずに文字認識を実行することができる。従って、文字認識の精度を向上させることができる。
以上の図6A〜図6Kを参照して述べた処理の動作フローを、図7A〜Bを参照して説明する。図7A〜Bは、第1の実施形態に係る帳票1に縦に折れ目が入り、帳票1の一部分が浮いてしまった状態で撮像された画像2の文字認識の際に定義領域4の補正を行う文字認識処理の動作フローを例示する図である。図7A〜Bの動作フローは、例えば、文字認識装置100の制御部500が記憶部510に格納されているプログラム520を読み出して実行することで実施される。一実施形態においては、文字認識装置100に文字認識処理の実行指示が入力されると図7A〜Bの動作フローは開始する。
ステップS701において、文字認識装置100の制御部500は、帳票1を撮像した画像2を取得する。ステップS702において、文字認識装置100の制御部500は、画像2内の帳票画像10から罫線の像7を抽出する。ステップS703において、制御部500は罫線の像7に合わせて、定義体3の例えばサイズ及び向きなどを調整し、帳票画像10に定義体3を配置する。続いてステップS704において、制御部500は帳票画像10の外周9を抽出する。
ステップS705において、制御部500は、抽出された外周9の形状に基づいて、帳票画像10の各辺において直線性がなくなる箇所を折れ曲がり11として特定し、特定された折れ曲がり11を結ぶ線分12を特定する。ステップS706において、制御部500は、折れ曲がり11が帳票画像10の上辺及び下辺の両方に存在するか否かを判定する。上述したように第1の実施形態では、帳票1の縦に折れ目が入り、帳票1の一部が浮いてしまった場合の定義領域4の補正を例示している。そのため、ステップS706において、帳票画像10の上辺及び下辺の両方に折れ曲がり11が存在しない場合には(ステップS706がNo)、本動作フローは終了する。一方、帳票画像10の上辺及び下辺の両方に折れ曲がり11が存在する場合には(ステップS706がYes)、フローはステップS707へと進む。
ステップS707からステップS715までの処理は帳票1に対する定義体3に含まれる定義領域4毎に繰り返される繰り返し処理である。ステップS707において、繰り返しの度に、制御部500は、定義体3のうちから定義領域4を一つずつ選択し、選択された定義領域4に対してステップS708からステップS715までの処理を実行する。ステップS708において、制御部500は、選択された定義領域4に近接する(例えば隣り合う)横方向の罫線の像7を選択する。一実施形態においては、制御部500は、選択された定義領域4の帳票1における位置に基づいて、罫線の像7を選択してもよい。図8A及び図8Bは、第1の実施形態に係る帳票1の縦方向に折れ目が入った場合における帳票1内での定義領域4の位置と、選択される罫線の像7との関係を例示する図である。
図8Aは、帳票1内での領域を表しており、帳票1は、左上の領域(図8Aの(1))、右上の領域(図8Aの(2))、左下の領域(図8Aの(3))、及び右下の領域(図8Aの(4))の4つの領域に区切られている。また、図8Bは、帳票1内で定義領域4が図8Aのいずれの領域に配置されているかと、それに応じた選択する罫線の像7との関係を示す罫線選択情報800を例示する図である。なお、罫線選択情報800は、例えば文字認識装置100の記憶部510に格納されている。図8A及び図8Bに示す例では、定義領域4が帳票1の左上の領域(図8Aの(1))及びに右上の領域(図8Aの(2))に配置されている場合には、定義領域4の直近上側にある罫線の像7を選択する。一方、定義領域4が帳票1の左下の領域(図8Aの(3))及びに右下の領域(図8Aの(4))に配置されている場合には、定義領域4の直近下側にある罫線の像7を選択する。
続いて、制御部500は、ステップS709において、選択した罫線の像7と、線分12との交点14を罫線の像7の折れ曲がりの位置として特定する。ステップS710において、制御部500は、ステップS703において帳票画像10に配置した定義体3の横方向に対して、選択した罫線の像7が成す角度13を算出する。例えば、角度13は、定義体3に位置情報が含まれている帳票1の横方向の罫線と、選択した罫線の像7とが成す角度13として算出されてもよい。或いは、この角度は、定義体3に位置情報が含まれている定義領域4の横方向の辺と、選択した罫線の像7とが成す角度13として算出されてもよい。
制御部500は、ステップS711において、算出した角度13で、交点14を中心として、ステップS707で選択した定義領域4を回転させ補正する。ステップS712において、制御部500は、定義領域4に直近の縦方向の罫線の像7の向きに、定義領域4の縦の辺の向きを合わせるように補正する。ステップS713において、制御部500は、補正後の定義領域4の枠内を画像2から切り出して2値化し、ステップS714において、切り出して2値化した領域に対して文字認識処理を実行する。ステップS715において、制御部500は、帳票1に対して定義されている定義体3に含まれる全ての定義領域4について、ステップS707〜ステップS715の処理が完了しているか否かを判定し、完了していない場合には、フローはステップS707へと戻る。一方、帳票1に対して定義されている定義体3内の全ての定義領域4について、ステップS707〜ステップS715の処理が完了している場合には、本動作フローは終了する。
以上で述べた、図7A〜Bの動作フローにより、帳票1に縦方向に折れ目が入った状態でスキャナ等により読み取りが行われて得られた画像2において文字認識を行う対象の帳票画像10の一部分が傾いていたとする。この場合にも、定義領域4を補正して文字認識処理を行うため、正しく文字を認識することができる。なお、帳票1に縦方向に折れ目が入る場合、帳票1の折れ目の影響による帳票画像10の傾きは、例えば、図6Aに示されるように、縦方向の罫線の像7よりも、横方向の罫線の像7をより大きな角度で傾かせやすい。そのため、第1の実施形態では、先に横方向の罫線の像7の傾きに合わせて定義領域4を補正するように構成している。
以上の図7A〜Bの動作フローにおいて、ステップS701の処理では、文字認識装置100の制御部500は取得部511として機能する。ステップS702からステップS703までの処理では、文字認識装置100の制御部500は配置部512として機能する。ステップS704からステップS706までの処理では、文字認識装置100の制御部500は判定部513として機能する。ステップS707からステップS709までの処理では、文字認識装置100の制御部500は、特定部514として機能する。ステップS710の処理において、文字認識装置100の制御部500は算出部515として機能する。ステップS711からステップS712までの処理において、文字認識装置100の制御部500は、補正部516として機能する。ステップS713からステップS714までの処理において、文字認識装置100の制御部500は、文字認識処理部517として機能する。
続いて、図9から図11を参照して、第2の実施形態に係る定義領域4の補正を用いた文字認識処理を説明する。第2の実施形態では、帳票1に横に折れ目が入り、一部分が浮いてしまった状態で撮像された画像2の帳票画像10の文字認識において、定義体3の定義領域4の補正を行う例を説明する。
図9Aから図9Dは、第2の実施形態に係る定義領域4の補正を説明する図である。図9Aは、帳票1をスキャナなどで読み取って得られた画像2の帳票画像10から折れ曲がり11の位置を特定し、折れ曲がり11を結ぶ線分12を特定した状態を示している。折れ曲がり11の位置を特定及び線分12の特定は、第1の実施形態で述べたのと類似する手法を用いて実施されてもよい。即ち、画像2から帳票画像10の外周9を抽出し、帳票画像10の左辺及び右辺に折れ曲がり11があるか否かを判定する。そして、折れ曲がり11が有る場合には、帳票画像10の折れ曲がり11の位置を特定する。折れ曲がり11の位置の特定は、例えば、帳票画像10の各辺で直線性が失われる点の位置を特定することで行われてもよい。例えば、この様にして折れ曲がり11の位置を特定すると、制御部500は、特定した折れ曲がり11を結ぶ線分12を特定する。なお、第2の実施形態においては、帳票1に横に折れ目が入る場合を例示しているため、図9Aに示されるように、折れ曲がり11の位置は帳票画像10の左辺及び右辺に存在している。
続いて、制御部500は、線分12を特定したあと、帳票1における定義領域4の位置に応じて、近傍にある(例えば隣り合う)縦方向の罫線の像7を選択する。そして、定義体3の縦方向(図9Bの矢印20)に対して、選択した罫線の像7が成す角度13を算出する。なお、定義体3の縦方向及び横方向とは、定義体3を帳票1に合わせた際の帳票1の縦及び横方向とそれぞれ一致する方向であってよい。例えば、定義体3の縦方向及び横方向は、定義体3に位置情報が定義されている帳票1の縦及び横の罫線の向きとそれぞれ一致する方向であってもよい。或いは、定義体3の縦及び横方向は、定義体3に位置情報が定義されている定義領域4の縦及び横方向の辺とそれぞれ一致する方向であってもよい。また、制御部500は選択した罫線の像7と、線分12との交点14をその罫線の像7の折れ曲がり位置として特定する。図9Bは、定義領域4の補正のための交点14及び角度13の特定を説明する図である。図9Bでは、図9Aにおいて例示した帳票画像10の「金額」の欄の線分12直下周辺を拡大しており、定義領域4の直近右側の罫線の像7と、線分12との交点14が例示されている。また、定義体3によって位置情報が示されている罫線の縦方向(図9Bの矢印20)に対して、定義領域4の直近右側の罫線の像7が成す角度13が例示されている。
続いて、図9Cに示すように、制御部500は、交点14を中心として、角度13で定義領域4を回転させて補正する。そして、図9Dに示すように、回転した定義領域4の横方向の辺の向きを、最も近い横方向の罫線の像7の向きと同じ方向になるように補正する。なお、図9C及び図9Dでは、補正前の定義領域4の位置を点線の矩形枠17で示す。図9C及び図9Dで述べた補正により、帳票1に横の折れ目が入り帳票画像10の一部分が傾いてしまっている場合においても、その傾きに起因する定義領域4のズレが補正される。そのため、定義領域4内に例えば罫線の像7などの文字認識に悪影響を及ぼす領域を含まずに文字認識を実行することができる。従って、文字認識の精度を向上させることができる。
以上の図9A〜図9Dを参照して述べた補正処理を含む第2の実施形態に係る文字認識処理の動作フローを、図10A〜Bを参照して説明する。図10A〜Bは、第2の実施形態に係る帳票1に横に折れ目が入り、帳票1の一部分が浮いてしまった状態で撮像された画像2の文字認識の際に定義領域4の補正を行う文字認識処理の動作フローを例示する図である。図10A〜Bの動作フローは、例えば、文字認識装置100の制御部500が記憶部510に格納されているプログラム520を読み出して実行することで実施される。一実施形態においては、文字認識装置100に文字認識処理の実行指示が入力されると図10A〜Bの動作フローは開始する。
ステップS1001において、文字認識装置100の制御部500は、帳票1を撮像した画像2を取得する。ステップS1002において、文字認識装置100の制御部500は、画像2内の帳票画像10から罫線の像7を抽出する。ステップS1003において、制御部500は罫線の像7に合わせて定義体3の例えばサイズ及び向きなどを調整し、帳票画像10に定義体3を配置する。続いてステップS1004において、制御部500は帳票画像10の外周9を抽出する。
ステップS1005において、制御部500は、抽出された外周9の形状に基づいて、帳票画像10の各辺において直線性がなくなる箇所を折れ曲がり11の位置として特定し、特定された折れ曲がり11を結ぶ線分12を特定する。ステップS1006において、制御部500は、折れ曲がり11が帳票画像10の左辺及び右辺の両方に存在するか否かを判定する。上述したように第2の実施形態では、帳票1の横方向に折れ目が入り、帳票1の一部が浮いてしまった場合の定義領域4の補正を例示している。そのため、ステップS1006において、帳票画像10の左辺及び右辺の両方に折れ曲がり11が存在しない場合には(ステップS1006がNo)、本動作フローは終了する。一方、帳票画像10の左辺及び右辺の両方に折れ曲がり11が存在する場合には(ステップS1006がYes)、フローはステップS1007へと進む。
ステップS1007からステップS1015までの処理は帳票1に対する定義体3に含まれる定義領域4毎に繰り返される繰り返し処理である。ステップS1007において、繰り返しの度に、制御部500は、定義体3のうちから定義領域4を一つずつ選択し、選択された定義領域4に対してステップS1008からステップS1015までの処理を実行する。ステップS1008において、制御部500は、選択された定義領域4の近接する(例えば隣り合う)縦方向の罫線の像7を選択する。一実施形態においては、制御部500は、選択された定義領域4の帳票1における位置に基づいて、罫線の像7を選択してもよい。図11A及び図11Bは、第2の実施形態に係る帳票1の縦方向に折れ目が入った場合における帳票1内での定義領域4の位置と、選択される罫線の像7との関係を例示する図である。
図11Aは、帳票1内での領域を表しており、帳票1は、左上の領域(図11Aの(1))、右上の領域(図11Aの(2))、左下の領域(図11Aの(3))、及び右下の領域(図11Aの(4))の4つの領域に区切られている。また、図11Bは、帳票1内で定義領域4が図11Aのいずれの領域に配置されているかと、それに応じた選択する罫線の像7との関係を示す罫線選択情報1100を例示する図である。なお、罫線選択情報1100は、例えば文字認識装置100の記憶部510に格納されている。図11A及び図11Bに示す例では、定義領域4が帳票1の左上の領域(図11Aの(1))及びに左下の領域(図11Aの(3))に配置されている場合には、定義領域4の直近左側にある罫線の像7を選択する(図11B)。一方、定義領域4が帳票1の右上の領域(図11Aの(2))及びに右下の領域(図11Aの(4))に配置されている場合には、定義領域4の直近右側にある罫線の像7を選択する(図11B)。
続いて、制御部500は、ステップS1009において、選択した罫線の像7と、線分12との交点14を罫線の像7の折れ曲がりの位置として特定する。ステップS1010において、制御部500は、ステップS1003で帳票画像10に配置した定義体3の縦方向に対して、選択した罫線の像7が成す角度13を算出する。例えば、角度13は、定義体3に示される帳票1の縦方向の罫線と、選択した罫線の像7とが成す角度13として算出されてもよい。或いは、この角度は、定義体3に示される定義領域4の縦方向の辺と、選択した罫線の像7とが成す角度13として算出されてもよい。
制御部500は、ステップS1011において、算出した角度13で、交点14を中心として、ステップS1007で選択した定義領域4を回転させ補正する。ステップS1012において、制御部500は、定義領域4に直近の横方向の罫線の像7の向きに、定義領域4の横の辺の向きを合わせて補正する。ステップS1013において、制御部500は、補正後の定義領域4の枠内を画像2から切り出して2値化し、ステップS1014において、切り出して2値化した領域に対して文字認識処理を実行する。ステップS1015において、制御部500は、帳票1に対して定義されている定義体3に含まれる全ての定義領域4について、ステップS1007〜ステップS1015の処理が完了しているか否かを判定し、完了していない場合には、フローはステップS1007へと戻る。一方、帳票1に対して定義されている定義体3内の全ての定義領域4について、ステップS1007〜ステップS1015の処理が完了している場合には、本動作フローは終了する。
以上で述べた、図11の動作フローにより、帳票1に横方向に折れ目が入った状態でスキャナ等により読み取りが行われ、得られた文字認識を行う対象の画像2において帳票画像10の一部分が傾いていたとする。この場合にも、定義領域4を補正して文字認識処理を行うため、正しく文字を認識することができる。なお、第2の実施形態において例示したように帳票1に横方向に折れ目が入る場合、帳票1の折れ目の影響による帳票画像10の傾きは、例えば、図9Aに例示されるように、横方向の罫線の像7よりも、縦方向の罫線の像7をより大きな角度で傾かせやすい。そのため、第2の実施形態では、先に縦方向の罫線の像7の傾きに合わせて定義領域4を補正するように構成している。
以上の図11の動作フローにおいて、ステップS1001の処理では、文字認識装置100の制御部500は取得部511として機能する。ステップS1002からステップS1003の処理では、文字認識装置100の制御部500は配置部512として機能する。ステップS1004からステップS1006までの処理では、文字認識装置100の制御部500は判定部513として機能する。ステップS1007からステップS1009までの処理では、文字認識装置100の制御部500は、特定部514として機能する。ステップS1010の処理において、文字認識装置100の制御部500は算出部515として機能する。ステップS1011からステップS1012までの処理において、文字認識装置100の制御部500は、補正部516として機能する。ステップS1013からステップS1014までの処理において、文字認識装置100の制御部500は、文字認識処理部517として機能する。
続いて、図12から図14を参照して、第3の実施形態に係る定義領域4の補正を用いた文字認識処理を説明する。第3の実施形態では、帳票1に斜めに折れ目が入り、一部分が浮いてしまった状態で撮像された画像2の帳票画像10の文字認識において、定義体3の定義領域4の補正を行う例を説明する。
図12Aから図12Eは、第3の実施形態に係る定義領域4の補正を説明する図である。図12Aは、帳票1をスキャナなどで読み取って得られた画像2の帳票画像10から折れ曲がり11の位置を特定し、折れ曲がり11を結ぶ線分12を特定した状態を示している。折れ曲がり11の位置の特定及び線分12の特定は、第1及び第2の実施形態で述べたのと類似する手法を用いて実施されてもよい。即ち、画像2から帳票画像10の外周9を抽出し、帳票画像10の上辺及び下辺のいずれか一方並びに左辺及び右辺のいずれか一方に折れ曲がり11が有る場合に、その帳票画像10の折れ曲がり11の位置を特定する。折れ曲がり11の位置の特定は、例えば、帳票画像10の各辺上で直線性が失われる点の位置を特定することで行われてもよい。例えば、この様にして折れ曲がり11の位置を特定すると、制御部500は、特定した折れ曲がり11を結ぶ線分12を特定する。なお、第3の実施形態においては、帳票1に斜めに折れ目が入る場合を例示しているため、折れ曲がり11は帳票画像10の上辺及び下辺のいずれか一方並びに左辺及び右辺のいずれか一方に存在する。図12Aの例では、帳票画像10の上辺と右辺に折れ曲がり11がある場合を例示している。
続いて、制御部500は、線分12を特定したあと、帳票1における定義領域4の近傍の縦方向の罫線の像7及び横方向の罫線の像7をそれぞれ選択する。図12Bは、図12Aにおいて例示した帳票画像10の「金額」の欄の周辺を拡大している。制御部500は、選択した縦方向の罫線の像7と、線分12との第1の交点30をその縦方向の罫線の像7の折れ曲がり位置として特定する。一方、選択した横方向の罫線の像7と、線分12との第2の交点32をその横方向の罫線の像7の折れ曲がり位置として特定する。そして、制御部500は、第1の交点30を中心として、定義体3の縦方向(図12Bの矢印20)に対して、選択した縦方向の罫線の像7が成す第1の角度31を算出する。また、第2の交点32を中心として、定義体3の横方向(図12Bの矢印15)に対して、選択した横方向の罫線の像7が成す第2の角度33を算出する。そして、算出した第1の角度31と第2の角度33とを比較し、より大きい角度を成した罫線の像7の軸を選択し、その軸方向の定義領域4の辺を先に補正する。即ち、例えば図12Bでは、第1の角度31の方が第2の角度33よりも大きな角度を有するため、罫線の像7の縦方向の軸を選択し、罫線の像7の縦方向の軸と対応する定義領域4の縦の辺に対して先に補正を行う。
制御部500は、図12Cに示すように、選択した縦方向の罫線の像7の交点である第1の交点30を中心として、第1の角度31で定義領域4を回転させて定義領域4の縦の辺のうち縦方向の罫線の像7に近い側の辺を補正する。続いて、図12Dに示すように、帳票画像10上の罫線の像7の横幅に合うように回転後の定義領域4の横幅を小さくし、定義領域4の縦の辺のうち選択した縦方向の罫線の像7に遠い側の辺を補正する。その後、図12Eに示すように、回転した定義領域4の横方向の辺の向きを、最も近い横方向の罫線の像7の方向と同じ方向になるように補正することで、選択しなかった罫線の像7の軸方向の定義領域4の辺の補正を行う。なお、図12Bから図12Eにおいては、補正前の定義領域4の位置を点線の矩形枠17で示している。図12Bから図12Eで述べた補正により、帳票1に斜めに折れ目が入り帳票画像10の一部分が傾いてしまっている場合においても、その傾きに起因する定義領域4のズレが補正される。そのため、定義領域4内に例えば罫線の像7などの文字認識に悪影響を及ぼす領域を含まずに、文字認識を実行することができる。従って、文字認識の精度を向上させることができる。
以上の図12A〜図12Eを参照して述べた補正処理を含む第3の実施形態に係る動作フローを、図13A〜Bを参照して説明する。図13A〜Bは、第3の実施形態に係る帳票1に斜めに折れ目が入り、帳票1の一部分が浮いてしまった状態で撮像された画像2の文字認識の際に定義領域4の補正を行う文字認識処理の動作フローを例示する図である。図13A〜Bの動作フローは、例えば、文字認識装置100の制御部500が記憶部510に格納されているプログラム520を読み出して実行することで実施される。一実施形態においては、文字認識装置100に文字認識処理の実行指示が入力されると図13A〜Bの動作フローは開始する。
ステップS1301において、文字認識装置100の制御部500は、帳票1を撮像した画像2を取得する。ステップS1302において、制御部500は、画像2内の帳票画像10から罫線の像7を抽出する。ステップS1303において、制御部500は罫線の像7に合わせて定義体3の例えばサイズ及び向きなどを調整し、帳票画像10に定義体3を配置する。続いてステップS1304において、制御部500は帳票画像10の外周9を抽出する。
ステップS1305において、制御部500は、抽出された外周9の形状に基づいて、帳票画像10の各辺において直線性がなくなる箇所を折れ曲がり11の位置として特定し、特定された折れ曲がり11を結ぶ線分12を特定する。ステップS1306において、制御部500は帳票画像10の折れ曲がり11が上辺又は下辺のいずれか一方、並びに左辺又は右辺のいずれか一方に存在するか否かを判定する。上述したように第3の実施形態では、帳票1の斜め方向に折れ目が入り、帳票1の一部が浮いてしまった場合の定義領域4の補正を例示している。そのため、ステップS1306において、帳票画像10の上辺又は下辺のいずれか一方、並びに左辺又は右辺のいずれか一方に折れ曲がり11が存在しない場合には(ステップS1306がNo)、本動作フローは終了する。一方、帳票画像10の上辺又は下辺のいずれか一方、並びに左辺又は右辺のいずれか一方に折れ曲がり11が存在する場合には(ステップS1306がYes)、フローはステップS1307へと進む。
ステップS1307からステップS1316までの処理は帳票1に対する定義体3に含まれる定義領域4毎に繰り返される繰り返し処理である。ステップS1307において、繰り返しの度に、制御部500は、定義体3のうちから定義領域4を一つずつ選択し、選択された定義領域4に対してステップS1308からステップS1316までの処理を実行する。ステップS1308において、制御部500は、選択された定義領域4に近接する(例えば隣り合う)縦方向と横方向の2つの罫線の像7を選択する。一実施形態においては、制御部500は、選択された定義領域4の帳票1における位置に基づいて、定義領域4と隣り合う縦方向と横方向の2つの罫線の像7を選択してもよい。図14A及び図14Bは、第3の実施形態に係る帳票1の斜め方向に折れ目が入った場合における、帳票1内での定義領域4の位置と、選択される縦方向と横方向の2つの罫線の像7との関係を例示する図である。
図14Aは、帳票1内での領域を表しており、帳票1は、左上の領域(図14Aの(1))、右上の領域(図14Aの(2))、左下の領域(図14Aの(3))、及び右下の領域(図14Aの(4))の4つの領域に区切られている。また、図14Bは、帳票1内で定義領域4が図14Aのいずれの領域に配置されているかと、それに応じた選択する縦方向と横方向の2つの罫線の像7との関係を示す罫線選択情報1400を例示する図である。なお、罫線選択情報1400は、例えば文字認識装置100の記憶部510に格納されている。図14A及び図14Bに示す例では、定義領域4が帳票1の左上の領域(図11Aの(1))に配置されている場合には、定義領域4の直近上側にある横方向の罫線の像7と、定義領域4の直近右側にある縦方向の罫線の像7とを選択する(図14B)。定義領域4が帳票1の右上の領域(図14Aの(2))に配置されている場合には、定義領域4の直近上側にある横方向の罫線の像7と、定義領域4の直近左側にある縦方向の罫線の像7とを選択する(図14B)。定義領域4が帳票1の左下の領域(図11Aの(3))に配置されている場合には、定義領域4の直近下側にある横方向の罫線の像7と、定義領域4の直近右側にある縦方向の罫線の像7とを選択する(図14B)。定義領域4が帳票1の右下の領域(図11Aの(4))に配置されている場合には、定義領域4の直近下側にある横方向の罫線の像7と、定義領域4の直近左側にある縦方向の罫線の像7とを選択する(図14B)。
続いて、制御部500は、ステップS1309において、選択した2つの罫線の像7と線分12との2つの交点を特定する。即ち、ステップS1308で選択した縦方向の罫線の像7と、線分12との第1の交点30と、ステップS1308で選択した横方向の罫線の像7と線分12との第2の交点32とを罫線の像7の折れ曲がりの位置としてそれぞれ特定する。ステップS1310において、制御部500は、ステップS1303で帳票画像10に配置した定義体3の縦方向に対して、縦方向の罫線の像7が成す第1の角度31と、定義体3の横方向に対して、横方向の罫線の像7が成す第2の角度33と、をそれぞれ算出する。なお、例えば、定義体3の縦方向及び横方向とは、例えば、定義体3を帳票1に合わせた際の帳票1の縦及び横方向とそれぞれ一致する方向であってもよい。例えば、定義体3の縦方向及び横方向は、定義体3に位置情報が定義されている帳票1の縦及び横の罫線の向きとそれぞれ一致する方向であってもよい。或いは、定義体3の縦及び横方向は、定義体3に位置情報が定義されている定義領域4の縦及び横方向の辺とそれぞれ一致する方向であってもよい。
続いて、ステップS1311において、制御部500は、算出した第1の角度31と第2の角度33とを比較し、より大きい角度を有する罫線の像7の軸を選択し、選択した罫線の像7の軸と対応する定義領域4の辺に対して先に補正を行う。即ち、例えば図12Bに示す例では、第1の角度31の方が第2の角度33よりも大きな角度を有するため、縦方向の罫線の像7の軸を選択し、縦方向の罫線の像7の軸と対応する定義領域4の縦の辺に対して先に補正を行う。なお、第2の角度33の方が第1の角度31よりも大きな角度を有する場合には、横方向の罫線の像7の軸と対応する定義領域4の横の辺に対して先に補正を行う。続いて、制御部500は、選択した罫線の像7の軸に存在する交点(例えば、図12Bの例では第1の交点30)を中心として、より大きい値を有した角度(例えば、図12Bの例では第1の角度31)で定義領域4を回転させて補正する。続いて、ステップS1312において、制御部500は、図12Dを参照して述べたように、定義領域4の辺のうちで、ステップS1312で回転し補正した辺と対をなす対向辺を、帳票画像10上の罫線の像7の幅に合わせて小さくするように補正する。ステップS1313において、制御部500は、ステップS1312及びステップS1313で補正した辺以外の定義領域4の残りの辺の向きを、直近の罫線の像7の向きに合わせて補正する。なお、定義領域4の残りの辺が定義領域4の横の辺である場合には、直近の横の罫線の像7の向きに合わせて補正を行い、一方、定義領域4の残りの辺が定義領域4の縦の辺である場合には、直近の縦の罫線の像7の向きに合わせて補正を行う。
続いて、ステップS1314において、制御部500は、補正後の定義領域4の枠内を画像2から切り出して2値化し、ステップS1315において、2値化した領域に対して文字認識処理を実行する。続いて、ステップS1316において、制御部500は、帳票1に対して定義されている定義体3内の全ての定義領域4について、ステップS1307〜ステップS1316の処理が完了しているか否かを判定し、完了していない場合には、フローはステップS1307へと戻る。一方、帳票1に対して定義されている定義体3内の全ての定義領域4について、ステップS1307〜ステップS1316の処理が完了している場合には、本動作フローは終了する。
以上で述べた、図13A〜Bの動作フローにより、帳票1に斜め方向に折れ目が入った状態でスキャナ等により読み取りが行われ、文字認識対象の画像2において帳票画像10の一部分が傾いていたとしても、定義領域4を補正して文字認識処理を行うことができるため、正しく文字を認識することができる。
以上の図13A〜Bの動作フローにおいて、ステップS1301の処理では、文字認識装置100の制御部500は取得部511として機能する。ステップS1302からステップS1303までの処理では、文字認識装置100の制御部500は配置部512として機能する。ステップS1304からステップS1306までの処理では、文字認識装置100の制御部500は判定部513として機能する。ステップS1307からステップS1309までの処理では、文字認識装置100の制御部500は、特定部514として機能する。ステップS1310の処理において、文字認識装置100の制御部500は算出部515として機能する。ステップS1311からステップS1313までの処理において、文字認識装置100の制御部500は、補正部516として機能する。ステップS1313からステップS1314までの処理において、文字認識装置100の制御部500は、文字認識処理部517として機能する。
以上の第1から第3の実施形態で例示したように、いくつかの実施形態によれば、画像2において帳票画像10の一部分が傾いてしまった場合にも、定義領域4を補正して文字認識を行うため、正しい文字を認識することができる。そのため、帳票1の文字認識率を向上させることができる。また、定義領域4を補正するため、画像2中の帳票画像10に補正を行う必要はない。
なお、以上で述べた第1から第3の実施形態では、文字認識を実行する対象として帳票1を撮像した画像2を例に説明を行った。しかしながら、本発明に係る実施形態はこれに限定されるものではなく、文字認識を実行する対象に罫線が含まれていれば、帳票1以外のその他のものに対してもいくつかの実施形態を適用することができる。
また、上述の動作フローにおいて、例えば図7A〜BのステップS714、図10A〜BのステップS1014、図13A〜BのステップS1315で実行される文字認識処理の結果が悪い場合に、定義領域4を切り出し2値化した(図7A〜BのステップS713、図10A〜BのステップS1013、図13A〜BのステップS1314)画像を更に補正して、文字認識を行なうように構成してもよい。図15A及び図15Bは、文字認識を行なう前の追加の補正処理を例示する図である。例えば、図15Aに示すように、切り出し2値化した画像を回転し補正してもよい。或いは、帳票1の折れ曲がりの角度により、帳票画像10上の文字が縮んでしまうため、2値化した画像を伸張により補正してから文字認識を行なってもよい。図15Bは、切り出し2値化した画像を縦方向に伸張して補正する例を示している。
図16は、いくつかの実施形態に係る、文字認識装置100を実現するためのコンピュータ1600のハードウェア構成を例示する図である。図16の文字認識装置100を実現するためのハードウェア構成は、例えば、プロセッサ1601、メモリ1602、記憶装置1603、読取装置1604、通信インタフェース1606、及び入出力インタフェース1607を備える。なお、プロセッサ1601、メモリ1602、記憶装置1603、読取装置1604、通信インタフェース1606、入出力インタフェース1607は、例えば、バス1608を介して互いに接続されている。
プロセッサ1601は、メモリ1602を利用して上述の動作フローの手順を記述したプログラム520を実行することにより、上述した各機能部の一部または全部の機能を提供する。例えば、文字認識装置100の制御部500は、プロセッサ1601であり、また、記憶部510は、例えばメモリ1602、記憶装置1603、及び着脱可能記憶媒体1605を含んでいる。文字認識装置100のプロセッサ1601は、例えば、記憶装置1603に格納されているプログラム520を読み出して実行することで、取得部511、配置部512、判定部513、特定部514、算出部515、補正部516、及び文字認識処理部517として機能する。
文字認識装置100の記憶装置1603には、例えば、プログラム520、定義体3、罫線選択情報800,1100,及び1400が格納されている。メモリ1602は、例えば半導体メモリであり、RAM領域及びROM領域を含んで構成される。記憶装置1603は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、又は外部記録装置である。
読取装置1604は、プロセッサ1601の指示に従って着脱可能記憶媒体1605にアクセスする。着脱可能記憶媒体1605は、例えば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。通信インタフェース1606は、プロセッサ1601の指示に従ってネットワーク1610を介してデータを送受信する。入出力インタフェース1607は、例えば、ユーザからの指示を受け付けるキーボード及びマウスなどの入力装置、並びにディスプレーなどの表示装置、スピーカなどの音声装置などの出力装置との間のインタフェースに相当する。入出力インタフェース1607は、スキャナなどの画像形成装置とのインタフェースを含んでよく、撮像された画像2を画像形成装置から受信してもよい。
実施形態に係る各プログラム520は、例えば、下記の形態で文字認識装置100に提供される。
(1)記憶装置1603に予めインストールされている。
(2)着脱可能記憶媒体1605により提供される。
(3)プログラムサーバなどのサーバ1609から提供される。
図17は、いくつかの実施形態に係る文字認識装置100が運用されるシステム構成1700を例示する図である。システム構成1700は、例えば、文字認識装置100、画像形成装置1701、及び情報処理装置1702を含んでいる。画像形成装置1701は、例えばスキャナ、複合機などの帳票1等を撮像して画像化する装置を含む。情報処理装置1702は、例えば、文字認識装置100へと画像2のデータを送信し、文字認識処理を依頼するクライアントコンピュータ、又は文字認識装置100へと画像2を提供するサーバ等を含む。なお、情報処理装置1702のハードウェア構成は、例えば、図16に例示したコンピュータ1600と同様の構成であってもよい。
実施形態に係る文字認識処理が実行される画像2のデータは、例えば、下記の形態で文字認識装置100に提供される。
(1)記憶装置1603に記憶されている。
(2)着脱可能記憶媒体1605により提供される。
(3)スキャナ等の画像形成装置1701、並びにクライアントPC及びサーバコンピュータなどの情報処理装置1702からネットワーク1610を介して或いは入出力インタフェース1607を介して提供される。
文字認識装置100は、例えば、クライアントPCから画像2のデータを受信し、受信した画像2に対して文字認識処理を実行した結果をクライアントPCへと返信するというように、クラウドで文字認識処理を実行するサーバとして機能してもよい。
以上において、いくつかの実施形態について説明した。しかしながら、本発明に係る実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、本発明に係る種々の実施形態を成すことができることが理解されよう。或いは、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して本発明に係る種々の実施形態が実施され得ることが当業者には理解されよう。
1 帳票
2 画像
3 定義体
4 定義領域
10 帳票画像
100 文字認識装置
500 制御部
501 機能部
510 記憶部
511 取得部
512 配置部
513 判定部
514 特定部
515 算出部
516 補正部
517 文字認識処理部
1600 コンピュータ
1601 プロセッサ
1602 メモリ
1603 記憶装置
1604 読取装置
1605 着脱可能記憶媒体
1606 通信インタフェース
1607 入出力インタフェース
1608 バス
1609 サーバ
1610 ネットワーク
1700 システム構成
1701 画像形成装置
1702 情報処理装置

Claims (9)

  1. 帳票において文字認識を行う領域の位置情報を含む定義体を記憶する記憶部と、
    前記帳票の画像を取得する取得部と、
    前記定義体を前記帳票の画像に配置する配置部と、
    前記取得部が取得した画像に表されている前記帳票が折れ曲がっているか否かを判定する判定部と、
    前記帳票が折れ曲がっていると判定された場合に、前記取得部が取得した前記帳票の画像上で、該画像に含まれている罫線の像における折れ曲がりの位置を特定する特定部と、
    前記文字認識を行う領域を、前記取得部が取得した帳票の画像上において前記特定部が特定した折れ曲がりの位置を中心として回転させて補正する補正部と、
    前記取得部が取得した画像における前記補正部による補正後の領域に対して文字認識処理を施す文字認識処理部と、
    を備えることを特徴とする文字認識装置。
  2. 前記画像における前記定義体の向きを基準としたときの、前記取得部が取得した前記帳票の画像に含まれている罫線の像の角度を算出する算出部、を更に含み、
    補正部は、前記特定部が特定した折れ曲がりの位置を中心として、前記角度で前記文字認識を行う領域を回転させる、請求項1に記載の文字認識装置。
  3. 前記判定部は、前記取得部が取得した画像における前記帳票の画像の外周の形状に基づいて、該帳票の画像の2組の対向辺のうちの一方の組の対向辺の両方に折れ曲がりが存在するか否かを判定し、
    前記特定部は、折れ曲がりが存在すると判定された対向辺の各々における該折れ曲がりの位置を結ぶ線分を特定し、前記取得部が取得した前記帳票の画像上で、該画像に含まれている罫線の像と前記線分との交点の位置を前記罫線の像における折れ曲がりの位置として特定する、請求項1又は2に記載の文字認識装置。
  4. 前記補正部は、
    折れ曲がりが存在すると判定された対向辺が上辺及び下辺である場合に、前記文字認識を行う領域が、前記帳票の中心より上側にあるか下側にあるかを判定し、前記文字認識を行う領域が上側にある場合には、該前記文字認識を行う領域の直近上側の罫線の像の前記折れ曲がりの位置を中心として該前記文字認識を行う領域を回転させ、一方、前記文字認識を行う領域が下側にある場合には、該前記文字認識を行う領域の直近下側の罫線の像の前記折れ曲がりの位置を中心として該前記文字認識を行う領域を回転させ、
    折れ曲がりが存在すると判定された対向辺が左辺及び右辺である場合に、前記文字認識を行う領域が、前記帳票の中心より左側にあるか右側にあるかを判定し、前記文字認識を行う領域が左側にある場合には、該前記文字認識を行う領域の直近左側の罫線の像の前記折れ曲がりの位置を中心として該前記文字認識を行う領域を回転させ、一方、前記文字認識を行う領域が右側にある場合には、該前記文字認識を行う領域の直近右側の罫線の像の前記折れ曲がりの位置を中心として該前記文字認識を行う領域を回転させる、
    ことを特徴とする請求項3に記載の文字認識装置。
  5. 前記補正部は更に、
    折れ曲がりが存在すると判定された対向辺が上辺及び下辺である場合に、回転後の前記文字認識を行う領域の縦方向の辺に最も近い前記帳票の画像の縦方向の罫線の像を特定し、該縦方向の罫線の像の方向と一致するように、前記文字認識を行う領域の縦方向の辺の向きを補正することを特徴とする、請求項4に記載の情報処理装置。
  6. 前記補正部は更に、
    折れ曲がりが存在すると判定された対向辺が左辺及び右辺である場合に、回転後の前記文字認識を行う領域の横方向の辺に最も近い前記帳票の画像の横方向の罫線の像を特定し、該横方向の罫線の像の方向と一致するように、前記文字認識を行う領域の横方向の辺の向きを補正することを特徴とする、請求項4又は5に記載の情報処理装置。
  7. 前記判定部は、前記取得部が取得した画像における前記帳票の画像の外周の形状に基づいて、該帳票の画像の上辺又は下辺のいずれか一方並びに左辺又は右辺のいずれか一方に折れ曲がりが存在するか否かを判定し、
    前記特定部は、上辺又は下辺のいずれか一方並びに左辺又は右辺のいずれか一方に折れ曲がりが存在すると判定された場合に、折れ曲がりが存在すると判定された辺の各々における該折れ曲がりの位置を結ぶ線分を特定し、前記文字認識を行う領域の隣にある前記帳票の画像の縦方向の罫線の像と、前記線分との第1の交点を特定し、且つ、前記文字認識を行う領域の隣にある前記帳票の画像の横方向の罫線の像と、前記線分との第2の交点を特定し、
    前記算出部は、上辺又は下辺のいずれか一方並びに左辺又は右辺のいずれか一方に折れ曲がりが存在すると判定された場合に、前記画像における前記定義体の向きを基準としたときの、前記帳票の画像の前記縦方向の罫線の像が成す第1の角度と、前記画像における前記定義体の向きを基準としたときの、前記帳票の画像の前記横方向の罫線の像が成す第2の角度とを算出し、
    前記補正部は、前記第1の角度よりも前記第2の角度が大きい場合に、前記第2の交点を中心として、前記文字認識を行う領域を前記第2の角度で回転して補正し、一方、前記第1の角度が前記第2の角度よりも大きい場合に、前記第1の交点を中心として、前記文字認識を行う領域を前記第1の角度で回転して補正することを特徴とする、請求項2に記載の情報処理装置。
  8. 帳票の画像を取得する取得ステップと、
    前記帳票において文字認識を行う領域の位置情報を含む定義体に基づいて前記文字認識を行う領域を前記帳票の画像に配置する配置ステップと、
    前記取得ステップで取得した画像に表されている前記帳票が折れ曲がっているか否かを判定する判定ステップと、
    前記帳票が折れ曲がっていると判定された場合に、前記取得ステップで取得した前記帳票の画像上で、該画像に含まれている罫線の像における折れ曲がりの位置を特定する特定ステップと、
    前記文字認識を行う領域を、前記取得ステップで取得した帳票の画像上において前記特定ステップで特定した折れ曲がりの位置を中心として回転させて補正する補正ステップと、
    前記取得ステップで取得した画像における前記補正ステップによる補正後の領域に対して文字認識処理を施す文字認識処理ステップと、
    を含む処理をコンピュータに実行させるためのプログラム。
  9. 帳票の画像を取得する取得ステップと、
    前記帳票において文字認識を行う領域の位置情報を含む定義体に基づいて前記文字認識を行う領域を前記帳票の画像に配置する配置ステップと、
    前記取得ステップで取得した画像に表されている前記帳票が折れ曲がっているか否かを判定する判定ステップと、
    前記帳票が折れ曲がっていると判定された場合に、前記取得ステップで取得した前記帳票の画像上で、該画像に含まれている罫線の像における折れ曲がりの位置を特定する特定ステップと、
    前記文字認識を行う領域を、前記取得ステップで取得した帳票の画像上において前記特定ステップで特定した折れ曲がりの位置を中心として回転させて補正する補正ステップと、
    前記取得ステップで取得した画像における前記補正ステップによる補正後の領域に対して文字認識処理を施す文字認識処理ステップと、
    を含む、コンピュータが実行する方法。
JP2012188978A 2012-08-29 2012-08-29 文字認識装置、プログラム、及び方法 Active JP5744806B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012188978A JP5744806B2 (ja) 2012-08-29 2012-08-29 文字認識装置、プログラム、及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012188978A JP5744806B2 (ja) 2012-08-29 2012-08-29 文字認識装置、プログラム、及び方法

Publications (2)

Publication Number Publication Date
JP2014048731A JP2014048731A (ja) 2014-03-17
JP5744806B2 true JP5744806B2 (ja) 2015-07-08

Family

ID=50608392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012188978A Active JP5744806B2 (ja) 2012-08-29 2012-08-29 文字認識装置、プログラム、及び方法

Country Status (1)

Country Link
JP (1) JP5744806B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488507B (zh) * 2016-01-22 2019-03-12 吉林大学 圆柱表面文字识别系统及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2786044B2 (ja) * 1992-02-18 1998-08-13 富士通株式会社 光学的文字読み取り装置
JP3311551B2 (ja) * 1995-09-26 2002-08-05 日本電信電話株式会社 イメージデータ入力処理方法およびその装置
JP2007249580A (ja) * 2006-03-15 2007-09-27 Toshiba Corp 画像処理装置、画像処理プログラムおよび画像処理方法
JP2010009283A (ja) * 2008-06-26 2010-01-14 Hitachi Omron Terminal Solutions Corp 画像読取装置、画像読取方法および画像読取のためのコンピュータプログラム

Also Published As

Publication number Publication date
JP2014048731A (ja) 2014-03-17

Similar Documents

Publication Publication Date Title
JP5393428B2 (ja) コード検出及び復号化システム
JP5042562B2 (ja) 画像処理装置、手書き情報認識方法、手書き情報認識プログラム
JP4388545B2 (ja) 画像処理装置及び方法、並びにプログラム
JP5132438B2 (ja) 画像処理装置および画像処理方法
JP2011130439A (ja) 画像比較および文書認証のための画像位置合わせの方法
CN109845237A (zh) 图像形成设备、图像形成设备的扫描图像校正方法以及非暂时性计算机可读记录介质
JP4752694B2 (ja) 画像抽出装置
RU2673015C1 (ru) Способы и системы оптического распознавания символов серии изображений
JP6167528B2 (ja) 画像コーナーを修正する方法及び装置並びに画像処理設備
JP4594952B2 (ja) 文字認識装置及び文字認識方法
JP4544315B2 (ja) 紙文書処理装置及びプログラム
JP2009151759A (ja) 画像処理方法及び画像処理装置
JP5744806B2 (ja) 文字認識装置、プログラム、及び方法
JP4983464B2 (ja) 帳票画像処理装置及び帳票画像処理プログラム
JP4386275B2 (ja) 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP5009256B2 (ja) 文書データ作成装置、文書データ作成方法および文書データ作成プログラム
US10706581B2 (en) Image processing apparatus for clipping and sorting images from read image according to cards and control method therefor
JP2007041709A (ja) 文書処理システム、文書処理システムの制御方法、文書処理装置、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2007011529A (ja) Ocr処理における文字認識位置の決定方法
JP4804433B2 (ja) 画像処理装置、画像処理方法、及び、画像処理プログラム
US11657632B2 (en) Image processing device, image reading device, image processing method, and non-transitory computer readable medium, using two pieces of image data
JP2002077578A (ja) 歪み補正装置およびその方法ならびに歪み補正プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3604909B2 (ja) 画像間位置合わせ方法
JP2006330873A (ja) 指紋照合装置、方法およびプログラム
JP5944221B2 (ja) 画像処理プログラムおよび画像処理装置、画像読取装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150421

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150428

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150430

R150 Certificate of patent or registration of utility model

Ref document number: 5744806

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150