"帳票を読み取る帳票読取装置において、前記帳票を読み取って得られる帳票画像上の各文字を認識し、前記各文字に対する認識結果および外接矩形を求める文字認識部と、前記文字の外接矩形と一致または略一致する帳票画像上の罫線の組み合わせが存在する文字を検出し、その文字と罫線の組み合わせとを合わせて角印の画像として検出する角印検出部と、を有することを特徴とする帳票読取装置。前記帳票を読み取って得られる帳票画像上の罫線を記憶する罫線記憶部と、前記帳票画像から罫線を消去する罫線消去部と、をさらに有し、前記文字認識部は、前記罫線が消去された帳票画像上の各文字を認識し、前記各文字に対する認識結果および外接矩形を求め、前記角印検出部は、前記文字の外接矩形と一致または略一致する記憶された帳票画像上の罫線の組み合わせが存在する文字を検出し、その文字と罫線の組み合わせとを合わせて角印の画像として検出する、ことを特徴とする請求項1記載の帳票読取装置。帳票を読み取る帳票読取装置が実行する角印検出方法において、前記帳票を読み取って得られる帳票画像上の各文字を認識し、前記各文字に対する認識結果および外接矩形を求める文字認識ステップと、前記文字の外接矩形と一致または略一致する帳票画像上の罫線の組み合わせが存在する文字を検出し、その文字と罫線の組み合わせとを合わせて角印の画像として検出する角印検出ステップと、を有することを特徴とする角印検出方法。帳票を読み取る処理を行わせるようにコンピュータを機能させるプログラムであり、該プログラムは、コンピュータを、前記帳票を読み取って得られる帳票画像上の各文字を認識し、前記各文字に対する認識結果および外接矩形を求める文字認識部、前記文字の外接矩形と一致または略一致する帳票画像上の罫線の組み合わせが存在する文字を検出し、その文字と罫線の組み合わせとを合わせて角印の画像として検出する角印検出部、として機能させる角印検出プログラム。本発明は、上記問題を解決するためになされたものであり、帳票上の角印の画像を検出することを可能とした帳票読取装置、角印検出方法、および、角印検出プログラムを提供することを目的とする。提案する帳票読取装置は、前記帳票を読み取って得られる帳票画像上の各文字を認識し、前記各文字に対する認識結果および外接矩形を求める文字認識部と、前記文字の外接矩形と一致または略一致する帳票画像上の罫線の組み合わせが存在する文字を検出し、その文字と罫線の組み合わせとを合わせて角印の画像として検出する角印検出部と、を有する。提案する帳票読取装置は、前記帳票を読み取って得られる帳票画像上の罫線を記憶する罫線記憶部と、前記帳票画像から罫線を消去する罫線消去部と、をさらに有し、前記文字認識部は、前記罫線が消去された帳票画像上の各文字を認識し、前記各文字に対する認識結果および外接矩形を求め、前記角印検出部は、前記文字の外接矩形と一致または略一致する記憶された帳票画像上の罫線の組み合わせが存在する文字を検出し、その文字と罫線の組み合わせとを合わせて角印の画像として検出してもよい。提案する帳票読取装置では、角印内の文字が複数文字ある場合でもつながっていることが多いことから未登録の1文字候補として認識されることが多いことを利用し、文字認識部による認識結果として得られた文字の外接矩形と一致または略一致する罫線の組み合わせが帳票上に存在する文字を、角印の文字として検出し、その文字と罫線の組み合わせとを合わせて角印の画像として検出している。以下、本発明に係る実施の形態について図面を参照して詳細に説明する。角印の文字は複数文字ある場合が多く、偽造を容易に行わせない等の要請から、その角印の文字においては、文字と文字の間の境界が明確でなくつながっていることが多い。このため、実在する角印のほとんどは、文字を複数文字有する場合でも、角印の複数文字全体として未登録の1文字候補として認識されることが多い。本実施形態では、帳票画像上の角印を含む領域に対して文字認識処理を実行すると、帳票画像上の個々の文字に対し、外接矩形が得られる。このうちで、この外接矩形に隣接する罫線枠で囲まれている文字をその枠とともに角印として検出するものである。なお、角印の複数文字全体が複数文字候補として認識される場合は、以下に説明する本実施形態の処理でも角印の検出が不可能であるが、上述したように、現状では、角印の枠が罫線として消去されてしまうため角印の検出自体ができない。このため、主要な角印について検出できるだけでも十分なメリットがある。図1は、本発明の一実施形態に係る帳票を読み取る帳票読取装置の機能ブロック図である。この帳票読取装置は、帳票を読み取る帳票読取部11と、読み取った帳票に対するイメージ画像以下、帳票画像というから角印を含む画像部分を切り出して処理対象イメージ画像として取得する処理対象イメージ取得部12と、処理対象イメージ画像上の罫線を罫線情報DB21に格納する罫線情報格納部13と、各罫線の情報が格納された後に起動され、処理対象イメージ画像上の罫線を除去する罫線除去部14と、処理対象イメージ画像に対し、文字認識を行ない、文字認識結果を文字認識結果DB22に出力する文字認識部15と、円印の検出を行う円印検出部16と、角印の検出を行う角印検出部17と、検出された角印円印などを表示するイメージ表示部18と、帳票画像や、その帳票画像中で検出された角印円印などのイメージデータを帳票DB23に格納する処理を行う帳票画像格納部19と、を有する。なお、DBアクセス制御部20は、各DB罫線情報DB21、文字認識結果DB22、帳票DB23に対するデータの読み書きを制御する汎用インターフェイスである。なお、実際には、印鑑には角印の他に、円印もあるので、印鑑の印影検出として角印だけに対応可能ということはなく、円印の印影も検出可能としている。具体的には、円印検出部16の終了状態に応じて角印検出部17を起動するかスルーバイパスするかを決定する。円印検出部16で円印が検出された場合は、角印検出部17をスルーして、イメージ表示部18以降の処理を実行する。円印検出部16で円印が検出されなかった場合に、角印検出部17を起動する。図2A~図2Bは、角印検出方法の概要を示す図である。これらの概要図においては、角印検出プロセスに直接関係しない円印の検出プロセスは省略される。図2Aの1で、処理対象イメージ取得部12は、帳票画像から角印を含むイメージ領域を処理対象イメージ画像として切り出す。続いて、処理対象イメージ画像上の文字認識を高精度で行なうためのノイズ除去の一環として、処理対象イメージ画像上から罫線直線状のドット部分を除去する処理を行なうが、上述したように、この際、角印の周囲の枠も罫線として抽出され除去されてしまうため、検出したい角印の情報が一部欠落してしまう。これを防ぐために、2で、罫線情報格納部13は、罫線除去で除去されることになる処理対象イメージ画像上の罫線直線の方程式を全て罫線情報DB21に記憶する。この図の例では、罫線101~罫線110が記憶対象となる除去される罫線であるこのうち、罫線107、108、109、110が角印の周囲部分の枠である。なお、方程式直線の式を記憶する代わりに、直線の始点座標と終点座標を記憶してもよい。座標系としては、左上側に原点を設け、原点から右側に延長した軸をX軸、その右方向をX軸正方向とし、原点から下側に延長した軸をY軸、その下方向をY軸正方向とした座標系が使用される。図3は、始点座標と終点座標で罫線を指定した場合の罫線101~罫線110に対して罫線情報DB21に記憶される罫線情報テーブル26のデータ構造を示す図である。そして、3で、罫線除去部14は、処理対象イメージ画像上から全ての罫線を除去する。続く、4で、文字認識部15は、処理対象イメージ画像に対し、文字認識を行ない、文字らしき画素ドットの塊を文字候補として抽出し、そのドットの塊がある領域を特定するために、そのドットの塊を囲う矩形以下、外接矩形というを設定する。文字認識結果は、文字認識結果DB22に出力される。図4は、処理対象イメージ画像上で認識された文字に対して文字認識結果DB22に記憶される文字認識結果テーブル27のデータ構造を示す図である。図2Bに移り、円印が検出されなかったために、続く、5で、角印検出部17は、文字認識で認識された各文字候補を、2で保存した罫線情報と照合し、文字を囲む矩形に一致あるいはほぼ一致する罫線4本の組み合わせがあれば、その文字とその罫線の組み合わせを角印と判断する。ここでは、富士通フロンテックという処理対象イメージ画像上で視認されるドットの塊ただし、印鑑の文字は無数に存在するため、文字認識処理で照合に使用する登録文字に、このドットの塊は当然含まれていないので、認識できず認識エラーになるに対して、文字認識部15により設定された外接矩形と、2で保存した罫線のうちの罫線107~110とが一致するので、富士通フロンテックというドットの塊が、角印の文字と見なされる。6で、角印検出部17は、角印と判断した1文字に対し、周囲の除去済み罫線を復活させ、その1文字とそれら罫線とを合わせて角印として検出する。帳票画像格納部19は、検出結果の画像を帳票画像と対応付けて帳票DB23に格納する。図3の罫線情報テーブル26は罫線情報DB21に記憶される。図3に示すように、罫線情報テーブル26は罫線番号直線番号、始点座標、終点座標の各項目を有する。罫線番号直線番号は、罫線として検出された直線状のドットの識別番号を示している。図4の文字認識結果テーブル27は、文字認識結果DB22に記憶される。図4に示すように、文字認識結果テーブル27は、認識結果、左上座標、右下座標の各項目を有する。認識結果は、文字候補が存在する領域として切り出された領域に対し、文字認識を行なったときの認識結果を示している。登録されている文字のいずれかと照合ができた場合は、照合できた文字が該当行のこの項目に表示される。これに対し、角印の文字のように、登録されている文字との照合ができないケースでは、この項目は認識エラーとなっている。図5は、角印検出処理を含む帳票画像処理の全体フローチャートである。図5のステップS1で、帳票読取部11が帳票を読み取って得た帳票画像に対し、処理対象イメージ取得部12によるイメージ切り出し処理が行なわれる。すなわち、帳票画像のうちの角印の印影を含む領域が処理対象イメージ画像として切り出される。続く、ステップS2では、処理対象イメージ画像に対し、罫線情報格納部13による除去対象罫線記憶処理が行なわれる。上述したように、文字認識の精度を上げるなどの理由で、文字認識処理の前段で帳票画像上からノイズを除去することが行なわれているが、そのノイズ除去処理の一環として、罫線除去処理が行なわれる。このとき、角印の一部である周囲の枠も罫線扱いされて除去されてしまうので、角印の残りの文字相当部分が特定されたときに、角印全体をイメージとして復元するため、角印の周囲の枠を含む罫線全体を罫線除去処理に先立って記憶しておく。ステップS3では、処理対象イメージ画像に対し、罫線除去部14による罫線除去処理が行なわれる。すなわち、処理対象イメージ画像中の枠線罫線が除去される。ステップS4では、処理対象イメージ画像に対し、文字認識部15による文字認識処理が実行される。例えば、処理対象とする帳票上の記入欄に手書きで記入された文字列や印字された文字列、印鑑の文字、プレプリント文字、が認識対象となる。帳票フォーマットが既知の場合、プレプリント文字は認識対象とする必要はないが、記入欄内の文字列や印鑑の文字は認識対象となる。印鑑の印影は登録されているが、印鑑の文字については、認識処理で参照するデータとして登録されることはないので、この文字認識処理で、印鑑の文字に対しては認識エラーが出力されることになる。ステップS5では、処理対象イメージ画像に対し、円印検出部16による円印の検出処理が実行される。円印は周囲の枠が円形または楕円形をしていることから、円印の検出処理では、この円印の周囲の円形または楕円形の枠を検出している。円印検出部16が円印の検出処理の結果として出力する終了状態には、円印の周囲の枠が検出できた場合に相当するものと、円印の周囲の枠が検出できなかった場合に相当するものとがある。ステップS6では、円印検出部16は、例えば上記終了状態に対応して、円印を検出したかどうかを判定する。ステップS6で円印を検出したと判定された場合ステップS6の判定結果がYesの場合、一連の処理を終了する。ステップS6で円印を検出しなかったと判定された場合ステップS6の判定結果がNoの場合、ステップS7で、処理対象イメージ画像に対し、角印検出部17による角印の検出判断処理が実行される。この角印検出処理の中には、角印の周囲の線のみを復活する罫線復活処理が含まれる。なお、この角印検出処理については、図7で詳述する。図6は、除去対象罫線記憶処理の詳細フローチャートである。このフローチャートは、図5のステップS2の詳細フローチャートである。このフローチャートの処理は、罫線情報格納部13によって実行される。図6のステップS8で、罫線情報格納部13は、罫線除去に先立って、Houghハフ変換によって読取イメージ処理対象イメージ画像中の直線罫線を検出する。そして、消去対象の罫線直線の方程式を罫線情報DB21に記憶する。なお、上述したように、始点と終点を特定することで直線罫線を特定してもよい。図7は、罫線復活処理を含む角印検出判断処理の詳細フローチャートである。このフローチャートは、図5のステップS7の詳細フローチャートである。このフローチャートの処理は、角印検出部17によって実行される。図7において、ステップS9~ステップS13までの処理は、文字認識部15により、処理対象イメージ画像上から検出された全ての文字候補について実行される。図7のステップS9で、処理対象イメージ画像上の検出された全ての文字候補のうちから現在の文字候補文字候補Aが設定され、ステップS10で、文字候補Aに隣接する上下左右の直線が取り出され、ステップS11で、角印検出部17により図3の罫線情報テーブル26および図4の文字認識結果テーブル27が参照されて、文字候補Aの領域面積S1が算出される。そして、ステップS12で、角印検出部17により図4の文字認識結果テーブル27が参照されて、文字認識部15により検出された文字候補Aの外接矩形の領域面積S2が算出される。続く、ステップS13では、角印検出部17によりステップS11で算出された面積S1がステップS12で算出された面積S2の95以上であるかどうかが判定される。ステップS13で面積S1が面積S2の95以上であると判定された場合ステップS13の判定結果がYesの場合、ステップS14で、文字候補Aを角印の文字に相当するドットの塊と判断し、文字候補Aに対してステップS10で取り出された直線を復活させて、文字候補Aとこの文字候補Aに隣接する上下左右の直線とを合わせて角印として検出する。ステップS13で面積S1が面積S2の95未満であると判定された場合ステップS13の判定結果がNoの場合、ステップS9に戻り、次の文字候補を現在の文字候補文字候補Aに設定し、ステップS10以降の処理を実行する。図7のステップS10~ステップS13までの処理を具体的なデータを挙げて以下で説明する。例えば図2Bの5、図3、図4を参照すると、手書きの富士通太郎の富の字は、処理対象イメージ画像上で上側に直線がないことから、上側に隣接する直線がない。また、この富の字は、左側に隣接する直線が罫線直線102、右側に隣接する直線が罫線直線103、下側に隣接する直線が罫線直線105である。富士通太郎を構成するほかの文字士、通、太、郎についても同様のことがいえる。この場合、ステップS11では、罫線102と罫線105の交点の座標として30,80が求められ、罫線105と罫線103の交点の座標として205,80が求められる。罫線102の上側の端点30,10、罫線103の上側の端点205,10を結ぶ直線罫線を仮想的に考慮して、その仮想的な矩形に対し面積を算出するかどうかは、採用するロジックの問題であり、いずれでもよい。仮想的な矩形に対し面積を求める場合、下記式で面積S1が算出される。S1=205-30×80-10=175×70=12250そして、ステップS12で、この手書きの富の字の外接矩形の面積S2が、図4の文字認識結果テーブル27を参照して下記式で算出される。S2=66-42×75-27=24×48=1152この結果、面積比S2/S1=1152/12250=0.094、となり、9.4となるので、95未満となり、ステップS13の判定結果はNoとなる。なお、矩形のいずれか一辺がない場合いずれかの方向に矩形が開いている場合この例では上側に矩形が開いている面積比S2/S1=NGとし、ステップS13での判定を、面積比S2/S1がNGでなく、かつ、面積比S2/S1が0.95以上としてもよい。一方、富士通フロンテックと視認される1文字の候補扱いされているドットの塊に対しては、上側に隣接する直線が罫線直線109、左側に隣接する直線が罫線直線107、右側に隣接する直線が罫線直線108、下側に隣接する直線が罫線直線110であり、図3および図4に設定されたデータ上では、富士通フロンテックという1文字候補の外接矩形に完全一致している。実際には、微妙にずれるケースがほとんどだと考えられる。この場合では、ステップS11とステップS12の面積S1とS2の計算結果は同一の値となる。具体的には、罫線107と罫線109の交点の座標として215,30が求められ、罫線109と罫線108の交点の座標として285,30が求められ、罫線107と罫線110の交点の座標として215,100が求められ、罫線108と罫線110の交点の座標として285,100が求められる。この矩形に対し面積を求める場合、ステップS11およびステップS12ともに下記式で面積S1S2が算出される。S1=S2=285-215×100-30=70×70=4900この結果、面積比S2/S1=4900/4900=1.000、となり、100となるので、95以上となり、ステップS13の判定結果はYesとなる。なお、文字候補Aに隣接する上下左右の直線と外接矩形との間に若干のずれが生じた場合でも、面積比S2/S1は1にかなり近い値となるので、ステップS13の判定結果はYesとなり変更はない。以上説明したように、本実施形態では、角印内の文字が複数文字ある場合でもつながっていることが多いことから未登録の1文字候補として認識されることが多いことを利用し、角印検出部17は、文字認識部15による認識結果として得られた文字の外接矩形と一致または略一致する罫線の組み合わせが帳票上に存在する文字を、角印の文字として検出し、その文字と罫線の組み合わせとを合わせて角印として検出している。また、文字認識の前段として、帳票画像上からのノイズ除去が行なわれて、角印の印影の一部である角印の周囲の枠がノイズ除去時に罫線とみなされ除去されてしまう場合でも、罫線除去に先立って、除去する罫線についての罫線情報を罫線情報テーブル26に記憶しておくので、ノイズ除去後の帳票画像に対して行なわれる文字認識により得られた各文字の外接矩形と除去された各罫線の組み合わせとを比較することも可能となり、同様に角印検出を行なうことができる。この結果、例えば、上記特許文献1のように、角印の形状が正方形である必要はなく、任意の縦横比の矩形に適用可能である。また、特許文献2のように、角印を捺印したときの周囲の枠のヒストグラムが、帳票上のプレプリントの罫線のヒストグラムに近いような場合に、角印が検出できない、という問題も生じない。図8は、図1に示す本実施形態の帳票を読み取る帳票読取装置を実現可能なコンピュータの構成図である。図8に示すコンピュータは、CPU41、メモリ42、入力装置43、出力装置44、外部記憶装置45、媒体駆動装置46、及びネットワーク接続装置47を有し、これらがバス48によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。CPU41は、当該コンピュータ全体の制御を行う。メモリ42は、プログラム実行、データ更新等の際に、外部記憶装置45あるいは可搬型の記録媒体49に記憶されているプログラムあるいはデータを一時的に格納する例えばRAMである。CPU41は、プログラムをメモリ42に読み出して実行することにより、全体の制御を行う。入力装置43は、例えば、キーボード、マウス等の入力装置、或いはスキャナ等の画像読取装置と接続されたインターフェースである。入力装置に対するユーザの操作を検出し、その検出結果をCPU41に通知する。出力装置44は、例えば表示装置と接続された表示制御装置である。CPU41の制御によって送られてくるデータを表示装置上に表示させる。ネットワーク接続装置47は、例えばイントラネットやインターネット等のネットワークを介して、外部装置と通信を行うためのものである。外部装置は、画像読取装置であってもよく、その画像読取装置と接続されたものであってもよい。外部記憶装置45は、例えばハードディスク装置である。主に各種データやプログラムの保存に用いられる。媒体駆動装置46は、光ディスクや光磁気ディスク等の可搬型の記録媒体49にアクセスするものである。本実施形態による帳票を読み取る帳票読取装置は、それに必要な機能を搭載したプログラム以降帳票読取ソフトと呼ぶをCPU41が実行することで実現される。帳票読取ソフトは、可搬型の記録媒体49に記録して配布してもよく、或いはネットワーク接続装置47により取得できるようにしてもよい。ここでは、外部記憶装置45に帳票読取ソフトが格納されていると想定する。上述した想定では、帳票読取部11は例えばCPU41、メモリ42、入力装置43、外部記憶装置45、ネットワーク接続装置47、及びバス48によって実現される。イメージ表示部18は、例えばCPU41、メモリ42、出力装置44、外部記憶装置45、ネットワーク接続装置47、及びバス48によって実現される。他の各部処理対象イメージ取得部12、罫線情報格納部13、罫線除去部14、文字認識部15、角印検出部17、帳票画像格納部19は、例えばCPU41、メモリ42、外部記憶装置45、及びバス48によって実現される。"