【実施例】
【0020】
まず、本実施例に係る帳票種類判別装置100の構成について説明する。
図1は、帳票種類判別装置100の構成を示すブロック図である。同図に示すように、この帳票種類判別装置100は、帳票画像入力部1と、帳票画像傾き補正部2と、第一エッジ画像作成部11と、第一特徴検出部12と、第一特徴照合部13と、第二エッジ画像作成部21と、第二特徴検出部22と、第二特徴照合部23と、印字文字情報31と、文字認識を行う文字認識部32aを有する出力部32とを備える。なお、文字認識部32aでは、周知の文字認識処理を行う。
【0021】
帳票画像入力部1は、カメラやスキャナや通信回線を介して帳票画像を取り込む処理部である。帳票画像傾き補正部2は、あらかじめ設定された基準となる横方向(以下、「x方向」と言う)と帳票の横罫線が平行になり、且つ、あらかじめ設定された基準となる縦方向(以下、「y方向」と言う)と帳票の縦罫線が並行になるように帳票画像の傾きを補正する処理部である。
【0022】
第一エッジ画像作成部11は、帳票画像中の横罫線を対象として抽出する第一エッジ画像作成処理部であり、例えば、横線のエッジ(以下、「横エッジ」と言う)を検出する微分オペレータ(例えば、SOBELオペレータ等)を帳票画像に適用することで横エッジを抽出する。具体的には、横罫線とその上部との間に濃度差があるため横罫線の上端に横エッジが存在し、また横罫線とその下部との間に濃度差があるため横罫線の下端に横エッジが存在する。このため、この第一エッジ画像作成部11により、一つの横罫線に対して一対をなす2つの横エッジが抽出されることになる。
【0023】
なお、この第一エッジ画像作成部11は、横エッジを含む帳票画像の微分画像の各画素を2値化して2値画像からなる第一エッジ画像を作成する。かかる2値化処理に際しては、大津の判別分析法等を用いて自動的に設定されたしきい値又はあらかじめ設定された所定のしきい値を用いて2値化処理を行うことができる。ここでは、画素値「0」となる黒画素がエッジを形成する画素を示し、画素値「1」となる白画素がエッジを形成しない画素を示すものとする。ただし、黒画素がエッジを形成しない画素を示し、白画素がエッジを形成する画素を示すようにして処理を行うこともできる。
【0024】
第一特徴検出部12は、帳票画像中の横罫線の特徴量である分布パターンを取得する処理部であり、具体的には、第一エッジ画像作成部11により作成されたエッジ画像に含まれる横罫線のエッジの画素数をy方向にプロットしたヒストグラムを横罫線の分布パターンとして取得する。このようにして取得された横罫線の分布パターンは、その全体を50ドット/インチ換算に圧縮することによって正規化処理される。
【0025】
第一特徴照合部13は、帳票画像中の横罫線の特徴量である分布パターンと予め登録してある各種帳票の横罫線の分布パターンである第一標準ヒストグラム14とを照合して第一合致度を算出する処理部である。
【0026】
第二エッジ画像作成部21は、帳票画像中の縦罫線を対象として抽出する第二エッジ画像作成処理部であり、例えば、縦線のエッジ(以下、「縦エッジ」と言う)を検出するSOBELオペレータ等を帳票画像に適用することで縦エッジを抽出する。なお、この第二エッジ画像作成部21は、帳票画像の微分画像の各画素を2値化して2値画像からなる第二エッジ画像を作成する。
【0027】
第二特徴検出部22は、帳票画像中の縦罫線の分布パターンを取得する処理部であり、具体的には、縦罫線のエッジ画素数をy方向にプロットしたヒストグラムを縦罫線の分布パターンとして取得する。第二特徴照合部23は、帳票画像中の縦罫線の分布パターンと予め登録してある各種帳票の縦罫線の分布パターンである第二標準ヒストグラム24とを照合して第二合致度を算出する処理部である。
【0028】
印字文字情報31は、あらかじめ登録された各種帳票に印字された印字文字に関する情報であり、具体的には、各帳票に印字された印字文字の座標情報及び印字文字が含まれる。
【0029】
出力部32は、第一合致度及び第二合致度を用いて予め登録された各種帳票から複数の有力候補帳票を選択し、選択された各有力候補帳票の所定の位置に存在する印字文字と帳票画像の所定の位置から読み取って文字認識部32aにより文字認識された結果とを比較して、文字認識スコアが最も高くなる帳票種類を出力する処理部である。
【0030】
具体的には、出力部32では、第一合致度及び第二合致度の合計値が高い順に複数の有力候補帳票を選択し、印字文字情報31から該有力候補帳票に印字文字が印字される領域を抽出する。ここで、有力候補帳票と帳票画像の間に位置ずれが存在する場合には、この位置ずれを考慮して印字文字が印字される領域を補正し、該当する箇所から読み出したデータを文字認識する。そして、文字認識された文字が、印字文字情報31に含まれる有力候補帳票に本来含まれるはずの印字文字と比較することになる。
【0031】
なお、本実施例では、説明の便宜上、帳票の最上部に印字された見出しとなる印字文字を処理対象とする場合について説明するが、本発明はこれに限定されるものではなく、帳票の様々な位置に所在する印字文字を処理対象とすることもできる。この場合には、登録された帳票ごとに複数の印字文字に関する情報を印字文字情報31に含ませれば良い。処理対象とする印字文字を多くすればするほど、出力部32から出力される出力結果の信頼性を向上させることができる。
【0032】
次に、
図1に示した帳票種類判別装置100の処理手順について説明する。
図2は、
図1に示した帳票種類判別装置100の処理を示すフロー図である。同図に示したステップS1では、帳票画像入力部1は、帳票の画像を取り込む。ステップS2では、帳票画像傾き補正部2は、公知方法により、帳票画像中の横方向の線分がx方向に合致するように、又は、帳票画像中の縦方向の線分がy方向に合致するように、帳票画像の傾きの角度を回転補正する。例えば、帳票画像中の横エッジのエッジ方向とx方向の傾き角度を求め、この角度分を回転補正するようアフィン変換すれば良い。これにより、帳票画像中の横罫線をx方向に合致させ、縦罫線をy方向に合致させることができる。
【0033】
図4に、傾き補正後の帳票画像Gを例示する。この帳票画像Gにおいて、図中に示す太線が罫線であり、斜体でない文字は帳票に予め印刷された印字文字であり、斜体の文字は帳票に対して記入された文字である。
【0034】
図2に戻り、ステップS3では、第一エッジ画像作成部11は、帳票画像に対して横線を形成するエッジを検出する微分オペレータ(例えば、SOBELオペレータ)を適用して横エッジを抽出し、各横エッジの画素値を所定の画素値と比較して2値化して、
図5に示すような2値画像である第一エッジ画像を作成する。ここで、この第一エッジ画像の黒画素は横エッジを形成する画素を示し、白画素は横エッジを形成しない画素を示すことになる。
【0035】
図5に、第一エッジ画像E1を例示する。図中に示すように、所定の幅が存在する罫線(横線)に対して横エッジ検出用の微分オペレータを適用すると、罫線の上部及び下部と背景との間に濃度差があるため、2本の平行線が検出される。また、横エッジ検出用の微分オペレータを適用しているので、この時点では縦エッジは検出されない。なお、帳票画像内の印刷文字又は記入文字については、その一部に横エッジが存在するため、同図に示すように文字の一部をなす横エッジが検出されることになるが、罫線ほどには連続した状態で検出されない。
【0036】
図2に戻り、ステップS4では、第一特徴検出部12は、第一エッジ画像をx方向に3mmが1画素になるように圧縮し、このとき黒画素が所定の画素数連続していれば圧縮後の画素を黒画素とし、そうでない場合は圧縮後の画素を白画素とする最小値圧縮をして第一圧縮画像を作成する。
図5は第一エッジ画像を示しており、文字は微分されることで横エッジのみとなり、さらに、最小値圧縮されることによって文字の横エッジが消える。
【0037】
図6に、第一圧縮画像F1を例示する。帳票画像Gの横幅が210mmであり、1mmにつき1画素が形成されている場合には、第一圧縮画像F1の横方向の画素数は210/3=70になる。なお、第一圧縮画像を作成すると
図6に示す様に横方向に最小値圧縮をしているので、第一エッジ画像E1に見られた文字の横エッジは消失する。
【0038】
図2に戻り、ステップS5では、第一特徴検出部12は、第一圧縮画像の横エッジの画素数をy座標にプロットしたヒストグラムを作成し、これまでは横方向に圧縮したが、次に縦方向に全体を50ドット/インチ換算に圧縮する正規化処理を行い、その結果wpを第一ヒストグラムとする。
図7に、第一ヒストグラムH1を例示するとともに、
図8(a)〜(d)に、各種帳票Ca〜Cdとそれらについての第一標準ヒストグラムHa〜Hdを例示する。
【0039】
図2に戻り、ステップS6では、第一特徴照合部12は、予め登録された各種帳票の横エッジの分布を示す第一標準ヒストグラムと第一ヒストグラムH1とを照合する。具体的には、第一ヒストグラムH1を所定画素数(例えば20画素数)からなる複数の区画領域に分割し、第一ヒストグラムH1の各区画領域が第一標準ヒストグラムHaのどの位置に合致するかを求め、求めた位置に領域の開始位置が一致するように各区画領域を補正した補正後の第一ヒストグラムHyと第一標準ヒストグラムHaとを照合して第一合致度を求める。
【0040】
この点をさらに詳細に説明すると、
図9に示すように、第一ヒストグラムH1は、複数の区画領域A1〜A7に分割される。ここで、区画領域A1に関しては、区画領域A1におけるヒストグラムの2つのピークの間隔とピーク値を持つ第一標準ヒストグラムHa上の位置を求める。例えば、区画領域A1におけるヒストグラムを第一標準ヒスグラムHa上で移動させつつ順次相関値を求め、最も相関値が高くなる位置を第一ヒストグラムH1の区画領域A1の対応位置と判定することができる。
【0041】
同様に、区画領域A2〜A7に関しても、区画領域A2〜A7におけるヒストグラムを第一標準ヒスグラムHa上で移動させつつ順次相関値を求め、最も相関値が高くなる位置を第一ヒストグラムH1の区画領域A2〜A7の対応位置と判定することができる。
【0042】
このようにして、
図10に示す区画領域A1〜A7の対応位置から位置ずれ量y1〜y7を求めたならば、求めた位置に領域の開始位置を合わせるように第一ヒストグラムH1を区画領域A1〜A7毎に補正する。その後、補正された第一ヒストグラムHyと第一標準ヒストグラムHaとの相関値を求め、帳票画像Gと帳票Caの第一合致度Paを算定することになる。
【0043】
図2に戻り、ステップS7において、第二エッジ画像作成部21は、帳票画像に対して縦線を形成するエッジを検出する微分オペレータ(例えば、SOBELオペレータ)を適用して縦エッジを抽出し、各縦エッジの画素値を所定の画素値と比較して2値化して、2値画像である第二エッジ画像を作成する。
【0044】
図11に、第二エッジ画像E2を例示する。この第二エッジ画像E2についても、
図5に示した第一エッジ画像E1と同様に、所定の幅が存在する罫線(縦線)に対して縦エッジ検出用の微分オペレータを適用すると、罫線の左部及ぶ右部と背景との間に濃度差があるため、2本の平行線が検出される。また、縦エッジ検出用の微分オペレータを適用しているので、横エッジは検出されない。なお、帳票画像内の印刷文字又は記入文字については、その一部に縦エッジが存在するため、
図11に示すように同図に示すように文字の一部をなす縦エッジが検出されることになるが、罫線ほどには連続した状態で検出されない。
【0045】
図2に戻り、ステップS8では、第二特徴検出部22は、第二エッジ画像をy方向に3mmが1画素になるように圧縮し、このとき黒画素が所定の画素数連続していれば圧縮後の画素を黒画素とし、そうでない場合は圧縮後の画素を白画素とする最小値圧縮をして第二圧縮画像を作成する。
図12に、第二圧縮画像F2を例示する。帳票画像Gの縦幅が300mmであり、
3mmにつき1画素が形成されている場合には、第二圧縮画像F2の縦方向の画素数は300/3=100になる。なお、縦方向に最小値圧縮をしているので、帳票エッジ画像E2上の文字は消失している。
【0046】
図2に戻り、ステップS9では、第二特徴検出部22は、第二圧縮画像のx座標毎のy方向黒画素数のヒストグラムを作成し、これまでは縦方向に圧縮したが、次に横方向に全体を50ドット/インチ換算に圧縮し、それを第二ヒストグラムとする。
図13に、第二ヒストグラムH2を例示するとともに、
図14(a)〜(d)に、各種帳票Ca〜Cdとそれらについての第二標準ヒストグラムJa〜Jdを例示する。
【0047】
図2に戻り、ステップS10では、予め登録された各種帳票の縦エッジの分布を示す第二標準ヒストグラムと第二ヒストグラムH2とを照合する。具体的には、第二ヒストグラムH2を所定画素数(例えば20画素数)からなる複数の区画領域に分割し、第二ヒストグラムH2の各区画領域が第二標準ヒストグラムJaのどの位置に合致するかを求め、求めた位置に合致するように各区画領域を補正した補正後の第二ヒストグラムHxと第二標準ヒストグラムJaとを照合して第二合致度を求める。
【0048】
この点をさらに詳細に説明すると、
図15に示すように、第二ヒストグラムH2は、複数の区画領域B1〜A4に分割される。ここで、区画領域B1に関しては、区画領域B1におけるヒストグラムの2つのピークの間隔とピーク値を持つ第二標準ヒストグラムJa上の位置を求める。例えば、区画領域B1におけるヒストグラムを第二標準ヒスグラムJa上で移動させつつ順次相関値を求め、最も相関値が高くなる位置を第二ヒストグラムH2の区画領域B1の対応位置と判定することができる。
【0049】
同様に、区画領域B2〜B4に関しても、区画領域B2〜B4におけるヒストグラムを第二標準ヒスグラムJa上で移動させつつ順次相関値を求め、最も相関値が高くなる位置を第二ヒストグラムH2の区画領域B2〜B4の対応位置と判定することができる。
【0050】
このようにして、
図16に示す区画領域B1〜B4の対応位置から位置ずれ量x1〜x4を求めたならば、求めた位置に合わせるように第二ヒストグラムH2を区画領域B1〜B4毎に領域開始位置座標値を移動させる補正を行う。その後、補正された第二ヒストグラムHxと第二標準ヒストグラムJaとの相関値を求め、帳票画像Gと帳票Caの第二合致度Qaを算定することになる。
【0051】
図3のステップS11に進み、出力部32は、第一合致度と第二合致度の合計値が大きい順を類似度が高い順とする。
【0052】
ステップS12では、類似度が高い順に例えば2つを選び、有力候補帳票とする。ステップS13では、有力候補帳票の中から一つの有力候補帳票を選択し、後述する印字文字を用いた照合処理を行うことになる。かかる有力候補帳票の選択に際しては、第一合致度と第二合致度の合計値が高いものから順次選択することになる。
【0053】
ステップS14では、予め登録された各種帳票の印字文字に関する情報(以下、「印字文字情報31」と言う)から選択された当該有力候補帳票の印字文字の座標情報(縦座標及び横座標)を読み出す。具体的には、
図17において、帳票Caの印字文字の縦領域15a(始点及び終点)と印字文字の横領域25a(始点及び終点)を読み出すことになる。
【0054】
ステップS15では、読み出した印字文字の縦領域15aの始点に最も近い横エッジのピークの位置ずれ量だけ印字文字の縦領域15aを逆方向に移動するとともに、印字文字の横領域25aの始点に最も近い縦エッジのピークの位置ずれ量だけ印字文字の横領域25aの座標値を逆方向に移動する。
図18に、位置ずれ量y1だけ逆方向に移動した印字文字の縦領域25a'及び位置ずれ量x1だけ逆方向に移動した印字文字の横領域25a'を示す。
【0055】
ステップS16では、移動した印字文字の縦領域15a'および印字文字の横領域25a'を帳票画像に当てはめた領域中の文字を文字認識処理により読み取る。
図19に、移動した領域印字文字の縦領域15a'及び印字文字の横領域25a'を帳票画像Gに当てはめた領域を示す。この領域から「入金伝票」の文字が読み取れる。
【0056】
ステップS17では、予め登録してある各種帳票の印字文字情報31から当該有力候補帳票についての第一印字文字を読み出す。
図17に示すように、帳票Caの第一印字文字は「入金伝票」である。
【0057】
ステップS18では、帳票画像Gから印字文字の縦座標、印字文字の横座標の領域を抽出し、この領域内の文字が第一印字文字と認識できるかどうかを判定する。具体的には、帳票画像Gから印字文字の縦座標、印字文字の横座標の領域を抽出し、この領域内の文字が第一印字文字と認識できる場合、または、帳票画像Gから抽出した前記領域内に認識できた文字が無く、且つ、空白なら、予め登録している印字文字情報に合致していると判定する。その結果、合致した場合には(ステップS18;Yes)、当該有力候補帳票の種類を出力して(ステップS19)、処理を終了する。
【0058】
一方、予め登録している印字文字情報に合致しない場合には(ステップS18;No)、ステップS20において未処理の有力候補帳票が存在するか否かを判定し、未処理の有力候補帳票が存在する場合には(ステップS20;Yes)、ステップS13に移行して同様の処理を繰り返す。そして、全ての有力候補帳票に対する処理を終えたならば(ステップS20;No)、上記一連の処理を終了する。
【0059】
本実施例の帳票種類判別装置100によれば次の効果が得られる。
(A)カラー画像やモノクロ画像の帳票画像Gをy方向に調べて出現するエッジを抽出し、エッジの有無に2値化した第一エッジ画像E1を作成する。この第一エッジ画像E1上では、背景と罫線の濃度差が小さい帳票でも、横罫線の罫線幅だけ離れた横方向の平行線として横罫線が現れるから、横罫線をうまく抽出することが出来る。
【0060】
(B)第一エッジ画像E1をx方向に圧縮してx方向の画素数を減らした第一圧縮画像F1を作成する。記入された文字・図形や、押された出納印や、貼り付けられたバーコードラベルなどのx方向に連続する黒画素数は、第一エッジ画像E1上において、元々多くない。その元々多くないx方向に連続する黒画素数がx方向の圧縮により減らされるため、第一圧縮画像F1上での存在は非常に希薄になる。他方、横罫線のx方向に連続する黒画素数は、第一エッジ画像E1上において、元々少なくない。その元々少なくないx方向に連続する黒画素数が減らされても、第一圧縮画像F1上での存在は希薄にならない。従って、文字・図形が記入されたり、出納印が押されたり、バーコードラベルが貼付されたりした帳票でも、横罫線をうまく抽出することが出来る。
【0061】
(C)第一エッジ画像E1をx方向に3mmを1画素に圧縮してx方向の画素数を減らすとともに、所定の画素数分連続する場合にのみ黒画素として第一圧縮画像F1を作成する。記入された文字について黒画素がx方向に連続する長さはほとんどが10mm未満であるため、第一圧縮画像F1ではほとんどが0画素〜3画素になってしまう。これにより、文字の存在を希薄化できる。他方、横罫線について黒画素がx方向に連続する長さはほとんどが10mm以上であるため、第一圧縮画像F1ではほとんどが3画素以上になり、横罫線の存在は希薄にならない。従って、文字・図形が記入されたり,出納印が押されたり、バーコードラベルが貼付されたりした帳票でも、横罫線をうまく抽出することが出来る。
【0062】
(D)カラー画像やモノクロ画像の帳票画像をx方向に調べて出現するエッジを抽出し、エッジの有無に2値化した第二エッジ画像E2を作成する。この第二エッジ画像E2上では、背景と罫線の濃度差が小さい帳票でも、縦罫線の罫線幅だけ離れた縦方向の平行線として縦罫線が現れるから、縦罫線をうまく抽出することが出来る。
【0063】
(E)第二エッジ画像E2をy方向に圧縮してy方向の画素数を減らした第二圧縮画像F2を作成する。記入された文字・図形や、押された出納印や、貼り付けられたバーコードラベルなどのy方向に連続する黒画素数は、第二エッジ画像E2上において、元々多くない。その元々多くないy方向に連続する黒画素数がy方向の圧縮により減らされるため、第二圧縮画像F2上での存在は非常に希薄になる。他方、縦罫線のy方向に連続する黒画素数は、第二エッジ画像E2上において、元々少なくない。その元々少なくないy方向に連続する黒画素数が減らされても、第二圧縮画像F2上での存在は希薄にならない。従って、文字・図形が記入されたり、出納印が押されたり、バーコードラベルが貼付されたりした帳票でも、縦罫線をうまく抽出することが出来る。
【0064】
(F)第二エッジ画像をy方向に3mmを1画素に圧縮してy方向の画素数を減らした第二圧縮画像F2を作成する。記入された文字について黒画素がy方向に連続する長さはほとんどが10mm未満であるため、第二圧縮画像F2ではほとんどが0画素〜3画素になってしまう。これにより、文字の存在を希薄化できる。他方、縦罫線について黒画素がy方向に連続する長さはほとんどが10mm以上であるため、第二圧縮画像ではほとんどが3画素以上になり、縦罫線の存在は希薄にならない。従って、文字・図形が記入されたり、出納印が押されたり、バーコードラベルが貼付されたりした帳票でも、縦罫線をうまく抽出することが出来る。
【0065】
(G)文字・図形が記入されたり、出納印が押されたり、バーコードラベルが貼付されたりした帳票でも、従来よりも高精度に横罫線・縦罫線を抽出できるので、従来よりも高精度に帳票の種類を判別できる。
【0066】
(H)第一ヒストグラムH1を第一標準ヒストグラムHa〜Hdに合わせたサイズに正規化するため、両者を比較し易くなる。
(I)第二ヒストグラムH2を第二標準ヒストグラムJa〜Jdに合わせたサイズに正規化するため、両者を比較し易くなる。
【0067】
(J)第一標準ヒストグラムHa〜Hdや第一ヒストグラムH1中のピークは当該ピーク位置に横罫線が存在することを表しているが、帳票用紙の伸縮や裁断のずれなどに起因して帳票用紙に対する横罫線の位置がずれることがあり、第一標準ヒストグラムHa〜Hdと同じ種類の帳票に係る第一ヒストグラムH1でもピーク位置がずれることがある。しかし、複数の横罫線の位置ずれ量は各横罫線に対して同じになるため、各区画領域毎の位置ずれを第一ヒストグラムH1に対して領域開始位置が一致するように補正した補正後第一ヒストグラムHyと第一標準ヒストグラムHa〜Hdと比較することによって、横罫線位置のずれによる合致度の低下を防ぐことができる。
【0068】
(K)第二標準ヒストグラムJa〜Jdや第二ヒストグラムH2中のピークは当該ピーク位置に縦罫線が存在することを表しているが、帳票用紙の伸縮や裁断のずれなどに起因して帳票用紙に対する縦罫線の位置がずれることがあり、第二標準ヒストグラムJa〜Jdと同じ種類の帳票に係る第二ヒストグラムH2でもピーク位置がずれることがある。しかし、複数の縦罫線の位置ずれ量は各縦罫線に対して同じになるため、各区画領域毎の位置ずれ量を第二ヒストグラムH2に対して領域開始位置が一致するように補正した補正後第二ヒストグラムHxと第二標準ヒストグラムJa〜Jdと比較することによって、縦罫線位置のずれによる合致度の低下を防ぐことができる。
【0069】
(L)第一標準ヒストグラムHa〜Hdと第一ヒストグラムH1中のピーク位置の比較で求めたy方向の位置ずれ量を基にして印字領域のy方向位置を正確に割り出すことが出来る。そして、その印字領域に印字された文字を読み取って帳票の種類を判別するため、高精度に帳票の種類を判別できる。
【0070】
(M)第二標準ヒストグラムJa〜Jdと第二ヒストグラムH2中のピーク位置の比較で求めたx方向の位置ずれ量を基にして印字領域のx方向位置を正確に割り出すことができる。そして、その印字領域に印字された文字を読み取って帳票の種類を判別するため、高精度に帳票の種類を判別できる。