JP6220770B2 - 帳票定義装置、帳票定義方法、及び帳票定義プログラム - Google Patents

帳票定義装置、帳票定義方法、及び帳票定義プログラム Download PDF

Info

Publication number
JP6220770B2
JP6220770B2 JP2014252479A JP2014252479A JP6220770B2 JP 6220770 B2 JP6220770 B2 JP 6220770B2 JP 2014252479 A JP2014252479 A JP 2014252479A JP 2014252479 A JP2014252479 A JP 2014252479A JP 6220770 B2 JP6220770 B2 JP 6220770B2
Authority
JP
Japan
Prior art keywords
rectangle
keyword
field
character
image data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014252479A
Other languages
English (en)
Other versions
JP2016115088A (ja
Inventor
龍二 中村
龍二 中村
加藤 光輝
光輝 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2014252479A priority Critical patent/JP6220770B2/ja
Publication of JP2016115088A publication Critical patent/JP2016115088A/ja
Application granted granted Critical
Publication of JP6220770B2 publication Critical patent/JP6220770B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Document Processing Apparatus (AREA)
  • Character Input (AREA)

Description

本発明は、帳票定義装置、帳票定義方法、及び帳票定義プログラムに関する。
紙媒体に印刷された文字等を光学的に読み取るスキャナを用いて帳票に手書きで記入された文字を読み取る前に、未記入の帳票に印刷された文字及び文字枠を検出するための画像を生成し、当該画像から印刷された文字及び文字枠の情報だけを読み取って記憶させておく。その後に、文字枠に手書きで文字が記入された帳票を読み取り、読み取った画像から手書き文字だけを抽出して記憶させておく。そして、手書き記入された文字の内容を確認したい場合に、記憶させてある文字及び文字枠の情報と、手書き文字の情報とを重ねあわせて画面に表示するといった帳票に表示されている内容を分離して処理を行う技術が存在する(例えば、特許文献1参照)。
ところで、帳票においては、文字枠の周辺に「氏名」、「口座番号」などの印刷文字をキーワードとして示すことにより、帳票の各々の文字枠にどのような文字を記入するかを記入者に示すようにしている。このような、キーワードを、コンピュータによる帳票処理において利用することができれば、文字枠に手書きで記入された内容が、明らかに間違っていないか等をチェックすることが可能となる。例えば、「氏名」というキーワードが存在するにも関わらず、キーワードに対応する文字枠に数値が記載されていた場合には、明らかに誤っているものとしてコンピュータによる文字の認識処理の際にチェックすることができる。
特許第4269059号公報
従来、コンピュータを用いた帳票処理において、上記のような帳票に印刷されるキーワードを利用するためには、帳票の作成の段階から、コンピュータを用いて、ユーザが手作業で、キーワードや文字枠を配置する位置を定義し、さらに、文字枠に記載される文字の種類などを示す属性を定義していく必要があった。
しかしながら、上記のような定義を行う作業は、ユーザの手作業によるものであるため、様々な様式が存在する帳票の各々に対応するためには、多大な労力を要する作業であるという問題がある。また、上述したような従来技術によっても、帳票を読み取った画像から、キーワードと文字枠とを対応付けるような定義情報を生成することができない問題がある。
本発明は、上記問題を解決すべくなされたもので、その目的は、任意に選択される帳票について、当該帳票の文字枠に記入される文字の属性に関連付けられるキーワードと当該文字枠とを対応付ける定義情報を生成していくことを可能とする帳票定義装置、帳票定義方法、及び帳票定義プログラムを提供することにある。
上記問題を解決するために、本発明の一態様は、帳票を光学的に読み取り帳票の画像データを生成する画像読取部と、前記画像データを2値化して帳票画像データを生成する2値化部と、前記帳票画像データに対して前記2値化により生じた欠損を埋める補正をして補正帳票画像データを生成する補正部と、前記補正帳票画像データから長方形または略長方形の形状を矩形として検出する矩形検出部と、前記矩形が文字枠矩形であるか否かを判定する矩形判定部と、前記文字枠矩形の隣接関係に基づいて、前記文字枠矩形を分類し、分類した区分の各々をフィールドとして検出するフィールド検出部と、前記帳票画像データに含まれる文字を検出する文字検出部と、前記フィールドに記入される文字の属性が予め対応付けられるキーワードを前記文字から検出するキーワード検出部と、前記キーワードに対応する前記フィールドを、前記キーワードと前記フィールドの位置関係に基づいて検出し、検出した前記フィールドを前記キーワードに対応付けて帳票定義情報記憶部に書き込むフィールド探索部と、を備えることを特徴とする帳票定義装置である。
また、本発明の一態様は、上記に記載の発明において、前記キーワードとして検出対象とする文字列または文字が予め定められており、前記キーワード検出部は、前記文字から前記キーワードを検出する際、前記予め定められている前記検出対象とする文字列または文字に完全一致、または、部分一致する前記キーワードのみを検出するようにしてもよい。
また、本発明の一態様は、上記に記載の発明において、前記キーワードに対応する前記属性を示す属性情報を予め記憶する辞書属性情報記憶部を備え、前記キーワード検出部は、
前記文字から前記キーワードを検出すると、前記キーワードに対応する前記属性情報を前記辞書属性情報記憶部から読み出し、読み出した前記属性情報を前記キーワードに対応付けて前記帳票定義情報記憶部に書き込むようにしてもよい。
また、本発明の一態様は、上記に記載の発明において、前記キーワードと前記フィールドの位置関係とは、前記キーワードが縦書きの場合に予め定められる前記フィールドが存在する方向の傾向、または、前記キーワードが横書きの場合に予め定められる前記フィールドが存在する方向の傾向によって示され、前記フィールド探索部は、前記フィールドが前記傾向を満たす場合に、当該フィールドを前記キーワードに対応する前記フィールドとして検出するようにしてもよい。
また、本発明の一態様は、上記に記載の発明において、前記矩形判定部が前記文字枠矩形でないと判定した前記矩形から、前記キーワードを囲む前記矩形を検出するキーワード対応矩形検出部を備え、前記フィールド探索部は、前記キーワードを囲む前記矩形が存在する場合、前記キーワードを囲む前記矩形と前記フィールドの位置関係を、前記キーワードと前記フィールドの位置関係として、前記キーワードに対応する前記フィールドを検出するようにしてもよい。
また、本発明の一態様は、上記に記載の発明において、前記帳票画像データを分割する罫線消去対応画像分割部と、分割された前記帳票画像データの各々から罫線を消去する罫線消去部と、前記罫線消去後の分割された前記帳票画像データを合成する罫線消去対応画像合成部と、を備え、前記罫線消去対応画像分割部は、前記帳票画像データを分割する際に、分割の境界に存在する前記罫線が、前記罫線消去部によって消去されるように、分割後の前記帳票画像データの各々の境界において重複領域が存在するように拡張領域を設けて分割し、前記罫線消去対応画像合成部は、前記分割された前記帳票画像データの各々の前記拡張領域を削除してから合成し、前記文字検出部は、前記罫線消去対応画像合成部が出力する前記罫線が消去された前記帳票画像データから前記文字を検出するようにしてもよい。
また、本発明の一態様は、上記に記載の発明において、前記フィールド探索部は、前記フィールドに複数のキーワードを対応付けるようにしてもよい。
上記問題を解決するために、本発明の一態様は、帳票を光学的に読み取り帳票の画像データを生成し、前記画像データを2値化して帳票画像データを生成し、前記帳票画像データに対して前記2値化により生じた欠損を埋める補正をして補正帳票画像データを生成し、前記補正帳票画像データから長方形または略長方形の形状を矩形として検出し、前記矩形が文字枠矩形であるか否かを判定し、前記文字枠矩形の隣接関係に基づいて、前記文字枠矩形を分類し、分類した区分の各々をフィールドとして検出し、前記帳票画像データに含まれる文字を検出し、前記フィールドに記入される文字の属性が予め対応付けられるキーワードを前記文字から検出し、前記キーワードに対応する前記フィールドを、前記キーワードと前記フィールドの位置関係に基づいて検出し、検出した前記フィールドを前記キーワードに対応付けて記憶することを特徴とする帳票定義方法である。
上記問題を解決するために、本発明の一態様は、コンピュータに、帳票を光学的に読み取り帳票の画像データを生成する手順、前記画像データを2値化して帳票画像データを生成する手順、前記帳票画像データに対して前記2値化により生じた欠損を埋める補正をして補正帳票画像データを生成する手順、前記補正帳票画像データから長方形または略長方形の形状を矩形として検出する手順、前記矩形が文字枠矩形であるか否かを判定する手順、前記文字枠矩形の隣接関係に基づいて、前記文字枠矩形を分類し、分類した区分の各々をフィールドとして検出する手順、前記帳票画像データに含まれる文字を検出する手順、前記フィールドに記入される文字の属性が予め対応付けられるキーワードを前記文字から検出する手順、前記キーワードに対応する前記フィールドを、前記キーワードと前記フィールドの位置関係に基づいて検出する手順、検出した前記フィールドを前記キーワードに対応付けて記憶する手順、を実行させるための帳票定義プログラムである。
この発明によれば、任意に選択される帳票について、当該帳票の文字枠に記入される文字の属性に関連付けられるキーワードと当該文字枠とを対応付ける定義情報を生成していくことが可能となる。
本発明の第1実施形態による帳票定義装置の構成を示すブロック図である。 同実施形態における矩形情報記憶部のデータ構成を示す図である。 同実施形態におけるフィールド情報記憶部のデータ構成を示す図である。 同実施形態における文字情報記憶部のデータ構成を示す図である。 同実施形態における辞書属性情報記憶部のデータ構成を示す図である。 同実施形態における帳票定義情報記憶部のデータ構成を示す図である。 同実施形態における帳票定義処理を示すフローチャート(その1)である。 同実施形態における帳票定義処理を示すフローチャート(その2)である。 同実施形態の画像読取部が読み取った帳票の画像を示す図である。 同実施形態の2値化部及び補正部のスレッドによる処理を示す図である。 同実施形態の補正部による膨張処理を説明する図(その1)である。 同実施形態の補正部による膨張処理を説明する図(その2)である。 同実施形態の補正部による膨張処理を説明する図(その3)である。 同実施形態の補正部による膨張処理を説明する図(その4)である。 同実施形態の補正部による膨張処理を説明する図(その5)である。 同実施形態の補正部による膨張処理を説明する図(その6)である。 同実施形態の補正部による膨張処理を説明する図(その7)である。 同実施形態におけるフィールド検出処理を示すフローチャート(その1)である。 同実施形態におけるフィールド検出処理を示すフローチャート(その2)である。 同実施形態におけるフィールド検出処理を説明する図(その1)である。 同実施形態におけるフィールド検出処理を説明する図(その2)である。 同実施形態におけるフィールド検出処理を説明する図(その3)である。 同実施形態におけるフィールド検出処理を説明する図(その4)である。 同実施形態の罫線消去対応画像分割部による画像分割を説明する図(その1)である。 同実施形態の罫線消去対応画像分割部による画像分割を説明する図(その2)である。 同実施形態の罫線消去部のスレッドによる処理を示す図である。 同実施形態におけるキーワード外接矩形を説明する図である。 同実施形態におけるキーワードを囲む矩形を説明する図である。 同実施形態におけるフィールド探索処理を示すフローチャートである。 同実施形態によるフィールド探索処理を説明する図(その1)である。 同実施形態によるフィールド探索処理を説明する図(その2)である。 同実施形態によるフィールド探索処理を説明する図(その3)である。 同実施形態によるフィールド探索処理を説明する図(その4)である。 同実施形態によるフィールド探索処理を説明する図(その5)である。 同実施形態によるフィールド探索処理を説明する図(その6)である。 同実施形態による膨張処理の違いを説明する図(その1)である。 同実施形態による膨張処理の違いを説明する図(その2)である。 同実施形態による膨張処理の違いを説明する図(その3)である。 同実施形態による膨張処理の違いを説明する図(その4)である。 同実施形態による膨張処理の違いを説明する図(その5)である。 同実施形態による膨張処理の違いを説明する図(その6)である。 同実施形態による膨張処理の違いを説明する図(その7)である。 同実施形態による膨張処理の違いを説明する図(その8)である。 同実施形態の罫線消去対応画像分割部の効果を説明する図(その1)である。 同実施形態の罫線消去対応画像分割部の効果を説明する図(その2)である。 同実施形態の罫線消去対応画像分割部の効果を説明する図(その3)である。 本発明の第2実施形態の構成を示すブロック図である。 同実施形態のリファレンス情報記憶部のデータ構成を示す図である。
(第1実施形態)
以下、本発明の第1実施形態について図面を参照して説明する。図1は、本発明の第1実施形態による帳票定義装置1の構成を示す概略ブロック図である。帳票定義装置1において、画像読取部10は、例えば、スキャナが適用され、光学的に紙媒体などに印刷、または手書きで記入された線図、図形、文字などのカラー画像として読み取り、読み取ったカラー画像をカラー帳票画像データとして出力する。ここでは、一例として、読み取ったカラー帳票画像データの各画素が24ビットの色情報を有する場合について説明する。画像分割部11は、画像読取部10が出力するカラー帳票画像データを上下辺の中点を結んだ線分と左右辺の中点を結んだ線分とにより4等分する。
2値化部12は、画像分割部11によって分割された分割カラー帳票画像データに対して、各々のピクセルを24ビットから1ビットに変換、すなわちカラーから白黒に変換して分割帳票画像データを生成する。ここで、2値化部12が行う2値化処理は、文字検出部24における文字の検出率を高めるために、文字の線が細くくっきりと残るような2値化を行うものとする。補正部13は、2値化部12が出力する分割帳票画像データに対して、線を膨張させる補正を行う。前述したように2値化部12によって行われる2値化処理は、各ピクセルを白黒の1ビットで表すように変換するとともに、文字の線が細くくっきりと残るようにする処理である。この処理を行うと、連続した線分で構成される矩形などの形状に欠損、すなわち、不連続な部分が生じてしまうことがある。線分に欠損が生じている場合でも欠損を補間して矩形として検出するアルゴリズムは存在するが、欠損が生じていない方が、矩形検出部15による矩形の検出率を高めることができるため、補正部13による補正処理により、線を膨張させて欠損を埋める補正を行う。
画像合成部14は、画像分割部11によって4等分され、2値化部12によって2値化された分割帳票画像データを合成して2値化された帳票画像データ(以下、2値化された帳票画像データを、帳票画像データという)を生成する。また、画像合成部14は、画像分割部11によって4等分され、2値化部12によって2値化され、補正部13によって補正された分割帳票画像データを合成して補正帳票画像データを生成する。また、画像合成部14は、生成した帳票画像データを文字検出用の画像データとして矩形消去部20に出力し、生成した補正帳票画像データを矩形検出用の画像データとして矩形検出部15に出力する。
矩形検出部15は、補正帳票画像データに含まれる長方形の形状、または略長方形の形状を矩形として画像処理により検出し、検出した矩形の左上のX軸とY軸の座標情報と、右下のX軸とY軸の座標情報とを出力する。ここで、略長方形には、4つの内角の全てが必ずしも直角ではなく、一部、または全ての角において、曲線になっているような形状も含まれる。なお、画像読取部10が読み取った画像データにおけるXY座標の原点は、左上を原点とし、X軸方向については、右方向が正、及びY軸方向については、下方向が正になる座標系となっており、以下の説明においても同様とする。矩形判定部16は、矩形検出部15が検出した矩形が、文字を記入する文字枠矩形か、それ以外の矩形であるかを、予め定められる文字枠矩形の大きさに基づいて判定する。
矩形情報記憶部50は、図2に示すデータ構成の矩形情報を記憶しており、矩形情報は、「矩形ID(Identification)」、「左上のX,Y座標」、「右下のX,Y座標」、「矩形種別」「処理状態」の項目を有している。矩形IDは、1つの帳票画像データにおいて各矩形を一意に識別可能なIDであり、矩形検出部15が矩形を検出するごとに生成する。「矩形ID」の項目には、矩形検出部15より矩形IDを受けた矩形判定部16により書き込まれる。「左上のX,Y座標」及び「右下のX,Y座標」の項目には、矩形検出部15が検出した矩形の左上のX,Yの座標情報と、右下のX,Yの座標情報とが、これらの情報を矩形検出部15から受けた矩形判定部16によって書き込まれる。「矩形種別」の項目には、矩形判定部16が判定した種別、すなわち、文字枠矩形であることを示す「文字枠」か、それ以外の矩形であることを示す「その他」が、矩形判定部16によって書き込まれる。「処理状態」の項目は、フィールド検出部17によって利用され、フィールド検出部17によるフィールド検出処理によって、基準文字枠矩形として選択された場合、または、いずれかのフィールドに分類された場合、処理済みの矩形として、フィールド検出部17によって「済み」が書き込まれる。なお、「処理状態」の項目には、矩形判定部16が、矩形IDを書き込んでレコードを生成した際、初期値として矩形判定部16によって空欄「−」が書き込まれる。
フィールド検出部17は、矩形情報記憶部50から「矩形種別」の項目が「文字枠」となっている矩形情報を読み出し、読み出した文字枠矩形の隣接関係に基づいて、文字枠矩形を分類し、分類した際の区分の各々をフィールドとして検出する。ここで、フィールドとは、文字枠矩形の集合である。例えば、帳票において、氏名をカタカナ等で記入させる場合、同じ大きさの矩形を、同じ高さで、かつ同じ間隔で並べて、当該複数の矩形に氏名をカタカナ1文字ずつで記入させることが一般的である。この氏名が記入される一組の文字枠矩形の集合をフィールドという。なお、フィールドを構成する文字枠矩形の集合には、文字枠矩形が、1つの場合も含まれる。また、上記の隣接関係とは、隣接する文字枠矩形の左上のY座標の値が同じであるか否か、隣接する文字枠矩形がX軸方向に所定の範囲以内に存在するか否か、隣接する文字枠矩形の各々が、同じ又はほぼ同じ間隔で並んでいるか否か、文字枠矩形の縦方向の長さ、すなわち文字枠矩形の高さが同じであるか否かなどの隣接文字枠矩形との関係を示すものである。また、フィールド検出部17は、検出したフィールドの左上のX,Yの座標情報及び右下のX,Yの座標情報を検出する。また、フィールド検出部17は、検出したフィールドに対応付けて、検出した左上のX,Yの座標情報と右下のX,Yの座標情報、及びフィールドに含まれる矩形の矩形IDの情報をフィールド情報記憶部51に書き込む。
フィールド情報記憶部51は、図3に示すデータ構成のフィールド情報を記憶しており、フィールド情報は、「フィールドID」、「左上のX,Y座標」、「右下のX,Y座標」、「構成矩形」の項目を有している。フィールドIDは、1つの帳票画像データにおいて各フィールドを一意に識別可能なIDであり、フィールド検出部17がフィールドを検出するごとに生成する。「フィールドID」の項目には、当該フィールドIDが、フィールド検出部17によって書き込まれる。「左上のX,Y座標」の項目には、フィールドを構成する左端の矩形の左上のX,Y座標情報がフィールド検出部17によって書き込まれ、「右下のX,Y座標」の項目には、フィールドを構成する右端の矩形の右下のX,Y座標情報がフィールド検出部17によって書き込まれる。「構成矩形」の項目には、フィールドを構成する矩形を示す矩形IDがフィールド検出部17によって書き込まれる。
矩形消去部20は、矩形情報記憶部50に記憶されている矩形情報を用いて、画像合成部14が出力する帳票画像データに含まれる矩形を消去する。罫線消去対応画像分割部21は、矩形消去部20によって矩形が消去された帳票画像データを4分割して、罫線消去部22に出力する。ここで、罫線消去対応画像分割部21による帳票画像データの4分割は、上述した画像分割部11が行う上下辺の中点を結ぶ線分と、左右辺の中点を結ぶ線分とによる4等分とは異なる。罫線消去対応画像分割部21による4分割は、罫線消去部22が線分を罫線として検出する黒色画素の長さ分、分割の境界領域を拡張する拡張領域を含んだ分割となる。罫線消去部22は、罫線消去用に分割された帳票画像データの各々から画像処理により罫線を消去する。罫線消去対応画像合成部23は、罫線消去部22による罫線消去後の分割された帳票画像データの各々から上記の拡張領域を削除して合成を行う。
文字検出部24は、罫線消去対応画像合成部23が合成した、矩形と罫線が消去された帳票画像データから画像処理により1文字ずつ文字認識を行い、文字を検出する。文字検出部24が、最終的に検出する文字を示す情報は、例えば、文字コードなどの文字情報である。なお、認識した文字から文字コードへの変換は、文字検出部24が、予め内部に記憶してある変換テーブルにより変換してもよいし、文字検出部24が、外部のデータベース等を参照して、認識した文字から文字コードへの変換を行うようにしてもよい。また、文字検出部24は、検出した文字に外接する外接矩形を検出し、検出した外接矩形の左上のX,Y座標情報と右下のX,Y座標情報とを検出する。また、文字検出部24は、検出した文字の文字情報と、文字の外接矩形の左上のX,Y座標情報と右下のX,Y座標情報とを文字情報記憶部52に書き込む。
文字情報記憶部52は、図4に示すデータ構成の文字情報を記憶し、文字情報は、「文字ID」、「認識文字」、「左上のX,Y座標」、「右下のX,Y座標」の項目を有する。文字IDは、1つの帳票画像データにおいて認識した各文字を一意に識別可能なIDであり、文字検出部24が文字を検出するごとに生成する。「文字ID」の項目には、当該文字IDが、文字検出部24によって書き込まれる。「認識文字」の項目には、文字検出部24が画像処理により認識して検出した文字の文字情報が文字検出部24によって書き込まれる。「左上のX,Y座標」と「右下のX,Y座標」の項目には、文字検出部24が検出した、文字の外接矩形の左上のX,Y座標情報と右下のX,Y座標情報とが文字検出部24によって書き込まれる。
辞書属性情報記憶部53には、図5に示す辞書属性情報が予め記憶されている。辞書属性情報は、「キーワード」と「属性情報」の項目を有しており、「キーワード」の項目には、検出対象としている帳票に予め印刷される文字、または文字列からなる文字情報が予め記憶される。また、「キーワード」の項目の情報は、キーワード検出部25が、文字情報記憶部52に記憶されている文字からキーワードを検出する際に、辞書情報としても用いられる。「属性情報」の項目には、キーワードに対応付けられる属性を示す情報が予め書き込まれる。属性を示す情報とは、例えば、文字枠に記入される文字の種類などを示す情報であり、「依頼日」というキーワードであれば、年月日が書き込まれるため、数値という属性が書き込まれる。また、「依頼日」のキーワードに対するフィールドにおいて、より詳細に、西暦の下2桁を示す2つの文字枠、月を示す2つの文字枠、日を示す2つの文字枠の合計6つの文字枠から構成されることが予め定められている場合、それぞれの文字枠に記入される数字の範囲、例えば、日を示す2つの文字枠については、1つめ文字枠には、0〜3のいずれか、2つめの文字枠には0〜9のいずれかが記入されるという属性が予め書き込まれるようになっていてもよい。
「月」というキーワードであれば、2つの文字枠について、1つめの文字枠には、0か1、2つめの文字枠には、1〜9の数字が書き込まれることが属性情報として予め書き込まれるようになっていてもよいし、2つの文字枠に書き込まれる数値が、1〜12の整数であることが属性情報として予め書き込まれるようになっていてもよい。この場合、例えば、「属性情報」の項目に、「数値(範囲指定有り)」という属性が書き込まれ、「範囲指定有り」の部分には、具体的には「1〜12のいずれかの整数」といった内容が書き込まれることになる。
また、「都道府県」というキーワードの場合には、都道府県名のいずれかを示す漢字が書き込まれる場合もあるが、いくつかの都道府県を選択するようになっている場合、選択肢となっている所定の都道府県名が属性情報として予め書き込まれることになる。
キーワード検出部25は、文字情報記憶部52に記憶されている文字情報に基づいて、キーワードを構成している文字を検出し、検出したキーワードのうち辞書属性情報記憶部53の「キーワード」の項目に予め書き込まれている文字列または文字に完全一致、または、部分一致するものをキーワードとして検出する。また、キーワード検出部25は、キーワードを検出すると、当該キーワードに対応付けられている属性情報を辞書属性情報記憶部53から読み出す。また、キーワード検出部25は、検出したキーワードの外接矩形を検出し、検出した外接矩形の左上のX,Y座標情報と右下のX,Y座標情報を検出する。また、キーワード検出部25は、1つの帳票画像データでキーワード検出部25が検出したキーワードを一意に識別可能なIDであるキーワードIDを生成し、検出したキーワードと、対応する属性情報と、検出した外接矩形の左上のX,Y座標情報と右下のX,Y座標情報とを、生成したキーワードIDに対応付けて帳票定義情報記憶部54に書き込む。また、キーワード検出部25は、キーワードIDとキーワード外接矩形の情報、すなわち外接矩形の左上のX,Y座標情報と右下のX,Y座標情報をキーワード対応矩形検出部26に出力する。
帳票定義情報記憶部54は、図6に示すデータ構成の帳票定義情報を記憶し、帳票定義情報は、「キーワードID」、「内容」、「属性情報」、「左上のX,Y座標」、「右下のX,Y座標」、「対応矩形」、「対応フィールド」の項目を有する。「キーワードID」の項目には、キーワード検出部25によって、キーワード検出部25が生成したキーワードIDが書き込まれる。「内容」の項目には、キーワード検出部25が検出したキーワードの内容を示す文字列または文字が書き込まれる。「属性情報」の項目には、キーワード検出部25が、検出したキーワードに基づいて、辞書属性情報記憶部53から読み出した属性情報が書き込まれる。「左上のX,Y座標」と「右下のX,Y座標」の項目には、キーワード検出部25が検出したキーワードの外接矩形の左上のX,Y座標情報と右下のX,Y座標情報がキーワード検出部25によって書き込まれる。「対応矩形」の項目には、キーワード対応矩形検出部26が検出したキーワードを囲む矩形の矩形IDがキーワード対応矩形検出部26によって書き込まれる。「対応フィールド」の項目には、フィールド探索部27が検出したキーワードに対応するフィールドのフィールドIDが、フィールド探索部27によって書き込まれる。なお、「対応矩形」及び「対応フィールド」の項目は、キーワード検出部25がキーワードIDを書き込んでレコードを生成した際に、初期値としてキーワード検出部25によって空欄「−」が書き込まれる。
キーワード対応矩形検出部26は、キーワード検出部25が出力するキーワードの外接矩形の左上のX,Y座標情報及び右下のX,Y座標情報と、矩形情報記憶部50に記憶されている文字枠以外の矩形の左上のX,Y座標情報及び右下のX,Y座標情報とに基づいて、キーワードを囲む矩形を検出する。また、キーワード対応矩形検出部26は、検出した矩形を示す矩形IDをキーワードIDに対応付けて帳票定義情報記憶部54の「対応矩形」の項目に書き込む。なお、キーワードを囲む矩形が検出できなかった場合、キーワード対応矩形検出部26は、当該項目に「なし」を書き込む。
フィールド探索部27は、帳票定義情報記憶部54に記憶されているキーワード外接矩形の座標情報と、フィールド情報記憶部51に記憶されているフィールドの座標情報とを参照し、キーワードとフィールドの位置関係に基づいてキーワードに対応するフィールドを検出する。また、フィールド探索部27は、帳票定義情報記憶部54の「対応矩形」の項目に矩形のIDが記憶されている場合、キーワード外接矩形の座標情報に代えて、矩形の座標情報を矩形情報記憶部50から読み出す。また、フィールド探索部27は、読み出した矩形の座標情報と、フィールド情報記憶部51に記憶されている座標情報とを参照し、キーワードを囲む矩形とフィールドの位置関係に基づいてキーワードに対応するフィールドを検出する。また、フィールド探索部27は、検出したフィールドを示すフィールドIDを、当該キーワードを示すキーワードIDに対応付けて帳票定義情報記憶部54の「対応フィールド」の項目に書き込む。
(帳票定義処理)
第1実施形態の帳票定義装置1による帳票定義の処理について説明する。図7及び図8は、帳票定義処理の流れを示すフローチャートである。画像読取部10が、帳票を光学的に読み取り、例えば、図9に示す24ビットで構成されるカラー帳票画像データFを出力する(ステップSa1)。画像分割部11は、画像読取部10から出力されるカラー帳票画像データFを4等分する(ステップSa2)。ここで、4等分とは、カラー帳票画像データFの上下辺の中点を結ぶ線分と、左右辺の中点を結ぶ線分によって分割することであり、図10に、4等分した左上の分割カラー帳票画像データF−D1を示す。2値化部12と補正部13は、図10に示すようにスレッド1,2,3,4の4つのスレッドから構成され、各々のスレッド1,2,3,4は、それぞれ、画像分割部11によって分割された分割カラー帳票画像データF−D1,F−D2,F−D3,F−D4に対して処理を行う。4つのスレッド1,2,3,4によりマルチスレッド処理を行うことで、分割カラー帳票画像データF−D1,F−D2,F−D3,F−D4の2値化の処理及び補正の処理が並行に行われ、画像処理の速度が向上するとともに、2値化品質の向上等を図ることができる。
画像分割部11は、スレッド1,2,3,4の4つのスレッドの各々に分割した分割カラー帳票画像データF−D1,F−D2,F−D3,F−D4を出力する。2値化部12のスレッド1は、画像分割部11によって分割された左上の分割カラー帳票画像データF−D1を受けて、2値化を行い、分割帳票画像データBF−D1を生成する(ステップSa3−1)。補正部13のスレッド1は、分割帳票画像データBF−D1が生成されると、矩形検出用の補正を行い、補正後の補正分割帳票画像データBF−D1−Cを出力する(ステップSa4−1)。
矩形検出部15による矩形の検出の処理は、長方形の形状、または略長方形の形状を矩形として検出する処理であり、矩形として検出するためには、矩形を構成する線において欠損がないことが条件となる。一方で、2値化部12による2値化は、文字検出部24によって文字が検出できるよう、文字の線が細くくっきりと残るような2値化を行う必要があり、この2値化の際に、矩形を構成する線に欠損が生じてしまう場合がある。したがって、補正部13による補正処理は、線を膨張させて、2値化処理により生じた欠損を埋める画像処理となる。図11から図17は、補正部13による補正処理を示す図である。補正部13が行う膨張処理としては、以下に説明する、膨張処理A、膨張処理B、膨張処理Cから、いずれかが予め選択されるものとする。
(膨張処理A)
膨張処理Aは、線を膨張させる際の一般的なアルゴリズムである。膨張処理Aは、補正部13が、1つずつの画素を選択していき、例えば、図11に示すように、中央の「×」を注目画素として選択した場合に、注目画素の周辺に1つでも黒色の画素があれば、注目画素を黒色に置き換える処理である。具体的には、補正部13は、注目画素が白色の画素であるとき、当該画素を膨張、すなわち黒色に変換させるか否かの判定を行う。そのために、まず、注目画素の周辺の画素、すなわち図11に示す「○」のマークが付された画素に黒色があるか否かを判定する。図11の例では、右下の画素が黒色であるため、補正部13は、図12のように注目画素を黒色に置き換える。これにより、膨張が行われる。補正部13は、この処理を全ての画素について行うことにより、2値化された分割帳票画像データに含まれる線を膨張させていく。なお、図11、12の例では、指定周辺範囲を1としているため、注目画素の周辺は8近傍の画素となっているが、指定周辺範囲を2以上として周辺の画素を増やして、より多くの場合に膨張させるようにしてもよい。
(膨張処理B)
膨張処理Bは、注目画素の指定周辺範囲に存在する黒色画素の割合に基づいて、注目画素を黒色に置き換える処理である。上記の膨張処理Aにおいて説明したように、指定周辺範囲を1とすると、指定周辺範囲は「○」で示される8近傍の画素となる。補正部13に予め定められる割合を25%とし、25%以上の場合に補正部13が注目画素を黒色に置き換えるとする。図11の場合、周辺に1つの黒色画素が存在する。8個のうちの25%は、2個となるため、図11の場合、補正部13は、注目画素を黒色に置き換えない。これに対して図13のような場合、周辺に2つの黒色画素が存在する。したがって、補正部13は、図14に示すように注目画素を黒色に置き換える。補正部13は、この処理を全ての画素について行うことにより、2値化された分割帳票画像データに含まれる線を膨張させることができる。なお、指定周辺範囲は、1に限られず、指定周辺範囲を2以上として周辺の画素を増やすようにしてもよい。
(膨張処理C)
膨張処理Cは、上記の膨張処理Bの手法に対してさらに黒色画素の分布の重みを膨張の判定要素に加えることで、より矩形の補正に特化させた膨張処理である。補正部13は、図15に示すように、「×」で示される中央の画素を注目画素として選択した場合、左右指定範囲画素に存在する黒色画素の数をカウントする。指定範囲を2とした場合、「○」で示される画素が左右指定範囲画素となる。補正部13は、黒色画素をカウントする際に、黒色画素が注目画素から左に存在する場合、重みを「−1」し、右に存在する場合、重みを「+1」する。なお、重みの初期値は0である。図15の場合、左に黒色画素が1つ、右に黒色画素が2つ存在するため、黒色画素の個数としては3となる。膨張処理Bでは、指定周辺範囲の黒色画素の割合に基づいて注目画素を黒色に置き換えるか否かを判定していた。これに対して、膨張処理Cでは、予め定められる閾値を用いる。ここで、例えば、閾値を2とする。黒色画素の個数3は、閾値2以上の場合に該当するため、補正部13は、注目画素について黒色への置き換えを行うと判定する。次に、補正部13は、重みについて算出を行う。図15の例では、左に1つ、右に2つ黒色画素が存在するため、補正部13は、−1+1+1=+1として重みを算出する。重みが+1の場合、注目画素から右に1画素ずらし、図16において矢印によって示される画素を膨張させる起点とする。そして、起点となる画素の両側の画素を黒色に置き換える。置き換えると、図17のようになり、結果として、白色であった注目画素「×」が黒色に置き換えられることになる。補正部13は、上記の処理を注目画素の上下指定範囲の画素についても行い、この左右上下指定範囲の画素についての処理を全画素について行う。
図10に戻り、スレッド2、3、4において、ステップSa3−1と同様に、分割カラー帳票画像データF−D2、F−D3、F−D4に対して、2値化部12による2値化の処理が行われ、これにより2値化部12による2値化の処理が完了する(ステップSa3)。また、スレッド2、3、4において、ステップSa4−1と同様に、補正部13による上記の線を膨張させる補正の処理が行われ、これにより補正部13による補正の処理が完了する(ステップSa4)。
2値化部12及び補正部13のスレッド1,2,3,4は、それぞれ補正されていない2値化された分割帳票画像データBF−D1,BF−D2,BF−D3,BF−D4と、補正されている2値化された分割帳票画像データBF−D1−C,BF−D2−C,BF−D3−C,BF−D4−Cの2種類の画像データを出力する。このとき、補正部13による補正処理に要した時間について遅延が生じるため、処理の同期が行われ、これら2種類の画像データは、同じタイミングで画像合成部14に対して2値化部12と補正部13とが出力する。画像合成部14は、分割帳票画像データBF−D1,BF−D2,BF−D3,BF−D4が、スレッド1,2,3,4から出力されると、これらを合成してキーワード検出用の帳票画像データBFを出力して、接続点Bに進む(ステップSa20)。
また、画像合成部14は、補正分割帳票画像データBF−D1−C,BF−D2−C,BF−D3−C,BF−D4−Cが、スレッド1,2,3,4から出力されると、これらを合成して矩形検出用の補正帳票画像データBF−Cを出力する(ステップSa5)。
矩形検出部15は、補正帳票画像データBF−Cに含まれる矩形を画像処理によって検出し、検出した矩形ごとに、左上のX,Yの座標情報と、右下のX,Yの座標情報を検出する。矩形検出部15は、矩形を一意に識別可能な矩形IDを生成し、生成した矩形IDと、検出した左上のX,Yの座標情報と、右下のX,Yの座標情報とを対応付けて矩形判定部16に出力する(ステップSa6)。矩形判定部16は、矩形検出部15が出力する左上のX,Yの座標情報と、右下のX,Yの座標情報と、予め内部に定められている文字枠矩形の大きさの情報とを比較して、矩形検出部15が出力する矩形が文字枠矩形であるか否かを判定する(ステップSa7)。なお、矩形検出部15が検出する矩形は、上述したように必ずしも長方形ではなく、略長方形も含まれるため、大きさの比較は、一致するか否かではなく、予め定められる文字枠矩形の大きさを基準として、大きすぎないか、または、小さすぎないかという一定の範囲に存在するか否かを判定することになる。したがって、文字枠矩形の大きさの条件に加えて、当該範囲の条件についても矩形判定部16の内部に予め定められることになる。矩形判定部16は、文字枠矩形であると判定した場合、矩形IDと、左上のX,Yの座標情報と、右下のX,Yの座標情報と、「文字枠」を示す情報とを対応付けて矩形情報記憶部50に書き込む。一方、矩形判定部16は、文字枠矩形でないと判定した場合、矩形IDと、左上のX,Yの座標情報と、右下のX,Yの座標情報と、「その他」を示す情報とを対応付けて矩形情報記憶部50に書き込む(ステップSa8)。
矩形判定部16による矩形情報記憶部50への矩形情報の書き込みが終了すると、接続点Aを通じて、図8に示すように、フィールド検出部17によるフィールド検出処理が開始される(ステップSa9)。フィールド検出部17に対して処理の開始を通知する構成としては、例えば、矩形検出部15から、1つの補正帳票画像データについての矩形検出の処理の完了の通知を受けた矩形判定部16が、最後の矩形情報を矩形情報記憶部50に書き込んだ際に、処理完了の通知を、フィールド検出部17に対する処理開始の通知として出力する構成が適用される。
(フィールド検出処理)
図18、19は、フィールド検出部17によるフィールド検出処理を示すフローチャートである。フィールド検出部17は、矩形情報記憶部50において「矩形種別」の項目が「文字枠」であって、「処理状態」の項目が、「済み」となっていない矩形を参照し、参照した文字枠矩形のうち左上の頂点のX軸の座標値が最も小さい文字枠矩形を基準文字枠矩形として選択する(ステップSb1)。フィールド検出部17は、選択した基準文字枠矩形の左上の頂点のY軸の座標値を参照し、当該座標値と、左上の頂点のY軸の座標値が概ね等しい他の文字枠矩形を抽出する(ステップSb2)。図20は、ステップSb2の処理を示す図である。基準文字枠矩形として文字枠矩形R1を選択した場合、フィールド検出部17は、左上のY軸の座標値が等しいか、ほぼ等しい文字枠矩形R3、R5を他の文字枠矩形として抽出し、文字枠矩形R2、R4は、抽出しない。この処理は、フィールドを構成する文字枠は、横書きの場合には、上辺がY軸において同じ位置、またはほぼ同じ位置になっていることから、この条件を満たす他の文字枠矩形を抽出することを目的としている。フィールド検出部17は、ステップSb2において、他の文字枠矩形を抽出したかを判定し、抽出していない場合、接続点Cを通じてステップSb14に進む。一方、フィールド検出部17は、他の文字枠矩形を抽出した場合、ステップSb4に進む。
フィールド検出部17は、他の文字枠矩形を抽出した場合、基準文字枠矩形として選択した矩形の左上のX軸の座標値と、抽出した他の文字枠矩形の左上のX軸の座標値との差、すなわち、隣接する文字枠矩形との間の距離が、予め定められる所定値以下である他の文字枠矩形を隣接文字枠矩形として選択する。このとき、所定値以下の条件を満たす他の文字枠矩形が複数存在する場合、基準文字枠矩形との距離が最も近い他の文字枠矩形を隣接文字枠矩形として選択する(ステップSb4)。フィールド検出部17は、選択した隣接文字枠矩形にさらに隣接文字枠矩形が存在するか否かを判定する(ステップSb5)。選択した隣接文字枠矩形にさらに隣接文字枠矩形が存在すると判定した場合、フィールド検出部17は、選択した隣接文字枠矩形を基準文字枠矩形に置き換えてステップSb4からの処理を繰り返す(ステップSb6)。
図21は、ステップSb4〜Sb6の処理を示す図である。同図において、例えば、文字枠矩形R1〜R4は、同じ大きさであり、文字枠矩形R1〜R4のX軸方向の幅は、全て8ピクセルであり、予め定められる所定値の範囲が12ピクセルであるとする。最初に基準文字枠矩形として選択された文字枠矩形R1の左上のX軸の座標値と、文字枠矩形R2〜R4の左上のX軸の文字枠矩形の差を算出する。基準文字枠矩形R1と、文字枠矩形R2,R3,R4との差は、それぞれ、(8+2=10)ピクセル、(10+8+3=21)ピクセル、(21+8+10=39)ピクセルとなり、3ピクセル範囲内に存在するのは、文字枠矩形R2となる。フィールド検出部17は、文字枠矩形R2を隣接文字枠矩形として選択し、さらに、文字枠矩形R2を基準文字枠矩形として、ステップSb4以降の処理を繰り返す。文字枠矩形R3も、文字枠矩形R2との関係では、ステップSb4の条件を満たすことから、フィールド検出部17は、隣接文字枠矩形として選択する。文字枠矩形R4については、文字枠矩形R3との関係では、ステップSb4の条件を満たさないことから、フィールド検出部17は、隣接文字枠矩形として選択しない。したがって、図21の場合、隣接文字枠矩形としてフィールド検出部17が選択するのは文字枠矩形R2,R3となる。
一方、ステップSb5において、選択した隣接文字枠矩形にさらに隣接文字枠矩形が存在しないと判定した場合、フィールド検出部17は、隣接文字枠矩形として選択した文字枠矩形の個数を判定する。選択した隣接文字枠矩形の個数が0個の場合、フィールド検出部17は、接続点Cを通じてステップSb14に進む。選択した隣接文字枠矩形の個数が1個の場合、フィールド検出部17は、接続点Eを通じてステップSb10に進む。選択した隣接文字枠矩形の個数が複数個の場合、フィールド検出部17は、接続点Dを通じてステップSb8に進む(ステップSb7)。図19に示すステップSb8において、フィールド検出部17は、ステップSb1で最初に基準文字枠矩形として選択した文字枠矩形を基準文字枠矩形として再設定する(ステップSb8)。
フィールド検出部17は、基準文字枠矩形を基準として、選択した複数の文字枠矩形のうち概ね等間隔に並んでいる文字枠矩形を抽出する(ステップSb9)。図22は、ステップSb9の処理を示す図であり、例えば、文字枠矩形R1が、基準文字枠矩形として選択されている場合、フィールド検出部17は、2ピクセルの等間隔で並んでいる文字枠矩形R2,R3を抽出する。これに対して、文字枠矩形R3と文字枠矩形R4との距離は、5ピクセルになっており、等間隔ではないため、フィールド検出部17は、文字枠矩形R4を抽出しない。
フィールド検出部17は、基準文字枠矩形を基準として、左上のX軸の座標値が基準文字枠矩形の次に小さい隣接文字枠矩形、すなわち基準文字枠矩形に隣接する文字枠矩形を選択する。そして、フィールド検出部17は、選択した隣接文字枠矩形の高さ、すなわち左上のY軸の座標値と左下のY軸の座標値の差と、基準文字枠矩形の高さとが概ね等しいか否かを判定する(ステップSb10)。フィールド検出部17は、基準文字枠矩形の高さと、選択した隣接文字枠矩形の高さが概ね等しいと判定した場合、ステップSb11に進む。一方、フィールド検出部17は、基準文字枠矩形の高さと、選択した隣接文字枠矩形の高さが概ね等しくないと判定した場合、ステップSb14に進む。
フィールド検出部17は、基準文字枠矩形の高さと、選択した隣接文字枠矩形の高さが概ね等しいと判定した場合、選択した隣接文字枠矩形をフィールドを構成する文字枠矩形として選択する(ステップSb11)。フィールド検出部17は、フィールドを構成する文字枠矩形として選択した隣接文字枠矩形にさらに隣接文字枠矩形が存在するか否かを判定する(ステップSb12)。フィールドを構成する文字枠矩形として選択した隣接文字枠矩形にさらに隣接文字枠矩形が存在すると判定した場合、フィールド検出部17は、フィールドを構成する文字枠矩形として選択した隣接文字枠矩形を基準文字枠矩形に置き換えてステップSb10からの処理を繰り返す(ステップSb13)。図23は、ステップSb10〜Sb13の処理を示す図であり、フィールド検出部17は、文字枠矩形R1と、文字枠矩形R2とは、高さが概ね等しいため文字枠矩形R2をフィールドを構成する文字枠矩形として選択する。これに対して、フィールド検出部17は、文字枠矩形R2と文字枠矩形R3との高さが異なるため、文字枠矩形R3をフィールドを構成する文字枠矩形として選択しない。
ここまでの文字枠矩形の分類処理で、ステップSb1で基準文字枠矩形として選択した文字枠矩形を1つだけ含む区分か、または、ステップSb1で基準文字枠矩形として選択した文字枠矩形及び1つまたは複数のフィールドを構成する隣接文字枠矩形を含む区分への分類が完了する。フィールド検出部17は、フィールドIDを生成し、生成したフィールドIDに対応付けて、分類した区分に含まれる文字枠矩形の矩形IDを1つのフィールドとしてフィールド情報記憶部51に書き込む(ステップSb14)。フィールド検出部17は、フィールドを構成する全ての矩形の矩形IDに対応する矩形情報記憶部50の「処理状態」の項目に「済み」の項目を書き込む(ステップSb15)。フィールド検出部17は、矩形情報記憶部50を参照し、「矩形種別」が「文字枠」であって「処理状態」の項目に「済み」が書き込まれていない矩形が存在するか否かを判定する(ステップSb16)。フィールド検出部17は、「矩形種別」が「文字枠」であって「処理状態」の項目に「済み」が書き込まれていない矩形が存在する場合、ステップSb1からの処理を繰り返し、「矩形種別」が「文字枠」であって「処理状態」の項目に「済み」が書き込まれていない文字枠矩形が存在しない場合、フィールド検出処理を終了する。
(矩形と罫線の消去)
図8の接続点Bに戻り、矩形消去部20は、矩形情報記憶部50に記憶されている矩形情報を用いて、帳票画像データBFから矩形を消去する(ステップSa21)。矩形消去部20に対して処理の開始を通知する構成としては、例えば、矩形検出部15から、1つの補正帳票画像データについての矩形検出の処理の完了の通知を受けた矩形判定部16が、最後の矩形情報を矩形情報記憶部50に書き込んだ際に、その処理完了の通知を、矩形消去部20に対する処理開始の通知として出力する構成が適用される。罫線消去対応画像分割部21は、矩形消去部20が出力する矩形が消去された帳票画像データBF−Rを受けて、罫線消去用の画像の分割を行う(ステップSa22)。
ここで、図24、25を参照しつつ、罫線消去用の画像の分割について説明する。罫線を消去する画像処理としては、例えば、30ピクセル以上の黒色画素が連続している部分を罫線と判定して白色のピクセルに置き換えて罫線を消去していく画像処理などが適用される。なお、罫線は、直線に限られるものではなく曲線なども含み、罫線であるか否かの判定は、黒色画素の連続数の変わりに、黒色画素の密度などであってもよい。罫線消去用の画像分割とは、罫線消去部22における罫線であるか否かの判定処理を考慮して、境界領域において罫線の判定処理が上手く行われるように境界を少し拡張し、少し大きめの領域に分割する処理である。具体的には、図25に示すように、帳票画像データBF−Rの上下辺の中点を結ぶ線分、すなわちDL1の線分と、左右辺の中点を結ぶ線分、すなわちDL2の線分によって区切られる領域よりも、拡張領域EX1と拡張領域EX2を加えた少し大きめの領域(1)となるように画像分割を行う。
例えば、連続する30ピクセルで罫線と判定する場合、線分DL1の左側に1ピクセルだけ存在し、残りの29ピクセルが線分D1と垂直方向に直線で線分DL1の右側に存在する場合であっても線分DL1の左側の1ピクセルを罫線として消去する必要がある。そのため、拡張する拡張領域EX1の幅を29ピクセルとすることにより、線分DL1の左側の1ピクセルは、罫線消去部22による罫線の消去処理において、連続して存在する30ピクセルの左端のピクセルとなり、消去されることになる。縦方向の拡張領域EX2についても同様に29ピクセルとなる。なお、拡張領域EX1,EX2の大きさは、どれだけのピクセルを罫線として判定するかという画像処理の構成に依存するとともに、画像読取部10が読み取った画像の解像度によっても適宜変更されるものである。
図25のように分割した場合、少し大きめの領域に分割することから、図24に示すように領域(1)、(2)、(3)、(4)は、境界領域においてお互い重なった部分が存在することになる。なお、図24において、領域(1)と領域(4)は、太線で境界線を表し、領域(2)と領域(3)は、境界線を破線で示している。罫線消去対応画像合成部23において画像を合成する場合には、それぞれ、線分DL1及び線分DL2によって区切られる領域、すなわち領域(1)については、罫線消去後に、拡張領域EX1,EX2の部分を削除した領域を合成する。
図26に示すように、罫線消去対応画像分割部21は、矩形が消去された帳票画像データBF−Rを4つの領域に分割すると、各々を、罫線消去部22を構成するスレッド1,2,3,4に出力する。スレッド1における処理について説明すると、分割された分割帳票画像データBF−RD1W(上記の領域(1)に対応)は、罫線消去部22のスレッド1によって画像処理により罫線の消去が行われる(ステップSa23−1)。罫線消去部22のスレッド1は、罫線を消去した分割帳票画像データBF−RLD1Wを出力する。スレッド1と同様の処理がスレッド2,3,4においても行われ、これにより、罫線消去の処理が完了し、スレッド1,2,3,4の各々が罫線を消去した分割帳票画像データBF−RLD2W,BF−RLD3W,BF−RLD4Wを出力する(ステップSa23)。4つのスレッド1,2,3,4によりマルチスレッド処理を行うことで、分割帳票画像データBF−RD1W,BF−RD2W,BF−RD3W,BF−RD4Wに対する罫線消去の処理が並行に行われるため、計算量が多い罫線消去の処理の処理負荷を軽減して画像処理の速度を向上させることができる。
罫線消去対応画像合成部23は、分割帳票画像データBF−RLD1Wの中から、図25に示す拡張領域EX1,EX2を含まない画像領域の画像を抽出する。換言すると、罫線消去対応画像合成部23は、分割帳票画像データBF−RLD1Wについて、拡張領域EX1,EX2を除いた画像を取得する。また、罫線消去対応画像合成部23は、分割帳票画像データBF−RLD2W,BF−RLD3W,BF−RLD4Wにおいても同様に、それぞれの拡張領域EX1,EX2に相当する拡張領域を含まない画像領域を抽出する。罫線消去対応画像合成部23は、抽出した分割帳票画像データBF−RLD1W,BF−RLD2W,BF−RLD3W,BF−RLD4Wを合成し、罫線と矩形が消去された帳票画像データBF−RLWを出力する(ステップSa24)。
(文字の検出)
文字検出部24は、罫線と矩形が消去された帳票画像データBF−RLWから画像処理により文字を1文字ずつ検出し、検出した文字を文字コードなどの文字情報へ変換する。また、文字検出部24は、検出した文字の座標情報、すなわち、左上のX,Y座標と右下のX,Y座標を検出する。文字検出部24は、文字を検出するごとに文字IDを生成し、生成した文字IDと、検出した文字の文字コードなどの文字情報と、検出した文字の座標情報とを文字情報記憶部52に書き込む(ステップSa25)。
(キーワードの検出)
キーワード検出部25は、1つの帳票画像データにおいて文字検出部24による文字検出の処理が全て完了すると、検出された文字からキーワードを検出する。なお、キーワード検出部25に対して処理の開始を通知する構成としては、例えば、文字検出部24が、1つの帳票画像データにおいて、全ての文字の検出処理を完了すると、処理完了の通知をキーワード検出部25に対する処理開始の通知として出力する構成が適用される。
キーワード検出部25によるキーワードの検出は、まず、文字情報記憶部52に記憶されている文字の位置関係、大きさ、文字同士の並びの間隔などの情報に基づいて可能性のあるキーワードを全て検出していく。そして、検出したキーワードのなかで、辞書属性情報記憶部53の「キーワード」の項目に記憶されている文字列または文字に完全一致、または部分一致するキーワードを検出する(ステップSa26)。ここで、キーワード検出部25が、検出したキーワードが、例えば「振込み手数料」である場合、キーワード検出部25は、辞書属性情報記憶部53の「キーワード」の項目に完全一致、または、部分一致するキーワードが存在するか否かを判定する。ここでは、検出したキーワードに完全一致する「振込み手数料」が「キーワード」の項目に存在するため、キーワード検出部25は、「振込み手数料」をキーワードとして検出する。キーワード検出部25は、キーワードを検出すると、検出したキーワードに対応する属性情報を辞書属性情報記憶部53から読み出す。図5の例では、「振込み手数料」のキーワードに属性情報として「数値」が記憶されているため、「数値」を属性情報として読み出す(ステップSa27)。
例えば、キーワード検出部25が、文字情報記憶部52に記憶されている文字から「ご依頼日」のようなキーワードを検出したとする。この場合、「ご依頼日」のキーワードは、辞書属性情報記憶部53の「キーワード」の項目に記憶されている「依頼日」と「日」の双方に部分一致する。したがって、キーワード検出部25は、部分一致するものがあるため、キーワードとして「ご依頼日」を検出することになるが、これに対する「属性情報」を正しく読み出すことができない。そのため、部分一致するものが複数存在する場合には、最も多くの文字数で一致したものに対応すると判定し、それに対応する属性情報を読み出すことになる。
キーワード検出部25は、キーワード外接矩形の座標情報を検出する。図27は、キーワード外接矩形KCRを示す図であり、例えば、「氏名」というキーワードを検出した場合、キーワード外接矩形は、「氏名」というキーワードのX軸における最小と最大の座標、及びY軸における最小と最大の座標によって囲まれる矩形となる。したがって、キーワード検出部25は、「氏名」というキーワードの場合、文字情報記憶部52に記憶されている「氏」と「名」のそれぞれの左上のX,Y座標情報と、右下のX、Y座標情報から、Y軸については、最小と最大の座標情報をそれぞれyとyとして選択する。また、キーワード検出部25は、X軸については、左に配置されている「氏」の左上のX軸の座標情報を、最小の座標値xとし、右に配置されている「名」の右下のX軸の座標情報を、最大の座標値xとして選択する。これにより、キーワード検出部25は、キーワード「氏名」のキーワード外接矩形の座標情報として、左上のX,Y座標情報(x,y)、及び右下のX,Y座標情報(x,y)を検出する(ステップSa28)。キーワード検出部25は、新たなキーワードを検出するごとに、キーワードIDを生成し、生成したキーワードIDと、検出したキーワードと、キーワードに対応する属性情報と、キーワード外接矩形の左上のX,Yの座標情報及び右下のX,Yの座標情報とを対応付けて帳票定義情報記憶部54に書き込む(ステップSa29)。
また、キーワード検出部25は、キーワードID、左上のX,Yの座標情報、右下のX,Yの座標情報をキーワード対応矩形検出部26に出力する。キーワード対応矩形検出部26は、キーワード検出部25から左上のX,Yの座標情報、右下のX,Yの座標情報を受けて、2つの座標によって定められるキーワード外接矩形を囲む適切な大きさの矩形が存在するか否かを、矩形情報記憶部50に記憶されている「矩形種別」が「その他」の矩形の中から検出する。適切な大きさの矩形とは、例えば、キーワードを囲む矩形として大きすぎない矩形を意味する。具体的には、図28に示すように、キーワード対応矩形検出部26は、予め定められるX軸方向の閾値と、Y軸方向の閾値を内部に記憶しており、キーワード外接矩形KCRの左上のX、Y座標(x,y)及び右下のX,Y座標(x,y)と、矩形KRの左上のX、Y座標(X,Y)及び右下のX,Y座標(X,Y)とに基づいて、x−X,X−x,y−Y,Y−yを算出する。上述したように座標系は、左上を原点とし、X軸については、右方向、Y軸については、下方向を正としていることから、「氏名」というキーワードが、矩形KRに囲まれている場合、上記の4つの式により得られる値は、全て正の値となる。また、キーワード対応矩形検出部26は、x−Xの差及びX−xの差のそれぞれが、上記のX軸方向の閾値以内であり、y−Yの差及びY−yの差のそれぞれが、上記のY軸方向の閾値以内である場合、キーワード外接矩形を囲む適切な大きさの矩形であると判定する。キーワード対応矩形検出部26は、この判定処理により、キーワード外接矩形を囲む矩形を検出した場合、検出した矩形の矩形IDを矩形情報記憶部50から読み出し、キーワードIDと、読み出した矩形IDとを対応付けて帳票定義情報記憶部54の「対応矩形」の項目に書き込む。なお、キーワードを囲む矩形が検出できなかった場合、キーワード対応矩形検出部26は、「対応矩形」の項目に「なし」を書き込む(ステップSa30)。
(フィールド探索処理)
フィールド探索部27は、帳票定義情報記憶部54に書き込まれたキーワードに対応して帳票に印刷されているフィールドをフィールド情報記憶部51から検出し、キーワードとフィールドの対応付けを行うフィールド探索処理を行う(ステップSa31)。このとき、フィールド検出部17によるステップSa9のフィールド検出処理が完了している必要があるため、フィールド検出処理が完了していない場合、フィールド探索部27は、完了するまで待機して処理の同期を行う。
図29は、フィールド探索処理の流れを示すフローチャートである。フィールド探索部27は、帳票定義情報記憶部54の「対応フィールド」の項目が、「−」で示される空欄となっているレコードを選択する(ステップSc1)。フィールド探索部27は、選択したレコードの「対応矩形」の項目に矩形IDが記憶されているか否かを判定する(ステップSc2)。フィールド探索部27は、「対応矩形」の項目に矩形IDが記憶されていない、すなわち「なし」となっている場合、帳票定義情報記憶部54の「左上のX,Y座標」と「右下のX,Y座標」の座標情報、すなわちキーワード外接矩形の座標情報を読み出して基準矩形情報とする(ステップSc3)。一方、フィールド探索部27は、「対応矩形」の項目に矩形IDが記憶されていると判定した場合、当該矩形IDを読み出し、矩形情報記憶部50から当該矩形IDに対応する「左上のX,Y座標」と「右下のX,Y座標」の座標情報を読み出して基準矩形情報とする(ステップSc4)。これにより、フィールド探索部27は、矩形IDが存在する場合は、図30に示すようにキーワードを囲む矩形KR1の座標情報を、矩形IDがない場合は、図31に示すようにキーワード外接矩形KCR1の座標情報を取得する。
フィールド探索部27は、基準矩形情報に基づいて、基準矩形の形状が、縦長であるか、または横長であるかを判定する。縦長とは、キーワードが縦書きになっていることを示し、横長とは、キーワードが横書きになっていることを示す(ステップSc5)。なお、キーワードの内容が1文字である場合などで、縦と横の辺の長さが同じ場合、縦長、横長のいずれを選択してもよい。
フィールド探索部27は、基準矩形の形状が縦長であると判定した場合、図30に示すように、横書きの帳票では、対応するフィールドは、右方向に存在する傾向がある。そこで、基準矩形の形状が縦長の場合、矩形KR1を基準矩形とし、以下の3つのパラメータを設定する(ステップSc6)。3つのパラメータとは、すなわち、1)基準頂点:基準矩形の右上の座標、2)高さ:基準矩形の高さ±予め定められる誤差、3)横幅:X軸方向についての標準探索範囲±誤差、である。この3つのパラメータにより、図32に示すようなフィールド探索範囲VSA1を定める。ここで、1)の基準頂点とは、フィールド探索範囲VSA1の座標位置を定める基準座標である。2)の高さとは、基準頂点にY軸方向の正方向に基準矩形の高さを加え、さらに予め定められる誤差をY軸の正負の方向に加えた値となる。3)の横幅とは、基準頂点にX軸方向の正方向に、予め定められるX軸方向についての標準探索範囲を加え、さらに予め定められる誤差をX軸の正負の方向に加えた値となる。3)のパラメータにおけるX軸方向についての標準探索範囲とは、経験的に定められるフィールドが存在すると想定される範囲であり、画像の解像度によって変化する値である。また、誤差についても同様に、経験的に定められる値であり、画像の解像度によって変化する値であり、高さと横幅の誤差の値は、同じ値であってもよいし、異なる値であってもよい。
一方、フィールド探索部27は、基準矩形の形状が横長であると判定した場合、図31に示すように、横書きの帳票では、対応するフィールドは、右、左下、または下方向に存在する傾向がある。そこで、基準矩形の形状が横長の場合、キーワード外接矩形KCR1を基準矩形として、図33に示すように3つのフィールド探索範囲HSA1,HSB1,HSC1を設定する(ステップSc7)。基準矩形の右に存在するフィールド探索範囲HSA1は、1)基準頂点:基準矩形の右上の座標、2)高さ:基準矩形の高さ±誤差、3)横幅:X軸方向についての標準探索範囲±誤差の3つのパラメータにより設定される。基準矩形の左下に存在するフィールド探索範囲HSB1は、1)基準頂点:基準矩形の左下の座標、2)高さ:Y軸方向についての標準探索範囲±誤差、3)横幅:基準矩形の横幅/2の3つのパラメータにより設定される。基準矩形の下方向に存在するフィールド探索範囲HSC1は、1)基準頂点:基準矩形の左下の座標、2)高さ:Y軸方向についての標準探索範囲±誤差、3)横幅:基準矩形の横幅の3つのパラメータにより設定される。ここで、X軸方向についての標準探索範囲及びY軸方向についての標準探索範囲とは、経験的に定められるフィールドが存在すると想定される範囲であり、画像の解像度によって変化する値である。なお、Y軸方向についての標準探索範囲は、フィールド探索範囲HSB1,HSC1について同じ値であってもよいし、異なる値であってもよい。また、誤差についても同様に、経験的に定められる値であり、画像の解像度によって変化する値であり、フィールド探索範囲HSA1,HSB1,HSC1のそれぞれについて、同じ値であってもよいし、異なる値であってもよい。また、フィールド探索範囲HSA1の高さと横幅の誤差の値は、同じ値であってもよいし、異なる値であってもよい。
フィールド探索部27は、設定したフィールド探索範囲にフィールドが存在するか否かを判定する(ステップSc8)。具体的には、フィールド探索部27は、フィールド情報記憶部51に記憶されている各フィールドの「左上のX,Y座標」と「右下のX,Y座標」の項目の座標値を参照し、これら2つの座標値によって囲まれる領域が、設定したフィールド探索範囲と重複するか否かによって判定を行う。例えば、図32のフィールド探索範囲VSA1の場合、図34に示すようにフィールドFE1の左側の部分がフィールド探索範囲VSA1と重複しているので、フィールド探索部27は、フィールドが存在するとして判定する。また、図33のフィールド探索範囲HSA1,HSB1,HSC1の場合、フィールドFE2は、フィールド探索範囲HSB1とは左側の部分で、フィールド探索範囲HSC1とは中央の部分で重複しており、フィールド探索範囲HSA1とは、右側の上方の一部が重複している。したがって、フィールド探索部27は、フィールドが存在するとして判定する。
フィールド探索部27は、フィールドが存在する判定した場合、当該フィールドのフィールドIDをフィールド情報記憶部51から読み出す。そして、フィールド探索部27は、処理対象のキーワードのキーワードIDに対応付けて、読み出したフィールドIDを帳票定義情報記憶部54の「対応フィールド」の項目に書き込んで、キーワードとフィールドとを対応付ける(ステップSc9)。なお、フィールド探索部27は、あるキーワードについて、複数のフィールドを検出した場合、フィールドの左上の頂点と基準頂点の距離が最も短いフィールドを、当該キーワードに対するフィールドとして検出する。一方、フィールド探索部27は、フィールドが存在しないと判定した場合、処理対象のキーワードのキーワードIDに対応付けて、帳票定義情報記憶部54の「対応フィールド」の項目に「処理済み」と書き込む(ステップSc10)。
フィールド探索部27は、帳票定義情報記憶部54の「対応フィールド」の項目が空欄を示す「−」となっているレコードが存在するか否かを判定する(ステップSc11)。空欄になっているレコードが存在する場合、フィールド探索部27は、ステップSc1からの処理を繰り返す。一方、空欄になっているレコードが存在しない場合、フィールド探索部27は、フィールド探索処理を終了する。
上記の第1実施形態の構成により、画像読取部10が、帳票を光学的に読み取って帳票の画像データを生成し、2値化部12によって、2値化された帳票画像データが生成される。補正部13は、帳票画像データに対して2値化処理によって生じた欠損を埋める補正を行い補正帳票画像データを生成する。矩形検出部15は、補正帳票画像データから矩形を検出し、フィールド検出部17は、検出された矩形に基づいて、フィールドを検出する。一方、矩形消去部20と罫線消去部22によって矩形と罫線が消去された帳票画像データから、文字検出部24は、文字を検出し、キーワード検出部25は、検出された文字に基づいてキーワードを検出し、辞書属性情報記憶部53に記憶されているキーワードに対応付けられている属性情報を読み出す。フィールド探索部27は、フィールド検出部17が検出したフィールドとキーワード検出部25が検出したキーワードを対応付け、帳票定義情報記憶部54に、帳票の定義情報として、キーワードとフィールドと属性情報とを関連付けて記憶させる。これにより、帳票を光学的に読み取って生成した帳票画像データから、手書き文字を記入させるフィールドと、当該フィールドに記入させる文字の種類等を示す属性情報が関連付けられるキーワードとを抽出して、関係のあるフィールドとキーワードとを対応付けることが可能となる。したがって、その後に、手書き記入された帳票を読み取った際に、フィールドとキーワードと属性情報とを対応付けた定義情報に基づいて、フィールドに記入された手書き文字の文字種が正しいものであるかといった判定処理が可能となり、誤っている場合、記入者に修正を促すことで、帳票に手書きで記入される情報の精度を高めることが可能となる。
また、上記の第1実施形態では、文字の検出率を高めるために細い線になるような2値化をした帳票画像データと、当該2値化された帳票画像データに対して、2値化処理によって生じた欠損を埋めるため線を膨張させる補正をして、矩形検出用の補正帳票画像データとの2種類の画像データを生成する構成にしている。この構成より、文字の検出率と、矩形の検出率の双方の精度を高めることが可能となる。一般に、矩形検出用に画像データを補正すると全体的に黒の割合が増えてしまい、特に、黒が多く分布している箇所ほど黒に補正される傾向があり、「番」や「麗」などの文字はつぶれやすい。この場合、文字の認識が難しくなるため、検出した文字列と辞書情報とのマッチングの精度が低下する。これを避けるため、文字の線が細くくっきりとなるような文字検出用の2値化と、線を太くする矩形検出用の2値化を行う2つの2値化の構成が必要となる。これに対して、第1実施形態では、2値化処理の際にまず、文字検出用の線を細くした画像データを生成し、その後に、矩形検出用に2値化によって生じた欠損を埋めるため線を膨張させる補正処理を行う構成となっている。そのため、二重に2値化処理の構成を備えなくてもよい構成となっている。そして、この構成により、文字が潰れにくい補正が可能となるため、より精度良く項目名を特定することができる。
補正部13では、矩形の検出率を高める補正、すなわち、上述した膨張処理A,B,Cのいずれかによる補正が行われている。これら膨張処理A,B,Cの処理は、いずれも線を膨張させる処理であるが、大きく膨張させすぎると、付近の矩形と接触してしまい、矩形として正しく検出できなくなり、また、付近の矩形、文字、ノイズと接触して本来存在しない新たな矩形、すなわちノイズ矩形を生成してしまうことがある。したがって、他の矩形と接触させず、また、ノイズ矩形を生じさせないようにするためには、指定周辺範囲、指定範囲、閾値などのパラメータをどのように設定するかが重要となる。このパラメータの設定の違いによる効果の相違について図36から図43を参照して説明する。
図36は、画像読取部10によって光学的に読み取られたカラーの画像データであり、図37は、2値化部12による2値化処理によって、矩形を構成する連続線分に欠損が生じている状態を示す図である。図中において、斜線で塗りつぶされた箇所は、2値化された後の黒色のピクセルを示しており、黒色で塗りつぶされた箇所は、膨張処理による膨張によって黒色に塗りかえられたピクセルを示す。図38から図40は、図37に示す画像データに対して、膨張処理Bを、それぞれ、指定周辺範囲1で、閾値を1、2、3と段階的に増加させていった場合の処理結果と、3つの指標についての判定結果を示す図である。ここで、3つの指標とは、矩形の補正、矩形の接触、ノイズ矩形であり、矩形の補正については、矩形の欠損が埋められている場合は、「○」を示し、矩形の欠損が残っている場合は、「×」を示す。矩形の接触については、2つの矩形が接触していない場合は、「○」を示し、接触している場合は、「×」を示す。ノイズ矩形については、膨張処理を行うことによって生じた線分により囲まれてしまった白色領域の有無を示し、そのような白色領域が有る場合には「○」、無い場合には「×」を示す。
図38に示す指定周辺範囲1で、閾値1の場合には、矩形の欠損はなくなっており、膨張処理によって生じた白色部分はないため、「矩形の補正」と「ノイズ矩形」の指標については「○」となっているが、膨張させることで隣接する矩形同士が接触してしまっているため、矩形の接触の指標については「×」となる。図39に示す指定周辺範囲1で、閾値2の場合には、矩形の欠損はなくなっておらず、また、膨張させることで隣接する矩形同士が接触してしまっており、線分で囲まれた白色の領域が新たに生じてしまっている。したがって、図39では、「矩形の補正」、「矩形の接触」、「ノイズ矩形」の3つの指標について、いずれも「×」となっている。図40に示す指定周辺範囲1で、閾値3の場合には、矩形の欠損はなくなっておらず、また、膨張させることで隣接する矩形同士が接触してしまっているため「矩形の補正」、「矩形の接触」、の指標については、「×」である。これに対して、線分で囲まれた白色領域が新たに生じていないため「ノイズ矩形」については、「○」となっている。
図41から図43は、膨張処理Cを、それぞれ、指定範囲2で、閾値を1、2、3と段階的に増加させていった場合の処理結果と、3つの指標についての判定結果を示す図である。図40に示す指定範囲2、閾値1の場合、矩形の欠損はなくなっておらず、また、膨張させることで隣接する矩形同士が接触してしまっており、線分で囲まれた白色の領域が新たに生じてしまっている。したがって、図41では、「矩形の補正」、「矩形の接触」、「ノイズ矩形」の3つの指標について、いずれも「×」となっている。図42は、指定範囲2、閾値2の場合であり、矩形の欠損はなくなっており、また、膨張させることで隣接する矩形同士が接触することもなく、線分で囲まれた白色の領域が新たに生じていない。したがって、図42では、「矩形の補正」、「矩形の接触」、「ノイズ矩形」の3つの指標について、いずれも「○」となっている。図43は、指定範囲2、閾値2の場合であり、矩形の欠損はなくなっていない。ただし、膨張させることで隣接する矩形同士が接触することはなく、線分で囲まれた白色の領域も新たに生じていない。したがって、図43では、「矩形の補正」の指標については、「×」であるが、「矩形の接触」、「ノイズ矩形」の指標については、「○」となっている。
したがって、図37のような帳票画像データに対する図38から図43の処理の例は、図42の指定範囲2及び閾値2とした膨張処理Cが最も良い膨張処理であることが分かる。この結果は、処理の対象となる矩形の欠損状態にもよるため、矩形の欠損状態が、異なる場合には、異なる結果が得られる場合もある。
また、上記の第1実施形態では、罫線消去部22による罫線の消去をスレッド処理により行うために、罫線消去対応画像分割部21により、画像データが4分割される。そして、その際に、境界領域の罫線が消えるように、分割する領域を4等分する場合よりも少し広い領域となるように4分割するようにしている。この効果を図44から図46を用いて示す。なお、図44から図46に示す例では、罫線消去の性能を示すため、矩形消去部20による矩形の消去を行わず、矩形も含めた罫線の全てを消去する構成としている。図44は、画像合成部14が出力する2値化された帳票画像データBFを示す図である。図44において、線分DL1と線分DL2は、帳票画像データBFを4等分する線分である。4等分した分割帳票画像データに対して罫線消去部22による罫線処理を行って画像を合成すると、図45に示すように、線分DL1,線分DL2による分割の境界である境界領域WA1,WA2で囲まれた領域の罫線を消去することができない。これに対して、図24、図25を参照して説明した拡張領域をともなう分割を行って罫線消去を行うと、図46に示すように境界領域WA1,WA2における罫線を消去できていることがわかる。
なお、上記の第1実施形態において、画像分割部11や、罫線消去対応画像分割部21における帳票画像データの分割数を4分割とし、スレッドの数を4としているが、本発明の構成は、当該実施の形態には限られない。分割数は、2分割でもよく、また、4分割以上であってもよい。スレッドについては、分割数に応じた個数を配置することになるが、分割数や分割のサイズによってスレッドによる2値化や罫線消去の処理結果に影響を及ぼすため、その影響度合いを考慮して分割数及び分割サイズは定められることになる。また、帳票画像データを分割せず、スレッドによる処理をしない構成であってもよい。
また、分割の形状についても、図44に示すような線分DL1,DL2によって4分割する形状に限られず、縦線のみでの4分割、または、横線のみでの4分割などであってもよい。また、画像分割部11は、罫線消去対応画像分割部21と同様に、拡張領域を設けて画像データを4分割してもよい。これにより、画像分割部11による画像分割後の画像データが2値化されるときに、各画像データは重複する領域を有するため、各画像データの2値化の品質が極端に異なることを抑制することができる。
また、上記の第1実施形態において、画像分割部11による画像データの分割をした後で2値化部12による2値化処理をしているが、本発明の構成は、当該実施の形態に限られない。例えば、分割前のカラーの帳票画像データに対して2値化処理をした後に、画像データの分割を行って補正部13による補正処理のみをスレッドで行うようにしてもよい。
また、上記の第1実施形態において、補正部13は、上述した膨張処理A,B,Cのいずれかにより黒色画素の部分を膨張させて、矩形の欠損を埋めるようにしているが、これらの処理に限られることなく、連続線の欠損を埋める手法であればどのような手法であってもよい。
また、上記の第1実施形態において、矩形IDは、矩形検出部15が生成するものとしているが、矩形判定部16が生成するようになっていてもよい。
また、上記の第1実施形態において、矩形消去部20に、矩形検出部15が検出した矩形を消去させることで矩形の消去の精度を高めているが、矩形は線で構成されていることから、矩形消去部20を備えず、罫線消去部22により、罫線とともに矩形も消去させるようにしてもよい。
また、上記の第1実施形態において、文字検出部24は、検出した文字の座標データ、すなわち、左上のX,Y座標と右下のX,Y座標を検出し、これにより、文字の位置やサイズが特定されるようになっているが、本発明の構成は、当該実施の形態に限られない。例えば、文字検出部24は、左上のX,Y座標と右下のX,Y座標を検出する代わりに、検出した文字の中心、または、重心の位置と、フォントサイズのような文字サイズを検出して、文字情報記憶部52に書き込むようにしてもよい。
また、上記の第1実施形態において、キーワード検出部25は、辞書属性情報記憶部53の「キーワード」の項目に記憶されている文字列または文字に完全一致、または、部分が一致するキーワードを検出するようにしているが、本発明の構成は、当該実施の形態に限られない。また、帳票定義装置1に接続される外部の辞書情報を参照して、日本語として意味を成しているキーワードを検出するといった手法や、日本語の文法から構文を解析してキーワードを検出するような手法が適用されてもよい。また、キーワードは、通常、体言止めで帳票に印刷されていることから、「振り込み手数料」などをキーワードとして検出する一方、「カタカナでご記入ください。」などの文章はキーワードとして検出しないといった手法であってもよい。これらの場合において、辞書属性情報記憶部53の「キーワード」の項目に記憶されている文字列または文字と完全一致、または、部分一致しないキーワードを検出する場合もあるが、その場合、帳票定義情報記憶部54の「属性情報」は、空欄を示す「−」が書き込まれることになる。
また、上記の第1実施形態において、キーワード検出部25は、「ご依頼日」などのキーワードを検出した場合、辞書属性情報記憶部53の「キーワード」の項目の文字列または文字のうち部分一致したものの中で最も一致する文字数の多いものに対応付けられている属性情報を読み出すようにしているが、本発明の構成は、当該実施の形態に限られない。例えば、「ご依頼日」のように丁寧語の接頭辞が付与されているものについては、接頭辞を除いた上で、完全一致するものだけを検索するようにしてもよい。また、辞書属性情報記憶部53の「キーワード」と「属性情報」の項目に、予め想定される接頭辞などが付与された全ての文字列(例えば、「ご依頼日」や「御依頼日」)を、対応する属性情報とともに予め記憶させて、完全一致するものだけを検索するようにしてもよい。また、キーワード検出部25に検出させるキーワードを限定させたい場合、辞書属性情報記憶部53の「キーワード」の項目に記憶されている文字列または文字と一致する部分のみをキーワードとして検出させるようにしてもよい。例えば、キーワード検出部25が「カタカナでご記入ください。」という文字列をキーワードとして検出した場合、当該キーワードは、辞書属性情報記憶部53の「キーワード」の項目の「カタカナ」と部分一致するため、一致する部分である、「カタカナ」をキーワードとして検出する。この場合、キーワード検出部25は、キーワード外接矩形の座標情報についても、「カタカナ」の部分についての座標情報を検出することになる。
なお、上記の第1実施形態の構成では、フィールド検出部17が行うフィールド検出処理は、帳票が横書きであることを前提としているが、帳票が縦書きの場合であっても、縦横の関係を入れ替えてフィールドの検出処理を行うことが可能である。
また、上記の第1実施形態の構成において、フィールド探索部27は、キーワードを囲む矩形が存在する場合は、キーワード外接矩形を用いずに、キーワードを囲む矩形を用いて、キーワードに対応するフィールドを検出している。これは、フィールドが、キーワードを囲む矩形を縦、または横に拡張した領域に存在する可能性が高いことから、キーワード外接矩形を用いるよりも、より高い確率でフィールドを検出することを目的とする処理であるが、本発明の構成は、当該実施の形態に限られない。例えば、フィールド探索部27による処理をすべてキーワード外接矩形を用いて行ってもよく、その場合、帳票定義装置1は、キーワード対応矩形検出部26を備える必要がない。
また、第1実施形態において、1つのキーワードには、1つのフィールドを対応付けるという限定を設ける場合、フィールド探索部27は、キーワードに対応するとして検出したフィールドのフィールドIDが既に帳票定義情報記憶部54の「対応フィールド」の項目に記憶されているか否かを判定し、既に他のキーワードに対応付けられている場合、処理対象のキーワードの「対応フィールド」の項目には「処理済み」を書き込む。さらに、フィールド探索部27が、1つのキーワードに対して、複数の対応するフィールドを検出した場合、最初に、他のキーワードに対応付けられているフィールドを除き、残ったフィールドのなかでフィールドの左上の頂点と基準頂点の距離が最も短いフィールドを当該キーワードに対応するフィールドとして検出するようにしてもよい。
(第2実施形態)
図47は、本発明の第2実施形態による、帳票定義装置1aの構成を示すブロック図である。第1実施形態と同一の構成については、同一の符号を付し、以下、異なる構成について説明する。第2実施形態では、フィールド探索部27aと、リファレンス情報記憶部55とを備える。
帳票の形式によっては、1つのフィールドに対して複数のキーワードが対応することがある。例えば、「氏名」及び「カタカナでご記入ください。」という2つのキーワードが、氏名をカタカナで記入するフィールドの近くに印刷されていることがある。このとき、1つのフィールドに2つ以上のキーワードを対応付けることで、フィールドに記入される文字を複数の属性情報で特定することが可能となり、手書き記入される文字の文字種等についての精度をさらに高めることができる。
帳票定義装置1aにおいて、リファレンス情報記憶部55は、図48に示すデータ構成を有しており、「フィールドID」と「対応キーワード」と「属性情報」の項目を有する。「フィールドID」の項目には、フィールド探索部27aが、フィールド探索処理によって、キーワードに対応するフィールドを検出した場合、検出したフィールドのフィールドIDがフィールド探索部27aによって書き込まれる。「対応キーワード」の項目には、当該フィールドIDに対応するキーワードIDがフィールド探索部27aによって書き込まれる。「属性情報」の項目には、キーワードIDに対応するキーワードの属性情報がフィールド探索部27aによって書き込まれる。
フィールド探索部27aは、図29に示した第1実施形態のフィールド探索処理において、キーワードに対応するフィールドを検出し、ステップSc9において、帳票定義情報記憶部54の「対応フィールド」の項目に検出したフィールドのフィールドIDを書き込む。このとき、フィールド探索部27aは、処理対象のキーワードIDに対応付けられている属性情報を帳票定義情報記憶部54から読み出し、検出したフィールドのフィールドIDに対応付けて、処理対象のキーワードIDと、読み出した属性情報とをリファレンス情報記憶部55に書き込む。リファレンス情報記憶部55において、既に、当該フィールドIDのレコードが存在する場合、キーワードIDと属性情報を当該レコードに追記していく。例えば、図48のフィールド2の例に示すように、既に、「対応キーワード」に「キーワード4」が書き込まれており、「属性情報」に「文字」が書き込まれている場合に、フィールド探索部27aが、キーワード5に対応するフィールドとしてフィールド2を検出した場合、「キーワード5」と「カタカナ文字」をフィールド2のレコードに追加して書き込む。
上記の第2実施形態の構成により、リファレンス情報記憶部55を備えることにより、フィールドに対応付けられている複数のキーワードIDと、当該キーワードIDに対応する属性情報とを検出することが可能となり、手書き記入される文字の文字種等についての精度をさらに高めることができる。
なお、第2実施形態のような構成を備えなくとも、第1実施形態における帳票定義情報記憶部54の「対応フィールド」の項目に記憶されている情報に基づいて、1つのフィールドに対応付けられているキーワードと属性情報を全て検索することで、第2実施形態の目的を達成することもできる。
なお、上記の第1及び第2実施形態における帳票定義情報記憶部54、及び第2実施形態におけるリファレンス情報記憶部55は、帳票定義装置1の外部、例えば、手書き記入された帳票を読み取って、手書き記入された文字の分析や蓄積を行う装置側に備えられていてもよい。その場合、キーワード検出部25、キーワード対応矩形検出部26、フィールド探索部27,27aは、通信線などを経由して帳票定義情報記憶部54やリファレンス情報記憶部55にデータを書き込んだり読み出したりすることになる。
上述した実施形態における帳票定義装置1、1aをコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1 帳票定義装置
10 画像読取部
11 画像分割部
12 2値化部
13 補正部
14 画像合成部
15 矩形検出部
16 矩形判定部
17 フィールド検出部
20 矩形消去部
21 罫線消去対応画像分割部
22 罫線消去部
23 罫線消去対応画像合成部
24 文字検出部
25 キーワード検出部
26 キーワード対応矩形検出部
27 フィールド探索部
50 矩形情報記憶部
51 フィールド情報記憶部
52 文字情報記憶部
53 辞書属性情報記憶部
54 帳票定義情報記憶部

