(57)【特許請求の範囲】
【請求項１】
複数の文字と文字に重畳するマークとを含む画像データに対して文字認識をおこない、前記複数の文字の中から正しく認識できた確度の高い文字を示す高確度文字を抽出する文字抽出部と、
前記画像データに含まれる全画素のうち、マークおよび文字の部分に対応する画素を連結し、連結した画素の外接矩形を設定する外接矩形設定部と、
前記外接矩形設定部が複数設定した各外接矩形の座標位置に基づいて、重複する座標位置の各外接矩形を統合する外接矩形統合部と、
各外接矩形と前記高確度文字との座標位置に基づいて各外接矩形から前記高確度文字に対応する外接矩形を判別し、判別した外接矩形に外接する所定の幅の領域を示す文字列外領域を設定する文字列外領域設定部と、
座標位置が前記文字列外領域に含まれる外接矩形を判別し、判別した外接矩形に含まれる文字に対してグラフ化をおこなうことで当該文字を複数の辺に分割し、前記文字列外領域に含まれる辺を削除する辺削除部と、
前記辺削除部が文字列外領域に含まれる辺の削除をした前記外接矩形に含まれる文字に対して文字認識を行う文字認識部と
を有することを特徴とする文字認識装置。
【請求項２】
前記文字列外領域に含まれる辺が存在しなくなるまで、前記外接矩形設定部、前記外接矩形統合部、前記文字列外領域設定部、前記辺削除部は順に処理を繰り返し実行することを特徴とする請求項１に記載の文字認識装置。
【請求項３】
前記辺削除部は、分割した辺の長さが所定の長さ以上となる辺を更に削除することを特徴とする請求項１または２に記載の文字認識装置。
【請求項４】
コンピュータに、
複数の文字と文字に重畳するマークとを含む画像データに対して文字認識をおこない、前記複数の文字の中から正しく認識できた確度の高い文字を示す高確度文字を抽出する文字抽出手順と、
前記画像データに含まれる全画素のうち、マークおよび文字の部分に対応する画素を連結し、連結した画素の外接矩形を設定する外接矩形設定手順と、
前記外接矩形設定手順が複数設定した各外接矩形の座標位置に基づいて、重複する座標位置の各外接矩形を統合する外接矩形統合手順と、
各外接矩形と前記高確度文字との座標位置に基づいて各外接矩形から前記高確度文字に対応する外接矩形を判別し、判別した外接矩形に外接する所定の幅の領域を示す文字列外領域を設定する文字列外領域設定手順と、
座標位置が前記文字列外領域に含まれる外接矩形を判別し、判別した外接矩形に含まれる文字に対してグラフ化をおこなうことで当該文字を複数の辺に分割し、前記文字列外領域に含まれる辺を削除する辺削除手順と、
前記辺削除手順が文字列外領域に含まれる辺の削除をした前記外接矩形に含まれる文字に対して文字認識をおこなう文字認識手順と
を実行させることを特徴とする文字認識プログラム。
【請求項５】
文字認識装置が、
複数の文字と文字に重畳するマークとを含む画像データに対して文字認識をおこない、前記複数の文字の中から正しく認識できた確度の高い文字を示す高確度文字を抽出する文字抽出ステップと、
前記画像データに含まれる全画素のうち、マークおよび文字の部分に対応する画素を連結し、連結した画素の外接矩形を設定する外接矩形設定ステップと、
前記外接矩形設定ステップが複数設定した各外接矩形の座標位置に基づいて、重複する座標位置の各外接矩形を統合する外接矩形統合ステップと、
各外接矩形と前記高確度文字との座標位置に基づいて各外接矩形から前記高確度文字に対応する外接矩形を判別し、判別した外接矩形に外接する所定の幅の領域を示す文字列外領域を設定する文字列外領域設定ステップと、
座標位置が前記文字列外領域に含まれる外接矩形を判別し、判別した外接矩形に含まれる文字に対してグラフ化をおこなうことで当該文字を複数の辺に分割し、前記文字列外領域に含まれる辺を削除する辺削除ステップと、
前記辺削除ステップが文字列外領域に含まれる辺の削除をした前記外接矩形に含まれる文字に対して文字認識をおこなう文字認識ステップと
を実行することを特徴とする文字認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識装置、文字認識プログラムおよび文字認識方法に関する。
【背景技術】
【０００２】
近年、マークの重畳した文字列に対して文字認識などの画像処理を行い、どの文字列にマークが付けられているのかを自動的に判定することが求められている。これは、どの文字列にマークが付けられているのかを判別する作業を作業者自身が行うと、判別対象の数が多くなる場合には、作業者に負担がかかるためである。
【０００３】
例えば、マークの付けられた文字列を判定する必要があるものとして、帳票などが上げられる。帳票には「普通貯金」、「当座貯金」などの文字列を含む選択肢欄があり、利用者は、この選択肢欄に含まれる文字列の上に丸印などのマークを重畳して記入することで、利用者の希望する項目を選択するからである。
【０００４】
ここで、選択された文字列を自動的に認識するためには、文字列の上にマークが重畳する場合でも文字列を正しく認識することが前提となる。ここで、例えば、文字列の上にマークが重畳している状態でそのまま文字認識処理を実行すると、重畳したマークも文字の一部として文字認識されてしまうため、正確に文字認識を行うことができなかった。
【０００５】
文字列を正しく認識するためには、例えば、文字列の文字部分と、文字列上のマークとを分離させた後に、文字列を認識することが考えられる。文字部分とマークとを分離させる技術としては、文字部分とマークとの濃度や色の違いに基づいて、文字部分とマークとを分離させる技術が知られている。また、マークが記入されていない文字列の画像データと、マークが記入された文字列の画像データとを比較して、文字部分とマークとを分離させる技術も知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平５−２６６２５４号公報
【特許文献２】特開２００１−１２６０１９号公報
【特許文献３】特開２００９−４３１０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術では、文字列部分とマーク部分とを分離できない場合があるため、正確に文字認識を実行することができないという問題があった。例えば、帳票などに含まれる文字列と利用者が記入するマークとは、濃度や色が似通っている場合が多い。このため、濃度や色の違いに基づいて文字部分とマークとを分離させる従来技術では、文字列部分とマークとの区別がつきにくく、文字列部分とマークとを正確に分離することができなかった。
【０００８】
一方、マークが記入されていない文字列の画像データを用いて文字部分とマークとを分離する従来技術は、上記のように文字列部分およびマークの濃度や色が似通っている場合でも、文字部分とマークとを分離させることができる。しかし、かかる従来技術では、予め、分離対象となる文字列の画像データを用意しておく必要がある。このため、用意した画像データに含まれない文字列にマークが重畳されている場合には、文字列部分とマークとを分離することができなかった。
【０００９】
開示の技術は、上記に鑑みてなされたものであって、文字列上にマークが重畳している場合でも、正確に文字認識を実行することができる文字認識装置、文字認識プログラムおよび文字認識方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示する文字認識装置は、一つの態様において、複数の文字と文字に重畳するマークとを含む画像データに対して文字認識をおこない、複数の文字の中から正しく認識できた確度の高い文字を示す高確度文字を抽出する。また、文字認識装置は、画像データに含まれる全画素のうち、マークおよび文字の部分に対応する画素を連結し、連結した画素の外接矩形を設定する。また、文字認識装置は、複数設定した各外接矩形の座標位置に基づいて、重複する座標位置の各外接矩形を統合する。また、文字認識装置は、各外接矩形と高確度文字との座標位置に基づいて各外接矩形から高確度文字に対応する外接矩形を判別し、判別した外接矩形に外接する所定の幅の領域を示す文字列外領域を設定する。また、文字認識装置は、座標位置が文字列外領域に含まれる外接矩形を判別し、判別した外接矩形に含まれる文字に対してグラフ化をおこなうことで当該文字を複数の辺に分割し、文字列外領域に含まれる辺を削除する。また、文字認識装置は、辺が削除された外接矩形に含まれる文字に対して文字認識をおこなうことを要件とする。
【発明の効果】
【００１１】
本願の開示する文字認識装置の一つの態様によれば、文字列上にマークが重畳している場合でも、正確に文字認識を実行することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、本実施例１にかかる文字認識装置の構成を示す図である。
【図２】図２は、本実施例２にかかる文字認識装置の構成を示す図である。
【図３】図３は、文字列画像データの一例を示す図である。
【図４】図４は、認識結果データのデータ構造の一例を示す図である。
【図５】図５は、マーク画像データの一例を示す図である。
【図６】図６は、マーク連結成分データのデータ構造の一例を示す図である。
【図７】図７は、マーク位置判定処理部の処理を説明するための図である。
【図８】図８は、辞書データのデータ構造の一例を示す図である。
【図９】図９は、文字登録テーブルのデータ構造の一例を示す図である。
【図１０】図１０は、重なり矩形管理テーブルのデータ構造の一例を示す図である。
【図１１】図１１は、文字領域の抽出結果の一例を示す図である。
【図１２】図１２は、文字抽出処理を説明するための図である。
【図１３】図１３は、第１の文字推定処理を説明するための図である。
【図１４】図１４は、ラベリング処理を説明するための図である。
【図１５】図１５は、重なり統合処理を説明するための図である。
【図１６】図１６は、細線化処理を説明するための図である。
【図１７】図１７は、グラフ化処理を説明するための図である。
【図１８】図１８は、文字列外領域を設定する処理を説明するための図である。
【図１９】図１９は、辺削除処理および第３の文字推定処理の処理結果を示す図である。
【図２０】図２０は、文字領域確定処理を説明するための図である。
【図２１】図２１は、文字認識処理の処理結果を説明するための図である。
【図２２】図２２は、行生成処理の処理結果を説明するための図である。
【図２３】図２３は、マーク情報抽出の処理結果を説明するための図である。
【図２４】図２４は、文字認識装置の処理手順を示すフローチャートである。
【図２５】図２５は、文字抽出処理の処理手順を示すフローチャートである。
【図２６】図２６は、文字領域抽出処理の処理手順を示すフローチャートである。
【図２７】図２７は、辺削除処理の処理手順を示すフローチャートである。
【図２８】図２８は、本実施例にかかる文字認識装置を構成するコンピュータのハードウェア構成を示す図である。
【図２９】図２９は、上下の文字列で文字の位置が異なるものの一例を示す図である。
【図３０Ａ】図３０Ａは、文字抽出処理部のその他の処理の一例を示す図（１）である。
【図３０Ｂ】図３０Ｂは、文字抽出処理部のその他の処理の一例を示す図（２）である。
【図３０Ｃ】図３０Ｃは、文字抽出処理部のその他の処理の一例を示す図（３）である。
【図３０Ｄ】図３０Ｄは、文字抽出処理部のその他の処理の一例を示す図（４）である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する文字認識装置、文字認識プログラムおよび文字認識方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１４】
本実施例１にかかる文字認識装置の構成の一例について説明する。図１は、本実施例１にかかる文字認識装置の構成を示す図である。図１に示すように、この文字認識装置１００は、文字抽出部１１０、外接矩形設定部１２０、外接矩形統合部１３０、文字列外領域設定部１４０、辺削除部１５０、文字認識部１６０を有する。
【００１５】
文字抽出部１１０は、複数の文字と文字に重畳するマークとを含む画像データに対して文字認識をおこない、複数の文字の中から正しく認識できた確度の高い文字を示す高確度文字を抽出する。外接矩形設定部１２０は、画像データに含まれる全画素のうち、マークおよび文字の部分に対応する画素を連結し、連結した画素の外接矩形を設定する。
【００１６】
外接矩形統合部１３０は、外接矩形設定部１２０が複数設定した各外接矩形の座標位置に基づいて、重複する座標位置の各外接矩形を統合する。文字列外領域設定部１４０は、各外接矩形と高確度文字との座標位置に基づいて各外接矩形から高確度文字に対応する外接矩形を判別し、判別した外接矩形に外接する所定の幅の領域を示す文字列外領域を設定する。
【００１７】
辺削除部１５０は、座標位置が文字列外領域に含まれる外接矩形を判別し、判別した外接矩形に含まれる文字に対してグラフ化をおこなうことで当該文字を複数の辺に分割し、文字列外領域に含まれる辺を削除する。文字認識部１６０は、辺削除部１５０が文字列外領域に含まれる辺の削除をした外接矩形に含まれる文字に対して文字認識を行う。
【００１８】
一般的に、文字列にマークが重畳している場合でも、文字列に含まれる全ての文字にマークが重畳していることは稀である。また、文字認識の対象となるような文字列は、文字列に含まれる各文字の大きさがほぼ同一で、各文字が規則正しく配列している場合が多い。そして、従来、マークの重畳する文字の文字認識を正確に実行できない要因の一つとして、マーク部分を文字部分の一部として認識しているため、文字の存在する領域を正確に判別できていないことが上げられる。
【００１９】
このため、文字列に含まれる全ての文字を正確に認識できなくても、正確に認識できた文字の大きさや座標位置を足がかりとして、その他の文字の領域を推定すればよい。本実施例１の文字認識装置１００は、まず、簡易的な文字認識を実行することで、正確に文字認識できた確度の高い文字を示す高確度文字を抽出する。そして、文字認識装置１００は、高確度文字の外接矩形に外接する所定の幅の領域を示す文字列外領域を設定し、この文字列外領域に含まれるその他の文字の辺を削除する。文字列に含まれる文字の大きさがほぼ同じで、各文字が規則正しく配列しているとすれば、文字列外領域に含まれる文字の辺はマークであるため、かかる辺を削除することで、その他の文字の領域を正確に判別できる。文字の領域を正確に判別できれば、判別した領域に対して文字認識を実行することで、正確に文字を認識することができる。すなわち、本実施例１にかかる文字認識装置１００は、文字列上にマークが重畳している場合でも、正確に文字を認識することができる。
【実施例２】
【００２０】
次に、本実施例２にかかる文字認識装置の構成について説明する。図２は、本実施例２にかかる文字認識装置の構成を示す図である。図２に示すように、この文字認識装置２００は、文字列画像認識処理部２１０、マーク位置判定処理部２２０、記憶部２３０を有する。また、文字認識装置２００は、入力装置２００ａおよび表示装置２００ｂに接続する。
【００２１】
入力装置２００ａは、例えば、帳票などの紙媒体から文字列やマークなどが混在する画像を読取り、読取った画像データを文字認識装置２００に出力する装置である。以下の説明において、入力装置２００ａが文字認識装置２００に出力する画像データを文字列画像データと表記する。入力装置２００ａは、例えば、スキャナ等の画像読取装置に対応する。表示装置２００ｂは、文字認識装置２００の出力結果を表示する装置である。表示装置２００ｂは、例えば、ディスプレイ等の表示装置に対応する。
【００２２】
文字列画像認識処理部２１０は、文字列画像データに含まれる文字を認識し、認識結果となる認識結果データを生成する。また、文字列画像認識処理部２１０は、認識結果データを基にして、文字列画像データに含まれるマークの画像データを示すマーク画像データと、文字列画像データ上のマークの座標等を含んだマーク連結成分データとを生成する。そして、文字列画像認識処理部２１０は、文字列画像データ、認識結果データ、マーク画像データ、マーク連結成分データをマーク位置判定処理部２２０に出力する。
【００２３】
なお、文字列画像認識処理部２１０は、文字抽出処理部２１０ａ、文字認識処理部２１０ｂ、行生成部２１０ｃ、マーク情報抽出処理部２１０ｄを有する。各処理部２１０ａ〜２１０ｄの説明は後述する。
【００２４】
ここで、上記の文字列画像データ、認識結果データ、マーク画像データ、マーク連結成分データについて順に説明する。図３は、文字列画像データの一例を示す図である。図３に示す文字列画像データ１は、「普通」、「当座」、「貯金」の文字列が含まれる。また、文字列「普通」、「当座」にマークが重畳している。
【００２５】
図４は、認識結果データのデータ構造の一例を示す図である。図４に示すように、認識結果データ３０は、行ポインタデータ３１、行データ３２ａ〜３２ｃ、文字データ３３ａ〜３３ｆを有する。このうち、行ポインタデータ３１は、行数と行データへのポインタとを有する。行数は、文字列画像データに含まれる文字列の行数である。例えば、文字列画像データが、図３に示す文字列画像データ１の場合には、文字列「普通」、「当座」、「貯金」が３行にて画像上に並んでいるため、行数は「３」となる。行データへのポインタは、行データ３２ａ〜３２ｃの位置を示すポインタである。
【００２６】
行データ３２ａ〜３２ｃは、各文字列に対応付けて生成されるデータであり、行座標と、マークフラグと、文字数とを有する。図４に示す例では、行データ３２ａが文字列「普通」に対応し、行データ３２ｂが文字列「当座」に対応し、行データ３２ｃが文字列「貯金」に対応する。
【００２７】
行データ３２ａ〜３２ｃの行座標は、文字列画像データに含まれる文字列の座標である。例えば、かかる座標は、文字列に外接する外接矩形の左端下側の座標と、外接矩形の右端上側の座標を含む。マークフラグは、対応する文字列にマークが付いているか否かを識別するフラグである。例えば、マークフラグが「０」の場合には、対応する文字列にマークが付いている旨を示す。マークフラグが「１」の場合には、対応する文字列にマークが付いていない旨を示す。例えば、行データ３２ａのマークフラグが「１」の場合には、対応する文字列「普通」にマークが付いている旨を示す。マークフラグの初期値は「０」である。文字数は、対応する文字列に含まれる文字の数を示す。文字データのポインタは、文字列に含まれる各文字に対応する文字データの位置を示すポインタである。
【００２８】
例えば、行データ３２ａは、文字列「普通」に対応している。このため、行データ３２ａの文字データのポインタは、「普」に対応する文字データ３３ａの位置と、「通」に対応する文字データ３３ｂの位置とを示す。また、行データ３２ｂは、文字列「当座」に対応している。このため、行データ３２ｂの文字データのポインタは、「当」に対応する文字データ３３ｃと、「座」に対応する文字データ３３ｄの位置とを示す。また、行データ３２ｃは、文字列「貯金」に対応している。このため、行データ３２ｃの文字データのポインタは、「貯」に対応する文字データ３３ｅと、「金」に対応する文字データ３３ｆの位置とを示す。
【００２９】
文字データ３３ａ〜３３ｆは、文字列に含まれる文字に対応付けて生成されるデータであり、文字コードと、文字座標とを有する。文字コードは、該当する文字を一意に識別するデータである。文字座標は、文字コードに対応する文字の座標である。
【００３０】
図５は、マーク画像データの一例を示す図である。図５に示す例では、図３の文字列画像データ１からマークを抽出した場合のマーク画像データ２を示している。図５に示すマーク画像データ２は、マークの連結成分２ａ〜２ｃを含む。
【００３１】
図６は、マーク連結成分データのデータ構造の一例を示す図である。図６に示すように、マーク連結成分データ４０は、連結成分ポインタデータ４１と、連結成分座標テーブル４２とを有する。連結成分ポインタデータ４１は、連結成分数と連結成分座標テーブル４２へのポインタを有する。連結成分数は、マーク画像データに含まれる連結成分の数である。例えば、図３のマーク画像データ２は、連結成分の数が「３」であるため、連結成分数は「３」となる。連結成分座標テーブル４２のポインタは、連結成分座標テーブル４２の位置を示す。連結成分座標テーブル４２は、連結成分毎に連結成分座標を有する。連結成分座標は、連結成分の座標である。かかる座標は、例えば、連結成分に外接する外接矩形の左端下側の座標と、外接矩形の右端上側の座標を含む。
【００３２】
図２の説明に戻る。マーク位置判定処理部２２０は、認識結果データ３０とマーク連結成分データ４０とを基にして、どの文字列にマークが付いているのかを判定する。そして、マーク位置判定処理部２２０は、判定結果を表示装置２００ｂに出力する。
【００３３】
ここで、マーク位置判定処理部２２０がマークの付いている文字列を判定する処理について具体的に説明する。まず、マーク位置判定処理部２２０は、認識結果データ３０の行座標に外接する外接矩形を、文字列毎に生成する。以下において、認識結果データ３０の行座標に外接する外接矩形を第１の外接矩形と表記する。また、マーク位置判定処理部２２０は、マーク連結成分データ４０の連結成分座標に外接する外接矩形を生成する。以下において、連結成分座標に外接する外接矩形を第２の外接矩形と表記する。
【００３４】
マーク位置判定処理部２２０は、第１の外接矩形の領域と、第２の外接矩形の領域とを比較して、第１、２の外接矩形の領域が重複する重複領域の面積を第１の外接矩形毎に算出する。マーク位置判定処理部２２０は、第１の外接矩形に複数の第１の外接矩形の領域が重複している場合には、各重複領域の面積を合計し、合計した重複面積を第１の外接矩形に対応する面積として算出する。
【００３５】
図７は、マーク位置判定処理部の処理を説明するための図である。図７に示す例では、第１の外接矩形３ａに、第２の外接矩形３ｂ，３ｃが重複している。第１の外接矩形３ａと第２の外接矩形３ｂとが重複する領域を重複領域３ｄとする。第１の外接矩形３ａと第２の外接矩形３ｃとが重複する領域を重複領域３ｅとする。この場合、マーク位置判定処理部２２０は、重複領域３ｄ，３ｅの面積を、第１の外接矩形３ａに対応する面積とする。
【００３６】
マーク位置判定処理部２２０は、各第１の外接矩形に対応する重複領域の面積を比較し、面積が最大となる第１の外接矩形を判定する。そして、マーク位置判定処理部２２０は、判定した第１の外接矩形に外接する行座標を有する行データを判定し、判定した行データに含まれるマークフラグを「１」に設定する。そして、マーク位置判定処理部２２０は、マークフラグの値を更新した認証結果データ３０を判定結果として出力する。
【００３７】
図２の説明に戻る。記憶部２３０は、文字列画像認識処理部２１０が文字の認識を実行する場合に利用する各種のデータを記憶する記憶部である。記憶部２３０は、辞書データ２３０ａ、文字登録テーブル２３０ｂ、重なり矩形管理テーブル２３０ｃを記憶する。
【００３８】
辞書データ２３０ａは、文字と、文字の特徴を表す特徴ベクトルとの組を有する。図８は、辞書データのデータ構造の一例を示す図である。図８に示すように、この辞書データ２３０ａは、文字コードと特徴ベクトルと対応付ける。
【００３９】
文字登録テーブル２３０ｂは、文字コード、文字の座標などを含む。図９は、文字登録テーブルのデータ構造の一例を示す図である。図９に示すように、この文字登録テーブル２３０ｂは、文字ポインタデータ２３１と、文字データ２３２ａ〜２３２ｃとを有する。文字ポインタデータ２３１は、文字数と、文字データへのポインタを有する。文字数は、文字列画像データに含まれる文字の数である。文字データへのポインタは、文字データ２３２ａ〜２３２ｃの位置を示すポインタである。文字データ２３２ａ〜２３２ｃは、文字コードと、文字座標とを有する。
【００４０】
重なり矩形管理テーブル２３０ｃは、ラベルの座標などを含む。このラベルは、文字列画像データ上に存在する文字またはマークの連結部分に外接する矩形に対応する。ラベルに関する詳細な説明は後述する。図１０は、重なり矩形管理テーブルのデータ構造の一例を示す図である。図１０に示すように、重なり矩形管理テーブル２３０ｃは、重なり矩形ポインタデータ２３３と、重なり矩形データ２３４ａ〜２３４ｃとを有する。重なり矩形ポインタデータ２３３は、ラベル数と、重なり矩形データへのポインタとを有する。ラベル数は、文字列画像データに含まれるラベルの数である。重なり矩形データへのポインタは、重なり矩形データ２３４ａ〜２３４ｃの位置を示すポインタである。
【００４１】
また、図１０に示すように、重なり矩形データ２３４ａ〜２３４ｃは、ラベル値と、ラベル座標とを有する。ラベル値には、ラベルの特性に応じてラベル値「−１〜３」の何れかが設定される。なお、ラベル値の初期値は「−１」となる。ラベル座標は、文字列画像データ上のラベルの座標である。
【００４２】
次に、図２に示した文字列画像認識処理部２１０が有する文字抽出処理部２１０ａ、文字認識処理部２１０ｂ、行生成部２１０ｃ、マーク情報抽出処理部２１０ｄについて具体的に説明する。
【００４３】
このうち、文字抽出処理部２１０ａは、文字列画像データに含まれる各文字の領域を抽出する処理部である。例えば、文字抽出処理部２１０ａは、図３に示した文字列画像データ１に対して各文字の領域を抽出すると、図１１に示す各文字領域１０ａ〜１０ｆが抽出される。図１１は、文字領域の抽出結果の一例を示す図である。文字抽出処理部２１０ａは、図１１に示すように、文字「普」に外接する領域１０ａ、文字「通」に外接する領域１０ｂ、文字「当」に外接する領域１０ｃ、文字「座」に外接する領域１０ｄを抽出する。また、文字抽出処理部２１０ａは、文字「貯」に外接する領域１０ｅ、文字「金」に外接する領域１０ｆを抽出する。
【００４４】
以下において、文字抽出処理部２１０ａの処理を具体的に説明する。この文字抽出処理部２１０ａは、文字列画像データから文字領域を抽出するために、文字認識処理、第１の文字推定処理、ラベリング処理、重なり統合処理、第２の文字推定処理、文字領域抽出処理を順に実行する。
【００４５】
まず、文字抽出処理部２１０ａが実行する文字抽出処理について説明する。文字抽出処理部２１０ａは、周知の文字抽出技術を利用して、文字列画像データに含まれる文字を抽出する。文字抽出処理部２１０ａは、如何なる周知の文字抽出技術を利用しても良い。周知の文字抽出技術として、例えば、「鎌田洋、富士克仁、黒川浩司、秋元晴雄”圧縮文字特徴と原特徴を併用した高速かつ高精度な文書認識方式”社団法人  電子情報通信学会  信学技報」等がある。
【００４６】
ここで、文字抽出処理部２１０ａが実行する文字抽出処理の一例について説明する。文字抽出処理部２１０ａは、文字列画像データを２値化した２値画像データを生成し、２値画像データに含まれる白画素及び黒画素のうち、連結する黒画素に外接する外接矩形を切り出す。以下の説明において、文字抽出処理部２１０ａが切り出した外接矩形を切出し矩形と表記する。
【００４７】
そして、文字抽出処理部２１０ａは、切出し矩形の大きさを正規化した後に、切出し矩形を複数の部分矩形領域に分割し、各部分矩形領域に含まれる輪郭点の数に基づいて、切出し矩形の特徴量を算出する。ここで、輪郭点は、上下左右に黒画素が存在する白画素である。
【００４８】
続いて、文字抽出処理部２１０ａは、所定の変換式に基づいて特徴量を特徴ベクトルに変換する。以下の説明において、所定の変換式に基づいて変換した特徴ベクトルを変換特徴ベクトルと表記する。文字抽出処理部２１０ａは、変換特徴ベクトルと、辞書データ２３０ａに含まれる特徴ベクトルとを比較する。文字抽出処理部２１０ａは、変換特徴ベクトルに最も類似する特徴ベクトルを判定し、判定した特徴ベクトルに対応する文字コードを切出し矩形内の文字として識別することで、文字抽出処理を実行する。このように、文字抽出処理部２１０ａは、文字列画像データに対して文字認識処理を実行することで、文字列画像データに含まれる文字を識別する。
【００４９】
図１２は、文字抽出処理を説明するための図である。図１２に示すように、文字抽出処理部２１０ａが文字列画像データ１に対して文字抽出処理を実行することで、切出し矩形１３ａ〜１３ｃが切出され、各切出し矩形１３ａ〜１３ｃ内の文字が認識される。ただし、文字抽出処理部２１０ａは、文字列画像データ１に含まれるマークも文字の一部として文字認識を行うので、マークが重畳する文字を正確に切り分けることができない。例えば、図１２において、「普」、「通」、「当」、「座」にマークが重畳しているので、文字抽出処理部２１０ａは「普」、「通」、「当」、「座」とマークとを一つの文字として、切出し矩形１３ａを切り出す。なお、「貯」、「金」にはマークが重畳していない。このため、文字抽出処理部２１０ａは、「貯」に対応する切出し矩形１３ｂを切出し、「金」に対応する切出し矩形１３ｃを切り出す。
【００５０】
切出し矩形１３ｂに含まれる文字の抽出結果は文字コード「貯」となり、切出し矩形１３ｃに含まれる文字の抽出結果は文字コード「金」となる。なお、切出し矩形１３ａに含まれる文字の抽出結果は、例えば、文字コード「雪」となる。
【００５１】
そして、文字抽出処理部２１０ａは、抽出結果に基づいて、文字数と、文字データと、認識距離値を抽出する。ここで、文字数は、文字列画像データ内の切出し矩形の数である。文字データは、文字列画像データ内の切出し矩形内の文字コードと座標とを含む。認識距離値は、切出し矩形から求めた変換特徴ベクトルの距離と、この変換特徴ベクトルに最も類似する辞書データ２３０ａ中の特徴ベクトルの距離とのうち、短い方の距離に対応するものである。ここでは一例として、切出し矩形１３ａの認識距離値を「２０００」とし、切出し矩形１３ｂの認識距離値を「７００」とし、切出し矩形１３ｃの認識距離値を「７２０」とする。
【００５２】
次に、文字抽出処理部２１０ａが実行する第１の文字推定処理について説明する。文字抽出処理部２１０ａは、かかる第１の文字推定処理により、上記文字抽出処理により切り出した切出し矩形内の文字の抽出結果が正しいか否かを判定する。具体的に、文字抽出処理部２１０ａは、認識距離値が所定の閾値よりも小さい場合に、切出し矩形内の文字の抽出結果が正しいと判定する。文字抽出処理部２１０ａは、正しいと判定した文字の文字コードおよび文字座標を文字登録テーブル２３０ｂに登録する。また、文字抽出処理部２１０ａは、正しいと判定した文字の文字数を文字登録テーブル２３０ｂに登録する。
【００５３】
なお、文字抽出処理部２１０ａは、文字登録テーブル２３０ｂが更新されたか否かを識別するチェンジフラグを保持する。チェンジフラグの初期値は「０」である。文字抽出処理部２１０ａは、文字登録テーブル２３０ｂを更新した場合に、チェンジフラグの値を「１」に設定する。
【００５４】
図１３は、第１の文字推定処理を説明するための図である。文字抽出処理部２１０ａは、各切出し矩形１３ａ〜１３ｃに対応する認識距離値と所定の閾値とを比較し、所定の閾値よりも小さい認識距離値に対応する切出し矩形を判定する。例えば、所定の閾値を１０００とした場合、所定の閾値よりも小さい認識距離値の切出し矩形は、切出し矩形１３ｂ、１３ｃとなる。この場合、文字抽出処理部２１０ａは、切出し矩形１３ｂの「貯」、切出し矩形１３ｃの「金」の文字コードと座標とを文字登録テーブル２３０ｂに登録する。また、文字抽出処理部２１０ａは、文字数「２」を文字登録テーブル２３０ｂに登録する。また、文字登録テーブル２３０ｂが更新されたので、文字抽出処理部２１０ａは、チェンジフラグの値を「１」とする。
【００５５】
次に、文字抽出処理部２１０ａが実行するラベリング処理について説明する。まず、文字抽出処理部２１０ａは、文字列画像データを２値化する。例えば、文字列画像データを２値化すると、文字やマークに対応する部分は黒画素となり、その他の空白部分は白画素となる。そして、文字抽出処理部２１０ａは、文字列画像データの黒画素部分の連結部分を抽出し、抽出した連結部分に外接する外接矩形を求めることで、ラベリング処理を実行する。以下の説明において、ラベリング処理により求められた外接矩形をラベルと表記する。図１４は、ラベリング処理を説明するための図である。図１４に示すように、文字列画像データ１に対してラベリング処理を実行すると、ラベル１４ａ〜１４ｎが求められる。
【００５６】
次に、文字抽出処理部２１０ａが実行する重なり統合処理について説明する。文字抽出処理部２１０ａは、上記ラベリング処理により求めた各ラベルの座標を比較し、座標が重複するラベルを抽出する。そして、文字抽出処理部２１０ａは、座標が重複するラベルの大きさを比較し、矩形の大きさが大きいラベルに矩形の大きさが小さいラベルを統合することで、重なり統合処理を実行する。文字抽出処理部２１０ａは、重なり統合処理を実行した後に、ラベル数、ラベル値、ラベル座標を重なり矩形管理テーブル２３０ｃに登録する。なお、各ラベル値の初期値は「−１」に設定される。
【００５７】
図１５は、重なり統合処理を説明するための図である。図１５の左側に示す例では、ラベル１４ａ〜１４ｈの座標が重複しており、ラベル１４ａの矩形の大きさが、ラベル１４ｂ〜１４ｈの矩形の大きさよりも大きい。このため、文字抽出処理部２１０ａは、ラベル１４ｂ〜１４ｈをラベル１４ａに統合する。また、ラベル１４ｌ、１４ｍ、１４ｎの座標が重複しており、ラベル１４ｌの矩形の大きさが、ラベル１４ｍ、１４ｎの矩形の大きさよりも大きい。このため、文字抽出処理部２１０ａは、ラベル１４ｌ、１４ｍ、１４ｎをラベル１４ｌに統合する。文字抽出処理部２１０ａが重なり統合処理を実行することで、図１５の左側の文字列画像データ１は、図１５の右側の文字列画像データ１となる。
【００５８】
次に、文字抽出処理部２１０ａが実行する第２の文字推定処理について説明する。文字抽出処理部２１０ａは、上記ラベリング処理および重なり統合処理で求めたラベルの座標と、文字登録テーブル２３０ｂの文字座標とを比較して、各ラベルに対応するラベル値を判定する。文字抽出処理部２１０ａが判定するラベル値は、ラベル値「０」、「１」、「２」「３」のうち何れかの値となる。以下において、ラベル値「０」、「１」、「２」「３」となる条件を順に説明する。
【００５９】
文字抽出処理部２１０ａが、ラベル値「０」と判定するラベルの条件について説明する。文字抽出処理部２１０ａは、ラベルの座標と文字登録テーブル２３０ｂの各文字座標とを比較し、ラベルの座標と一致する文字座標が存在する場合に、該当ラベルのラベル値をラベル値「０」と判定する。または、文字抽出処理部２１０ａは、ラベルと文字座標を含む矩形との重複面積を求める。そして、文字抽出処理部２１０ａは、ラベルの面積に対する重複面積の割合が所定の閾値「Ｔｈ１」以上の場合に、ラベル値「０」と判定する。
【００６０】
文字抽出処理部２１０ａが、ラベル値「１」と判定するラベルの条件について説明する。ラベルの座標により特定される矩形が文字座標により特定される矩形に包含されている場合に、該当ラベルのラベル値をラベル値「０」と判定する。または、文字抽出処理部２１０ａは、ラベルの面積に対する重複面積の割合が所定の閾値「Ｔｈ１」を超え、文字座標の矩形の面積に対する重複面積の割合が所定の閾値「Ｔｈ１」を超えない場合に、ラベル値「１」と判定する。
【００６１】
文字抽出処理部２１０ａが、ラベル値「２」と判定するラベルの条件について説明する。文字抽出処理部２１０ａは、ラベル値「０」またはラベル値「１」の条件を満たさずに、かつ、ラベルの長辺の長さが所定の閾値「Ｔｈ２」以下の場合に、ラベル値「２」と判定する。例えば、所定の閾値「Ｔｈ２」は、所定の閾値「Ｔｈ１」の１．５倍の大きさとする。
【００６２】
文字抽出処理部２１０ａが、ラベル値「３」と判定するラベルの条件について説明する。文字抽出処理部２１０ａは、ラベル値「０」またはラベル値「１」の条件を満たさずに、かつ、ラベルの長辺の長さが所定の閾値「Ｔｈ２」より大きい場合に、ラベル値「３」と判定する。文字抽出処理部２１０ａは、ラベルに対応するラベル値を判定した場合に、判定結果を重なり矩形管理テーブル２３０ｃに登録する。
【００６３】
図１５を利用して、第２の文字推定処理の説明を行う。ここで、前提条件として、文字「貯」、「金」の文字コードおよび文字座標は、文字登録テーブル２３０ｂに登録されているものとする。また、ラベル１４ａの長辺の長さは閾値「Ｔｈ２」より大きいものとする。
【００６４】
図１５のラベル１４ａのラベル値について説明する。文字登録テーブル２３０ｂには、ラベル１４ａの座標と一致する文字座標及び、ラベル１４ａを包含する文字座標の矩形は存在しない。更に、ラベル１４ａの長辺の長さは、所定の閾値「Ｔｈ２」より大きい。このため、文字抽出処理部２１０ａは、ラベル１４ａのラベル値をラベル値「３」と判定する。
【００６５】
図１５のラベル１４ｉ、１４ｊ、１４ｋのラベル値について説明する。文字登録テーブル２３０ｂには、ラベル１４ｉ、１４ｊ、１４ｋを包含する文字コード「貯」の文字座標が存在する。このため、文字抽出処理部２１０ａは、ラベル１４ｉ、１４ｊ、１４ｋのラベル値をラベル値「１」と判定する。
【００６６】
図１５のラベル１４ｌのラベル値について説明する。文字登録テーブル２３０ｂには、ラベル１４ｋの座標と一致する文字コード「金」の文字座標が存在する。このため、文字抽出処理部２１０ａは、ラベル１４ｌのラベル値をラベル値「０」と判定する。文字抽出処理部２１０ａは、ラベル１４ａ、１４ｉ、１４ｊ、１４ｋ、１４ｌのラベル値を重なり矩形管理テーブル２３０ｃに登録する。
【００６７】
次に、文字抽出処理部２１０ａが実行する文字領域抽出処理について説明する。この文字領域抽出処理は、細線化処理、グラフ化処理、辺削除処理、ラベリング処理、重なり統合処理、第３の文字推定処理、文字領域確定処理を含む。以下において、各処理の説明を順に説明する。
【００６８】
まず、文字抽出処理部２１０ａが実行する細線化処理について説明する。文字抽出処理部２１０ａは、重なり矩形管理矩形のラベル値を参照し、ラベル値「３」となるラベルを特定する。そして、文字抽出処理部２１０ａは、ラベル値「３」のラベル内の画像データをスキャンし、ラベル内の線を所定の幅以下の線に変更する。図１６は、細線化処理を説明するための図である。図１６に示すように、文字抽出処理部２１０ａは、ラベル１４ａに含まれる線を、図１６の右側に示すように、所定の幅以下の線に変更する。
【００６９】
続いて、文字抽出処理部２１０ａが実行するグラフ化処理について説明する。文字抽出処理部２１０ａは、細線化した線の内、線の端部分または線の交点部分をノードとして抽出し、各ノードに挟まれる線を辺として抽出することでグラフ化を行う。図１７は、グラフ化処理を説明するための図である。図１７の左側に示す細線化された線は、グラフ化処理を実行されることで、図１７の右側に示すものとなる。なお、ここでは説明の便宜上、細線化された文字のうち、「普通」の上側部分のグラフ化結果のみを示す。図１７の右側において丸部分がノードに対応し、各ノードに挟まれた線が辺に対応する。
【００７０】
なお、上記の細線化処理およびグラフ化処理は、如何なる従来技術を利用しても構わない。例えば、特開２０００−３２２５１４号公報に開示された技術を利用して、文字抽出処理部２１０ａは、細線化処理およびグラフ化処理を実行しても良い。
【００７１】
次に、文字抽出処理部２１０ａが実行する辺削除処理について説明する。かかる辺削除処理を実行することで、文字抽出処理部２１０ａは文字に含まれる不要な辺を取り除く。文字抽出処理部２１０ａは、文字から不要な辺が取り除かれるまで、繰り返し辺削除処理を実行する。文字抽出処理部２１０ａは、辺の削除を行った回数を保持しており、かかる回数に応じて異なる方法で辺を削除する。具体的に、文字抽出処理部２１０ａは、辺の削除の回数が「０回」の場合、すなわち、初回の場合には、辺の長さに基づいて辺削除処理を行う。文字抽出処理部２１０ａは、辺の削除の回数が「１回」以上で、かつ、チェンジフラグが「１」の場合には、文字登録テーブル２３０ｂを利用して辺削除処理を行う。文字抽出処理部２１０ａは、辺の削除の回数が「１回」以上で、かつ、チェンジフラグが「０」の場合には、ヒストグラムを利用して辺削除処理を行う。以下において、各辺削除処理の説明を順に説明する。
【００７２】
まず、文字抽出処理部２１０ａが、辺の長さに基づいて行う辺削除処理について説明する。文字抽出処理部２１０ａは、グラフ化した画像データの辺を抽出し、各辺の長さの平均値を算出する。そして、文字抽出処理部２１０ａは、平均値に定数「ｃ１」を乗算した値を示す辺基準値を求める。文字抽出処理部２１０ａは、グラフ化した画像データの辺のうち、辺基準値以上の長さを有する辺を削除する。なお、文字抽出処理部２１０ａは、辺基準値として、管理者に指定される固定値を用いても良いし、文字登録テーブル２３０ｂに登録された文字の辺の平均値を用いても良い。
【００７３】
次に、文字抽出処理部２１０ａが、文字登録テーブル２３０ｂを利用して行う辺削除処理について説明する。まず、文字抽出処理部２１０ａは、文字登録テーブル２３０ｂに登録された文字座標に基づいて文字列外領域を設定する。具体的に、文字抽出処理部２１０ａは、文字登録テーブル２３０ｂに登録された文字座標を含む外接矩形を設定し、この外接矩形に接し幅が定数「ｃ２」となる矩形領域を４つ設定し、設定した領域を文字列外領域とする。
【００７４】
図１８は、文字列外領域を設定する処理を説明するための図である。ここでは一例として、文字登録テーブル２３０ｂに文字コード「貯」、文字座標「Ａ」、「Ｂ」が登録されており、文字抽出処理部２３０ｂは、かかる文字コード、文字座標を用いて文字列外領域を設定するものとする。まず、文字抽出処理部２１０ａは、図１８の左側に示すように、文字座標Ａ、Ｂを含む外接矩形２０ａを設定する。そして、文字抽出処理部２１０ａは、外接矩形２０ａに接する文字列外領域２１ａ〜２１ｄを設定する。文字列外領域２１ａ〜２１ｄの幅は、定数「ｃ２」とする。
【００７５】
文字列外領域を設定した後に、文字抽出処理部２１０ａは、グラフ化した各辺と文字列外領域２１ａ〜２１ｄとを比較する。そして、文字抽出処理部２１０ａは、文字列外領域２１ａ〜２１ｄの何れかと重畳する辺が存在する場合に、かかる辺を削除する。図１８に示す例では、辺２５ａが文字列外領域２１ｂと重畳するので、文字抽出処理部２１０ａは、辺２５ａを削除する。また、辺２５ｂが文字列外領域２１ｂと重畳するので、文字抽出処理部２１０ａは、辺２５ｂを削除する。
【００７６】
次に、文字抽出処理部２１０ａは、ヒストグラムを利用して辺削除処理を行う辺削除処理について説明する。文字抽出処理部２１０ａは、ラベル値「３」のラベルに対し、縦軸と横軸へ黒画素に関する射影ヒストグラムをとる。そして、文字抽出処理部２１０ａは、射影ヒストグラムの最小点を求め、ヒストグラムの最小点に射影される線上に存在する辺が存在する場合に、かかる辺を削除する。
【００７７】
ただし、文字抽出処理部２１０ａは、最小点に射影される線上に存在する辺が複数ある場合には、削除する辺を１本のみとする。例えば、文字抽出処理部２１０ａは、複数の辺の長さを比較し、最も長い辺を削除する。
【００７８】
文字抽出処理部２１０ａが実行するラベリング処理、重なり統合処理は、図１４、図１５を用いて説明したラベリング処理、重なり統合処理と同様であるため、ここでは説明を省略する。
【００７９】
次に、文字抽出処理部２１０ａが実行する第３の文字推定処理について説明する。文字列抽出処理部２１０ａは、かかる第３の文字推定処理により、ラベル値「２」のラベルを統合し、統合したラベル値「２」に含まれる文字の文字コードを認識する。
【００８０】
具体的に、第３の文字推定処理について具体的に説明する。まず、文字抽出処理部２１０ａは、上記第２の文字推定処理と同様にして、ラベリング処理および重なり統合処理で求めたラベルの座標と、文字登録テーブル２３０ｂの文字座標とを比較して、各ラベルに対応するラベル値を判定する。そして、文字抽出処理部２１０ａは、ラベル値「２」となるラベルを一定の条件下で統合する。
【００８１】
具体的に、文字抽出処理部２１０ａは、ラベル値「２」のラベルをｙ座標の小さい順番にソートする。ここで、ラベル値「２」のあるラベルをラベルＡとし、このラベルＡに最も近いラベル値「２」のラベルをラベルＡ’とする。文字抽出処理部２１０ａは、ラベルＡとラベルＡ’とを統合した場合の矩形の大きさが閾値「ｔｈ」よりも小さいときに、ラベルＡとラベルＡ’とを統合する。文字抽出処理部２１０ａがラベルＡとラベルＡ’とを統合する場合には、ラベルＡの座標を、ラベルＡとラベルＡ’とを統合した矩形の座標に置き換えた後、ラベルＡ’を削除する。文字抽出処理部２１０ａは、統合した場合の矩形の大きさが閾値「ｔｈ」よりも小さくなるラベル値「２」のラベルが存在しなくなるまで、上記処理を繰り返し実行する。
【００８２】
続いて、文字抽出処理部２１０ａは、ラベル値「２」のラベルが下記に示す条件１および条件２を満たすか否かを判定する。
閾値「Ｔｈ３」＜ラベルの長辺＜閾値「Ｔｈ４」・・・条件１
ラベルの短辺／ラベルの長辺＞閾値「Ｔｈ５」・・・条件２
【００８３】
文字抽出処理部２１０ａは、上記条件１および条件２をラベル値「２」のラベルが満たすと判定した場合には、かかるラベルの座標を文字登録テーブル２３０ｂの文字座標に新規に登録する。文字抽出処理部２１０ａは、文字登録テーブル２３０ｂのデータを更新した場合には、チェンジフラグを「１」に設定する。
【００８４】
ここで、文字抽出処理部２１０ａが辺削除処理および第３の文字推定処理を実行した場合の処理結果の一例について説明する。なお、辺削除処理と第３の文字推定処理との間に実行されるラベリング処理および重なり統合処理の説明は省略する。図１９は、辺削除処理および第３の文字推定処理の処理結果を示す図である。なお、図１９では説明の便宜上、辺基準値以上の辺が存在せず、辺の長さに基づいて行う削除処理は行われないものとする。また、「貯」および「金」に対応する文字コードおよび文字座標が文字登録テーブル２３０ｂに登録されているものとする。
【００８５】
図１９（ａ）に示すように、文字抽出処理部２１０ａは、文字コード「貯」の文字座標に外接する外接矩形２０ａを設定する。そして、図１９（ｂ）に示すように、文字抽出処理部２１０ａは、外接矩形２０ａに接する文字列外領域２１ａ〜２１ｄを設定する。ここで、文字列外領域２１ｂと辺２５ａとが重畳するので、文字抽出処理部２１０ａは、辺２５ａを削除する。また、文字列外領域２１ｂと辺２５ｂとが重畳するので、文字抽出処理部２１０ａは、辺２５ｂを削除する。図１９（ｂ）に対して、文字抽出処理部２１０ａが第３の文字推定処理を実行すると、「普」に対応するラベルと、「当」に対応するラベルとがラベル値２となる。このため、文字抽出処理部２１０ａは、「普」、「当」のラベルに対応する文字座標を、文字登録テーブル２３０ｂに新規に登録する。なお、「通」および「座」は、辺「２５ｃ」で接続されている。このため、文字抽出処理部２１０ａが第３の文字推定処理を実行すると、「通」および「座」に外接するラベルが設定され、かかるラベルのラベル値はラベル値「３」となる。
【００８６】
文字抽出処理部２１０ａは、ラベル値「３」のラベルが残っている場合には、辺削除処理および第３の文字推定処理を再度実行する。図１９（ｃ）に示すように、文字コード「普」の文字座標に外接する外接矩形２０ｂを設定する。また、文字抽出処理部２１０ａは、外接矩形２０ｂに接する文字列外領域２２ａ〜２２ｄを設定する。ここで、文字列外領域２２ｃと辺２５ｃとが重畳するので、文字抽出処理部２１０ａは、辺２５ｃを削除する。
【００８７】
続いて、文字抽出処理部２１０ａは、図１９（ｃ）から辺２５ｃを削除した図１９（ｄ）に対して第３の文字推定処理を実行する。そうすると、「通」に対応するラベルと、「座」に対応するラベルとのラベル値がラベル値「２」となる。このため、文字抽出処理部２１０ａは、「通」、「座」のラベルに対応する文字座標を、文字登録テーブル２３０ｂに新規に登録する。
【００８８】
次に、文字抽出処理部２１０ａが実行する文字領域確定処理について説明する。文字抽出処理部２１０ａは、かかる文字領域確定処理を実行することで、文字列画像データに含まれる各文字の領域を確定する。具体的に、文字領域確定処理について説明する。まず、文字抽出処理部２１０ａは、文字登録テーブル２３０ｂを参照し、ラベル値がラベル値「０、２、３」となるラベルを特定する。そして、文字抽出処理部２１０ａは、ラベル値がラベル値「０、２、３」となるラベルをそのまま文字領域として確定する。
【００８９】
また、文字抽出処理部２１０ａは、文字登録テーブル２３０ｂを参照し、ラベル値がラベル値「１」となるラベルを特定する。ラベル値「１」のラベルは、上記第１の文字推定処理により切り出した切出し矩形に包含されるラベルである。文字抽出処理部２１０ａは、第１の文字推定処理により切り出した切出し矩形毎に、ラベル値「１」のラベルを統合する。そして、文字抽出処理部２１０ａは、統合したラベルの領域を文字領域として確定する。
【００９０】
図２０は、文字領域確定処理を説明するための図である。図２０の左側に示すラベル１６ａ〜１６ｄ、１６ｈのラベル値をラベル値「２」とし、ラベル１６ｅ〜１６ｇのラベル値をラベル値「１」とする。図２０の右側に示すように、ラベル値「２」のラベル１６ａ〜１６ｄ、１６ｈの領域をそのまま文字領域として確定する。また、文字抽出処理部２１０ａは、ラベル１６ｅ〜１６ｇを統合し、ラベル１６ｅ’を設定する。そして、文字抽出処理部２１０ａは、ラベル１６ｅ’の領域を文字領域として確定する。このように、６つの文字領域１６ａ〜１６ｈが確定する。
【００９１】
図２に戻り、文字認識処理部２１０ｂの処理について説明する。文字認識処理部２１０ｂは、上記文字抽出処理部２１０ａが確定した文字領域のデータを取得する。この文字領域のデータは、文字列画像データ上の文字領域の座標を含む。文字認識処理部２１０ｂは、文字列画像データ上に文字領域を設定し、設定した文字領域毎に文字認識を実行する。文字認識処理部２１０ｂが実行する文字認識処理は、例えば、文字領域のうち、マークの含まれていない部分の特徴に基づいて、文字を認識する。このように、文字認識処理部２１０ｂが文字認識を実行することで、文字以外のマークが文字領域に含まれている場合でも、文字領域内の文字認識を高精度に行うことができる。
【００９２】
ここで、文字認識処理部２１０ｂの処理の一例を示す。まず、文字認識処理部２１０ｂは、文字領域を複数の部分画像に分割し、分割した部分画像の特徴が、どの文字のどの部分に類似しているのかを求める。文字認識処理部２１０ｂは、例えば、加重方向指数ヒストグラムを適用することで、部分画像の特徴を求めることができる。
【００９３】
続いて、文字認識処理部２１０ｂは、同一の文字の異なる部分にそれぞれ類似する複数の部分画像の位置関係を判定する。文字認識処理部２１０ｂは、判定した位置関係と、対応する文字の位置関係との間で整合性が取れている場合に、対応する文字を文字領域内の文字候補として抽出する。そして、文字認識処理部２１０ｂは、文字候補に、上記部分画像が所定数以上含まれている場合に、かかる文字候補を文字領域内の文字として認識する。文字認識処理部２１０ｂは、認識結果の文字の文字コードおよび文字座標を、図４に示した認識結果データ３０の文字データに登録する。
【００９４】
図２１は、文字認識処理の処理結果を説明するための図である。図２１に示すように、文字認識処理部２１０ｂは、文字登録テーブル２３０ｂの文字座標に基づいて、文字列画像データ１上に、文字領域１０ａ〜１０ｆを設定する。そして、文字認識処理部２１０ｂは、各文字領域１０ａ〜１０ｆに対して、上記文字認識を行う。その結果、文字認識処理部２１０ｂは、文字領域１０ａ内の文字を「普」と認識し、文字領域１０ｂ内の文字を「通」と認識し、文字領域１０ｃ内の文字を「当」と認識する。また、文字認識処理部２１０ｂは、文字領域１０ｄ内の文字を「座」と認識し、文字領域１０ｅ内の文字を「貯」と認識し、文字領域１０ｆ内の文字を「金」と認識する。
【００９５】
図２に戻り、行生成部２１０ｃの処理について説明する。行生成部２１０ｃは、文字列画像データ上の文字領域を連結することで第１の外接矩形を生成する。例えば、行生成部２１０ｃは、文字領域の縦辺をｙ座標に射影し、互いに重なる文字領域を判定する。そして、行生成部２１０ｃは、互いに重なる文字領域を結合することで第１の外接矩形を生成する。行生成部２１０ｃは、第１の外接矩形を生成した場合に、生成した第１の外接矩形の行座標、第１の外接矩形に含まれる文字数を図４の認識結果データ３０に登録する。また、行生成部２１０ｃは、第１の外接矩形に含まれる文字の文字データと行データとを文字データへのポインタにより対応付ける。また、行生成部２１０ｃは、行数を認識結果データ３０に登録し、行ポインタデータと行データとを行データへのポインタにより対応付ける。
【００９６】
図２２は、行生成処理の処理結果を説明するための図である。図２２に示すように、文字領域１０ａおよび１０ｂが互いに重なる文字領域となる。このため、行生成部２１０ｃは、文字領域１０ａおよび１０ｂを統合して、第１の外接矩形１１ａを生成する。また、文字領域１０ｃおよび１０ｄが互いに重なる文字領域となる。このため、行生成部２１０ｃは、文字領域１０ｃおよび１０ｄを統合して、第１の外接矩形１１ｂを生成する。また、文字領域１０ｅおよび１０ｆが互いに重なる文字領域となる。このため、行生成部２１０ｃは、文字領域１０ｅおよび１０ｆを統合して、第１の外接矩形１１ｃを生成する。
【００９７】
図２に戻り、マーク情報抽出処理部２１０ｄの処理について説明する。マーク情報抽出処理部２１０ｄは、文字登録テーブル２３０ｂの文字座標に基づいて、文字列画像データの文字領域を白く塗りつぶすことで、マーク画像データを生成する。そして、マーク情報抽出処理部２１０ｄは、マーク画像データに対してラベリング処理を行うことで、マークの連結部分に外接する第２の外接矩形を求める。マーク情報抽出処理部２１０ｄは、この第２の外接矩形の座標を、マーク連結成分データとして生成する。なお、マーク情報抽出処理部２１０ｄが塗りつぶす色は白に限られず、文字列画像データ１の背景の色であればどのような色でも構わない。
【００９８】
図２３は、マーク情報抽出の処理結果を説明するための図である。図２３に示すように、マーク情報抽出処理部２１０ｄは、文字列画像データ１上に、文字領域１０ａ〜１０ｆを設定する。そして、マーク情報抽出処理部２１０ｄは、文字領域１０ａ〜１０ｄを白く塗りつぶすことで、マーク画像データ２を生成する。そして、マーク情報抽出処理部２１０ｄがマーク画像データ２に対してラベリング処理を行うことで、第２の外接矩形１２ａ、１２ｂ、１２ｃが設定される。マーク情報抽出処理部２１０ｄは、各第２の外接矩形１２ａ、１２ｂ、１２ｃの各座標をマーク連結成分データ４０に登録する。また、図２３に示す例では、第２の外接矩形の数が「３」となるため、マーク情報抽出処理部２１０ｄは、連結成分数「３」をマーク連結成分データ４０に登録する。
【００９９】
次に、文字認識装置２００が文字列画像データに基づいて認識結果を出力するまでの処理手順について説明する。図２４は、文字認識装置の処理手順を示すフローチャートである。図２４に示すように、文字認識装置２００は、文字列画像データを取得し（ステップＳ１０１）、文字抽出処理を実行する（ステップＳ１０２）。
【０１００】
続いて、文字認識装置２００は、文字認識処理を実行し（ステップＳ１０３）、行生成処理を実行する（ステップＳ１０４）。そして、文字認識装置２００は、マーク情報抽出処理を実行し（ステップＳ１０５）、認識結果を出力する（ステップＳ１０６）。
【０１０１】
次に、図２４のステップＳ１０２に示した文字抽出処理について説明する。図２５は、文字抽出処理の処理手順を示すフローチャートである。図２５に示すように、文字認識装置２００は、文字認識処理を実行し（ステップＳ２０１）、第１の文字推定処理を実行する（ステップＳ２０２）。
【０１０２】
続いて、文字認識装置２００は、ラベリング処理を実行し（ステップＳ２０３）、重なり統合処理を実行する（ステップＳ２０４）。そして、文字認識装置２００は、第２の文字推定処理を実行し（ステップＳ２０５）、文字領域抽出処理を実行する（ステップＳ２０６）。
【０１０３】
次に、図２５のステップＳ２０６に示した文字領域抽出処理について説明する。図２６は、文字領域抽出処理の処理手順を示すフローチャートである。図２６に示すように、文字認識装置２００は、細線化処理を行い（ステップＳ３０１）、グラフ化処理を行う（ステップＳ３０２）。
【０１０４】
続いて、文字認識装置２００は、辺削除処理を行い（ステップＳ３０３）、ラベリング処理を行い（ステップＳ３０４）、重なり統合処理を行い（ステップＳ３０５）、第３の文字推定処理を行う（ステップＳ３０６）。
【０１０５】
文字認識装置２００は、辺削除処理を再度実行する場合には（ステップＳ３０７，Ｎｏ）、ステップＳ３０３に移行する。一方、文字認識装置２００は、辺削除処理を再度実行しない場合には（ステップＳ３０７，Ｙｅｓ）、文字領域を確定する（ステップＳ３０８）。ここで、ステップＳ３０７において、文字認識装置２００は、ラベル値「３」のラベルが残っている場合に、辺削除処理を再度実行すると判定するものとする。
【０１０６】
次に、図２６のステップＳ３０３に示した辺削除処理について説明する。図２７は、辺削除処理の処理手順を示すフローチャートである。図２７に示すように、文字認識装置２００は、辺の削除回数が０回ではない場合には（ステップＳ４０１，Ｎｏ）、ステップＳ４０３に移行する。一方、文字認識装置２００は、辺の削除回数が０回の場合には（ステップＳ４０１，Ｙｅｓ）、辺の長さに基づいて辺を削除し（ステップＳ４０２）、辺の削除回数に１を加算する（ステップＳ４０３）。
【０１０７】
続いて、文字認識装置２００は、チェンジフラグが１の場合には（ステップＳ４０４，Ｙｅｓ）、文字列外領域を設定する（ステップＳ４０５）。文字認識装置２００は、文字列外領域に所定の画素数以上重複する辺を削除し（ステップＳ４０６）、辺の削除回数に１を加算する（ステップＳ４０７）。
【０１０８】
一方、文字認識装置２００は、チェンジフラグが０の場合には（ステップＳ４０４，Ｎｏ）、射影ヒストグラムをとり、ヒストグラムの最小点を判定する（ステップＳ４０８）。そして、文字認識装置２００は、最小点に射影される線上に存在する辺を削除し（ステップＳ４０９）、ステップＳ４０７に移行する。
【０１０９】
上述してきたように、本実施例２にかかる文字認識装置２００は、簡易的な文字認識処理を実行し、正確に文字認識できた確度の高い文字を抽出し、この文字の外接矩形に基づいて文字列外領域を設定する。そして、文字認識装置２００は、文字列外領域に含まれるその他の文字の辺を削除する。例えば、図３に示したように、文字列に含まれる文字の大きさがほぼ同じで、各文字が規則正しく配列しているとすれば、文字列外領域に含まれる文字の辺はマークであるため、かかる辺を削除することで、その他の文字の領域を正確に判別できる。文字の領域を正確に判別できれば、判別した領域に対して文字認識を実行することで、正確に文字を認識することができる。すなわち、本実施例２にかかる文字認識装置２００は、文字列上にマークが重畳している場合でも、正確に文字を認識することができる。
【０１１０】
また、本実施例２にかかる文字認識装置２００は、文字列外領域に含まれる辺が文字列画像データに存在しなくなるまで、辺削除処理およびラベリング処理、重なり統合処理、第３の文字推定処理を繰り返し実行する。このため、文字認識装置２００は、ある辺を削除したことにより、新たに正しい文字の領域を抽出できた場合に、かかる文字の領域を足がかりとして、他の文字の領域を正確に判定することができる。
【０１１１】
また、本実施例２にかかる文字認識装置２００は、分割した辺の長さが所定の長さ以上となる辺を削除する。このため、文字認識装置２００は、余分なマークを簡易的な方法で削除することができる。
【０１１２】
ところで、文字抽出処理部２１０ａの辺削除処理は、上記のものに限られない。例えば、図１８で説明したように、文字抽出処理部２１０ａは、文字列外領域を縦方向および横方向に設定していたが、文字列外領域を縦横どちらか一方向に限定してもよい。
【０１１３】
また、文字抽出処理部２１０ａは、射影ヒストグラムをとる方向を縦軸または横軸に限定してもよい。このように、文字列外領域を縦横どちらか一方向に限定し、射影ヒストグラムをとる方向を縦軸または横軸に限定することで、例えば、上下の文字列で文字の位置が異なっている場合でも、マーク部分の切り分けを行うことができる。図２９は、上下の文字列で文字の位置が異なるものの一例を示す図である。
【０１１４】
文字抽出処理部２１０ａのその他の処理について具体的に説明する。図３０Ａ〜図３０Ｄは、文字抽出処理部のその他の処理の一例を示す図である。ここでは、文字登録テーブル２３０ｂに文字コード「東」、文字座標「Ｃ」、「Ｄ」が登録されているものとする。また、文字抽出処理部２１０ａは、文字コード「東」の文字座標「Ｃ」、「Ｄ」を用いて文字列外領域を設定するものする。
【０１１５】
図３０Ａに示すように、文字抽出処理部２１０ａは、文字座標「Ｃ」、「Ｄ」を含む外接矩形５０を設定する。その後、図３０Ｂに示すように、文字抽出処理部２１０ａは、外接矩形５０に接し、かつ、横方向の文字列外領域５１ａ，５１ｂを設定する。
【０１１６】
文字抽出処理部２１０ａは、文字列外領域５１ａ，５１ｂを設定した後に、グラフ化した各辺と文字列外領域５１ａ，５１ｂとを比較する。文字抽出処理部２１０ａは、文字列外領域５１ａ，５１ｂの何れかと重畳する辺が存在する場合には、重畳する辺を削除する。図３０Ｂに示す例では、辺５２ａおよび辺５２ｂが文字列外領域５１ｂと重畳する。このため、文字抽出処理部２１０ａは、辺５２ａおよび辺５２ｂを削除する。文字抽出処理部２１０ａは、横方向に設定した文字列外領域と重畳する辺がなくなるまで、上記処理を繰り返し実行する。
【０１１７】
文字抽出処理部２１０ａは、横方向に設定した文字列外領域と重畳する辺がなくなった後に、ヒストグラムを利用して、残る余分な辺を削除する。ここでは、文字抽出処理部２１０ａが、該当箇所に対し横軸へ黒画素に関する射影ヒストグラムをとり、ヒストグラムの最小点に射影される線上に存在する辺を求める場合について説明する。
【０１１８】
図３０Ｃに示す例では、文字抽出処理部２１０ａは、ラベル５３に対し横軸へ黒画素に関する射影ヒストグラムをとり、最小点に射影される線上に存在する辺５４ａ〜５４ｃを求める。辺５４ａ〜５４ｃのうち、辺の最も長いものは、辺５４ａである。このため、文字抽出処理部２１０ａは、辺５４ａを削除する。この結果、図３０Ｃに示した文字列は、図３０Ｄに示すものとなる。
【０１１９】
図３０Ａ〜３０Ｄに示したように、文字抽出処理部２１０ａは、文字列外領域を横方向に限定し、射影ヒストグラムをとる方向を横軸に限定することで、上下の文字列で文字の位置が異なっている場合でも、マーク部分の切り分けを行うことができる。なお、左右の文字列で文字の位置が異なっている場合には、文字抽出処理部２１０ａは、文字列外領域を縦方向に限定し、射影ヒストグラムをとる方向を縦軸に限定すればよい。
【０１２０】
文字抽出処理部２１０ａが文字列外領域を設定する方向および射影ヒストグラムをとる方向は、例えば、管理者が予め設定しておくものとする。
【０１２１】
なお、図２に示した文字列画像認識処理部２１０およびマーク位置判定処理部２２０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。または、上記文字列画像認識処理部２１０およびマーク位置判定処理部２２０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。また、図２に示した記憶部２３０は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
【０１２２】
ところで、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１２３】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図２に示した文字列画像認識処理部２１０の機能またはマーク位置判定処理部２２０の機能をサーバに持たせ、かかるサーバと文字認識装置２００とが協働することで、文字列画像データに含まれる文字列およびマークの付いた文字列を抽出しても良い。
【０１２４】
なお、文字認識装置２００は、既知のパーソナルコンピュータ、ワークステーション、携帯電話、ＰＨＳ端末、移動体通信端末またはＰＤＡなどの情報処理装置に、画像処理装置１００，２００の各機能を搭載することによって実現することもできる。
【０１２５】
図２８は、本実施例にかかる文字認識装置２００を構成するコンピュータのハードウェア構成を示す図である。図２８に示すように、このコンピュータ３００は、各種演算処理を実行するＣＰＵ（Central  Processing  Unit）３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、モニタ３０３を有する。また、コンピュータ３００は、記憶媒体からプログラム等を読取る媒体読み取り装置３０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置３０５を有する。また、コンピュータ３００は、媒体から文字列画像を読み込むスキャナ３０６と、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）３０７と、ハードディスク装置３０８を有する。各装置３０１〜３０８は、バス３０９に接続される。
【０１２６】
そして、ハードディスク装置３０８には、図２に示した文字列画像認識処理部２１０と同様の機能を有する文字列画像認識プログラム３０８ａとマーク位置判定処理部２２０と同様の機能を有するマーク位置判定処理プログラム３０８ｂとを記憶する。また、ハードディスク装置３０８は、図２に示した辞書データ２３０ａ、文字登録テーブル２３０ｂ、重なり矩形管理テーブル２３０ｃに対応する各種データ３０８ｃを記憶する。
【０１２７】
ＣＰＵ３０１が文字列画像認識プログラム３０８ａをハードディスク装置３０８から読み出してＲＡＭ３０７に展開することにより、文字列画像認識プログラム３０８ａは、文字列画像認識プロセス３０７ａとして機能する。また、ＣＰＵ３０１がマーク位置判定処理プログラム３０８ｂをハードディスク装置３０８から読み出してＲＡＭ３０７に展開することにより、マーク位置判定処理プログラム３０８ｂは、マーク位置判定処理プロセス３０７ｂとして機能する。そして、ＣＰＵ３０１が、ハードディスク装置３０８から各種データ３０８ｃを読み出して、ＲＡＭ３０７に展開し、文字列画像認識プロセス３０７ａおよびマーク位置判定処理プロセス３０７ｂが各種データ３０７ｃを利用して処理を実行する。
【０１２８】
なお、上記の文字列画像認識プログラム３０８ａおよびマーク位置判定処理プログラム３０８ｂは、必ずしもハードディスク装置３０８に格納されている必要はない。例えば、ＣＤ−ＲＯＭ等の記憶媒体に記憶されたプログラムを、コンピュータ３００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等に接続される記憶装置このプログラムを記憶させておき、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１２９】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１３０】
（付記１）複数の文字と文字に重畳するマークとを含む画像データに対して文字認識をおこない、前記複数の文字の中から正しく認識できた確度の高い文字を示す高確度文字を抽出する文字抽出部と、
前記画像データに含まれる全画素のうち、マークおよび文字の部分に対応する画素を連結し、連結した画素の外接矩形を設定する外接矩形設定部と、
前記外接矩形設定部が複数設定した各外接矩形の座標位置に基づいて、重複する座標位置の各外接矩形を統合する外接矩形統合部と、
各外接矩形と前記高確度文字との座標位置に基づいて各外接矩形から前記高確度文字に対応する外接矩形を判別し、判別した外接矩形に外接する所定の幅の領域を示す文字列外領域を設定する文字列外領域設定部と、
座標位置が前記文字列外領域に含まれる外接矩形を判別し、判別した外接矩形に含まれる文字に対してグラフ化をおこなうことで当該文字を複数の辺に分割し、前記文字列外領域に含まれる辺を削除する辺削除部と、
前記辺削除部が文字列外領域に含まれる辺の削除をした前記外接矩形に含まれる文字に対して文字認識を行う文字認識部と
を有することを特徴とする文字認識装置。
【０１３１】
（付記２）前記文字列外領域に含まれる辺が存在しなくなるまで、前記外接矩形設定部、前記外接矩形統合部、前記文字列外領域設定部、前記辺削除部は順に処理を繰り返し実行することを特徴とする付記１に記載の文字認識装置。
【０１３２】
（付記３）前記辺削除部は、分割した辺の長さが所定の長さ以上となる辺を更に削除することを特徴とする付記１または２に記載の文字認識装置。
【０１３３】
（付記４）前記文字列外領域設定部は、前記文字列外領域を縦方向または横方向に設定し、前記辺削除部は、前記文字列外領域に含まれる辺を削除した後に、縦軸方向または横軸方向にヒストグラムをとり、ヒストグラムをとった結果に基づいて辺を更に削除することを特徴とする付記１、２または３に記載の文字認識装置。
【０１３４】
（付記５）前記辺削除部は、ヒストグラムをとった結果に基づいて、ヒストグラムの大きさが最小となる点に射影される線上に存在する辺を求め、求めた辺のうち、長さが最長となる辺を削除することを特徴とする付記４に記載の文字認識装置。
【０１３５】
（付記６）コンピュータに、
複数の文字と文字に重畳するマークとを含む画像データに対して文字認識をおこない、前記複数の文字の中から正しく認識できた確度の高い文字を示す高確度文字を抽出する文字抽出手順と、
前記画像データに含まれる全画素のうち、マークおよび文字の部分に対応する画素を連結し、連結した画素の外接矩形を設定する外接矩形設定手順と、
前記外接矩形設定手順が複数設定した各外接矩形の座標位置に基づいて、重複する座標位置の各外接矩形を統合する外接矩形統合手順と、
各外接矩形と前記高確度文字との座標位置に基づいて各外接矩形から前記高確度文字に対応する外接矩形を判別し、判別した外接矩形に外接する所定の幅の領域を示す文字列外領域を設定する文字列外領域設定手順と、
座標位置が前記文字列外領域に含まれる外接矩形を判別し、判別した外接矩形に含まれる文字に対してグラフ化をおこなうことで当該文字を複数の辺に分割し、前記文字列外領域に含まれる辺を削除する辺削除手順と、
前記辺削除手順が文字列外領域に含まれる辺の削除をした前記外接矩形に含まれる文字に対して文字認識をおこなう文字認識手順と
を実行させることを特徴とする文字認識プログラム。
【０１３６】
（付記７）前記文字列外領域に含まれる辺が存在しなくなるまで、前記外接矩形設定手順、前記外接矩形統合手順、前記文字列外領域設定手順、前記辺削除手順をコンピュータに順に繰り返し実行させることを特徴とする付記６に記載の文字認識プログラム。
【０１３７】
（付記８）前記辺削除手順は、分割した辺の長さが所定の長さ以上となる辺を更に削除することを特徴とする付記６または７に記載の文字認識プログラム。
【０１３８】
（付記９）前記文字列外領域設定手順は、前記文字列外領域を縦方向または横方向に設定し、前記辺削除手順は、前記文字列外領域に含まれる辺を削除した後に、縦軸方向または横軸方向にヒストグラムをとり、ヒストグラムをとった結果に基づいて辺を更に削除することを特徴とする付記６、７または８に記載の文字認識プログラム。
【０１３９】
（付記１０）前記辺削除手順は、ヒストグラムをとった結果に基づいて、ヒストグラムの大きさが最小となる点に射影される線上に存在する辺を求め、求めた辺のうち、長さが最長となる辺を削除することを特徴とする付記９に記載の文字認識プログラム。
【０１４０】
（付記１１）文字認識装置が、
複数の文字と文字に重畳するマークとを含む画像データに対して文字認識をおこない、前記複数の文字の中から正しく認識できた確度の高い文字を示す高確度文字を抽出する文字抽出ステップと、
前記画像データに含まれる全画素のうち、マークおよび文字の部分に対応する画素を連結し、連結した画素の外接矩形を設定する外接矩形設定ステップと、
前記外接矩形設定ステップが複数設定した各外接矩形の座標位置に基づいて、重複する座標位置の各外接矩形を統合する外接矩形統合ステップと、
各外接矩形と前記高確度文字との座標位置に基づいて各外接矩形から前記高確度文字に対応する外接矩形を判別し、判別した外接矩形に外接する所定の幅の領域を示す文字列外領域を設定する文字列外領域設定ステップと、
座標位置が前記文字列外領域に含まれる外接矩形を判別し、判別した外接矩形に含まれる文字に対してグラフ化をおこなうことで当該文字を複数の辺に分割し、前記文字列外領域に含まれる辺を削除する辺削除ステップと、
前記辺削除ステップが文字列外領域に含まれる辺の削除をした前記外接矩形に含まれる文字に対して文字認識をおこなう文字認識ステップと
を含むことを特徴とする文字認識方法。
【０１４１】
（付記１２）前記文字認識装置は、前記文字列外領域に含まれる辺が存在しなくなるまで、前記外接矩形設定ステップ、前記外接矩形統合ステップ、前記文字列外領域設定ステップ、前記辺削除ステップを順に繰り返し実行することを特徴とする付記１１に記載の文字認識方法。
【０１４２】
（付記１３）前記辺削除ステップは、分割した辺の長さが所定の長さ以上となる辺を更に削除することを特徴とする付記１１または１２に記載の文字認識方法。
【０１４３】
（付記１４）前記文字列外領域設定ステップは、前記文字列外領域を縦方向または横方向に設定し、前記辺削除ステップは、前記文字列外領域に含まれる辺を削除した後に、縦軸方向または横軸方向にヒストグラムをとり、ヒストグラムをとった結果に基づいて辺を更に削除することを特徴とする付記１１、１２または１３に記載の文字認識方法。
【０１４４】
（付記１５）前記辺削除ステップは、ヒストグラムをとった結果に基づいて、ヒストグラムの大きさが最小となる点に射影される線上に存在する辺を求め、求めた辺のうち、長さが最長となる辺を削除することを特徴とする付記１４に記載の文字認識方法。
【符号の説明】
【０１４５】
１００    文字認識装置
１１０    文字抽出部
１２０    外接矩形設定部
１３０    外接矩形統合部
１４０    文字列外領域設定部
１５０    辺削除部
１６０    文字認識部
【図１】
0005561102.tif 000002
【図２】
0005561102.tif 000003
【図３】
0005561102.tif 000004
【図４】
0005561102.tif 000005
【図５】
0005561102.tif 000006
【図６】
0005561102.tif 000007
【図７】
0005561102.tif 000008
【図８】
0005561102.tif 000009
【図９】
0005561102.tif 000010
【図１０】
0005561102.tif 000011
【図１１】
0005561102.tif 000012
【図１２】
0005561102.tif 000013
【図１３】
0005561102.tif 000014
【図１４】
0005561102.tif 000015
【図１５】
0005561102.tif 000016
【図１６】
0005561102.tif 000017
【図１７】
0005561102.tif 000018
【図１８】
0005561102.tif 000019
【図１９】
0005561102.tif 000020
【図２０】
0005561102.tif 000021
【図２１】
0005561102.tif 000022
【図２２】
0005561102.tif 000023
【図２３】
0005561102.tif 000024
【図２４】
0005561102.tif 000025
【図２５】
0005561102.tif 000026
【図２６】
0005561102.tif 000027
【図２７】
0005561102.tif 000028
【図２８】
0005561102.tif 000029
【図２９】
0005561102.tif 000030
【図３０Ａ】
0005561102.tif 000031
【図３０Ｂ】
0005561102.tif 000032
【図３０Ｃ】
0005561102.tif 000033
【図３０Ｄ】
0005561102.tif 000034