(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023036833
(43)【公開日】2023-03-14
(54)【発明の名称】情報処理装置、及びプログラム
(51)【国際特許分類】
G06V 30/14 20220101AFI20230307BHJP
【FI】
G06V30/14 340A
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022207647
(22)【出願日】2022-12-23
(62)【分割の表示】P 2020084128の分割
【原出願日】2020-05-12
(71)【出願人】
【識別番号】514323028
【氏名又は名称】株式会社ミラボ
(74)【代理人】
【識別番号】100122275
【弁理士】
【氏名又は名称】竹居 信利
(72)【発明者】
【氏名】谷川 一也
(72)【発明者】
【氏名】太田 順
(57)【要約】 (修正有)
【課題】光学的に読み取られた帳票の記入枠の領域を、人為的操作なく認識できる情報処理装置及びプログラムを提供する。
【解決手段】情報処理装置は、受け入れ部21で受け入れた帳票の画像データから、帳票上の記入枠の候補の外接矩形を抽出する記入枠候補抽出部22と、画像データの第1の軸方向に配列された、第1矩形サブグループを少なくとも一つ認識する第1認識部23と、第1矩形サブグループ毎に、外接する第1グループ矩形を設定する第1グループ化部24と、画像データの、第1の軸方向に交差する第2の軸方向に配列され、第2矩形サブグループを少なくとも一つ認識する第2認識部25と、第2矩形サブグループ毎に、外接する第2グループ矩形を設定する第2グループ化部26と、第1グループ矩形と、第2グループ矩形との交差範囲を記入枠として認識し、認識した記入枠内の画像データを抽出して所定の処理に供する記入枠認識部27と、を有する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
帳票の画像データを受け入れる手段と、
前記受け入れた帳票の画像データから、帳票上の記入枠の候補の外接矩形を抽出する手段と、
前記帳票の画像データの第1の軸方向に配列された、複数の前記外接矩形を含む第1矩形サブグループを少なくとも一つ認識する第1認識手段と、
前記第1認識手段が認識した第1矩形サブグループごとに、当該第1矩形サブグループに含まれる複数の外接矩形にさらに外接する第1グループ矩形を設定する第1グループ化手段と、
前記帳票の画像データの、前記第1の軸方向に交差する第2の軸方向に配列された、複数の前記外接矩形を含む第2矩形サブグループを少なくとも一つ認識する第2認識手段と、
前記第2認識手段が認識した前記第2矩形サブグループごとに、当該第2矩形サブグループに含まれる複数の外接矩形にさらに外接する第2グループ矩形を設定する第2グループ化手段と、
前記第1グループ矩形と、前記第2グループ矩形との交差範囲を、記入枠として認識し、当該認識した記入枠内の画像データを抽出して所定の処理に供する手段と、
を有する情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記所定の処理は、前記記入枠に含まれる画像データに基づく文字認識処理を含む情報処理装置。
【請求項3】
請求項1または2に記載の情報処理装置であって、
前記第1認識手段は、前記帳票の画像データの前記第1の軸方向に配列された、複数の前記外接矩形であって、所定の基準を満足する複数の前記外接矩形を含む第1矩形サブグループを少なくとも一つ認識する情報処理装置。
【請求項4】
請求項1から3のいずれか一項に記載の情報処理装置であって、
前記第2認識手段は、前記帳票の画像データの前記第2の軸方向に配列された、複数の前記外接矩形であって、所定の基準を満足する複数の前記外接矩形を含む第2矩形サブグループを少なくとも一つ認識する情報処理装置。
【請求項5】
請求項3または4に記載の情報処理装置であって、
前記所定の基準は、
複数の前記外接矩形に含まれる一対の外接矩形間の距離に基づく基準、または
複数の前記外接矩形の形状に基づく基準、
の少なくとも一方の基準である情報処理装置。
【請求項6】
コンピュータを、
帳票の画像データを受け入れる手段と、
前記受け入れた帳票の画像データから、帳票上の記入枠の候補の外接矩形を抽出する手段と、
前記帳票の画像データの第1の軸方向に配列された、複数の前記外接矩形を含む第1矩形サブグループを少なくとも一つ認識する第1認識手段と、
前記第1認識手段が認識した第1矩形サブグループごとに、当該第1矩形サブグループに含まれる複数の外接矩形にさらに外接する第1グループ矩形を設定する第1グループ化手段と、
前記帳票の画像データの、前記第1の軸方向に交差する第2の軸方向に配列された、複数の前記外接矩形を含む第2矩形サブグループを少なくとも一つ認識する第2認識手段と、
前記第2認識手段が認識した前記第2矩形サブグループごとに、当該第2矩形サブグループに含まれる複数の外接矩形にさらに外接する第2グループ矩形を設定する第2グループ化手段と、
前記第1グループ矩形と、前記第2グループ矩形との交差範囲を、記入枠として認識し、当該認識した記入枠内の画像データを抽出して所定の処理に供する手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、帳票の画像を処理する情報処理装置及びプログラムに関する。
【背景技術】
【0002】
情報の記入枠を複数含む帳票から、各記入枠に記入された情報を読み取る技術が実用化されている。この技術では、予め帳票の種類ごとに、記入枠の領域を特定する座標情報と、当該座標情報で特定される領域がどのような情報を記入する記入枠に対応するかを表す情報とを、関連付けて領域情報として記憶しておく。
【0003】
情報の読み取りの際には、帳票の種類を特定し、当該特定した種類の帳票に関して記憶している、上記領域情報を参照し、当該帳票上の情報記入枠内の情報を読み取ることとしている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記領域情報は、必ずしも用意されているとは限らない。例えば新規の帳票や、類似する帳票であっても記入枠の位置が変更されている場合もあり得る。このような場合に、読み取った帳票上の記入枠の領域を、人為的操作なく認識することで、領域情報の生成を簡便にすることなどが望まれている。
【0006】
本発明は上記実情に鑑みて為されたもので、光学的に読み取られた帳票の記入枠の領域を、人為的操作なく認識できる情報処理装置、及びプログラムを提供することを、その目的の一つとする。
【0007】
なお、光学的文字認識を行うため、ノイズが重畳していないと判定される文字の領域を行方向または列方向に延伸して文字が含まれると想定される領域を見出す技術が特許文献1に開示されている。しかしながらこの特許文献1に開示の技術では、記入枠の領域を認識することはできない。
【課題を解決するための手段】
【0008】
上記従来例の問題点を解決する本発明の一態様は、情報処理装置であって、帳票の画像データを受け入れる手段と、前記受け入れた帳票の画像データから、帳票上の記入枠の候補の外接矩形を抽出する手段と、前記帳票の画像データの第1の軸方向に配列された、複数の前記外接矩形を含む第1矩形サブグループを少なくとも一つ認識する第1認識手段と、前記第1認識手段が認識した第1矩形サブグループごとに、当該第1矩形サブグループに含まれる複数の外接矩形にさらに外接する第1グループ矩形を設定する第1グループ化手段と、前記帳票の画像データの、前記第1の軸方向に交差する第2の軸方向に配列された、複数の前記外接矩形を含む第2矩形サブグループを少なくとも一つ認識する第2認識手段と、前記第2認識手段が認識した前記第2矩形サブグループごとに、当該第2矩形サブグループに含まれる複数の外接矩形にさらに外接する第2グループ矩形を設定する第2グループ化手段と、前記第1グループ矩形と、前記第2グループ矩形との交差範囲を、記入枠として認識し、当該認識した記入枠内の画像データを抽出して所定の処理に供する手段と、を有することとしたものである。
【発明の効果】
【0009】
本発明によると、光学的に読み取られた帳票の記入枠の領域を、人為的操作なく認識できる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施の形態に係る情報処理装置の構成例を表すブロック図である。
【
図2】本発明の実施の形態に係る情報処理装置が処理の対象とする帳票の例を表す説明図である。
【
図3】本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。
【
図4】本発明の実施の形態に係る情報処理装置による記入枠の候補の検出処理の例を表す説明図である。
【
図5】本発明の実施の形態に係る情報処理装置によるグループ化の処理の例を表す説明図である。
【
図6】本発明の実施の形態に係る情報処理装置による記入枠の認識処理の例を表す説明図である。
【
図7】本発明の実施の形態に係る情報処理装置が処理の対象とする帳票に含まれる、表組の別の例を表す説明図である。
【発明を実施するための形態】
【0011】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置1は、
図1に例示するように、制御部11と、記憶部12と、操作部13と、表示部14と、インタフェース部15とを含んで構成される一般的なコンピュータ装置であり、スキャナ2等のデバイスに接続されている。
【0012】
制御部11は、プロセッサ等の制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態では、この制御部11は、例えばスキャナ2が光学的に読み取って得た帳票の画像データを受け入れる。本実施の形態の例では、ここで読み取られる帳票は、
図2に例示するように、情報を記入するための枠(記入枠)が複数、行方向及び列方向に整列して配された表組(T)を含むものであるとする。
【0013】
制御部11は、帳票の画像データを受け入れると、当該受け入れた画像データから、帳票上の記入枠の候補を認識し、当該記入枠の候補に外接矩形を抽出する。制御部11は、帳票の画像データの第1の軸方向に配列された、上記抽出した複数の外接矩形を含む第1矩形サブグループを少なくとも一つ認識し、さらに、認識した第1矩形サブグループごとに、当該第1矩形サブグループに含まれる複数の上記外接矩形にさらに外接する第1グループ矩形を設定する。
【0014】
また制御部11は、帳票の画像データの、第2の軸方向に配列された、上記複数の外接矩形を含む第2矩形サブグループを少なくとも一つ認識し、当該認識した第2矩形サブグループごとに、当該第2矩形サブグループに含まれる上記複数の外接矩形にさらに外接する第2グループ矩形を設定する。ここで第1の軸方向と第2の軸方向とは互いに交差する(非平行である)ものとする。
【0015】
制御部11は、ここで設定した第1グループ矩形と第2グループ矩形との交差範囲を、記入枠として認識し、当該認識した記入枠内の画像データを抽出して所定の処理に供する。この制御部11の詳しい動作については後に述べる。
【0016】
記憶部12は、ディスクデバイスやメモリデバイス等であり、制御部11によって実行されるプログラムを保持する。このプログラムは、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。また、この記憶部12は、制御部11のワークメモリとしても動作する。
【0017】
操作部13は、キーボード等であり、ユーザの操作を受け入れて、当該操作の内容を制御部11に出力する。表示部14は、ディスプレイ等であり、制御部11から入力される指示に従って情報を表示出力する。
【0018】
インタフェース部15は、例えばUSBインタフェース等を含む。本実施の形態の一例では、スキャナ2等のデバイスは、このインタフェース部15を介して情報処理装置1に接続される。
【0019】
また本実施の形態の情報処理装置1に接続されるスキャナ2は、光学的に紙媒体上に形成された文字や図形を読み取り、画像データとして出力するものである。
【0020】
次に、制御部11の処理例について説明する。本実施の形態では、この制御部11は、
図3に例示するように、受入部21と、記入枠候補抽出部22と、第1認識部23と、第1グループ化部24と、第2認識部25と、第2グループ化部26と、記入枠認識部27と、情報出力部28とを含んで構成されている。
【0021】
受入部21は、インタフェース部15を介してスキャナ2から、スキャナ2が読み取った帳票の画像データを受け入れる。この画像データは、いわゆるビットマップ画像データである。
【0022】
また、上述したように本実施の形態の情報処理装置1が処理の対象とする帳票の例は、
図2に例示したように、情報を記入するための枠(記入枠)が複数、行方向及び列方向に整列して配された表組(T)を含むものである。
図2の例では、表組(T)は、時間帯ごとの担当者の氏名を記入するための記入枠Aが行方向に整列して複数配され、列方向には担当場所ごとの担当者の氏名を記入するための記入枠Aが整列して配されているものとしている。つまり、この表組(T)では、各担当場所ごと、各時間帯ごとに、担当者の氏名が記入された状態となっているものとする。またこの表組(T)において、第1行目は時間帯を識別する情報が記入される記入枠(D)を配列したものとし、第1列目は担当場所を識別する情報が記入される記入枠(P)が配列されているものとする。
【0023】
また本実施の形態の情報処理装置1は、受け入れた帳票の画像データに対して第1の軸方向と、第1の軸方向に交差する第2の軸方向とを設定する。ここで第1、第2の軸方向は互いに直交した方向としてよい。以下の例では、第1の軸方向を行方向(スキャナ2の副走査方向)、第2の軸方向を列方向(スキャナ2の主走査方向)とする。
【0024】
記入枠候補抽出部22は、受入部21が受け入れた帳票の画像データから、帳票上の記入枠の候補を認識し、当該認識した記入枠の候補の領域に外接する外接矩形を抽出する。具体的な例として、本実施の形態では、記入枠候補抽出部22は、記入枠が矩形状の図形により表されているため、ハフ変換により直線の方向が行方向または列方向に整列するよう、受入部21が受け入れた帳票の画像データを回転処理する。
【0025】
そして記入枠候補抽出部22は、行ごと及び列ごとに、有意画素(例えば輝度が所定のしきい値を下回る画素を黒とし、そうでない画素を白とする処理(二値化処理)をして黒色となる画素)の数をカウントし、有意画素が所定の方法で定めたカウントしきい値より多い行または列を見出す。記入枠候補抽出部22は、当該見出した行または列に含まれ、有意画素が連続する範囲を抽出し、当該範囲の大きさが予め定めた連続しきい値より大きい場合に、当該連続した範囲を、記入枠を区切る罫線であると認識する。
【0026】
記入枠候補抽出部22は、行方向に互いに隣接する一対の罫線の間の矩形であって、列方向に互いに隣接する一対の罫線で仕切られる矩形部分を、記入枠の候補の領域として認識する。記入枠候補抽出部22は、当該認識した各記入枠の候補の領域に外接する矩形を表す情報を、外接矩形を表す情報として出力する。
【0027】
この例では、
図4(a)に例示するように、互いに隣接する記入枠の候補は、一つの罫線を共有する。すなわち記入枠A1の右辺の罫線は、記入枠A2の左辺の罫線でもあり、記入枠A1の下辺の罫線は、記入枠A3の上辺の罫線でもある。
【0028】
また、別の方法では、記入枠候補抽出部22は、帳票の画像データ内の有意画素塊(文字)に外接する矩形(文字矩形)を認識する。ここで文字を構成する有意画素に外接する文字矩形を認識する処理については広く知られた方法を採用できるので、ここでの詳しい説明を省略する。
【0029】
記入枠候補抽出部22は、認識した複数の文字矩形を所定の文字グループ化条件に基づいてグループ化する。ここで文字グループ化条件は、例えば互いに隣接する文字矩形までの距離が所定の文字間隔しきい値を下回るとの条件でよい。また罫線が別途認識できる場合は、上記文字間隔しきい値に係る条件を満足し、かつ、認識した罫線で分断されないとの条件などとしておく。
【0030】
この場合、記入枠候補抽出部22は、文字グループ化条件によりグループ化された複数の文字矩形にさらに外接する文字列外接矩形を生成し、この生成した文字列外接矩形内の領域を、記入枠の候補の領域とする。
【0031】
この例では、
図4(b)に例示するように、記入枠の候補の領域A′1,A′2,A′3は、罫線で仕切られる領域に内包される。またこの例では、記入枠の候補の領域に外接する矩形(外接矩形)は、文字列外接矩形そのものを用いてよい。
【0032】
第1認識部23は、記入枠候補抽出部22が抽出した複数の外接矩形のいずれか一つを選択して、当該選択した外接矩形に対して、帳票の画像データの行方向(第1の軸方向に相当する)に存在する他の外接矩形を検出する。
【0033】
第1認識部23は、選択した外接矩形と、検出した他の外接矩形とを含む第1矩形サブグループを設定する。
【0034】
第1認識部23は、いずれの第1矩形サブグループに属していない外接矩形(かつ、後で説明する第1孤立矩形として設定されていない外接矩形)があれば、当該外接矩形の一つをさらに選択して上記の処理を繰り返す。なお、選択した外接矩形に対して、帳票の画像データの行方向(第1の軸方向に相当する)に存在する他の外接矩形が存在しない場合、第1認識部23は、選択した外接矩形を、第1孤立矩形として設定する。
【0035】
一例として、この第1認識部23は、
図5に例示するように、外接矩形Aを選択した場合、この外接矩形Aの上辺,下辺をそれぞれ延長した線分AH,ABを仮想的に設定し、この範囲に重なる、外接矩形Aとは異なる外接矩形(他の外接矩形)B,C,D…を見出す。第1認識部23は、見出した他の外接矩形のそれぞれについて、線分AH,ABの間にある面積RINと、線分AH,ABの外にある部分の面積ROUTとを比較し、条件:
RIN>ROUT、かつ、
ROUT<Rrow_th
を満足するか否かを調べる。ここでRrow_thは、経験的に定められるしきい値であり、線分AH,ABの外にある部分の面積がどの程度であれば、選択した外接矩形Aが属する第1矩形サブグループに含めるかを定めるものである。
【0036】
そして第1認識部23は、上記条件を満足すると判断される外接矩形と、外接矩形Aとをグループ化して、一つの第1矩形サブグループとする。
図5の例では、外接矩形A,B,Cが一つの第1矩形サブグループに属するものとされ、外接矩形Dは、RIN>ROUTでないために、外接矩形Aが属する第1矩形サブグループにはグループ化されない。
【0037】
第1グループ化部24は、第1認識部23が設定した少なくとも一つの第1矩形サブグループごとに、当該第1矩形サブグループに含まれる複数の外接矩形にさらに外接する第1グループ矩形を設定する。
【0038】
第2認識部25は、記入枠候補抽出部22が抽出した複数の外接矩形のいずれか一つを選択して、当該選択した外接矩形に対して、帳票の画像データの列方向(第2の軸方向に相当する)に存在する他の外接矩形を検出する。
【0039】
第2認識部25は、選択した外接矩形と、検出した他の外接矩形とを含む第2矩形サブグループを設定する。
【0040】
第2認識部25は、いずれの第2矩形サブグループに属していない外接矩形(かつ、後で説明する第2孤立矩形として設定されていない外接矩形)があれば、当該外接矩形の一つをさらに選択して上記の処理を繰り返す。なお、選択した外接矩形に対して、帳票の画像データの列方向(第2の軸方向に相当する)に存在する他の外接矩形が存在しない場合、第2認識部25は、選択した外接矩形を、第2孤立矩形として設定する。
【0041】
一例として、この第2認識部25が、
図5に例示する外接矩形Aを選択した場合、この外接矩形Aの左辺,右辺をそれぞれ延長した線分AL,ARを仮想的に設定し、この範囲に重なる、外接矩形Aとは異なる外接矩形(他の外接矩形)E,F,G…を見出す。第2認識部25は、見出した他の外接矩形のそれぞれについて、線分AL,ARの間にある面積RINと、線分AL,ARの外にある部分の面積ROUTとを比較し、条件:
RIN>ROUT、かつ、
ROUT<Rcolumn_th
を満足するか否かを調べる。ここでRcolumn_thは、経験的に定められるしきい値であり、線分AL,ARの外にある部分の面積がどの程度であれば、選択した外接矩形Aが属する第2矩形サブグループに含めるかを定めるものである。
【0042】
そして第2認識部25は、上記条件を満足すると判断される外接矩形と、外接矩形Aとをグループ化して、一つの第2矩形サブグループとする。
図5の例では、外接矩形A,E,Fが一つの第2矩形サブグループに属するものとされ、外接矩形Gは、RIN>ROUTでないために、外接矩形Aが属する第2矩形サブグループにはグループ化されない。
【0043】
第2グループ化部26は、第2認識部25が設定した少なくとも一つの第2矩形サブグループごとに、当該第2矩形サブグループに含まれる複数の外接矩形にさらに外接する第2グループ矩形を設定する。
【0044】
記入枠認識部27は、第1グループ化部24が設定した第1グループ矩形と、第2グループ化部26が設定した第2グループ矩形との交差範囲を、記入枠として認識する。本実施の形態の例では、第1グループ化部24は一般に複数n個の第1グループ矩形を設定する。この第1グループ矩形は、行方向に延びる矩形であり、列方向に配列されている。また、第2グループ化部26は一般に複数m個の第2グループ矩形を設定する。この第2グループ矩形は、列方向に延びる矩形であり、行方向に配列されている。
【0045】
そこでこの記入枠認識部27が認識する第1グループ矩形と第2グループ矩形との交差範囲は、n×m個あり、記入枠認識部27は、n×m個の記入枠を認識する。記入枠認識部27は、認識した記入枠のそれぞれに固有の識別子を発行し、また当該記入枠のそれぞれに外接する矩形を特定する座標情報(当該矩形の左上及び右下の座標でよい)を得て、対応する識別子に関連付けて、記入枠データベースとして記憶部12に格納する。
【0046】
情報出力部28は、記憶部12に格納された記入枠データベースを参照し、固有の識別子及びそれに関連付けられた座標情報が表す、帳票の画像データ上の領域内の画像データ(各記入枠内の画像データ)を、所定の処理に供する。ここで所定の処理は、例えば、各記入枠内の画像データに基づく文字認識処理でよい。情報出力部28は、当該所定の処理の結果を、出力する。
【0047】
[動作]
本実施の形態の情報処理装置1は、以上の構成を備えており、次のように動作する。以下の例では、スキャナ2が読み取る帳票には、
図6(a)に例示するように、記入枠(A,B,C,D,E,Fで示される部分)がそれぞれ所定の間隔をおいて、マトリクス状に(行方向及び列方向に)配列され、それぞれ文字列AAA,BB,CC,DDD,EE,FFF(それぞれ文字数は互いに異なってよい)が記入されているものとする。また、
図6(a)の例では、罫線はないものとしている。
【0048】
情報処理装置1の制御部11がインタフェース部15を介してスキャナ2から、スキャナ2が読み取った上記
図6(a)の表組を含む帳票の画像データを受け入れると、制御部11は、受け入れた帳票の画像データに対して第1の軸方向としての行方向と、第1の軸方向に交差する第2の軸方向としての列方向とを設定する。
【0049】
制御部11は、この帳票の画像データから、記入枠を区切る罫線の認識を試みてもよいが、罫線は認識できないため、罫線を用いない方法、例えば文字の領域を認識する方法を用いることとする。具体的に制御部11は、受け入れた帳票の画像データから、有意画素塊(文字)に外接する矩形(文字矩形)を認識する。また制御部11は、認識した文字矩形を、互いに隣接する文字矩形までの距離が所定の文字間隔しきい値を下回るとの文字グループ化条件でグループ化する。この処理により、文字列AAA,BB,CC,DDD,EE,FFFがそれぞれ互いに異なるグループとしてグループ化される。
【0050】
そして制御部11は、文字グループ化条件によりグループ化された複数の文字矩形にさらに外接する文字列外接矩形を生成し(
図6(a)のA,B,C,D,E,F)、この生成した文字列外接矩形内の領域を、記入枠の候補の領域とする。
【0051】
次に制御部11は、記入枠の候補の領域のそれぞれに外接する複数の外接矩形のいずれか一つを選択する。例えば制御部11が文字列AAAに外接する外接矩形を選択したとする。制御部11は、当該選択した外接矩形に対して、帳票の画像データの行方向に存在する他の外接矩形を検出する。ここでは文字列AAAに外接する外接矩形に対し、帳票の画像データの行方向には、文字列BBに外接する外接矩形が存在する。そこで制御部11は、選択した外接矩形(文字列AAAの外接矩形)と、検出した他の外接矩形(文字列BBの外接矩形)とを含む第1矩形サブグループを設定し、
図6(b)に例示するように、その第1矩形サブグループに含まれる外接矩形に外接する第1グループ矩形X1を設定する。
【0052】
また制御部11は、いずれの第1矩形サブグループに属していない外接矩形の一つ、例えば文字列CCに外接する外接矩形を選択し、当該選択した外接矩形に対して、帳票の画像データの行方向に存在する他の外接矩形を検出する。ここでは文字列CCに外接する外接矩形に対し、帳票の画像データの行方向には、文字列DDDに外接する外接矩形が存在する。そこで制御部11は、選択した外接矩形(文字列CCの外接矩形)と、検出した他の外接矩形(文字列DDDの外接矩形)とを含む第1矩形サブグループを設定し、その第1矩形サブグループに含まれる外接矩形に外接する第1グループ矩形X2を設定する。
【0053】
同様にして制御部11は、文字列EEの外接矩形と、文字列FFFの外接矩形とを含む第1矩形サブグループを設定し、その第1矩形サブグループに含まれる外接矩形に外接する第1グループ矩形X3を設定する(
図6(b))。
【0054】
また制御部11は、第1グループ矩形を設定した処理とは別に、記入枠の候補の領域のそれぞれに外接する複数の外接矩形のいずれか一つを選択する。例えばここで制御部11が文字列AAAに外接する外接矩形を選択したとする。制御部11は、当該選択した外接矩形に対して、帳票の画像データの列方向に存在する他の外接矩形を検出する。ここでは文字列AAAに外接する外接矩形に対し、帳票の画像データの行方向には、文字列CCに外接する外接矩形、及び文字列EEに外接する外接矩形が存在する。そこで制御部11は、選択した外接矩形(文字列AAAの外接矩形)と、検出した他の外接矩形(文字列BBの外接矩形及び文字列EEの外接矩形)とを含む第2矩形サブグループを設定し、
図6(c)に例示するように、その第2矩形サブグループに含まれる外接矩形に外接する第2グループ矩形Y1を設定する。
【0055】
以下、制御部11は、いずれの第2矩形サブグループに属していない外接矩形の一つを選択して上記処理を繰り返す。ここでは、例えば制御部11は、文字列BBに外接する外接矩形を選択し、当該選択した外接矩形に対して、帳票の画像データの列方向に存在する他の外接矩形として、文字列DDDに外接する外接矩形及び文字列FFFに外接する外接矩形を検出する。制御部11は、選択した外接矩形(文字列CCの外接矩形)と、検出した他の外接矩形(文字列DDDの外接矩形及び文字列FFFの外接矩形)とを含む第2矩形サブグループを設定し、その第2矩形サブグループに含まれる外接矩形に外接する第2グループ矩形Y2を設定する。
【0056】
制御部11は、第1グループ矩形X1,X2,X3と、第2グループ矩形Y1,Y2の交差範囲RA,RB,RC,RD,RE,RF(
図6(d))を、記入枠として認識し、これら交差範囲に外接する外接矩形を表す情報を、各記入枠を特定する外接矩形の情報として記録する。
【0057】
制御部11は、この記録を用いて、当該記録に含まれる情報で特定される各外接矩形内の画像データが、各記入枠内の画像データであるとして、例えば各記入枠内の画像データに基づく文字認識処理を行い、記入枠ごとの文字認識処理の結果を出力する。
【0058】
[外接矩形の選択基準]
なお、ここまでの説明において、制御部11は、第1認識部23としての処理において、外接矩形の一つを選択し、当該選択した外接矩形に対して、帳票の画像データの行方向(または列方向)に存在する他の外接矩形を検出してグループ化するものとした。この際、選択した外接矩形を行方向(または列方向)に延長した領域に重なりあう他の外接矩形であって、当該重なりあう範囲の面積が当該他の外接矩形全体の面積に対して所定の比より大きい場合にグループ化する、といった条件としていたが当該グループ化の条件はこれに限られない。
【0059】
例えば制御部11は、ここでグループ化する条件として、複数の外接矩形に含まれる一対の外接矩形間の距離に基づく基準、または複数の外接矩形の形状に基づく基準を用いた条件を採用してもよい。
【0060】
ここで複数の外接矩形に含まれる一対の外接矩形間の距離に基づく基準は、例えば選択した外接矩形に対して、帳票の画像データの行方向(または列方向)に存在する他の外接矩形であって、選択した外接矩形との距離(最短距離)が予め定めたグループ化しきい値を下回るか、または選択した外接矩形と同じ第1矩形サブグループ(または第2矩形サブグループ)に属するいずれかの外接矩形との距離(最短距離)が予め定めたグループ化しきい値を下回る、との条件とすることができる。
【0061】
この例では、制御部11は、当初は選択した外接矩形に対して帳票の画像データの行方向に存在し、かつ、選択した外接矩形との距離(最短距離)が予め定めたグループ化しきい値を下回る他の外接矩形を見出すと、当該他の外接矩形と、選択した外接矩形とが属する第1矩形サブグループを設定する。そして制御部11は、選択した外接矩形に対して帳票の画像データの行方向に存在する他の外接矩形であって、選択した外接矩形が属する第1矩形サブグループに属するいずれかの外接矩形との距離(最短距離)が予め定めたグループ化しきい値を下回る他の外接矩形を見出すごとに、当該見出した他の外接矩形を、選択した外接矩形が属する第1矩形サブグループに追加する処理を繰り返す。
【0062】
これにより、2つの表組が2つ以上、第1の軸方向に連続して配されているときに、当該表組間の距離を下回り、各表組内の記入枠化の距離を上回る距離を上記グループ化しきい値として設定すれば、各表組の各記入枠がそれぞれ別々に識別されることとなる。なお制御部11は、列方向についても同様の処理を行うこととしてもよい。この場合、2つの表組が2つ以上、第2の軸方向に連続して配されているときに、当該表組間の距離を下回り、各表組内の記入枠化の距離を上回る距離を上記グループ化しきい値として設定すれば、各表組の各記入枠がそれぞれ別々に識別されることとなる。
【0063】
また制御部11は、グループ化する条件として外接矩形の形状に基づく基準を用いることとしてもよい。この場合制御部11は、記入枠候補抽出部22が得た外接矩形を、その大きさ(幅及び高さ)並びに、幅と高さとの比(アスペクト)を用いて、クラスタリングする。このクラスタリングの方法は、k-means法など広く知られた方法を採用できるので、詳しい説明は省略する。
【0064】
制御部11は、クラスタリングにより得られたクラスタごとに、当該クラスタに属する外接矩形の一つを選択し、当該選択した外接矩形に対して、帳票の画像データの行方向(第1の軸方向に相当する)に存在する他の外接矩形であって、選択した外接矩形と同じクラスタに属するもの(さらに既に述べた条件を加重してもよい)を検出してグループ化し、第1矩形サブグループを設定することとしてもよい。
【0065】
この例では、
図7に例示する表組Tを次のように処理する。ここで
図7の表組Tは、列方向の項目名の記入枠をN個(Nは1以上の整数)含む列ヘッダHCと、行方向の項目名の記入枠をM個(Mは1以上の整数)含む行ヘッダHRと、記入枠をN×M個含む、表組の本体部TBとに区分されるものとする。また、列ヘッダHCに含まれる記入枠は、それぞれ幅CW,高さCHであり、本体部TBの記入枠はそれぞれ幅CW,高さRHであり、行ヘッダHRに含まれる記入枠がそれぞれ幅RW,高さRHであるとする。
【0066】
さらにここで、RH<CHであり、RW>CWであるとする。つまり、列方向の項目名の記入枠の高さCHは、本体部TB内の記入枠の高さRHより大きく、行方向の項目名の記入枠の幅RWは、本体部TB内の記入枠の幅CWより大きい。
【0067】
制御部11は、記入枠の候補の領域に外接する外接矩形をそれぞれ抽出し、抽出した外接矩形を、その幅,高さ,幅と高さとの比(アスペクト)との3次元のベクトル情報に基づいてクラスタリングする。このクラスタリングの結果、
図7の例の表組Tでは、抽出した外接矩形が、列方向の項目名の記入枠の外接矩形のクラスタ(クラスタI)と、行方向の項目名の記入枠の外接矩形のクラスタ(クラスタII)と、本体部TB内の記入枠の外接矩形のクラスタ(クラスタIII)とに分類される。
【0068】
制御部11は、クラスタごとに、当該クラスタに属する外接矩形の一つを選択し、当該選択した外接矩形に対して、帳票の画像データの行方向に存在する他の外接矩形であって、選択した外接矩形と同じクラスタに属するもの(さらに既に述べた条件を加重してもよい)を検出してグループ化し、第1矩形サブグループを設定する。
【0069】
これにより、クラスタI内の外接矩形と、クラスタII内の外接矩形と、クラスタIII内の外接矩形とがそれぞれ互いに異なる第1矩形サブグループに属することとなる。
【0070】
また制御部11は、行方向と同様に、クラスタごとに、当該クラスタに属する外接矩形の一つを選択し、当該選択した外接矩形に対して、帳票の画像データの列方向に存在する他の外接矩形であって、選択した外接矩形と同じクラスタに属するもの(さらに既に述べた条件を加重してもよい)を検出してグループ化し、第2矩形サブグループを設定する。
【0071】
これにより、クラスタI内の外接矩形と、クラスタII内の外接矩形と、クラスタIII内の外接矩形とがそれぞれ互いに異なる第2矩形サブグループに属することとなる。
【0072】
さらに制御部11は、クラスタを順次選択しつつ、選択したクラスタの外接矩形が属する第1矩形サブグループと、当該選択したクラスタの第2矩形サブグループとの交差範囲をそれぞれ記入枠として認識する。
【0073】
図7の例では、列方向の項目名の記入枠の外接矩形が属するクラスタIを選択したときには、制御部11は、列方向の項目名の記入枠の外接矩形のすべてが含まれる第1グループ矩形と、列方向の項目名の記入枠の外接矩形がそれぞれ1つずつ含まれる第2グループ矩形との交差範囲である、列方向の項目名の記入枠を、それぞれ記入枠として認識することとなる。
【0074】
同様に、行方向の項目名の記入枠の外接矩形が属するクラスタIIを選択したときには、制御部11は、行方向の項目名の記入枠の外接矩形がそれぞれ1つずつ含まれる第1グループ矩形と、行方向の項目名の記入枠の外接矩形がすべて含まれる第2グループ矩形との交差範囲である、行方向の項目名の記入枠を、それぞれ記入枠として認識することとなる。
【0075】
さらに制御部11は、クラスタIIIを選択したときには、クラスタIIIの外接矩形がそれぞれ含まれる第1グループ矩形と第2グループ矩形との交差範囲を、それぞれ記入枠として認識する。
【0076】
[変形例]
また本実施の形態の別の例では、制御部11は、次のようにして表を認識してもよい。制御部11は、二値化処理や階調反転、輪郭線抽出等の処理を用いて、スキャナ2等から受け入れた帳票の画像データから矩形状の領域を認識し、認識した矩形状の領域の各々について固有の識別情報を発行する。
【0077】
制御部11は、認識した個々の矩形状領域の高さ(スキャナ2の主走査方向H)、幅(スキャナ2の副走査方向W)、及び位置を表す座標情報(例えば矩形状領域の左上の頂点座標でよい)を、対応する矩形状領域の識別情報に関連付けて記憶部12に格納する。
【0078】
制御部11は、記憶部12に格納した矩形状領域の情報を参照して、その高さと幅の情報により、認識した矩形状領域をクラスタに分類して、その分類の結果を得る。この分類結果により、高さ・幅が実質的に同じ矩形状領域がそれぞれクラスタとして分類され、クラスタごとに、当該クラスタに属する矩形状領域の識別情報のリストが得られる。このクラスタ分類の方法は、K平均法など広く知られた方法を用いることができる。
【0079】
制御部11は、分類の結果となったクラスタを順次選択して、選択したクラスタに複数の矩形状領域が分類されているときには、当該選択したクラスタに分類されている各矩形状領域の識別情報を得て、当該識別情報の一つを選択する。そして制御部11は、選択した識別情報で特定される矩形状領域の座標情報を取得する。
【0080】
制御部11は、取得した座標情報が表す点の幅方向(X軸方向とする)に存在する、上記選択したクラスタに分類される(上記選択した識別情報を含む)識別情報で特定される矩形状領域を見出す。この処理は例えば、取得した座標情報の高さ方向(Y軸方向とする)の値との差が予め定めたしきい値を下回る座標情報に関連付けられた識別情報を検索することで行われる。
【0081】
また制御部11は、この処理で見出された矩形状領域(つまり、X軸方向に一列に配列されている矩形状領域)の各々について、当該矩形状領域の座標情報が表す点の高さ方向(Y軸方向)に存在する、上記選択したクラスタに分類される識別情報で特定される矩形状領域を見出す。この処理は例えば、座標情報の高さ方向(X軸方向)の値との差が予め定めたしきい値を下回る座標情報に関連付けられた識別情報を検索することで行われる。
【0082】
制御部11は、この処理により、X軸方向に一列に配列されている矩形状領域のそれぞれについて、Y軸方向に一列に配列されている矩形状領域を見出す。そして制御部11は、当該見出した、Y軸方向に一列に配列されている矩形状領域の座標情報のY座標の値を、降順あるいは昇順に並べ替え、並べ替えて得たY座標の値のリストで互いに隣接する2つのY座標の値が、予め定めたしきい値を下回るか否かを調べる。このしきい値は、例えば選択しているクラスタに属する矩形状領域の高さに予め定めた方法で決められる値(例えば定数、あるいは高さに所定の実数係数を乗じた値)とする。
【0083】
そして、互いに隣接する2つのY座標の値が、予め定めたしきい値を下回らないと判断される位置で、Y座標の値のリストを分割する。
【0084】
制御部11は、分割して得られた各Y座標の値のリスト(あるいは分割されなかった場合は一つのY座標の値のリスト)に含まれるY座標の値に係る座標情報に対応する矩形状領域をグループとし、そのグループに属する矩形状領域の座標情報のうち、Y座標の値がもっとも小さい座標情報を、グループの座標情報とする。
【0085】
制御部11は、X軸方向に一列に配列されている矩形状領域のそれぞれについて、上記グループを得て、互いに対応するグループ(グループの座標情報のY座標の値の差が予め定めたしきい値を下回るグループ)を一つのグループにまとめる。
【0086】
これにより制御部11は、X軸方向に一列に配列され、また高さ方向に距離をおかずに配列されている矩形状領域の群(グループ)を見出す。そして制御部11は、当該矩形状領域を、表の各セルとして認識し、見出した矩形状領域の群を表の範囲として認識する。
【0087】
なお、制御部11は、X軸方向に配列されている矩形状領域についても、X軸方向に一列に配列されている当該矩形状領域の座標情報のX座標の値を、降順あるいは昇順に並べ替え、並べ替えて得たX座標の値のリストで互いに隣接する2つのX座標の値が、予め定めたしきい値を上回る位置でグループ(以下区別のため幅方向グループと呼ぶ)に分割することとしてもよい。この場合のしきい値は、例えば選択しているクラスタに属する矩形状領域の幅に予め定めた方法で決められる値(例えば定数、あるいは幅に所定の実数係数を乗じた値)とすれよい。また、この場合は、当該分割した幅方向グループごとに、一つの幅方向グループに属する矩形状領域のそれぞれについて、Y軸方向に一列に配列されている矩形状領域を見出し、グループに分割することとしてもよい。
【0088】
なお、一つの表に属するすべてのセルの幅と高さが必ずしも一定でない(例えばあるカラムは幅が広い、などがある)ことを考慮して、幅または高さごとにクラスタを生成してもよい。
【0089】
この例では、制御部11は、記憶部12に格納した矩形状領域の情報を参照して、その高さの情報により、認識した矩形状領域をクラスタに分類し、その分類の結果を、第1の分類結果として記憶部12に格納する。また制御部11は、記憶部12に格納した矩形状領域の情報を参照して、その幅の情報により、認識した矩形状領域をクラスタに分類し、その分類の結果を、第2の分類結果として記憶部12に格納する。
【0090】
そして制御部11は、第1の分類結果を参照し、同じ分類に属する矩形状領域(実質的に共通の高さの矩形状領域)が、矩形状領域の幅方向、つまりスキャナ2の副走査方向に複数配列されているか否かを判断する。すなわち制御部11は、分類の結果となった第2の分類結果のクラスタを順次選択して、選択したクラスタに複数の矩形状領域が分類されているときには、当該選択した第2の分類結果のクラスタに分類されている各矩形状領域の識別情報を得て、当該識別情報の一つを選択する。そして制御部11は、選択した識別情報で特定される矩形状領域の座標情報を取得する。
【0091】
制御部11は、取得した座標情報が表す点の幅方向(X軸方向とする)に存在する、上記選択した第2の分類結果のクラスタに分類される(上記選択した識別情報を含む)識別情報で特定される矩形状領域を見出す。
【0092】
また制御部11は、この処理で見出された矩形状領域(つまり、X軸方向に一列に配列されている矩形状領域)を順次選択し、選択した矩形状領域の座標情報が表す点の高さ方向(Y軸方向)に存在し、かつ、選択した矩形状領域と同じ第1の分類結果のクラスタに属する矩形状領域を見出す。
【0093】
制御部11は、この処理により、X軸方向に一列に配列されている、高さが実質的に共通している矩形状領域のそれぞれについて、Y軸方向に一列に配列されている、幅が実質的に共通している矩形状領域を見出す。そして制御部11は、当該見出した、Y軸方向に一列に配列されている矩形状領域の座標情報のY座標の値を、降順あるいは昇順に並べ替え、並べ替えて得たY座標の値のリストで互いに隣接する2つのY座標の値が、予め定めたしきい値を下回るか否かを調べる。このしきい値は、例えば選択しているクラスタに属する矩形状領域の高さに予め定めた方法で決められる値(例えば定数)とする。
【0094】
そして、互いに隣接する2つのY座標の値が、予め定めたしきい値を下回らないと判断される位置で、Y座標の値のリストを分割する。
【0095】
制御部11は、分割して得られた各Y座標の値のリスト(あるいは分割されなかった場合は一つのY座標の値のリスト)に含まれるY座標の値に係る座標情報に対応する矩形状領域をグループとし、そのグループに属する矩形状領域の座標情報のうち、Y座標の値がもっとも小さい座標情報を、グループの座標情報とする。
【0096】
制御部11は、X軸方向に一列に配列されている矩形状領域のそれぞれについて、上記グループを得て、互いに対応するグループ(グループの座標情報のY座標の値の差が予め定めたしきい値を下回るグループ)を一つのグループにまとめる。
【0097】
これにより制御部11は、X軸方向に一列に配列され、また高さ方向に距離をおかずに配列されている矩形状領域の群(グループ)を見出す。そして制御部11は、当該矩形状領域を、表の各セルとして認識し、見出した矩形状領域の群を表の範囲として認識する。
【0098】
ここでも制御部11は、X軸方向についてもグループに分割する処理を行ってもよい。この処理は、既に述べた処理と同様であり、繰り返しての説明となるので省略する。
【0099】
制御部11は、この処理により、高さや幅が共通している矩形状領域が格子状に続いて(間隔を置かずに)配列されている部分を見出して表として認識し、また、当該格子状に配列された矩形状領域を表のセルとして認識する。
【0100】
あるいは制御部11は、高さが共通している矩形状領域がX軸方向に続いて(間隔を置かずに)配列されている部分を見出し、当該見出した配列に含まれる矩形状領域の各々について、幅が共通している矩形状領域がY軸方向に続いて(間隔を置かずに)配列されている部分を見出して、当該見出した部分を一つの表として認識する。また、当該表として認識された部分に含まれる矩形状領域を当該表のセルとして認識する。
【0101】
この方法によっても、光学的に読み取られた帳票の記入枠の領域を、人為的操作なく、比較的処理負荷の低い方法で認識できる。
【0102】
[実施形態の効果]
本実施の形態によると、光学的に読み取られた帳票の記入枠の領域を、罫線の有無に関わらず、人為的操作なく認識できる。また、表組の項目名と本体とを区別して、記入枠の領域を、認識できる。
【符号の説明】
【0103】
1 情報処理装置、2 スキャナ、11 制御部、12 記憶部、13 操作部、14 表示部、15 インタフェース部、21 受入部、22 記入枠候補抽出部、23 第1認識部、24 第1グループ化部、25 第2認識部、26 第2グループ化部、27 記入枠認識部、28 情報出力部。