Claims (9)

  1. 帳票を光学的に読み取り帳票の画像データを生成する画像読取部と、
    前記画像データを2値化して帳票画像データを生成する2値化部と、
    前記帳票画像データに対して前記2値化により生じた欠損を埋める補正をして補正帳票画像データを生成する補正部と、
    前記補正帳票画像データから長方形または略長方形の形状を矩形として検出する矩形検出部と、
    前記矩形が文字枠矩形であるか否かを判定する矩形判定部と、
    前記文字枠矩形の隣接関係に基づいて、前記文字枠矩形を分類し、分類した区分の各々をフィールドとして検出するフィールド検出部と、
    前記帳票画像データに含まれる文字を検出する文字検出部と、
    前記フィールドに記入される文字の属性が予め対応付けられるキーワードを前記文字から検出するキーワード検出部と、
    前記キーワードに対応する前記フィールドを、前記キーワードと前記フィールドの位置関係に基づいて検出し、検出した前記フィールドを前記キーワードに対応付けて帳票定義情報記憶部に書き込むフィールド探索部と、
    を備えることを特徴とする帳票定義装置。
  2. 前記キーワードとして検出対象とする文字列または文字が予め定められており、
    前記キーワード検出部は、
    前記文字から前記キーワードを検出する際、前記予め定められている前記検出対象とする文字列または文字に完全一致、または、部分一致する前記キーワードのみを検出する
    ことを特徴とする請求項1に記載の帳票定義装置。
  3. 前記キーワードに対応する前記属性を示す属性情報を予め記憶する辞書属性情報記憶部を備え、
    前記キーワード検出部は、
    前記文字から前記キーワードを検出すると、前記キーワードに対応する前記属性情報を前記辞書属性情報記憶部から読み出し、読み出した前記属性情報を前記キーワードに対応付けて前記帳票定義情報記憶部に書き込む
    ことを特徴とする請求項1または請求項2に記載の帳票定義装置。
  4. 前記キーワードと前記フィールドの位置関係とは、前記キーワードが縦書きの場合に予め定められる前記フィールドが存在する方向の傾向、または、前記キーワードが横書きの場合に予め定められる前記フィールドが存在する方向の傾向によって示され、
    前記フィールド探索部は、
    前記フィールドが前記傾向を満たす場合に、当該フィールドを前記キーワードに対応する前記フィールドとして検出する
    ことを特徴とする請求項1から請求項3のいずれか一項に記載の帳票定義装置。
  5. 前記矩形判定部が前記文字枠矩形でないと判定した前記矩形から、前記キーワードを囲む前記矩形を検出するキーワード対応矩形検出部を備え、
    前記フィールド探索部は、
    前記キーワードを囲む前記矩形が存在する場合、前記キーワードを囲む前記矩形と前記フィールドの位置関係を、前記キーワードと前記フィールドの位置関係として、前記キーワードに対応する前記フィールドを検出する
    ことを特徴とする請求項1から請求項4のいずれか一項に記載の帳票定義装置。
  6. 前記帳票画像データを分割する罫線消去対応画像分割部と、
    分割された前記帳票画像データの各々から罫線を消去する罫線消去部と、
    前記罫線消去後の分割された前記帳票画像データを合成する罫線消去対応画像合成部と、を備え、
    前記罫線消去対応画像分割部は、
    前記帳票画像データを分割する際に、分割の境界に存在する前記罫線が、前記罫線消去部によって消去されるように、分割後の前記帳票画像データの各々の境界において重複領域が存在するように拡張領域を設けて分割し、
    前記罫線消去対応画像合成部は、
    前記分割された前記帳票画像データの各々の前記拡張領域を削除してから合成し、
    前記文字検出部は、
    前記罫線消去対応画像合成部が出力する前記罫線が消去された前記帳票画像データから前記文字を検出する
    ことを特徴とする請求項1から請求項5のいずれか一項に記載の帳票定義装置。
  7. 前記フィールド探索部は、
    前記フィールドに複数のキーワードを対応付ける
    ことを特徴とする請求項1から請求項6のいずれか一項に記載の帳票定義装置。
  8. 帳票を光学的に読み取り帳票の画像データを生成し、
    前記画像データを2値化して帳票画像データを生成し、
    前記帳票画像データに対して前記2値化により生じた欠損を埋める補正をして補正帳票画像データを生成し、
    前記補正帳票画像データから長方形または略長方形の形状を矩形として検出し、
    前記矩形が文字枠矩形であるか否かを判定し、
    前記文字枠矩形の隣接関係に基づいて、前記文字枠矩形を分類し、分類した区分の各々をフィールドとして検出し、
    前記帳票画像データに含まれる文字を検出し、
    前記フィールドに記入される文字の属性が予め対応付けられるキーワードを前記文字から検出し、
    前記キーワードに対応する前記フィールドを、前記キーワードと前記フィールドの位置関係に基づいて検出し、
    検出した前記フィールドを前記キーワードに対応付けて記憶する
    ことを特徴とする帳票定義方法。
  9. コンピュータに、
    帳票を光学的に読み取り帳票の画像データを生成する手順、
    前記画像データを2値化して帳票画像データを生成する手順、
    前記帳票画像データに対して前記2値化により生じた欠損を埋める補正をして補正帳票画像データを生成する手順、
    前記補正帳票画像データから長方形または略長方形の形状を矩形として検出する手順、
    前記矩形が文字枠矩形であるか否かを判定する手順、
    前記文字枠矩形の隣接関係に基づいて、前記文字枠矩形を分類し、分類した区分の各々をフィールドとして検出する手順、
    前記帳票画像データに含まれる文字を検出する手順、
    前記フィールドに記入される文字の属性が予め対応付けられるキーワードを前記文字から検出する手順、
    前記キーワードに対応する前記フィールドを、前記キーワードと前記フィールドの位置関係に基づいて検出する手順、
    検出した前記フィールドを前記キーワードに対応付けて記憶する手順、
    を実行させるための帳票定義プログラム。
