(57)【要約】【課題】帳票画像の一部分が傾いてしまった場合にも帳票の文字認識率を向上させる。【解決手段】実施形態に係る文字認識装置は、帳票において文字認識を行う領域の位置情報を含む定義体を記憶する記憶部と、帳票の画像を取得する取得部と、定義体を帳票の画像に配置する配置部と、取得部が取得した画像に表されている帳票が折れ曲がっているか否かを判定する判定部と、帳票が折れ曲がっていると判定された場合に、取得部が取得した帳票の画像上で、画像に含まれている罫線の像における折れ曲がりの位置を特定する特定部と、文字認識を行う領域を、取得部が取得した帳票の画像上において特定部が特定した折れ曲がりの位置を中心として回転させて補正する補正部と、取得部が取得した画像における補正部による補正後の領域に対して文字認識処理を施す文字認識処理部と、を備える。【選択図】図４Ｂ
2014048731.tif 000002
【特許請求の範囲】
【請求項１】
帳票において文字認識を行う領域の位置情報を含む定義体を記憶する記憶部と、
前記帳票の画像を取得する取得部と、
前記定義体を前記帳票の画像に配置する配置部と、
前記取得部が取得した画像に表されている前記帳票が折れ曲がっているか否かを判定する判定部と、
前記帳票が折れ曲がっていると判定された場合に、前記取得部が取得した前記帳票の画像上で、該画像に含まれている罫線の像における折れ曲がりの位置を特定する特定部と、
前記文字認識を行う領域を、前記取得部が取得した帳票の画像上において前記特定部が特定した折れ曲がりの位置を中心として回転させて補正する補正部と、
前記取得部が取得した画像における前記補正部による補正後の領域に対して文字認識処理を施す文字認識処理部と、
を備えることを特徴とする文字認識装置。
【請求項２】
前記画像における前記定義体の向きを基準としたときの、前記取得部が取得した前記帳票の画像に含まれている罫線の像の角度を算出する算出部、を更に含み、
補正部は、前記特定部が特定した折れ曲がりの位置を中心として、前記角度で前記文字認識を行う領域を回転させる、請求項１に記載の文字認識装置。
【請求項３】
前記判定部は、前記取得部が取得した画像における前記帳票の画像の外周の形状に基づいて、該帳票の画像の２組の対向辺のうちの一方の組の対向辺の両方に折れ曲がりが存在するか否かを判定し、
前記特定部は、折れ曲がりが存在すると判定された対向辺の各々における該折れ曲がりの位置を結ぶ線分を特定し、前記取得部が取得した前記帳票の画像上で、該画像に含まれている罫線の像と前記線分との交点の位置を前記罫線の像における折れ曲がりの位置として特定する、請求項１又は２に記載の文字認識装置。
【請求項４】
前記補正部は、
折れ曲がりが存在すると判定された対向辺が上辺及び下辺である場合に、前記文字認識を行う領域が、前記帳票の中心より上側にあるか下側にあるかを判定し、前記文字認識を行う領域が上側にある場合には、該前記文字認識を行う領域の直近上側の罫線の像の前記折れ曲がりの位置を中心として該前記文字認識を行う領域を回転させ、一方、前記文字認識を行う領域が下側にある場合には、該前記文字認識を行う領域の直近下側の罫線の像の前記折れ曲がりの位置を中心として該前記文字認識を行う領域を回転させ、
折れ曲がりが存在すると判定された対向辺が左辺及び右辺である場合に、前記文字認識を行う領域が、前記帳票の中心より左側にあるか右側にあるかを判定し、前記文字認識を行う領域が左側にある場合には、該前記文字認識を行う領域の直近左側の罫線の像の前記折れ曲がりの位置を中心として該前記文字認識を行う領域を回転させ、一方、前記文字認識を行う領域が右側にある場合には、該前記文字認識を行う領域の直近右側の罫線の像の前記折れ曲がりの位置を中心として該前記文字認識を行う領域を回転させる、
ことを特徴とする請求項３に記載の文字認識装置。
【請求項５】
前記補正部は更に、
折れ曲がりが存在すると判定された対向辺が上辺及び下辺である場合に、回転後の前記文字認識を行う領域の縦方向の辺に最も近い前記帳票の画像の縦方向の罫線の像を特定し、該縦方向の罫線の像の方向と一致するように、前記文字認識を行う領域の縦方向の辺の向きを補正することを特徴とする、請求項４に記載の情報処理装置。
【請求項６】
前記補正部は更に、
折れ曲がりが存在すると判定された対向辺が左辺及び右辺である場合に、回転後の前記文字認識を行う領域の横方向の辺に最も近い前記帳票の画像の横方向の罫線の像を特定し、該横方向の罫線の像の方向と一致するように、前記文字認識を行う領域の横方向の辺の向きを補正することを特徴とする、請求項４又は５に記載の情報処理装置。
【請求項７】
前記判定部は、前記取得部が取得した画像における前記帳票の画像の外周の形状に基づいて、該帳票の画像の上辺又は下辺のいずれか一方並びに左辺又は右辺のいずれか一方に折れ曲がりが存在するか否かを判定し、
前記特定部は、上辺又は下辺のいずれか一方並びに左辺又は右辺のいずれか一方に折れ曲がりが存在すると判定された場合に、折れ曲がりが存在すると判定された辺の各々における該折れ曲がりの位置を結ぶ線分を特定し、前記文字認識を行う領域の隣にある前記帳票の画像の縦方向の罫線の像と、前記線分との第１の交点を特定し、且つ、前記文字認識を行う領域の隣にある前記帳票の画像の横方向の罫線の像と、前記線分との第２の交点を特定し、
前記算出部は、上辺又は下辺のいずれか一方並びに左辺又は右辺のいずれか一方に折れ曲がりが存在すると判定された場合に、前記画像における前記定義体の向きを基準としたときの、前記帳票の画像の前記縦方向の罫線の像が成す第１の角度と、前記画像における前記定義体の向きを基準としたときの、前記帳票の画像の前記横方向の罫線の像が成す第２の角度とを算出し、
前記補正部は、前記第１の角度よりも前記第２の角度が大きい場合に、前記第２の交点を中心として、前記文字認識を行う領域を前記第２の角度で回転して補正し、一方、前記第１の角度が前記第２の角度よりも大きい場合に、前記第１の交点を中心として、前記文字認識を行う領域を前記第１の角度で回転して補正することを特徴とする、請求項２に記載の情報処理装置。
【請求項８】
帳票の画像を取得する取得ステップと、
前記帳票において文字認識を行う領域の位置情報を含む定義体に基づいて前記文字認識を行う領域を前記帳票の画像に配置する配置ステップと、
前記取得ステップで取得した画像に表されている前記帳票が折れ曲がっているか否かを判定する判定ステップと、
前記帳票が折れ曲がっていると判定された場合に、前記取得ステップで取得した前記帳票の画像上で、該画像に含まれている罫線の像における折れ曲がりの位置を特定する特定ステップと、
前記文字認識を行う領域を、前記取得ステップで取得した帳票の画像上において前記特定ステップで特定した折れ曲がりの位置を中心として回転させて補正する補正ステップと、
前記取得ステップで取得した画像における前記補正ステップによる補正後の領域に対して文字認識処理を施す文字認識処理ステップと、
を含む処理をコンピュータに実行させるためのプログラム。
【請求項９】
帳票の画像を取得する取得ステップと、
前記帳票において文字認識を行う領域の位置情報を含む定義体に基づいて前記文字認識を行う領域を前記帳票の画像に配置する配置ステップと、
前記取得ステップで取得した画像に表されている前記帳票が折れ曲がっているか否かを判定する判定ステップと、
前記帳票が折れ曲がっていると判定された場合に、前記取得ステップで取得した前記帳票の画像上で、該画像に含まれている罫線の像における折れ曲がりの位置を特定する特定ステップと、
前記文字認識を行う領域を、前記取得ステップで取得した帳票の画像上において前記特定ステップで特定した折れ曲がりの位置を中心として回転させて補正する補正ステップと、
前記取得ステップで取得した画像における前記補正ステップによる補正後の領域に対して文字認識処理を施す文字認識処理ステップと、
を含む、コンピュータが実行する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
いくつかの実施形態は、文字認識装置、プログラム、及び方法に関する。
【背景技術】
【０００２】
例えば、銀行、コンビニエンスストアなどの組織では様々な事務手続きが帳票を介して行われている。なお、帳票とは、例えば、金銭の収支や物品の出入り、その他事務処理を行う上で必要となる帳面、帳簿、伝票類などの総称であり、帳票には、例えば、元帳、現金出納帳、入・出金伝票、納品伝票、出庫伝票などの様々な種類の帳票が含まれる。
【０００３】
このような帳票をスキャナなどで読み取って画像化し、その画像をＯＣＲ（光学式文字認識）にかけるなどして、帳票の記入枠に記入された文字列を電子化することがしばしば行われている。図１Ａ〜Ｃは、帳票１に記入されている情報の読み取りについて例示する図である。図１Ａには、スキャナなどにより読み取られた帳票１の画像が画像２内に含まれており、銀行などで用いられる振込依頼書（銀行入金明細票）が帳票１として例示されている。なお、以下の説明では、例えば紙などに印字して作成された実際の帳票を帳票１として参照し、一方、帳票１をスキャナなどで読み取った画像２中に含まれている帳票１の画像を帳票画像１０として参照する。
【０００４】
図１Ｂは、定義体３に含まれる情報に基づいて、文字認識を行う領域である定義領域４を帳票画像１０に配置した状態を例示する図である。帳票１の文字認識処理では、帳票１の罫線の情報や帳票を特定する帳票ＩＤなどに基づいて、帳票１が特定される。そして、特定された帳票１に対応する定義体３が選択され、定義体３に従って、文字認識に不要な記入枠やプレプリント文字が領域内に含まれないようにして定義領域４が帳票画像１０に配置される（図１Ｂ）。なお、定義体３とは、例えば文字認識を行う対象である帳票１において、文字認識を行う領域（定義領域４）の位置、属性、及び文字認識を行う対象の帳票１の罫線の位置などの情報を含む情報である。定義領域４を配置した後、文字認識処理が定義領域４の枠内に実行され、文字列の読み取りが行われる。図１Ｃは、帳票画像１０の文字認識処理の結果を例示する図である。図示されるように、定義体３の情報に基づいて、例えば、銀行名、支店名、及び科目等の項目には、それと対応付けられている定義領域４で読み取られた文字列が格納されている。このように定義体３の情報に基づいて文字認識処理が実行され、帳票１に記入されているデータが電子化される。
【０００５】
以上のような帳票１の情報を読み取る際に、スキャナなどで読み取った画像２において帳票画像１０が傾いていることがある。例えば、図２は、読み取られた画像２において帳票画像１０の全体が時計回りの方向に少し傾いている場合を例示している。このような読み取られた画像２において帳票画像１０の全体が一様に傾いている場合には、例えば、画像２の全体を例えば反時計回り方向に回転させることで、定義体３の定義領域４を帳票画像１０の記入欄に配置することができる。
【０００６】
これらの帳票１の文字認識に関し、搬送されてくる帳票の傾きが一定でない場合であっても精度よく文字を切り出す技術が知られている。
また、帳票をマットにセットし、上部からセンサ部でイメージを読み取る非接触スキャナ装置を用いた帳票画像の歪みを判別する技術が知られている。
【０００７】
また更に、用紙コーナーが変形していた場合にも正確に傾きを検出することができて、しかもデータ処理量の低減を実現する技術が知られている。
また更に、ＯＣＲ装置における文字切出しの前処理として、画像メモリ上の帳票画像の傾き角を高速に求めることが可能な方法を提供する技術が知られている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平６−３０１８１６号公報
【特許文献２】特開２００７−２７２５７２号公報
【特許文献３】特開２００２−１９９１７９号公報
【特許文献４】特開平７−３３４６１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、画像２において帳票画像１０の一部分が傾いてしまった場合には、文字認識をうまく行えない場合がある。本発明に係るいくつかの実施形態においては帳票画像１０の一部分が傾いてしまった場合にも帳票１の文字認識率を向上させることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一つの態様の文字認識装置は、帳票において文字認識を行う領域の位置情報を含む定義体を記憶する記憶部と、帳票の画像を取得する取得部と、定義体を帳票の画像に配置する配置部と、取得部が取得した画像に表されている帳票が折れ曲がっているか否かを判定する判定部と、帳票が折れ曲がっていると判定された場合に、取得部が取得した帳票の画像上で、画像に含まれている罫線の像における折れ曲がりの位置を特定する特定部と、文字認識を行う領域を、取得部が取得した帳票の画像上において特定部が特定した折れ曲がりの位置を中心として回転させて補正する補正部と、取得部が取得した画像における補正部による補正後の領域に対して文字認識処理を施す文字認識処理部と、を備える。
【発明の効果】
【００１１】
上述の態様により、帳票１の一部分が傾いてしまった場合にも帳票１の文字認識率を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１Ａ】帳票に記入されている情報の読み取りについて例示する図である。
【図１Ｂ】帳票に記入されている情報の読み取りについて例示する図である。
【図１Ｃ】帳票に記入されている情報の読み取りについて例示する図である。
【図２】読み取られた画像において帳票画像の全体が傾いている場合を例示する図である。
【図３Ａ】帳帳票の一部分が浮きあがった状態で撮像された画像に文字認識処理を実行する例を示す図である。
【図３Ｂ】帳票の一部分が浮きあがった状態で撮像された画像に文字認識処理を実行する例を示す図である。
【図３Ｃ】帳票の一部分が浮きあがった状態で撮像された画像に文字認識処理を実行する例を示す図である。
【図４Ａ】一部分が傾いている帳票画像に対して実行される従来の文字認識処理を例示する図である。
【図４Ｂ】いくつかの実施形態に係る定義体の定義領域の補正を用いた文字認識処理を例示する図である。
【図５】いくつかの実施形態に係る定義体の定義領域の補正を用いて文字認識処理を実行する文字認識装置の機能ブロック構成を例示する図である。
【図６Ａ】第１の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。
【図６Ｂ】第１の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。
【図６Ｃ】第１の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。
【図６Ｄ】第１の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。
【図６Ｅ】第１の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。
【図６Ｆ】第１の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。
【図６Ｇ】第１の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。
【図６Ｈ】第１の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。
【図６Ｉ】第１の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。
【図６Ｊ】第１の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。
【図６Ｋ】第１の実施形態に係る定義領域の補正を用いた文字認識処理を説明する図である。
【図７Ａ】第１の実施形態に係る定義領域の補正を行う文字認識処理の動作フローを例示する図である。
【図７Ｂ】第１の実施形態に係る定義領域の補正を行う文字認識処理の動作フローを例示する図である。
【図８Ａ】第１の実施形態に係る帳票の縦方向に折れ目が入った場合における帳票内での定義領域の位置と選択される罫線の像との関係を例示する図である。
【図８Ｂ】第１の実施形態に係る帳票の縦方向に折れ目が入った場合における帳票内での定義領域の位置と選択される罫線の像との関係を例示する図である。
【図９Ａ】第２の実施形態に係る定義領域の補正を説明する図である。
【図９Ｂ】第２の実施形態に係る定義領域の補正を説明する図である。
【図９Ｃ】第２の実施形態に係る定義領域の補正を説明する図である。
【図９Ｄ】第２の実施形態に係る定義領域の補正を説明する図である。
【図１０Ａ】第２の実施形態に係る定義領域の補正を行う文字認識処理の動作フローを例示する図である。
【図１０Ｂ】第２の実施形態に係る定義領域の補正を行う文字認識処理の動作フローを例示する図である。
【図１１Ａ】第２の実施形態に係る帳票の縦方向に折れ目が入った場合における帳票内での定義領域の位置と選択される罫線の像との関係を例示する図である。
【図１１Ｂ】第２の実施形態に係る帳票の縦方向に折れ目が入った場合における帳票内での定義領域の位置と選択される罫線の像との関係を例示する図である。
【図１２Ａ】第３の実施形態に係る定義領域の補正を説明する図である。
【図１２Ｂ】第３の実施形態に係る定義領域の補正を説明する図である。
【図１２Ｃ】第３の実施形態に係る定義領域の補正を説明する図である。
【図１２Ｄ】第３の実施形態に係る定義領域の補正を説明する図である。
【図１２Ｅ】第３の実施形態に係る定義領域の補正を説明する図である。
【図１３Ａ】第３の実施形態に係る定義領域の補正を行う文字認識処理の動作フローを例示する図である。
【図１３Ｂ】第３の実施形態に係る定義領域の補正を行う文字認識処理の動作フローを例示する図である。
【図１４Ａ】第３の実施形態に係る帳票の斜め方向に折れ目が入った場合における、帳票内での定義領域の位置と選択される縦方向と横方向の２つの罫線の像との関係を例示する図である。
【図１４Ｂ】第３の実施形態に係る帳票の斜め方向に折れ目が入った場合における、帳票内での定義領域の位置と選択される縦方向と横方向の２つの罫線の像との関係を例示する図である。
【図１５Ａ】文字認識を行なう前の追加の補正処理を例示する図である。
【図１５Ｂ】文字認識を行なう前の追加の補正処理を例示する図である。
【図１６】いくつかの実施形態に係る、文字認識装置を実現するためのコンピュータのハードウェア構成を例示する図である。
【図１７】いくつかの実施形態に係る文字認識装置が運用されるシステム構成を例示する図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付した。
図３Ａから図３Ｃは、帳票１の一部分が浮きあがった状態で撮像された画像２に文字認識処理を実行する例を示す図である。図３Ａは、帳票１の一部分が浮き上がった状態で撮像された画像２を例示する図である。例えば、スキャナなどを用いて撮像を行う際に帳票１が部分的に浮き上がってしまうことがある。特に、帳票１とカメラ等の撮像装置とが非接触な状態でスキャンを行う非接触型のスキャナを用いる場合には帳票１が部分的に浮き上がってしまうことが起こり易い。そして、帳票１の一部が浮き上がった状態で撮像が行われた場合、その浮き上がりに起因して撮像された画像２において帳票画像１０の一部分が傾いてしまう（図３Ａの点線枠５）。このような撮像された画像２中の帳票画像１０の部分的な傾きは、その後の文字認識に悪影響を与える可能性がある。
【００１４】
図３Ｂは、帳票１の一部が浮きあがった状態で撮像された画像２中の帳票画像１０に定義体３を配置した状態を例示している。図示されるように、帳票画像１０において、浮き上がりにより傾いてしまっている部分（例えば、図３Ｂの「金額」の欄）では、認識すべき領域が傾いており、それによって、認識すべき文字列の一部分が定義領域４から外れていたり、或いは、定義領域４内に帳票１の罫線の像が含まれてしまっている。例えば、この様な状態で、文字認識を実行した場合、定義領域４から外れてしまっている文字列は正しく認識できない。或いは、文字認識処理により文字認識すべき対象ではない罫線の像等が定義領域４に含まれてしまった状態で文字認識を実行すると、その罫線の像等を文字認識すべき文字列の一部として認識してしまうため、正しく文字を認識できない。図３Ｂには、文字認識処理の結果、文字として認識された領域を示す文字認識結果領域６が示されており、帳票画像１０の左側の浮き上っていない状態で撮像されている領域では、帳票１に記入されている文字は１文字ごとに文字認識結果領域６として認識されている。しかしながら、帳票画像１０の右側の浮き上った状態で撮像されている領域では、文字認識結果領域６に複数の文字列が含まれていたり、罫線の像が含まれていたりし、帳票１に記入されている文字列を正しく認識できていない。
【００１５】
図３Ｃは、図３Ｂにおいて文字認識処理を実行した結果を例示する図である。図３Ｂにおいて、例えば、「受取人名」の欄は、帳票画像１０において帳票１の浮き上がりに起因して定義領域４内に罫線の像７が含まれてしまっている（図３Ｂ）。そのため、定義領域４内の罫線の像７が、文字列として認識されており文字認識結果領域６で囲われている。その結果、文字認識処理では、定義領域４内に含まれてしまった罫線の像７に対応する文字列を認識できず、文字認識できなかったことを示す「？」が図３Ｃの「受取人名」の欄に格納されている。また、図３Ｂの「金額」の欄では、文字認識すべき文字列が定義領域４からはみ出していたり、及び、罫線の像７が定義領域４に含まれてしまっている。その結果、文字認識処理では、文字認識結果領域６に複数の文字列や罫線の像７が含まれており、文字を正しく認識できていない。結果として、図３Ｃの「金額」の欄には、文字認識できなかったことを示す「？」が格納されている。
【００１６】
この様に、帳票１の浮き上がりにより一部分が傾いてしまっている帳票画像１０に対して文字認識処理を実行する場合、文字認識に失敗してしまうことがある。或いは、帳票１の浮き上がりにより一部分が傾いてしまっている帳票画像１０では、予め定義した定義体３から外れるため文字認識が行われずリジェクトされてしまうことがある。そして、文字認識に失敗した場合又は文字認識が実行されずにリジェクトされる場合には、認識されなかった文字列は、ユーザが帳票１の記入欄を見ながら手入力しなければならず、そのため、ユーザに負荷がかかっている。
【００１７】
そこで、本発明に係るいくつかの実施形態では、帳票１の浮き上がりにより、一部分が傾いてしまっている帳票画像１０の文字認識の際に、定義体３の定義領域４を補正する。図４Ａは、一部分が傾いている帳票画像１０に対して実行される従来の文字認識処理を例示している。一方、図４Ｂは、いくつかの実施形態にかかる定義体３の定義領域４の補正を用いた文字認識処理を例示する図である。図４Ａの従来の文字認識処理では、定義体３の定義領域４から認識対象の文字列である「１００，０００，０００」の末尾が定義領域４からはみだしており（図４の部分８）、また、定義領域４内に罫線の像７が含まれてしまっている。そのため、図４Ａに示す例では、文字認識処理の結果、１つの文字として認識された領域を示す文字認識結果領域６に罫線の像７と、認識対象の文字列の末尾の「，０００」が含まれており、１つの文字列として認識されてしまっている。そのため、認識対象の文字列を正しく認識できない。
【００１８】
一方、図４Ｂのいくつかの実施形態に係る定義体３の定義領域４の補正を用いた文字認識処理では、定義領域４の位置及び形状が、帳票画像１０の部分的な傾きに応じて補正されている。そのため、定義領域４内に認識対象の文字列である「１００，０００，０００」がすべて収まっており、また、文字認識処理に悪影響を及ぼす罫線の像７等の不要な領域が定義領域４に含まれていない。そのため、図４Ｂに示す例では、文字認識処理により認識対象の文字列のそれぞれの文字が文字認識結果領域６により囲まれており、認識対象の文字列が正しく認識できている。この様に、いくつかの実施形態によれば、帳票１の部分的な浮き上がりに起因して、帳票画像１０の一部分が傾いてしまったとしても、定義体３の定義領域４が補正されるため文字認識率を向上させることができる。
【００１９】
図５は、いくつかの実施形態に係る定義体３の定義領域４の補正を用いて文字認識処理を実行する文字認識装置１００の機能ブロック構成を例示する図である。文字認識装置１００は、例えば、制御部５００及び記憶部５１０を含んでいる。制御部５００は、例えば取得部５１１、配置部５１２、判定部５１３、特定部５１４、算出部５１５、補正部５１６、及び文字認識処理部５１７などの機能部５０１を含んでいる。文字認識装置１００の記憶部５１０は、例えば、プログラム５２０、並びに定義体３、及び罫線選択情報８００，１１００，１４００などの情報５３０を記憶している。文字認識装置１００の制御部５００は、プログラム５２０を読み出して実行することで例えば取得部５１１、配置部５１２、判定部５１３、特定部５１４、算出部５１５、補正部５１６、及び文字認識処理部５１７などの機能部５０１として機能する。これらの各機能部５０１の詳細及び記憶部５１０に格納されている情報５３０の詳細については後述する。
【００２０】
以下、図６Ａ〜Ｋ並びに図７Ａ〜Ｂを参照して、第１の実施形態に係る定義領域４の補正を用いた文字認識処理を説明する。第１の実施形態では、帳票１に縦に折れ目が入り、一部分が浮いてしまった状態で撮像された画像２の帳票画像１０の文字認識において、定義体３の定義領域４の補正を行う例を説明する。
【００２１】
図６Ａから図６Ｋは、第１の実施形態に係る定義領域４の補正を用いた文字認識処理を説明する図である。図６Ａは、帳票１をスキャナなどで読み取って得られた画像２を例示する図である。図６Ａに例示すように、帳票１に縦に折れ目が入り、一部分が浮いてしまった状態で画像２は撮像されており、帳票画像１０の右端が傾いている。例えば、図６Ａに示されるような一部分が傾いた帳票画像１０に対し、文字認識装置１００の制御部５００は文字認識処理を実行する。まず、制御部５００は、帳票１の罫線に当たる罫線の像７を帳票画像１０から抽出する。この罫線の像７の抽出は、例えば、既知の手法を用いて実行することが可能である。一実施形態においては、罫線の像７の抽出は、画像２から黒色のドットが連続している所定の長さの線を抽出し、その線が、抽出された別な線と繋がる場合に、罫線の像７とすることで抽出されてもよい。図６Ｂは、図６Ａの帳票画像１０における罫線の像７の抽出を例示する図であり、太線は罫線の像７として抽出された線を示している。
【００２２】
続いて、第１の実施形態では制御部５００は、抽出された罫線の像７に合わせて定義体３の例えばサイズ及び向きなどを調整し、帳票画像１０に定義体３を配置する。図６Ｃは、罫線の像７に基づいて、帳票画像１０に定義体３の定義領域４を配置した状態を例示する図である。図示されるように、第１の実施形態では、帳票画像１０の右側の領域は傾いているため、定義領域４の位置にズレが生じている。なお、図６Ｃに示す例では、例示のためにいくつかの定義領域４を配置する例を示したが、定義領域４は実際にはより多い数、例えば全ての記入欄毎に配置されていてもよい。或いは、より少ない数の定義領域４が帳票画像１０に配置されてもよい。
【００２３】
続いて、第１の実施形態では制御部５００は、帳票画像１０の外周９を抽出する。図６Ｄは、帳票画像１０の外周９の抽出を例示する図である。図６Ｄの例では、抽出された外周９が示されている。なお、帳票画像１０の外周９の抽出は、例えば、スキャンの際に帳票１を乗せる台の色を黒等にし、白色の紙に印字された帳票１をスキャンするというように、例えばスキャン対象と背景となる台等との間の色差が大きくなるように構成し、スキャンされた画像２の淵から内側へ向かって黒色から白色へと変化する境界のドットを抽出することで行われてもよい。或いは、帳票画像１０の外周９は、その他の既知の手法により抽出されてもよい。
【００２４】
帳票画像１０の外周９を抽出後、制御部５００は、帳票画像１０の上辺及び下辺に折れ曲がり１１があるか否かを判定し、折れ曲がり１１が有る場合には、帳票画像１０の上辺及び下辺での折れ曲がり１１の位置を特定する。折れ曲がり１１の位置の特定は、例えば、帳票画像１０の上辺及び下辺上で直線性が失われる点の位置を特定することで行われてもよい。折れ曲がり１１の位置を特定すると、制御部５００は帳票画像１０の上辺及び下辺の２つの折れ曲がり１１の位置を結ぶ線分１２を特定する。図６Ｅは、帳票画像１０の上辺及び下辺における折れ曲がり１１の特定と、折れ曲がり１１を結ぶ線分１２の特定を例示する図である。図示されるように、線分１２を境に帳票画像１０の右側の領域は傾いている。
【００２５】
続いて、制御部５００は、帳票１における定義領域４の位置に応じて、定義領域４に近接する（例えば隣り合う）横方向の罫線の像７を選択する。そして、定義体３の横方向（図６Ｆの矢印１５）に対して、選択した罫線の像７が成す角度１３を算出する。なお、定義体３の縦方向及び横方向とは、定義体３を帳票１に合わせた際の帳票１の縦及び横方向とそれぞれ一致する方向であってよい。例えば、定義体３の縦方向及び横方向は、定義体３に位置情報が定義されている帳票１の縦及び横の罫線の向きとそれぞれ一致する方向であってもよい。或いは、定義体３の縦及び横方向は、定義体３に位置情報が定義されている定義領域４の縦及び横方向の辺とそれぞれ一致する方向であってもよい。また、制御部５００は、選択した罫線の像７と、線分１２との交点１４をその罫線の像７の折れ曲がり位置として特定する。図６Ｆは、定義領域４の補正のための交点１４及び角度１３の特定を説明する図である。図６Ｆは、図６Ａから図６Ｅにおいて例示した帳票画像１０の「金額」の欄の周辺を拡大しており、定義領域４の直近上側の罫線の像７と、線分１２との交点１４が例示されている。また、定義体３の横方向（図６Ｆの矢印１５）に対して、定義領域４の直近上側の罫線の像７が成す角度１３を例示している。
【００２６】
続いて、図６Ｇに示すように、制御部５００は、交点１４を中心として、角度１３で定義領域４を回転させて補正する。そして、図６Ｈに示すように、回転した定義領域４の縦方向の辺の向きを、最も近い縦方向の罫線の像７の向きと同じ方向になるように補正する。続いて、制御部５００は、補正後の定義領域４内の領域を、画像２から切り出し（図６Ｉ）、切り出した画像を２値化した後（図６Ｊ）、２値化した画像に対して文字認識処理を実行する（図６Ｋ）。そのため、図６Ｋに例示するように、帳票画像１０の右側の傾いている領域においても文字認識処理で正しく文字を認識することができる。
【００２７】
以上で述べたように、第１の実施形態によれば、帳票１に縦に折れ目が入り帳票画像１０の一部分が傾いてしまっている場合においても、その傾きに起因する定義領域４のズレが補正される。そのため、定義領域４内に例えば罫線の像７などの文字認識に悪影響を及ぼす領域を含まずに文字認識を実行することができる。従って、文字認識の精度を向上させることができる。
【００２８】
以上の図６Ａ〜図６Ｋを参照して述べた処理の動作フローを、図７Ａ〜Ｂを参照して説明する。図７Ａ〜Ｂは、第１の実施形態に係る帳票１に縦に折れ目が入り、帳票１の一部分が浮いてしまった状態で撮像された画像２の文字認識の際に定義領域４の補正を行う文字認識処理の動作フローを例示する図である。図７Ａ〜Ｂの動作フローは、例えば、文字認識装置１００の制御部５００が記憶部５１０に格納されているプログラム５２０を読み出して実行することで実施される。一実施形態においては、文字認識装置１００に文字認識処理の実行指示が入力されると図７Ａ〜Ｂの動作フローは開始する。
【００２９】
ステップＳ７０１において、文字認識装置１００の制御部５００は、帳票１を撮像した画像２を取得する。ステップＳ７０２において、文字認識装置１００の制御部５００は、画像２内の帳票画像１０から罫線の像７を抽出する。ステップＳ７０３において、制御部５００は罫線の像７に合わせて、定義体３の例えばサイズ及び向きなどを調整し、帳票画像１０に定義体３を配置する。続いてステップＳ７０４において、制御部５００は帳票画像１０の外周９を抽出する。
【００３０】
ステップＳ７０５において、制御部５００は、抽出された外周９の形状に基づいて、帳票画像１０の各辺において直線性がなくなる箇所を折れ曲がり１１として特定し、特定された折れ曲がり１１を結ぶ線分１２を特定する。ステップＳ７０６において、制御部５００は、折れ曲がり１１が帳票画像１０の上辺及び下辺の両方に存在するか否かを判定する。上述したように第１の実施形態では、帳票１の縦に折れ目が入り、帳票１の一部が浮いてしまった場合の定義領域４の補正を例示している。そのため、ステップＳ７０６において、帳票画像１０の上辺及び下辺の両方に折れ曲がり１１が存在しない場合には（ステップＳ７０６がＮｏ）、本動作フローは終了する。一方、帳票画像１０の上辺及び下辺の両方に折れ曲がり１１が存在する場合には（ステップＳ７０６がＹｅｓ）、フローはステップＳ７０７へと進む。
【００３１】
ステップＳ７０７からステップＳ７１５までの処理は帳票１に対する定義体３に含まれる定義領域４毎に繰り返される繰り返し処理である。ステップＳ７０７において、繰り返しの度に、制御部５００は、定義体３のうちから定義領域４を一つずつ選択し、選択された定義領域４に対してステップＳ７０８からステップＳ７１５までの処理を実行する。ステップＳ７０８において、制御部５００は、選択された定義領域４に近接する（例えば隣り合う）横方向の罫線の像７を選択する。一実施形態においては、制御部５００は、選択された定義領域４の帳票１における位置に基づいて、罫線の像７を選択してもよい。図８Ａ及び図８Ｂは、第１の実施形態に係る帳票１の縦方向に折れ目が入った場合における帳票１内での定義領域４の位置と、選択される罫線の像７との関係を例示する図である。
【００３２】
図８Ａは、帳票１内での領域を表しており、帳票１は、左上の領域（図８Ａの（１））、右上の領域（図８Ａの（２））、左下の領域（図８Ａの（３））、及び右下の領域（図８Ａの（４））の４つの領域に区切られている。また、図８Ｂは、帳票１内で定義領域４が図８Ａのいずれの領域に配置されているかと、それに応じた選択する罫線の像７との関係を示す罫線選択情報８００を例示する図である。なお、罫線選択情報８００は、例えば文字認識装置１００の記憶部５１０に格納されている。図８Ａ及び図８Ｂに示す例では、定義領域４が帳票１の左上の領域（図８Ａの（１））及びに右上の領域（図８Ａの（２））に配置されている場合には、定義領域４の直近上側にある罫線の像７を選択する。一方、定義領域４が帳票１の左下の領域（図８Ａの（３））及びに右下の領域（図８Ａの（４））に配置されている場合には、定義領域４の直近下側にある罫線の像７を選択する。
【００３３】
続いて、制御部５００は、ステップＳ７０９において、選択した罫線の像７と、線分１２との交点１４を罫線の像７の折れ曲がりの位置として特定する。ステップＳ７１０において、制御部５００は、ステップＳ７０３において帳票画像１０に配置した定義体３の横方向に対して、選択した罫線の像７が成す角度１３を算出する。例えば、角度１３は、定義体３に位置情報が含まれている帳票１の横方向の罫線と、選択した罫線の像７とが成す角度１３として算出されてもよい。或いは、この角度は、定義体３に位置情報が含まれている定義領域４の横方向の辺と、選択した罫線の像７とが成す角度１３として算出されてもよい。
【００３４】
制御部５００は、ステップＳ７１１において、算出した角度１３で、交点１４を中心として、ステップＳ７０７で選択した定義領域４を回転させ補正する。ステップＳ７１２において、制御部５００は、定義領域４に直近の縦方向の罫線の像７の向きに、定義領域４の縦の辺の向きを合わせるように補正する。ステップＳ７１３において、制御部５００は、補正後の定義領域４の枠内を画像２から切り出して２値化し、ステップＳ７１４において、切り出して２値化した領域に対して文字認識処理を実行する。ステップＳ７１５において、制御部５００は、帳票１に対して定義されている定義体３に含まれる全ての定義領域４について、ステップＳ７０７〜ステップＳ７１５の処理が完了しているか否かを判定し、完了していない場合には、フローはステップＳ７０７へと戻る。一方、帳票１に対して定義されている定義体３内の全ての定義領域４について、ステップＳ７０７〜ステップＳ７１５の処理が完了している場合には、本動作フローは終了する。
【００３５】
以上で述べた、図７Ａ〜Ｂの動作フローにより、帳票１に縦方向に折れ目が入った状態でスキャナ等により読み取りが行われて得られた画像２において文字認識を行う対象の帳票画像１０の一部分が傾いていたとする。この場合にも、定義領域４を補正して文字認識処理を行うため、正しく文字を認識することができる。なお、帳票１に縦方向に折れ目が入る場合、帳票１の折れ目の影響による帳票画像１０の傾きは、例えば、図６Ａに示されるように、縦方向の罫線の像７よりも、横方向の罫線の像７をより大きな角度で傾かせやすい。そのため、第１の実施形態では、先に横方向の罫線の像７の傾きに合わせて定義領域４を補正するように構成している。
【００３６】
以上の図７Ａ〜Ｂの動作フローにおいて、ステップＳ７０１の処理では、文字認識装置１００の制御部５００は取得部５１１として機能する。ステップＳ７０２からステップＳ７０３までの処理では、文字認識装置１００の制御部５００は配置部５１２として機能する。ステップＳ７０４からステップＳ７０６までの処理では、文字認識装置１００の制御部５００は判定部５１３として機能する。ステップＳ７０７からステップＳ７０９までの処理では、文字認識装置１００の制御部５００は、特定部５１４として機能する。ステップＳ７１０の処理において、文字認識装置１００の制御部５００は算出部５１５として機能する。ステップＳ７１１からステップＳ７１２までの処理において、文字認識装置１００の制御部５００は、補正部５１６として機能する。ステップＳ７１３からステップＳ７１４までの処理において、文字認識装置１００の制御部５００は、文字認識処理部５１７として機能する。
【００３７】
続いて、図９から図１１を参照して、第２の実施形態に係る定義領域４の補正を用いた文字認識処理を説明する。第２の実施形態では、帳票１に横に折れ目が入り、一部分が浮いてしまった状態で撮像された画像２の帳票画像１０の文字認識において、定義体３の定義領域４の補正を行う例を説明する。
【００３８】
図９Ａから図９Ｄは、第２の実施形態に係る定義領域４の補正を説明する図である。図９Ａは、帳票１をスキャナなどで読み取って得られた画像２の帳票画像１０から折れ曲がり１１の位置を特定し、折れ曲がり１１を結ぶ線分１２を特定した状態を示している。折れ曲がり１１の位置を特定及び線分１２の特定は、第１の実施形態で述べたのと類似する手法を用いて実施されてもよい。即ち、画像２から帳票画像１０の外周９を抽出し、帳票画像１０の左辺及び右辺に折れ曲がり１１があるか否かを判定する。そして、折れ曲がり１１が有る場合には、帳票画像１０の折れ曲がり１１の位置を特定する。折れ曲がり１１の位置の特定は、例えば、帳票画像１０の各辺で直線性が失われる点の位置を特定することで行われてもよい。例えば、この様にして折れ曲がり１１の位置を特定すると、制御部５００は、特定した折れ曲がり１１を結ぶ線分１２を特定する。なお、第２の実施形態においては、帳票１に横に折れ目が入る場合を例示しているため、図９Ａに示されるように、折れ曲がり１１の位置は帳票画像１０の左辺及び右辺に存在している。
【００３９】
続いて、制御部５００は、線分１２を特定したあと、帳票１における定義領域４の位置に応じて、近傍にある（例えば隣り合う）縦方向の罫線の像７を選択する。そして、定義体３の縦方向（図９Ｂの矢印２０）に対して、選択した罫線の像７が成す角度１３を算出する。なお、定義体３の縦方向及び横方向とは、定義体３を帳票１に合わせた際の帳票１の縦及び横方向とそれぞれ一致する方向であってよい。例えば、定義体３の縦方向及び横方向は、定義体３に位置情報が定義されている帳票１の縦及び横の罫線の向きとそれぞれ一致する方向であってもよい。或いは、定義体３の縦及び横方向は、定義体３に位置情報が定義されている定義領域４の縦及び横方向の辺とそれぞれ一致する方向であってもよい。また、制御部５００は選択した罫線の像７と、線分１２との交点１４をその罫線の像７の折れ曲がり位置として特定する。図９Ｂは、定義領域４の補正のための交点１４及び角度１３の特定を説明する図である。図９Ｂでは、図９Ａにおいて例示した帳票画像１０の「金額」の欄の線分１２直下周辺を拡大しており、定義領域４の直近右側の罫線の像７と、線分１２との交点１４が例示されている。また、定義体３によって位置情報が示されている罫線の縦方向（図９Ｂの矢印２０）に対して、定義領域４の直近右側の罫線の像７が成す角度１３が例示されている。
【００４０】
続いて、図９Ｃに示すように、制御部５００は、交点１４を中心として、角度１３で定義領域４を回転させて補正する。そして、図９Ｄに示すように、回転した定義領域４の横方向の辺の向きを、最も近い横方向の罫線の像７の向きと同じ方向になるように補正する。なお、図９Ｃ及び図９Ｄでは、補正前の定義領域４の位置を点線の矩形枠１７で示す。図９Ｃ及び図９Ｄで述べた補正により、帳票１に横の折れ目が入り帳票画像１０の一部分が傾いてしまっている場合においても、その傾きに起因する定義領域４のズレが補正される。そのため、定義領域４内に例えば罫線の像７などの文字認識に悪影響を及ぼす領域を含まずに文字認識を実行することができる。従って、文字認識の精度を向上させることができる。
【００４１】
以上の図９Ａ〜図９Ｄを参照して述べた補正処理を含む第２の実施形態に係る文字認識処理の動作フローを、図１０Ａ〜Ｂを参照して説明する。図１０Ａ〜Ｂは、第２の実施形態に係る帳票１に横に折れ目が入り、帳票１の一部分が浮いてしまった状態で撮像された画像２の文字認識の際に定義領域４の補正を行う文字認識処理の動作フローを例示する図である。図１０Ａ〜Ｂの動作フローは、例えば、文字認識装置１００の制御部５００が記憶部５１０に格納されているプログラム５２０を読み出して実行することで実施される。一実施形態においては、文字認識装置１００に文字認識処理の実行指示が入力されると図１０Ａ〜Ｂの動作フローは開始する。
【００４２】
ステップＳ１００１において、文字認識装置１００の制御部５００は、帳票１を撮像した画像２を取得する。ステップＳ１００２において、文字認識装置１００の制御部５００は、画像２内の帳票画像１０から罫線の像７を抽出する。ステップＳ１００３において、制御部５００は罫線の像７に合わせて定義体３の例えばサイズ及び向きなどを調整し、帳票画像１０に定義体３を配置する。続いてステップＳ１００４において、制御部５００は帳票画像１０の外周９を抽出する。
【００４３】
ステップＳ１００５において、制御部５００は、抽出された外周９の形状に基づいて、帳票画像１０の各辺において直線性がなくなる箇所を折れ曲がり１１の位置として特定し、特定された折れ曲がり１１を結ぶ線分１２を特定する。ステップＳ１００６において、制御部５００は、折れ曲がり１１が帳票画像１０の左辺及び右辺の両方に存在するか否かを判定する。上述したように第２の実施形態では、帳票１の横方向に折れ目が入り、帳票１の一部が浮いてしまった場合の定義領域４の補正を例示している。そのため、ステップＳ１００６において、帳票画像１０の左辺及び右辺の両方に折れ曲がり１１が存在しない場合には（ステップＳ１００６がＮｏ）、本動作フローは終了する。一方、帳票画像１０の左辺及び右辺の両方に折れ曲がり１１が存在する場合には（ステップＳ１００６がＹｅｓ）、フローはステップＳ１００７へと進む。
【００４４】
ステップＳ１００７からステップＳ１０１５までの処理は帳票１に対する定義体３に含まれる定義領域４毎に繰り返される繰り返し処理である。ステップＳ１００７において、繰り返しの度に、制御部５００は、定義体３のうちから定義領域４を一つずつ選択し、選択された定義領域４に対してステップＳ１００８からステップＳ１０１５までの処理を実行する。ステップＳ１００８において、制御部５００は、選択された定義領域４の近接する（例えば隣り合う）縦方向の罫線の像７を選択する。一実施形態においては、制御部５００は、選択された定義領域４の帳票１における位置に基づいて、罫線の像７を選択してもよい。図１１Ａ及び図１１Ｂは、第２の実施形態に係る帳票１の縦方向に折れ目が入った場合における帳票１内での定義領域４の位置と、選択される罫線の像７との関係を例示する図である。
【００４５】
図１１Ａは、帳票１内での領域を表しており、帳票１は、左上の領域（図１１Ａの（１））、右上の領域（図１１Ａの（２））、左下の領域（図１１Ａの（３））、及び右下の領域（図１１Ａの（４））の４つの領域に区切られている。また、図１１Ｂは、帳票１内で定義領域４が図１１Ａのいずれの領域に配置されているかと、それに応じた選択する罫線の像７との関係を示す罫線選択情報１１００を例示する図である。なお、罫線選択情報１１００は、例えば文字認識装置１００の記憶部５１０に格納されている。図１１Ａ及び図１１Ｂに示す例では、定義領域４が帳票１の左上の領域（図１１Ａの（１））及びに左下の領域（図１１Ａの（３））に配置されている場合には、定義領域４の直近左側にある罫線の像７を選択する（図１１Ｂ）。一方、定義領域４が帳票１の右上の領域（図１１Ａの（２））及びに右下の領域（図１１Ａの（４））に配置されている場合には、定義領域４の直近右側にある罫線の像７を選択する（図１１Ｂ）。
【００４６】
続いて、制御部５００は、ステップＳ１００９において、選択した罫線の像７と、線分１２との交点１４を罫線の像７の折れ曲がりの位置として特定する。ステップＳ１０１０において、制御部５００は、ステップＳ１００３で帳票画像１０に配置した定義体３の縦方向に対して、選択した罫線の像７が成す角度１３を算出する。例えば、角度１３は、定義体３に示される帳票１の縦方向の罫線と、選択した罫線の像７とが成す角度１３として算出されてもよい。或いは、この角度は、定義体３に示される定義領域４の縦方向の辺と、選択した罫線の像７とが成す角度１３として算出されてもよい。
【００４７】
制御部５００は、ステップＳ１０１１において、算出した角度１３で、交点１４を中心として、ステップＳ１００７で選択した定義領域４を回転させ補正する。ステップＳ１０１２において、制御部５００は、定義領域４に直近の横方向の罫線の像７の向きに、定義領域４の横の辺の向きを合わせて補正する。ステップＳ１０１３において、制御部５００は、補正後の定義領域４の枠内を画像２から切り出して２値化し、ステップＳ１０１４において、切り出して２値化した領域に対して文字認識処理を実行する。ステップＳ１０１５において、制御部５００は、帳票１に対して定義されている定義体３に含まれる全ての定義領域４について、ステップＳ１００７〜ステップＳ１０１５の処理が完了しているか否かを判定し、完了していない場合には、フローはステップＳ１００７へと戻る。一方、帳票１に対して定義されている定義体３内の全ての定義領域４について、ステップＳ１００７〜ステップＳ１０１５の処理が完了している場合には、本動作フローは終了する。
【００４８】
以上で述べた、図１１の動作フローにより、帳票１に横方向に折れ目が入った状態でスキャナ等により読み取りが行われ、得られた文字認識を行う対象の画像２において帳票画像１０の一部分が傾いていたとする。この場合にも、定義領域４を補正して文字認識処理を行うため、正しく文字を認識することができる。なお、第２の実施形態において例示したように帳票１に横方向に折れ目が入る場合、帳票１の折れ目の影響による帳票画像１０の傾きは、例えば、図９Ａに例示されるように、横方向の罫線の像７よりも、縦方向の罫線の像７をより大きな角度で傾かせやすい。そのため、第２の実施形態では、先に縦方向の罫線の像７の傾きに合わせて定義領域４を補正するように構成している。
【００４９】
以上の図１１の動作フローにおいて、ステップＳ１００１の処理では、文字認識装置１００の制御部５００は取得部５１１として機能する。ステップＳ１００２からステップＳ１００３の処理では、文字認識装置１００の制御部５００は配置部５１２として機能する。ステップＳ１００４からステップＳ１００６までの処理では、文字認識装置１００の制御部５００は判定部５１３として機能する。ステップＳ１００７からステップＳ１００９までの処理では、文字認識装置１００の制御部５００は、特定部５１４として機能する。ステップＳ１０１０の処理において、文字認識装置１００の制御部５００は算出部５１５として機能する。ステップＳ１０１１からステップＳ１０１２までの処理において、文字認識装置１００の制御部５００は、補正部５１６として機能する。ステップＳ１０１３からステップＳ１０１４までの処理において、文字認識装置１００の制御部５００は、文字認識処理部５１７として機能する。
【００５０】
続いて、図１２から図１４を参照して、第３の実施形態に係る定義領域４の補正を用いた文字認識処理を説明する。第３の実施形態では、帳票１に斜めに折れ目が入り、一部分が浮いてしまった状態で撮像された画像２の帳票画像１０の文字認識において、定義体３の定義領域４の補正を行う例を説明する。
【００５１】
図１２Ａから図１２Ｅは、第３の実施形態に係る定義領域４の補正を説明する図である。図１２Ａは、帳票１をスキャナなどで読み取って得られた画像２の帳票画像１０から折れ曲がり１１の位置を特定し、折れ曲がり１１を結ぶ線分１２を特定した状態を示している。折れ曲がり１１の位置の特定及び線分１２の特定は、第１及び第２の実施形態で述べたのと類似する手法を用いて実施されてもよい。即ち、画像２から帳票画像１０の外周９を抽出し、帳票画像１０の上辺及び下辺のいずれか一方並びに左辺及び右辺のいずれか一方に折れ曲がり１１が有る場合に、その帳票画像１０の折れ曲がり１１の位置を特定する。折れ曲がり１１の位置の特定は、例えば、帳票画像１０の各辺上で直線性が失われる点の位置を特定することで行われてもよい。例えば、この様にして折れ曲がり１１の位置を特定すると、制御部５００は、特定した折れ曲がり１１を結ぶ線分１２を特定する。なお、第３の実施形態においては、帳票１に斜めに折れ目が入る場合を例示しているため、折れ曲がり１１は帳票画像１０の上辺及び下辺のいずれか一方並びに左辺及び右辺のいずれか一方に存在する。図１２Ａの例では、帳票画像１０の上辺と右辺に折れ曲がり１１がある場合を例示している。
【００５２】
続いて、制御部５００は、線分１２を特定したあと、帳票１における定義領域４の近傍の縦方向の罫線の像７及び横方向の罫線の像７をそれぞれ選択する。図１２Ｂは、図１２Ａにおいて例示した帳票画像１０の「金額」の欄の周辺を拡大している。制御部５００は、選択した縦方向の罫線の像７と、線分１２との第１の交点３０をその縦方向の罫線の像７の折れ曲がり位置として特定する。一方、選択した横方向の罫線の像７と、線分１２との第２の交点３２をその横方向の罫線の像７の折れ曲がり位置として特定する。そして、制御部５００は、第１の交点３０を中心として、定義体３の縦方向（図１２Ｂの矢印２０）に対して、選択した縦方向の罫線の像７が成す第１の角度３１を算出する。また、第２の交点３２を中心として、定義体３の横方向（図１２Ｂの矢印１５）に対して、選択した横方向の罫線の像７が成す第２の角度３３を算出する。そして、算出した第１の角度３１と第２の角度３３とを比較し、より大きい角度を成した罫線の像７の軸を選択し、その軸方向の定義領域４の辺を先に補正する。即ち、例えば図１２Ｂでは、第１の角度３１の方が第２の角度３３よりも大きな角度を有するため、罫線の像７の縦方向の軸を選択し、罫線の像７の縦方向の軸と対応する定義領域４の縦の辺に対して先に補正を行う。
【００５３】
制御部５００は、図１２Ｃに示すように、選択した縦方向の罫線の像７の交点である第１の交点３０を中心として、第１の角度３１で定義領域４を回転させて定義領域４の縦の辺のうち縦方向の罫線の像７に近い側の辺を補正する。続いて、図１２Ｄに示すように、帳票画像１０上の罫線の像７の横幅に合うように回転後の定義領域４の横幅を小さくし、定義領域４の縦の辺のうち選択した縦方向の罫線の像７に遠い側の辺を補正する。その後、図１２Ｅに示すように、回転した定義領域４の横方向の辺の向きを、最も近い横方向の罫線の像７の方向と同じ方向になるように補正することで、選択しなかった罫線の像７の軸方向の定義領域４の辺の補正を行う。なお、図１２Ｂから図１２Ｅにおいては、補正前の定義領域４の位置を点線の矩形枠１７で示している。図１２Ｂから図１２Ｅで述べた補正により、帳票１に斜めに折れ目が入り帳票画像１０の一部分が傾いてしまっている場合においても、その傾きに起因する定義領域４のズレが補正される。そのため、定義領域４内に例えば罫線の像７などの文字認識に悪影響を及ぼす領域を含まずに、文字認識を実行することができる。従って、文字認識の精度を向上させることができる。
【００５４】
以上の図１２Ａ〜図１２Ｅを参照して述べた補正処理を含む第３の実施形態に係る動作フローを、図１３Ａ〜Ｂを参照して説明する。図１３Ａ〜Ｂは、第３の実施形態に係る帳票１に斜めに折れ目が入り、帳票１の一部分が浮いてしまった状態で撮像された画像２の文字認識の際に定義領域４の補正を行う文字認識処理の動作フローを例示する図である。図１３Ａ〜Ｂの動作フローは、例えば、文字認識装置１００の制御部５００が記憶部５１０に格納されているプログラム５２０を読み出して実行することで実施される。一実施形態においては、文字認識装置１００に文字認識処理の実行指示が入力されると図１３Ａ〜Ｂの動作フローは開始する。
【００５５】
ステップＳ１３０１において、文字認識装置１００の制御部５００は、帳票１を撮像した画像２を取得する。ステップＳ１３０２において、制御部５００は、画像２内の帳票画像１０から罫線の像７を抽出する。ステップＳ１３０３において、制御部５００は罫線の像７に合わせて定義体３の例えばサイズ及び向きなどを調整し、帳票画像１０に定義体３を配置する。続いてステップＳ１３０４において、制御部５００は帳票画像１０の外周９を抽出する。
【００５６】
ステップＳ１３０５において、制御部５００は、抽出された外周９の形状に基づいて、帳票画像１０の各辺において直線性がなくなる箇所を折れ曲がり１１の位置として特定し、特定された折れ曲がり１１を結ぶ線分１２を特定する。ステップＳ１３０６において、制御部５００は帳票画像１０の折れ曲がり１１が上辺又は下辺のいずれか一方、並びに左辺又は右辺のいずれか一方に存在するか否かを判定する。上述したように第３の実施形態では、帳票１の斜め方向に折れ目が入り、帳票１の一部が浮いてしまった場合の定義領域４の補正を例示している。そのため、ステップＳ１３０６において、帳票画像１０の上辺又は下辺のいずれか一方、並びに左辺又は右辺のいずれか一方に折れ曲がり１１が存在しない場合には（ステップＳ１３０６がＮｏ）、本動作フローは終了する。一方、帳票画像１０の上辺又は下辺のいずれか一方、並びに左辺又は右辺のいずれか一方に折れ曲がり１１が存在する場合には（ステップＳ１３０６がＹｅｓ）、フローはステップＳ１３０７へと進む。
【００５７】
ステップＳ１３０７からステップＳ１３１６までの処理は帳票１に対する定義体３に含まれる定義領域４毎に繰り返される繰り返し処理である。ステップＳ１３０７において、繰り返しの度に、制御部５００は、定義体３のうちから定義領域４を一つずつ選択し、選択された定義領域４に対してステップＳ１３０８からステップＳ１３１６までの処理を実行する。ステップＳ１３０８において、制御部５００は、選択された定義領域４に近接する（例えば隣り合う）縦方向と横方向の２つの罫線の像７を選択する。一実施形態においては、制御部５００は、選択された定義領域４の帳票１における位置に基づいて、定義領域４と隣り合う縦方向と横方向の２つの罫線の像７を選択してもよい。図１４Ａ及び図１４Ｂは、第３の実施形態に係る帳票１の斜め方向に折れ目が入った場合における、帳票１内での定義領域４の位置と、選択される縦方向と横方向の２つの罫線の像７との関係を例示する図である。
【００５８】
図１４Ａは、帳票１内での領域を表しており、帳票１は、左上の領域（図１４Ａの（１））、右上の領域（図１４Ａの（２））、左下の領域（図１４Ａの（３））、及び右下の領域（図１４Ａの（４））の４つの領域に区切られている。また、図１４Ｂは、帳票１内で定義領域４が図１４Ａのいずれの領域に配置されているかと、それに応じた選択する縦方向と横方向の２つの罫線の像７との関係を示す罫線選択情報１４００を例示する図である。なお、罫線選択情報１４００は、例えば文字認識装置１００の記憶部５１０に格納されている。図１４Ａ及び図１４Ｂに示す例では、定義領域４が帳票１の左上の領域（図１１Ａの（１））に配置されている場合には、定義領域４の直近上側にある横方向の罫線の像７と、定義領域４の直近右側にある縦方向の罫線の像７とを選択する（図１４Ｂ）。定義領域４が帳票１の右上の領域（図１４Ａの（２））に配置されている場合には、定義領域４の直近上側にある横方向の罫線の像７と、定義領域４の直近左側にある縦方向の罫線の像７とを選択する（図１４Ｂ）。定義領域４が帳票１の左下の領域（図１１Ａの（３））に配置されている場合には、定義領域４の直近下側にある横方向の罫線の像７と、定義領域４の直近右側にある縦方向の罫線の像７とを選択する（図１４Ｂ）。定義領域４が帳票１の右下の領域（図１１Ａの（４））に配置されている場合には、定義領域４の直近下側にある横方向の罫線の像７と、定義領域４の直近左側にある縦方向の罫線の像７とを選択する（図１４Ｂ）。
【００５９】
続いて、制御部５００は、ステップＳ１３０９において、選択した２つの罫線の像７と線分１２との２つの交点を特定する。即ち、ステップＳ１３０８で選択した縦方向の罫線の像７と、線分１２との第１の交点３０と、ステップＳ１３０８で選択した横方向の罫線の像７と線分１２との第２の交点３２とを罫線の像７の折れ曲がりの位置としてそれぞれ特定する。ステップＳ１３１０において、制御部５００は、ステップＳ１３０３で帳票画像１０に配置した定義体３の縦方向に対して、縦方向の罫線の像７が成す第１の角度３１と、定義体３の横方向に対して、横方向の罫線の像７が成す第２の角度３３と、をそれぞれ算出する。なお、例えば、定義体３の縦方向及び横方向とは、例えば、定義体３を帳票１に合わせた際の帳票１の縦及び横方向とそれぞれ一致する方向であってもよい。例えば、定義体３の縦方向及び横方向は、定義体３に位置情報が定義されている帳票１の縦及び横の罫線の向きとそれぞれ一致する方向であってもよい。或いは、定義体３の縦及び横方向は、定義体３に位置情報が定義されている定義領域４の縦及び横方向の辺とそれぞれ一致する方向であってもよい。
【００６０】
続いて、ステップＳ１３１１において、制御部５００は、算出した第１の角度３１と第２の角度３３とを比較し、より大きい角度を有する罫線の像７の軸を選択し、選択した罫線の像７の軸と対応する定義領域４の辺に対して先に補正を行う。即ち、例えば図１２Ｂに示す例では、第１の角度３１の方が第２の角度３３よりも大きな角度を有するため、縦方向の罫線の像７の軸を選択し、縦方向の罫線の像７の軸と対応する定義領域４の縦の辺に対して先に補正を行う。なお、第２の角度３３の方が第１の角度３１よりも大きな角度を有する場合には、横方向の罫線の像７の軸と対応する定義領域４の横の辺に対して先に補正を行う。続いて、制御部５００は、選択した罫線の像７の軸に存在する交点（例えば、図１２Ｂの例では第１の交点３０）を中心として、より大きい値を有した角度（例えば、図１２Ｂの例では第１の角度３１）で定義領域４を回転させて補正する。続いて、ステップＳ１３１２において、制御部５００は、図１２Ｄを参照して述べたように、定義領域４の辺のうちで、ステップＳ１３１２で回転し補正した辺と対をなす対向辺を、帳票画像１０上の罫線の像７の幅に合わせて小さくするように補正する。ステップＳ１３１３において、制御部５００は、ステップＳ１３１２及びステップＳ１３１３で補正した辺以外の定義領域４の残りの辺の向きを、直近の罫線の像７の向きに合わせて補正する。なお、定義領域４の残りの辺が定義領域４の横の辺である場合には、直近の横の罫線の像７の向きに合わせて補正を行い、一方、定義領域４の残りの辺が定義領域４の縦の辺である場合には、直近の縦の罫線の像７の向きに合わせて補正を行う。
【００６１】
続いて、ステップＳ１３１４において、制御部５００は、補正後の定義領域４の枠内を画像２から切り出して２値化し、ステップＳ１３１５において、２値化した領域に対して文字認識処理を実行する。続いて、ステップＳ１３１６において、制御部５００は、帳票１に対して定義されている定義体３内の全ての定義領域４について、ステップＳ１３０７〜ステップＳ１３１６の処理が完了しているか否かを判定し、完了していない場合には、フローはステップＳ１３０７へと戻る。一方、帳票１に対して定義されている定義体３内の全ての定義領域４について、ステップＳ１３０７〜ステップＳ１３１６の処理が完了している場合には、本動作フローは終了する。
【００６２】
以上で述べた、図１３Ａ〜Ｂの動作フローにより、帳票１に斜め方向に折れ目が入った状態でスキャナ等により読み取りが行われ、文字認識対象の画像２において帳票画像１０の一部分が傾いていたとしても、定義領域４を補正して文字認識処理を行うことができるため、正しく文字を認識することができる。
【００６３】
以上の図１３Ａ〜Ｂの動作フローにおいて、ステップＳ１３０１の処理では、文字認識装置１００の制御部５００は取得部５１１として機能する。ステップＳ１３０２からステップＳ１３０３までの処理では、文字認識装置１００の制御部５００は配置部５１２として機能する。ステップＳ１３０４からステップＳ１３０６までの処理では、文字認識装置１００の制御部５００は判定部５１３として機能する。ステップＳ１３０７からステップＳ１３０９までの処理では、文字認識装置１００の制御部５００は、特定部５１４として機能する。ステップＳ１３１０の処理において、文字認識装置１００の制御部５００は算出部５１５として機能する。ステップＳ１３１１からステップＳ１３１３までの処理において、文字認識装置１００の制御部５００は、補正部５１６として機能する。ステップＳ１３１３からステップＳ１３１４までの処理において、文字認識装置１００の制御部５００は、文字認識処理部５１７として機能する。
【００６４】
以上の第１から第３の実施形態で例示したように、いくつかの実施形態によれば、画像２において帳票画像１０の一部分が傾いてしまった場合にも、定義領域４を補正して文字認識を行うため、正しい文字を認識することができる。そのため、帳票１の文字認識率を向上させることができる。また、定義領域４を補正するため、画像２中の帳票画像１０に補正を行う必要はない。
【００６５】
なお、以上で述べた第１から第３の実施形態では、文字認識を実行する対象として帳票１を撮像した画像２を例に説明を行った。しかしながら、本発明に係る実施形態はこれに限定されるものではなく、文字認識を実行する対象に罫線が含まれていれば、帳票１以外のその他のものに対してもいくつかの実施形態を適用することができる。
【００６６】
また、上述の動作フローにおいて、例えば図７Ａ〜ＢのステップＳ７１４、図１０Ａ〜ＢのステップＳ１０１４、図１３Ａ〜ＢのステップＳ１３１５で実行される文字認識処理の結果が悪い場合に、定義領域４を切り出し２値化した（図７Ａ〜ＢのステップＳ７１３、図１０Ａ〜ＢのステップＳ１０１３、図１３Ａ〜ＢのステップＳ１３１４）画像を更に補正して、文字認識を行なうように構成してもよい。図１５Ａ及び図１５Ｂは、文字認識を行なう前の追加の補正処理を例示する図である。例えば、図１５Ａに示すように、切り出し２値化した画像を回転し補正してもよい。或いは、帳票１の折れ曲がりの角度により、帳票画像１０上の文字が縮んでしまうため、２値化した画像を伸張により補正してから文字認識を行なってもよい。図１５Ｂは、切り出し２値化した画像を縦方向に伸張して補正する例を示している。
【００６７】
図１６は、いくつかの実施形態に係る、文字認識装置１００を実現するためのコンピュータ１６００のハードウェア構成を例示する図である。図１６の文字認識装置１００を実現するためのハードウェア構成は、例えば、プロセッサ１６０１、メモリ１６０２、記憶装置１６０３、読取装置１６０４、通信インタフェース１６０６、及び入出力インタフェース１６０７を備える。なお、プロセッサ１６０１、メモリ１６０２、記憶装置１６０３、読取装置１６０４、通信インタフェース１６０６、入出力インタフェース１６０７は、例えば、バス１６０８を介して互いに接続されている。
【００６８】
プロセッサ１６０１は、メモリ１６０２を利用して上述の動作フローの手順を記述したプログラム５２０を実行することにより、上述した各機能部の一部または全部の機能を提供する。例えば、文字認識装置１００の制御部５００は、プロセッサ１６０１であり、また、記憶部５１０は、例えばメモリ１６０２、記憶装置１６０３、及び着脱可能記憶媒体１６０５を含んでいる。文字認識装置１００のプロセッサ１６０１は、例えば、記憶装置１６０３に格納されているプログラム５２０を読み出して実行することで、取得部５１１、配置部５１２、判定部５１３、特定部５１４、算出部５１５、補正部５１６、及び文字認識処理部５１７として機能する。
【００６９】
文字認識装置１００の記憶装置１６０３には、例えば、プログラム５２０、定義体３、罫線選択情報８００，１１００，及び１４００が格納されている。メモリ１６０２は、例えば半導体メモリであり、ＲＡＭ領域及びＲＯＭ領域を含んで構成される。記憶装置１６０３は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、又は外部記録装置である。
【００７０】
読取装置１６０４は、プロセッサ１６０１の指示に従って着脱可能記憶媒体１６０５にアクセスする。着脱可能記憶媒体１６０５は、例えば、半導体デバイス（ＵＳＢメモリ等）、磁気的作用により情報が入出力される媒体（磁気ディスク等）、光学的作用により情報が入出力される媒体（ＣＤ−ＲＯＭ、ＤＶＤ等）などにより実現される。通信インタフェース１６０６は、プロセッサ１６０１の指示に従ってネットワーク１６１０を介してデータを送受信する。入出力インタフェース１６０７は、例えば、ユーザからの指示を受け付けるキーボード及びマウスなどの入力装置、並びにディスプレーなどの表示装置、スピーカなどの音声装置などの出力装置との間のインタフェースに相当する。入出力インタフェース１６０７は、スキャナなどの画像形成装置とのインタフェースを含んでよく、撮像された画像２を画像形成装置から受信してもよい。
【００７１】
実施形態に係る各プログラム５２０は、例えば、下記の形態で文字認識装置１００に提供される。
（１）記憶装置１６０３に予めインストールされている。
（２）着脱可能記憶媒体１６０５により提供される。
（３）プログラムサーバなどのサーバ１６０９から提供される。
【００７２】
図１７は、いくつかの実施形態に係る文字認識装置１００が運用されるシステム構成１７００を例示する図である。システム構成１７００は、例えば、文字認識装置１００、画像形成装置１７０１、及び情報処理装置１７０２を含んでいる。画像形成装置１７０１は、例えばスキャナ、複合機などの帳票１等を撮像して画像化する装置を含む。情報処理装置１７０２は、例えば、文字認識装置１００へと画像２のデータを送信し、文字認識処理を依頼するクライアントコンピュータ、又は文字認識装置１００へと画像２を提供するサーバ等を含む。なお、情報処理装置１７０２のハードウェア構成は、例えば、図１６に例示したコンピュータ１６００と同様の構成であってもよい。
【００７３】
実施形態に係る文字認識処理が実行される画像２のデータは、例えば、下記の形態で文字認識装置１００に提供される。
（１）記憶装置１６０３に記憶されている。
（２）着脱可能記憶媒体１６０５により提供される。
（３）スキャナ等の画像形成装置１７０１、並びにクライアントＰＣ及びサーバコンピュータなどの情報処理装置１７０２からネットワーク１６１０を介して或いは入出力インタフェース１６０７を介して提供される。
【００７４】
文字認識装置１００は、例えば、クライアントＰＣから画像２のデータを受信し、受信した画像２に対して文字認識処理を実行した結果をクライアントＰＣへと返信するというように、クラウドで文字認識処理を実行するサーバとして機能してもよい。
【００７５】
以上において、いくつかの実施形態について説明した。しかしながら、本発明に係る実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、本発明に係る種々の実施形態を成すことができることが理解されよう。或いは、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して本発明に係る種々の実施形態が実施され得ることが当業者には理解されよう。
【符号の説明】
【００７６】
１  帳票
２  画像
３  定義体
４  定義領域
１０  帳票画像
１００  文字認識装置
５００  制御部
５０１  機能部
５１０  記憶部
５１１  取得部
５１２  配置部
５１３  判定部
５１４  特定部
５１５  算出部
５１６  補正部
５１７  文字認識処理部
１６００  コンピュータ
１６０１  プロセッサ
１６０２  メモリ
１６０３  記憶装置
１６０４  読取装置
１６０５  着脱可能記憶媒体
１６０６  通信インタフェース
１６０７  入出力インタフェース
１６０８  バス
１６０９  サーバ
１６１０  ネットワーク
１７００  システム構成
１７０１  画像形成装置
１７０２  情報処理装置
【図１Ａ】
2014048731.tif 000003
【図１Ｃ】
2014048731.tif 000004
【図３Ｃ】
2014048731.tif 000005
【図５】
2014048731.tif 000006
【図６Ａ】
2014048731.tif 000007
【図６Ｂ】
2014048731.tif 000008
【図６Ｉ】
2014048731.tif 000009
【図６Ｊ】
2014048731.tif 000010
【図６Ｋ】
2014048731.tif 000011
【図７Ａ】
2014048731.tif 000012
【図７Ｂ】
2014048731.tif 000013
【図８Ａ】
2014048731.tif 000014
【図８Ｂ】
2014048731.tif 000015
【図９Ａ】
2014048731.tif 000016
【図１０Ａ】
2014048731.tif 000017
【図１０Ｂ】
2014048731.tif 000018
【図１１Ａ】
2014048731.tif 000019
【図１１Ｂ】
2014048731.tif 000020
【図１２Ａ】
2014048731.tif 000021
【図１３Ａ】
2014048731.tif 000022
【図１３Ｂ】
2014048731.tif 000023
【図１４Ａ】
2014048731.tif 000024
【図１４Ｂ】
2014048731.tif 000025
【図１５Ａ】
2014048731.tif 000026
【図１５Ｂ】
2014048731.tif 000027
【図１６】
2014048731.tif 000028
【図１７】
2014048731.tif 000029
【図１Ｂ】
2014048731.tif 000030
【図２】
2014048731.tif 000031
【図３Ａ】
2014048731.tif 000032
【図３Ｂ】
2014048731.tif 000033
【図４Ａ】
2014048731.tif 000034
【図４Ｂ】
2014048731.tif 000035
【図６Ｃ】
2014048731.tif 000036
【図６Ｄ】
2014048731.tif 000037
【図６Ｅ】
2014048731.tif 000038
【図６Ｆ】
2014048731.tif 000039
【図６Ｇ】
2014048731.tif 000040
【図６Ｈ】
2014048731.tif 000041
【図９Ｂ】
2014048731.tif 000042
【図９Ｃ】
2014048731.tif 000043
【図９Ｄ】
2014048731.tif 000044
【図１２Ｂ】
2014048731.tif 000045
【図１２Ｃ】
2014048731.tif 000046
【図１２Ｄ】
2014048731.tif 000047
【図１２Ｅ】
2014048731.tif 000048