JP2014252479A 2014-12-12 2014-12-12 帳票定義装置、帳票定義方法、及び帳票定義プログラム Active JP6220770B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014252479A JP6220770B2 (ja) 2014-12-12 2014-12-12 帳票定義装置、帳票定義方法、及び帳票定義プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014252479A JP6220770B2 (ja) 2014-12-12 2014-12-12 帳票定義装置、帳票定義方法、及び帳票定義プログラム

Publications (2)

Publication Number Publication Date
JP2016115088A JP2016115088A (ja) 2016-06-23
JP6220770B2 true JP6220770B2 (ja) 2017-10-25

Family

ID=56141924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014252479A Active JP6220770B2 (ja) 2014-12-12 2014-12-12 帳票定義装置、帳票定義方法、及び帳票定義プログラム

Country Status (1)

Country Link
JP (1) JP6220770B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059572A (zh) * 2019-03-22 2019-07-26 中国科学院自动化研究所 基于单字匹配的文档图像中文关键词检测方法、系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018016552A1 (ja) * 2016-07-21 2018-01-25 株式会社ミラボ 帳票入力フォーム生成装置、帳票入力フォーム生成方法及びプログラム
JP2018092459A (ja) * 2016-12-06 2018-06-14 株式会社アイリックコーポレーション 画像分析装置、画像分析方法および画像分析プログラム
JP6891073B2 (ja) * 2017-08-22 2021-06-18 キヤノン株式会社 スキャン画像にファイル名等を設定するための装置、その制御方法及びプログラム
CN108763952B (zh) * 2018-05-03 2022-04-05 创新先进技术有限公司 一种数据分类方法、装置及电子设备
CN111325194B (zh) * 2018-12-13 2023-12-29 杭州海康威视数字技术股份有限公司 一种文字识别方法、装置及设备、存储介质
CN112052835B (zh) 2020-09-29 2022-10-11 北京百度网讯科技有限公司 信息处理方法、信息处理装置、电子设备和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01266682A (ja) * 1988-04-19 1989-10-24 Ricoh Co Ltd 原稿読取装置
JP3294995B2 (ja) * 1996-06-21 2002-06-24 三菱電機株式会社 帳票読取装置
JP2007058882A (ja) * 1996-09-27 2007-03-08 Fujitsu Ltd パターン認識装置
JP4136282B2 (ja) * 2000-07-05 2008-08-20 キヤノン株式会社 画像処理装置及び画像処理方法並びに記憶媒体
JP2005044256A (ja) * 2003-07-25 2005-02-17 Casio Comput Co Ltd 帳票フィールド属性作成システムおよび方法、並びにプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059572A (zh) * 2019-03-22 2019-07-26 中国科学院自动化研究所 基于单字匹配的文档图像中文关键词检测方法、系统
CN110059572B (zh) * 2019-03-22 2021-08-10 中国科学院自动化研究所 基于单字匹配的文档图像中文关键词检测方法、系统

Also Published As

Publication number Publication date
JP2016115088A (ja) 2016-06-23

Similar Documents

Publication Publication Date Title
JP6220770B2 (ja) 帳票定義装置、帳票定義方法、及び帳票定義プログラム
KR100383372B1 (ko) 패턴 추출 장치, 패턴 추출 방법, 및 기억 매체
JP6554193B1 (ja) 記入領域抽出装置および記入領域抽出プログラム
KR101235226B1 (ko) 화상 처리 장치, 화상 처리 방법 및 기록 매체
US20120128249A1 (en) Script-agnostic text reflow for document images
JPH0652354A (ja) スキュー補正方法並びにスキュー角検出方法並びにドキュメントセグメンテーションシステムおよびスキュー角検出装置
JP2005173730A (ja) 帳票ocrプログラム、方法及び装置
JP2010250425A (ja) 下線除去装置
JP2010123002A (ja) 文書画像レイアウト装置
KR101793184B1 (ko) 촬영된 음악 악보 영상의 자동연주를 위한 가사 영역 추출장치 및 방법
JP6030917B2 (ja) 文字切出装置及び文字切出方法並びに文字認識装置
US9049400B2 (en) Image processing apparatus, and image processing method and program
JP2015005100A (ja) 情報処理装置、テンプレート生成方法、およびプログラム
JP2009031937A (ja) 帳票画像処理装置及び帳票画像処理プログラム
KR20160053544A (ko) 후보 문자의 추출 방법
CN105512100B (zh) 一种版面分析方法及装置
CN115050025A (zh) 基于公式识别的知识点抽取方法及装置
JP2001094760A (ja) 情報処理装置
JP4628278B2 (ja) 表認識装置、及びコンピュータプログラム
US9400926B2 (en) Image processing apparatus, image processing method, and non-transitory computer readable medium
JP2003046746A (ja) 画像処理方法及び画像処理装置
JP7019963B2 (ja) 文字列領域・文字矩形抽出装置、文字列領域・文字矩形抽出方法、およびプログラム
JP2021152696A (ja) 情報処理装置及びプログラム
JP2005004395A (ja) 帳票、帳票処理方法、帳票処理プログラム、帳票処理プログラムを記録した記録媒体及び帳票処理装置
JP2002262093A (ja) 画像処理方法及び画像処理装置及び画像処理プログラム並びに記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170822

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171002

R150 Certificate of patent or registration of utility model

Ref document number: 6220770

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350