JPH07220023A - 表認識方法及びその装置 - Google Patents
表認識方法及びその装置Info
- Publication number
- JPH07220023A JPH07220023A JP6027443A JP2744394A JPH07220023A JP H07220023 A JPH07220023 A JP H07220023A JP 6027443 A JP6027443 A JP 6027443A JP 2744394 A JP2744394 A JP 2744394A JP H07220023 A JPH07220023 A JP H07220023A
- Authority
- JP
- Japan
- Prior art keywords
- format
- ruled line
- image data
- ruled
- field
- 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.)
- Pending
Links
Landscapes
- Character Input (AREA)
Abstract
(57)【要約】 (修正有)
【目的】表の画像データからその表のフィールドを認識
する方法及び装置の改良を目的とする。また、画像デー
タのフィールド位置が変動していた場合でも、その位置
を補正して適正に認識し、フィールド内の文字を認識す
る方法及び装置を提供する。 【構成】ステップ101で入力された画像から、表の外
枠線を抽出する。この外枠線を基準として、ステップ1
03でフォーマット情報データベース31から順次フォ
ーマットデータを読み出し、フォーマットの4隅を外枠
の4隅と対応付けることで、罫線情報32で表される罫
線を画像上に座標変換し、画像との一致度を評価する。
ステップ106で、評価結果から複数のフォーマットの
うちのいずれであるかを判定する。ステップ108で罫
線の位置補正を行ない、さらに画像から罫線を消去す
る。ステップ109で罫線情報とフィールド情報33か
らフィールド位置を設定し、ステップ110でフィール
ド中の文字を認識し、結果をプリンタ70に出力する。
する方法及び装置の改良を目的とする。また、画像デー
タのフィールド位置が変動していた場合でも、その位置
を補正して適正に認識し、フィールド内の文字を認識す
る方法及び装置を提供する。 【構成】ステップ101で入力された画像から、表の外
枠線を抽出する。この外枠線を基準として、ステップ1
03でフォーマット情報データベース31から順次フォ
ーマットデータを読み出し、フォーマットの4隅を外枠
の4隅と対応付けることで、罫線情報32で表される罫
線を画像上に座標変換し、画像との一致度を評価する。
ステップ106で、評価結果から複数のフォーマットの
うちのいずれであるかを判定する。ステップ108で罫
線の位置補正を行ない、さらに画像から罫線を消去す
る。ステップ109で罫線情報とフィールド情報33か
らフィールド位置を設定し、ステップ110でフィール
ド中の文字を認識し、結果をプリンタ70に出力する。
Description
【0001】
【産業上の利用分野】本発明は、表の画像データからそ
の表のフィールドや文字を認識する表認識方法及び装置
に関し、例えば、紙に記入された表形式データをスキャ
ナなどの光学的読み取り装置でコンピュータ内に画像デ
ータとして読み込み、その表構造や表中の文字を認識す
る表形式データ自動入力システムに関する。
の表のフィールドや文字を認識する表認識方法及び装置
に関し、例えば、紙に記入された表形式データをスキャ
ナなどの光学的読み取り装置でコンピュータ内に画像デ
ータとして読み込み、その表構造や表中の文字を認識す
る表形式データ自動入力システムに関する。
【0002】
【従来の技術】従来の紙に記入されたデータを入力する
技術としては、帳票OCRが一般的である。これは、ス
キャナ読み取り時にドロップアウトする色を用いて記入
枠を示した用紙を用いるものである。スキャナで読み取
る際に記入枠をドロップアウトし、その枠内に記入され
たデータだけを取りだし、データの記入位置は、帳票の
周囲に記入されたマークからの相対位置で求める。
技術としては、帳票OCRが一般的である。これは、ス
キャナ読み取り時にドロップアウトする色を用いて記入
枠を示した用紙を用いるものである。スキャナで読み取
る際に記入枠をドロップアウトし、その枠内に記入され
たデータだけを取りだし、データの記入位置は、帳票の
周囲に記入されたマークからの相対位置で求める。
【0003】近年のFAXの普及に伴い、上記のような
帳票の入力をFAXを用いて行なうシステムが開発され
ている。しかしながら、FAXでは、所定の色のみをド
ロップアウトすることがうまくできないことが多い。ま
たこのようなシステムにおいては、不特定多数のFAX
から様々な種類の画像データの送信が行なわれるため、
所定の帳票のみにドロップアウトの手法を用いるという
ことはできない。
帳票の入力をFAXを用いて行なうシステムが開発され
ている。しかしながら、FAXでは、所定の色のみをド
ロップアウトすることがうまくできないことが多い。ま
たこのようなシステムにおいては、不特定多数のFAX
から様々な種類の画像データの送信が行なわれるため、
所定の帳票のみにドロップアウトの手法を用いるという
ことはできない。
【0004】したがって、入力された画像中の所定の位
置に記入枠が存在するものとして、画像より消去し、フ
ィールド内のデータを抽出するという手法が取られてい
る。
置に記入枠が存在するものとして、画像より消去し、フ
ィールド内のデータを抽出するという手法が取られてい
る。
【0005】また、複数のフォーマットの帳票が混在し
て入力される状態においては、画像のフォーマットを解
析して、どのフォーマットであるかを判定する方式があ
る。例えば、特願平1−49800号に開示された帳票
認識装置などである。
て入力される状態においては、画像のフォーマットを解
析して、どのフォーマットであるかを判定する方式があ
る。例えば、特願平1−49800号に開示された帳票
認識装置などである。
【0006】これらの方式では、画像から罫線あるいは
フィールド記入枠の要素を抽出し、これを組み立ててフ
ォーマットを推定し、指定されたフォーマットのどれに
当てはまるかを、チェックする。
フィールド記入枠の要素を抽出し、これを組み立ててフ
ォーマットを推定し、指定されたフォーマットのどれに
当てはまるかを、チェックする。
【0007】しかし、入力された画像中には多くのノイ
ズが存在し、罫線の途切れなどがある場合も少なくな
い。したがって、良好にフォーマットを推定できるとは
限らず、また処理時間もかかるものとなる。
ズが存在し、罫線の途切れなどがある場合も少なくな
い。したがって、良好にフォーマットを推定できるとは
限らず、また処理時間もかかるものとなる。
【0008】
【発明が解決しようとする課題】現在、このようなシス
テムで問題になるのは、紙の搬送速度のむらや歪みのた
めに、データの記入位置も非線形に変動するということ
である。
テムで問題になるのは、紙の搬送速度のむらや歪みのた
めに、データの記入位置も非線形に変動するということ
である。
【0009】この問題を解決するために、フィールドの
非線形なずれを検出しながら、フォーマットに示された
データの記入位置を補正する必要がある。また、この問
題は、画像を光学的にコンピュータに読み込む際に、ど
のような読み込み方法を用いても起きうる問題である。
非線形なずれを検出しながら、フォーマットに示された
データの記入位置を補正する必要がある。また、この問
題は、画像を光学的にコンピュータに読み込む際に、ど
のような読み込み方法を用いても起きうる問題である。
【0010】このようなフィールドの位置のずれを補正
する方式としては、フォーマットの基準点の位置を検出
し、このずれからフィールドの概略位置を設定し、フィ
ールドの周辺画像から、フィールド位置のずれを補正す
る方式がある。
する方式としては、フォーマットの基準点の位置を検出
し、このずれからフィールドの概略位置を設定し、フィ
ールドの周辺画像から、フィールド位置のずれを補正す
る方式がある。
【0011】しかし、このような方式では、フィールド
の罫線の近くに数字の1などが記入されることにより、
フィールド位置の判定を誤るといった問題があり、これ
が認識率低下の原因となっている。
の罫線の近くに数字の1などが記入されることにより、
フィールド位置の判定を誤るといった問題があり、これ
が認識率低下の原因となっている。
【0012】本発明は、表の画像データからその表のフ
ィールドを認識する方法及び装置の改良を目的とする。
また、本発明は、例えば紙の搬送速度のむらや歪みなど
のために、入力した表の画像データのフィールド位置が
非線形に変動していた場合であっても、フィールドの位
置を補正してその位置を適正に高精度に認識しフィール
ド内の文字を認識することができる表認識方法及びその
装置を提供することを目的とする。
ィールドを認識する方法及び装置の改良を目的とする。
また、本発明は、例えば紙の搬送速度のむらや歪みなど
のために、入力した表の画像データのフィールド位置が
非線形に変動していた場合であっても、フィールドの位
置を補正してその位置を適正に高精度に認識しフィール
ド内の文字を認識することができる表認識方法及びその
装置を提供することを目的とする。
【0013】
【課題を解決するための手段】本発明では、あらかじめ
表のフォーマットを示すフォーマット情報を用意してお
き、そのフォーマット情報で示される罫線を画像データ
上の座標に変換し、座標変換された罫線と画像データと
を用いて、上記のような画像の非線形な位置ずれを検出
する。そして、検出した位置ずれに基づいて罫線の位置
を補正する。フォーマット情報の座標変換は、表のフォ
ーマットの概略位置を設定するための基準線を画像中か
ら抽出し、これを基にして画像上の座標に変換する。
表のフォーマットを示すフォーマット情報を用意してお
き、そのフォーマット情報で示される罫線を画像データ
上の座標に変換し、座標変換された罫線と画像データと
を用いて、上記のような画像の非線形な位置ずれを検出
する。そして、検出した位置ずれに基づいて罫線の位置
を補正する。フォーマット情報の座標変換は、表のフォ
ーマットの概略位置を設定するための基準線を画像中か
ら抽出し、これを基にして画像上の座標に変換する。
【0014】画像上に概略のフォーマットをあてはめた
後に、画像上の枠線の要素を抽出し、これとフォーマッ
トを対応付ける。また、枠線に合わせてフォーマットを
補正し、枠線は消去することで、文字パターンにノイズ
が混入するのを防止する。
後に、画像上の枠線の要素を抽出し、これとフォーマッ
トを対応付ける。また、枠線に合わせてフォーマットを
補正し、枠線は消去することで、文字パターンにノイズ
が混入するのを防止する。
【0015】フォーマットは、縦、横それぞれ2本づつ
の基準線を基にした、相対座標で設定することにより、
紙のサイズにも、スキャナの読み取り線密度に依存しな
いフォーマット情報の設定が可能である。
の基準線を基にした、相対座標で設定することにより、
紙のサイズにも、スキャナの読み取り線密度に依存しな
いフォーマット情報の設定が可能である。
【0016】また、フィールド単位ではなく、罫線単位
での補正を行うことで、フィールド内の文字によるフィ
ールド位置の誤抽出を防ぐ。
での補正を行うことで、フィールド内の文字によるフィ
ールド位置の誤抽出を防ぐ。
【0017】また、上記の方式で、複数のフォーマット
を識別する場合、フォーマット数だけフォーマット情報
が必要となる。したがって、フォーマットの1部が異な
るために、多数のフォーマットを用意しなければならな
い場合がある。その場合は、異なる部分のフォーマット
だけを、別のデータベースに持つことで、フォーマット
数の増加を防ぐ。
を識別する場合、フォーマット数だけフォーマット情報
が必要となる。したがって、フォーマットの1部が異な
るために、多数のフォーマットを用意しなければならな
い場合がある。その場合は、異なる部分のフォーマット
だけを、別のデータベースに持つことで、フォーマット
数の増加を防ぐ。
【0018】
【作用】本発明を利用することにより、帳票のデータ記
入位置の高精度な抽出が可能となり、画像の非線形な歪
みによって発生するフィールド抽出(フィールドの位置
の認識)の誤認識を減少することができる。
入位置の高精度な抽出が可能となり、画像の非線形な歪
みによって発生するフィールド抽出(フィールドの位置
の認識)の誤認識を減少することができる。
【0019】複数のフォーマットが混在する場合でも、
高速かつ高精度なフォーマット判定が可能である。
高速かつ高精度なフォーマット判定が可能である。
【0020】また、フォーマットの1部が異なる場合で
も、多数のフォーマットを用意する必要がなく、フォー
マットのマッチングのための処理量が減少し、処理が高
速化される。
も、多数のフォーマットを用意する必要がなく、フォー
マットのマッチングのための処理量が減少し、処理が高
速化される。
【0021】
【実施例】以下、図面を用いて本発明の実施例を説明す
る。
る。
【0022】図1は、本発明の第1の実施例に係る表認
識システムのシステム構成である。本実施例のシステム
は、CPU10、メモリ20、ハードディスク30、ハ
ードディスクコントローラ40、端末50、端末コント
ローラ51、スキャナ60、ディスク装置61、画像入
力コントローラ62、プリンタ70、プリンタコントロ
ーラ71、及びシステムバス80を備えている。
識システムのシステム構成である。本実施例のシステム
は、CPU10、メモリ20、ハードディスク30、ハ
ードディスクコントローラ40、端末50、端末コント
ローラ51、スキャナ60、ディスク装置61、画像入
力コントローラ62、プリンタ70、プリンタコントロ
ーラ71、及びシステムバス80を備えている。
【0023】メモリ20中には、表認識処理プログラム
21、及びデータ格納領域22が設けられている。CP
U10は、システムの全体の管理、制御、及び、表認識
処理プログラム21の実行を行う。ハードディスク30
中には、認識する表のフォーマット情報が、フォーマッ
ト情報データベース31として格納されている。ハード
ディスクコントローラ40は、ハードディスク30を制
御し、CPU10からの制御によりハードディスク30
のデータの入出力を行う。
21、及びデータ格納領域22が設けられている。CP
U10は、システムの全体の管理、制御、及び、表認識
処理プログラム21の実行を行う。ハードディスク30
中には、認識する表のフォーマット情報が、フォーマッ
ト情報データベース31として格納されている。ハード
ディスクコントローラ40は、ハードディスク30を制
御し、CPU10からの制御によりハードディスク30
のデータの入出力を行う。
【0024】端末50から、人間が処理の指示、結果の
表示チェックなどを行う。端末50は、端末コントロー
ラ51で制御され、これによりキーボードからの入力及
びディスプレイへの表示などが行われる。スキャナ6
0、及びディスク装置61などから、画像入力コントロ
ーラ62を通して、画像が入力される。入力された画像
データは、メモリ20のデータ格納領域22に格納され
る。
表示チェックなどを行う。端末50は、端末コントロー
ラ51で制御され、これによりキーボードからの入力及
びディスプレイへの表示などが行われる。スキャナ6
0、及びディスク装置61などから、画像入力コントロ
ーラ62を通して、画像が入力される。入力された画像
データは、メモリ20のデータ格納領域22に格納され
る。
【0025】プリンタ70には、プリンタコントローラ
71を通してデータが送られ、認識結果が出力される。
システムバス80は、各種データの通信を行うためのも
のである。
71を通してデータが送られ、認識結果が出力される。
システムバス80は、各種データの通信を行うためのも
のである。
【0026】図2は、表認識処理の手順を示すフローチ
ャートである。まず、全体の処理の流れについて説明す
る。
ャートである。まず、全体の処理の流れについて説明す
る。
【0027】スキャナ60あるいはディスク装置61の
ディスクから表の画像データを読み込み、メモリ20上
のデータ格納領域22に格納する(ステップ101)。
次に、読み込まれた画像データをサーチし、表の外枠線
を抽出する(ステップ102)。本実施例においては、
この表外枠をフォーマット変換の基準線とする。ステッ
プ102の処理については、図7を用いて後に詳述す
る。
ディスクから表の画像データを読み込み、メモリ20上
のデータ格納領域22に格納する(ステップ101)。
次に、読み込まれた画像データをサーチし、表の外枠線
を抽出する(ステップ102)。本実施例においては、
この表外枠をフォーマット変換の基準線とする。ステッ
プ102の処理については、図7を用いて後に詳述す
る。
【0028】次に、フォーマット罫線と入力画像の一致
度を評価する(ステップ103)。これは、以下のよう
な処理である。まず、フォーマット情報データベース3
1から、1つのフォーマット情報を読み出す。1つのフ
ォーマット情報は、1つの表のフォーマットを表す罫線
情報32とフィールド情報33とからなるが、詳しくは
図3〜6を用いて後述する。読み出したフォーマット情
報の罫線情報32から得られる罫線を、入力した画像上
の罫線とマッチングし、その対応する罫線数の全罫線数
に占める割合に基づいて一致度を求め、メモリ20上に
格納する。このステップ103の処理については、図1
1を用いて後に詳述する。
度を評価する(ステップ103)。これは、以下のよう
な処理である。まず、フォーマット情報データベース3
1から、1つのフォーマット情報を読み出す。1つのフ
ォーマット情報は、1つの表のフォーマットを表す罫線
情報32とフィールド情報33とからなるが、詳しくは
図3〜6を用いて後述する。読み出したフォーマット情
報の罫線情報32から得られる罫線を、入力した画像上
の罫線とマッチングし、その対応する罫線数の全罫線数
に占める割合に基づいて一致度を求め、メモリ20上に
格納する。このステップ103の処理については、図1
1を用いて後に詳述する。
【0029】次に、データベース31中に格納された全
てのフォーマット情報について、ステップ103を実行
したか否かを判別する(ステップ104)。全てのフォ
ーマット情報についてステップ103を実行していたら
ステップ106に進み、そうでないときはステップ10
3に戻って、次のフォーマット情報を読み出して画像の
一致度の評価を続ける。
てのフォーマット情報について、ステップ103を実行
したか否かを判別する(ステップ104)。全てのフォ
ーマット情報についてステップ103を実行していたら
ステップ106に進み、そうでないときはステップ10
3に戻って、次のフォーマット情報を読み出して画像の
一致度の評価を続ける。
【0030】次に、評価結果(フォーマット数と同数だ
け求められた評価値)から、入力された画像(の表)が
複数のフォーマットのいずれであるかを判定する(ステ
ップ106)。ステップ106の判定の処理について
は、図15を用いて後に詳述する。
け求められた評価値)から、入力された画像(の表)が
複数のフォーマットのいずれであるかを判定する(ステ
ップ106)。ステップ106の判定の処理について
は、図15を用いて後に詳述する。
【0031】ステップ106の判定で一致するフォーマ
ットがあったか否かを判別し(ステップ107)、一致
するフォーマットがなければ、ステップ108以降の認
識処理を行わずに処理を終了する。一致するフォーマッ
トがあったときは、そのフォーマットを用いて、ステッ
プ108以降の認識処理を行う。
ットがあったか否かを判別し(ステップ107)、一致
するフォーマットがなければ、ステップ108以降の認
識処理を行わずに処理を終了する。一致するフォーマッ
トがあったときは、そのフォーマットを用いて、ステッ
プ108以降の認識処理を行う。
【0032】まず、該当するフォーマットの罫線情報3
2を読み出し、入力された画像データの罫線とマッチン
グさせるとともに罫線の位置補正を行い、さらに画像デ
ータから罫線部分を消去する(ステップ108)。ステ
ップ108の処理については、図16を用いて後に詳述
する。
2を読み出し、入力された画像データの罫線とマッチン
グさせるとともに罫線の位置補正を行い、さらに画像デ
ータから罫線部分を消去する(ステップ108)。ステ
ップ108の処理については、図16を用いて後に詳述
する。
【0033】次に、罫線の補正結果と、該当フォーマッ
トのフィールド情報33とから、フィールド位置を設定
する(ステップ109)。ステップ109の処理につい
ては、図18を用いて後に詳述する。
トのフィールド情報33とから、フィールド位置を設定
する(ステップ109)。ステップ109の処理につい
ては、図18を用いて後に詳述する。
【0034】さらに、認識対象の各フィールド中の画像
から文字を認識し、認識結果をプリンタ70に出力する
(ステップ110)。ステップ110の処理について
は、図20を用いて後に詳述する。
から文字を認識し、認識結果をプリンタ70に出力する
(ステップ110)。ステップ110の処理について
は、図20を用いて後に詳述する。
【0035】以上が、表認識処理の概略である。
【0036】図3及び図4は、本実施例の表認識システ
ムで認識する表のフォーマットパターンの例である。
ムで認識する表のフォーマットパターンの例である。
【0037】これらのフォーマットは、フォーマット情
報データベース31として、それぞれのフォーマットご
とに、罫線情報32とフィールド情報33とに分けて格
納されている。罫線情報32は、表を構成する罫線の位
置の情報である。位置の情報は、表の領域の左上を原点
(0,0)、右下を(10000,10000)とし
た、直交(xy)座標系で表す。フィールド情報33
は、罫線で囲まれた領域であるフィールドの上下左右の
罫線と、その領域の種別などの情報で構成される。
報データベース31として、それぞれのフォーマットご
とに、罫線情報32とフィールド情報33とに分けて格
納されている。罫線情報32は、表を構成する罫線の位
置の情報である。位置の情報は、表の領域の左上を原点
(0,0)、右下を(10000,10000)とし
た、直交(xy)座標系で表す。フィールド情報33
は、罫線で囲まれた領域であるフィールドの上下左右の
罫線と、その領域の種別などの情報で構成される。
【0038】図5に、罫線情報32の内容を示す。
【0039】罫線情報32は、縦線情報32−aと横線
情報32−bとに分けて格納されている。
情報32−bとに分けて格納されている。
【0040】縦線情報32−a及び横線情報32−bと
も、罫線の1本ごとに、その罫線の番号501−a,5
01−b、及びその罫線の始点の座標502−a,50
2−bと終点の座標503−a,503−bを持つ。さ
らに、縦線情報32−aでは、その縦線の始点で交わる
横線の番号504−aと、その縦線の終点で交わる横線
の番号505−aとを持つ。また、横線情報32−bで
は、その横線の始点で交わる縦線の番号504−bと、
その横線の終点で交わる縦線の番号505−bとを持
つ。
も、罫線の1本ごとに、その罫線の番号501−a,5
01−b、及びその罫線の始点の座標502−a,50
2−bと終点の座標503−a,503−bを持つ。さ
らに、縦線情報32−aでは、その縦線の始点で交わる
横線の番号504−aと、その縦線の終点で交わる横線
の番号505−aとを持つ。また、横線情報32−bで
は、その横線の始点で交わる縦線の番号504−bと、
その横線の終点で交わる縦線の番号505−bとを持
つ。
【0041】縦線及び横線の本数は、それぞれ、縦線本
数情報506−a、横線本数情報506−bに格納され
ている。
数情報506−a、横線本数情報506−bに格納され
ている。
【0042】図6に、フィールド情報33の内容を示
す。
す。
【0043】フィールド情報33には、フィールドを特
定する番号であるフィールド番号601、フィールド上
線(そのフィールドの上側の横線)の番号602、フィ
ールド下線(そのフィールドの下側の横線)の番号60
3、フィールド左線(そのフィールドの左側の縦線)の
番号604、及びフィールド右線(そのフィールドの右
側の縦線)の番号605が格納されている。これらの番
号602〜605は、図5の罫線情報32の罫線の番号
501−a,501−bによって表される。すなわち、
フィールドを囲む4本の罫線の罫線情報に基づいて、そ
のフィールドの位置が同定されることになる。
定する番号であるフィールド番号601、フィールド上
線(そのフィールドの上側の横線)の番号602、フィ
ールド下線(そのフィールドの下側の横線)の番号60
3、フィールド左線(そのフィールドの左側の縦線)の
番号604、及びフィールド右線(そのフィールドの右
側の縦線)の番号605が格納されている。これらの番
号602〜605は、図5の罫線情報32の罫線の番号
501−a,501−bによって表される。すなわち、
フィールドを囲む4本の罫線の罫線情報に基づいて、そ
のフィールドの位置が同定されることになる。
【0044】さらに、フィールド情報33には、フィー
ルド種別606、フィールド標題607、及びフィール
ド個数608が格納されている。
ルド種別606、フィールド標題607、及びフィール
ド個数608が格納されている。
【0045】フィールド種別606は、そのフィールド
の内容を定義する。フィールド種別606を用いて、認
識結果をデータベースに格納する際の分類を行ったり、
フィールドの属性(数字しかない、ある限定された文字
しか出現しないなど)を定義することができる。フィー
ルド標題607は、そのフィールドの認識結果を出力す
る際に、そのフィールドの内容が何なのか人間にわかる
ように表示するために利用する標題である。
の内容を定義する。フィールド種別606を用いて、認
識結果をデータベースに格納する際の分類を行ったり、
フィールドの属性(数字しかない、ある限定された文字
しか出現しないなど)を定義することができる。フィー
ルド標題607は、そのフィールドの認識結果を出力す
る際に、そのフィールドの内容が何なのか人間にわかる
ように表示するために利用する標題である。
【0046】図7は、図2のステップ102の表外枠抽
出処理の詳細なフローチャートである。以下、ステップ
ごとに処理の内容を説明する。
出処理の詳細なフローチャートである。以下、ステップ
ごとに処理の内容を説明する。
【0047】ステップ701:画像中から縦線の位置を
抽出するために、画像データ中の黒画素を縦方向(y軸
方向)に投影する。この投影は、すべてのx座標につい
て、y軸方向に黒画素の個数の総和をとることにより行
う。
抽出するために、画像データ中の黒画素を縦方向(y軸
方向)に投影する。この投影は、すべてのx座標につい
て、y軸方向に黒画素の個数の総和をとることにより行
う。
【0048】ステップ702:ステップ701で求めた
投影値が、所定の閾値以上になるピーク点(x座標)を
すべて求める。求めたピーク点の周辺に縦線が存在する
ことになる。また、求めたピーク点のうちx座標が最小
のピーク点を求める。そのピーク点の周辺に、表外枠の
左線が存在することになる。さらに、求めたピーク点の
うちx座標が最大のピーク点を求める。そのピーク点の
周辺に、表外枠の右線が存在することになる。
投影値が、所定の閾値以上になるピーク点(x座標)を
すべて求める。求めたピーク点の周辺に縦線が存在する
ことになる。また、求めたピーク点のうちx座標が最小
のピーク点を求める。そのピーク点の周辺に、表外枠の
左線が存在することになる。さらに、求めたピーク点の
うちx座標が最大のピーク点を求める。そのピーク点の
周辺に、表外枠の右線が存在することになる。
【0049】ただし、画像の周辺には、ノイズが存在す
る場合があるので、ピーク点の抽出範囲は、画像の両端
から一定距離以上離れていなければならないとする。こ
の値は、画像入力する機器や、入力されるデータ中の表
のサイズなどにより適切な値を設定する。
る場合があるので、ピーク点の抽出範囲は、画像の両端
から一定距離以上離れていなければならないとする。こ
の値は、画像入力する機器や、入力されるデータ中の表
のサイズなどにより適切な値を設定する。
【0050】ステップ703:ステップ702で求めた
表外枠線に対応する左右のピーク点(x座標)のそれぞ
れについて、ピーク点から左右方向の一定の値の範囲を
縦線、すなわち左右の外枠縦線の存在する範囲(x座標
の値)とする。
表外枠線に対応する左右のピーク点(x座標)のそれぞ
れについて、ピーク点から左右方向の一定の値の範囲を
縦線、すなわち左右の外枠縦線の存在する範囲(x座標
の値)とする。
【0051】ステップ704:すべてのy座標の値ごと
に、ステップ703で設定された左側の外枠縦線の存在
する範囲で、左側(x座標の小さい方)から画像をサー
チし、最初に白画素から黒画素へ変化する変化点の座標
をすべて求める。右側の外枠縦線についても、同様にし
て、ステップ703で設定された右側の外枠縦線の存在
する範囲で右側(x座標の大きい方)から画像をサーチ
し、最初に白画素から黒画素へと変化する変化点の座標
をすべて求める。
に、ステップ703で設定された左側の外枠縦線の存在
する範囲で、左側(x座標の小さい方)から画像をサー
チし、最初に白画素から黒画素へ変化する変化点の座標
をすべて求める。右側の外枠縦線についても、同様にし
て、ステップ703で設定された右側の外枠縦線の存在
する範囲で右側(x座標の大きい方)から画像をサーチ
し、最初に白画素から黒画素へと変化する変化点の座標
をすべて求める。
【0052】ステップ705:左側外枠縦線及び右側外
枠縦線のそれぞれについて、ステップ704で得られた
変化点の座標すべてについての近似直線を求める。
枠縦線のそれぞれについて、ステップ704で得られた
変化点の座標すべてについての近似直線を求める。
【0053】変化点の座標を、(x[i],y[i])
(0≦i<N(=変化点の数))とすると、近似直線は
次の数式1で求められる。
(0≦i<N(=変化点の数))とすると、近似直線は
次の数式1で求められる。
【0054】
【数1】
【0055】以上のステップ701〜705により、入
力画像の表の左右の外枠縦線が求められたことになる。
力画像の表の左右の外枠縦線が求められたことになる。
【0056】ステップ706:画像中から横線の位置を
抽出するために、画像データ中の黒画素を横方向(x軸
方向)に投影する。この投影は、すべてのy座標につい
て、x軸方向に黒画素の個数の総和をとることにより行
う。
抽出するために、画像データ中の黒画素を横方向(x軸
方向)に投影する。この投影は、すべてのy座標につい
て、x軸方向に黒画素の個数の総和をとることにより行
う。
【0057】ステップ707:ステップ706で求めた
投影値が、所定の閾値以上になるピーク点(y座標)を
すべて求める。求めたピーク点の周辺に横線が存在する
ことになる。また、求めたピーク点のうちy座標が最小
のピーク点を求める。そのピーク点の周辺に、表外枠の
上線が存在することになる。さらに、求めたピーク点の
うちy座標が最大のピーク点を求める。そのピーク点の
周辺に、表外枠の下線が存在することになる。
投影値が、所定の閾値以上になるピーク点(y座標)を
すべて求める。求めたピーク点の周辺に横線が存在する
ことになる。また、求めたピーク点のうちy座標が最小
のピーク点を求める。そのピーク点の周辺に、表外枠の
上線が存在することになる。さらに、求めたピーク点の
うちy座標が最大のピーク点を求める。そのピーク点の
周辺に、表外枠の下線が存在することになる。
【0058】ただし、画像の周辺には、ノイズが存在す
る場合があるので、ピーク点の抽出範囲は、画像の両端
から一定距離以上離れていなければならないとする。こ
の値は、画像入力する機器や、入力されるデータ中の表
のサイズなどにより適切な値を設定する。
る場合があるので、ピーク点の抽出範囲は、画像の両端
から一定距離以上離れていなければならないとする。こ
の値は、画像入力する機器や、入力されるデータ中の表
のサイズなどにより適切な値を設定する。
【0059】ステップ708:ステップ707で求めた
表外枠線に対応する上下のピーク点(y座標)のそれぞ
れについて、ピーク点から上下方向の一定の値の範囲を
横線、すなわち上下の外枠横線の存在する範囲(y座標
の値)とする。
表外枠線に対応する上下のピーク点(y座標)のそれぞ
れについて、ピーク点から上下方向の一定の値の範囲を
横線、すなわち上下の外枠横線の存在する範囲(y座標
の値)とする。
【0060】ステップ709:すべてのx座標の値ごと
に、ステップ708で設定された上側の外枠横線の存在
する範囲で、上側(y座標の小さい方)から画像をサー
チし、最初に白画素から黒画素へ変化する変化点の座標
をすべて求める。下側の外枠横線についても、同様にし
て、ステップ708で設定された下側の外枠横線の存在
する範囲で下側(y座標の大きい方)から画像をサーチ
し、最初に白画素から黒画素へと変化する変化点の座標
をすべて求める。
に、ステップ708で設定された上側の外枠横線の存在
する範囲で、上側(y座標の小さい方)から画像をサー
チし、最初に白画素から黒画素へ変化する変化点の座標
をすべて求める。下側の外枠横線についても、同様にし
て、ステップ708で設定された下側の外枠横線の存在
する範囲で下側(y座標の大きい方)から画像をサーチ
し、最初に白画素から黒画素へと変化する変化点の座標
をすべて求める。
【0061】ステップ710:上側外枠横線及び下側外
枠横線のそれぞれについて、ステップ709で得られた
変化点の座標すべてについての近似直線を求める。
枠横線のそれぞれについて、ステップ709で得られた
変化点の座標すべてについての近似直線を求める。
【0062】変化点の座標を、(x[i],y[i])
(0≦i<変化点の数)とすると、近似直線は次の数式
2で求められる。
(0≦i<変化点の数)とすると、近似直線は次の数式
2で求められる。
【0063】
【数2】
【0064】以上のステップ706〜710により、入
力画像の表の上下の外枠横線が求められたことになる。
力画像の表の上下の外枠横線が求められたことになる。
【0065】図8及び図9は、図7のステップ701〜
705の手順により入力画像から外枠縦線を抽出してい
る様子を図示したものである。横線の抽出も、縦線の抽
出と同様の手順で求められるので、説明は省略する。
705の手順により入力画像から外枠縦線を抽出してい
る様子を図示したものである。横線の抽出も、縦線の抽
出と同様の手順で求められるので、説明は省略する。
【0066】図8は、画像データから表外枠の縦線の存
在する範囲を求めた結果である。
在する範囲を求めた結果である。
【0067】画像データ801中に、表データが格納さ
れている。この画像801は、左上を原点とし、右方向
にx軸、下方向にy軸を持つ、直交座標系である。80
2は、図7のステップ701でこの画像の黒画素を投影
した結果である。803は、ステップ702でピーク点
を判定するための閾値である。804が、最も左のピー
ク位置である。点線805から点線806の範囲が、ピ
ーク点804から左右に得られる表外枠左線の存在する
範囲である。この範囲は、ステップ703で設定され
る。この間をサーチして、表左線を見つける。
れている。この画像801は、左上を原点とし、右方向
にx軸、下方向にy軸を持つ、直交座標系である。80
2は、図7のステップ701でこの画像の黒画素を投影
した結果である。803は、ステップ702でピーク点
を判定するための閾値である。804が、最も左のピー
ク位置である。点線805から点線806の範囲が、ピ
ーク点804から左右に得られる表外枠左線の存在する
範囲である。この範囲は、ステップ703で設定され
る。この間をサーチして、表左線を見つける。
【0068】図9は、表外枠左線を求める様子を示して
いる。
いる。
【0069】図8の点線805と点線806に挾まれた
範囲の、画素の各ライン(各y座標ごと)について、点
線805の位置から順に右方向に画素を追跡する。そし
て、最初に見つかった、白画素から黒画素への変化点を
外枠の位置とする。この位置は、図7のステップ704
で求められる。各ラインで見つかった点を、上述の数式
1で、得られる直線で近似することで、表外枠左線90
1が得られる。
範囲の、画素の各ライン(各y座標ごと)について、点
線805の位置から順に右方向に画素を追跡する。そし
て、最初に見つかった、白画素から黒画素への変化点を
外枠の位置とする。この位置は、図7のステップ704
で求められる。各ラインで見つかった点を、上述の数式
1で、得られる直線で近似することで、表外枠左線90
1が得られる。
【0070】図10は、図8の画像801から、表外枠
の上下左右の4線を求めた結果を示す。
の上下左右の4線を求めた結果を示す。
【0071】表の外枠の、上下左右の線が得られたの
で、表の外枠は、この横線2本(上線、下線)と、縦線
2本(左線、右線)の交点で表現する。表の左上の交点
1001の座標を(xlu,ylu)、右上の交点10
02の座標を(xru,yru)、左下の交点1003
の座標を(xld,yld)、右下の交点1004の座
標を(xrd,yrd)とする。
で、表の外枠は、この横線2本(上線、下線)と、縦線
2本(左線、右線)の交点で表現する。表の左上の交点
1001の座標を(xlu,ylu)、右上の交点10
02の座標を(xru,yru)、左下の交点1003
の座標を(xld,yld)、右下の交点1004の座
標を(xrd,yrd)とする。
【0072】図11は、図2のステップ103のフォー
マット一致度評価処理の詳細なフローチャートである。
フォーマット一致度は、フォーマットの表を構成する各
罫線について、順次、入力画像とマッチングして、画像
中に存在するかどうかを調べ、存在する罫線の数のフォ
ーマットの全罫線に占める割合を求めることで得る。以
下、各ステップごとに処理の内容を説明する。
マット一致度評価処理の詳細なフローチャートである。
フォーマット一致度は、フォーマットの表を構成する各
罫線について、順次、入力画像とマッチングして、画像
中に存在するかどうかを調べ、存在する罫線の数のフォ
ーマットの全罫線に占める割合を求めることで得る。以
下、各ステップごとに処理の内容を説明する。
【0073】ステップ1101:カウンターCRTとE
RRを、0でクリアする。CRTは罫線情報32の罫線
が入力画像中に存在した場合にその数をカウントするた
めのカウンタ、ERRは入力画像中に存在しなかった罫
線のカウンタである。
RRを、0でクリアする。CRTは罫線情報32の罫線
が入力画像中に存在した場合にその数をカウントするた
めのカウンタ、ERRは入力画像中に存在しなかった罫
線のカウンタである。
【0074】ステップ1102:マッチング対象のフォ
ーマットの罫線情報32から、罫線を1本読みだす。罫
線情報32は、図5に示したように、表の左上の座標を
(0,0)、右下の座標を(10000,10000)
とした座標系で罫線の始終点の座標を持っている。一
方、図2のステップ102(図7)で、図10に示すよ
うに画像801の左上を(0,0)とする座標系で表の
外枠が得られているので、これに基づいて罫線情報32
から読み出した罫線を座標変換する。
ーマットの罫線情報32から、罫線を1本読みだす。罫
線情報32は、図5に示したように、表の左上の座標を
(0,0)、右下の座標を(10000,10000)
とした座標系で罫線の始終点の座標を持っている。一
方、図2のステップ102(図7)で、図10に示すよ
うに画像801の左上を(0,0)とする座標系で表の
外枠が得られているので、これに基づいて罫線情報32
から読み出した罫線を座標変換する。
【0075】表の4隅の点の画像中での座標を基に、罫
線情報32に示された罫線の始終点の座標を画像中の座
標に変換すると、下記の数式3のようになる。
線情報32に示された罫線の始終点の座標を画像中の座
標に変換すると、下記の数式3のようになる。
【0076】
【数3】
【0077】ステップ1104:座標変換した罫線を、
入力画像とマッチングし、評価値を得る。マッチングの
処理内容については、図12を参照して後に詳細に説明
する。
入力画像とマッチングし、評価値を得る。マッチングの
処理内容については、図12を参照して後に詳細に説明
する。
【0078】ステップ1105:ステップ1104の結
果、罫線が存在すると判定されたときは、ステップ11
06に進む。そうでなければ、罫線無しとして、ステッ
プ1107に進む。
果、罫線が存在すると判定されたときは、ステップ11
06に進む。そうでなければ、罫線無しとして、ステッ
プ1107に進む。
【0079】ステップ1106:画像中に罫線情報32
の罫線が存在したので、存在した罫線数のカウンタCR
Tに1を加える。
の罫線が存在したので、存在した罫線数のカウンタCR
Tに1を加える。
【0080】ステップ1107:画像中に罫線情報32
の罫線が存在しなかったので、存在しない罫線数のカウ
ンタERRに1を加える。
の罫線が存在しなかったので、存在しない罫線数のカウ
ンタERRに1を加える。
【0081】ステップ1108:罫線情報32の全ての
罫線についてマッチングが終了したか否か判定する。終
了していなければ、ステップ1102に戻って次の罫線
について同様に処理する。全ての罫線についてのマッチ
ングが終われば、ステップ1109に進む。
罫線についてマッチングが終了したか否か判定する。終
了していなければ、ステップ1102に戻って次の罫線
について同様に処理する。全ての罫線についてのマッチ
ングが終われば、ステップ1109に進む。
【0082】ステップ1109:フォーマットの全罫線
に対する、画像中に存在した罫線数の割合を、フォーマ
ット一致の評価値とする。
に対する、画像中に存在した罫線数の割合を、フォーマ
ット一致の評価値とする。
【0083】図12は、図11のステップ1104の罫
線と画像のマッチング処理の詳細なフローチャートを示
す。罫線と画像のマッチングは、画像上で、罫線の近辺
の、罫線に垂直な短い黒ランを抽出し、この黒ランを基
に、画像上の罫線の位置を求め、この罫線を構成する黒
ランの数が、閾値以上かどうかで判定する。以下、各ス
テップの処理内容を説明する。
線と画像のマッチング処理の詳細なフローチャートを示
す。罫線と画像のマッチングは、画像上で、罫線の近辺
の、罫線に垂直な短い黒ランを抽出し、この黒ランを基
に、画像上の罫線の位置を求め、この罫線を構成する黒
ランの数が、閾値以上かどうかで判定する。以下、各ス
テップの処理内容を説明する。
【0084】ステップ1201:マッチング対象の罫線
が縦罫線か否かを判定する。縦罫線なら、ステップ12
02に進む。そうでなければ、横罫線なので、ステップ
1212に進む。
が縦罫線か否かを判定する。縦罫線なら、ステップ12
02に進む。そうでなければ、横罫線なので、ステップ
1212に進む。
【0085】以下、縦罫線の場合について、ステップ1
202からステップ1211までの処理の内容を、図1
3及び図14を用いて説明する。図13は、画像801
の罫線の周辺の一部を示す。1304,1305は画像
中の黒画素の部分であり、1304は罫線、1305は
文字を示している。図14は、図13の1306の部分
を拡大した内容を示す。
202からステップ1211までの処理の内容を、図1
3及び図14を用いて説明する。図13は、画像801
の罫線の周辺の一部を示す。1304,1305は画像
中の黒画素の部分であり、1304は罫線、1305は
文字を示している。図14は、図13の1306の部分
を拡大した内容を示す。
【0086】ステップ1202:画像中に、マッチング
対象のフォーマット中の罫線(罫線情報32から読み出
した罫線であり、以下、これをフォーマット罫線と呼
ぶ)を設定する。図13の1301が画像中に設定した
フォーマット罫線を示す。そして、このフォーマット罫
線1301を中心として、点線1302及び1303に
挾まれる一定幅の領域を設定する。この範囲で、画像中
の罫線を検索する。
対象のフォーマット中の罫線(罫線情報32から読み出
した罫線であり、以下、これをフォーマット罫線と呼
ぶ)を設定する。図13の1301が画像中に設定した
フォーマット罫線を示す。そして、このフォーマット罫
線1301を中心として、点線1302及び1303に
挾まれる一定幅の領域を設定する。この範囲で、画像中
の罫線を検索する。
【0087】ステップ1203:図13の画像の罫線1
304や文字1305を構成する横方向の黒ランから、
ステップ1202で設定した範囲(点線1302から1
303の範囲)中に含まれる、閾値γ以下の長さの黒ラ
ンを抽出する。
304や文字1305を構成する横方向の黒ランから、
ステップ1202で設定した範囲(点線1302から1
303の範囲)中に含まれる、閾値γ以下の長さの黒ラ
ンを抽出する。
【0088】図14において、黒く帯状に塗り潰した黒
ランは、閾値γ以下の長さの黒ランとして抽出される。
黒ラン1304−2,1304−3は、長さが閾値γ以
上であったため、抽出されなかった。
ランは、閾値γ以下の長さの黒ランとして抽出される。
黒ラン1304−2,1304−3は、長さが閾値γ以
上であったため、抽出されなかった。
【0089】ステップ1204:ステップ1203で抽
出された全ての黒ラン(1304−1、1305−1な
ど)の重心(1402−1、1402−2など)を求
め、この重心位置(黒ランの数だけある)とフォーマッ
ト罫線1301とのずれ量をそれぞれ求める。ずれ量と
は、重心位置がフォーマット罫線1301上であれば
0、重心位置がフォーマット罫線1301より右にあれ
ば画素単位でのフォーマット罫線1301までの距離、
重心位置がフォーマット罫線1301より左にあれば画
素単位でのフォーマット罫線1301までの距離に−1
を乗じた値である。
出された全ての黒ラン(1304−1、1305−1な
ど)の重心(1402−1、1402−2など)を求
め、この重心位置(黒ランの数だけある)とフォーマッ
ト罫線1301とのずれ量をそれぞれ求める。ずれ量と
は、重心位置がフォーマット罫線1301上であれば
0、重心位置がフォーマット罫線1301より右にあれ
ば画素単位でのフォーマット罫線1301までの距離、
重心位置がフォーマット罫線1301より左にあれば画
素単位でのフォーマット罫線1301までの距離に−1
を乗じた値である。
【0090】ステップ1205:ステップ1204で求
めた、黒ランのずれ量について、ずれ量の値に対する、
黒ランの数のヒストグラム1403を作成する。
めた、黒ランのずれ量について、ずれ量の値に対する、
黒ランの数のヒストグラム1403を作成する。
【0091】ステップ1206:ステップ1205で作
成したヒストグラムの値が、最大となるずれ量1404
を求める。
成したヒストグラムの値が、最大となるずれ量1404
を求める。
【0092】ステップ1207:ステップ1206で求
めたずれ量だけ、フォーマット罫線をずらした位置を中
心として、点線1405と1406に挾まれた一定幅の
範囲1407を設定する。
めたずれ量だけ、フォーマット罫線をずらした位置を中
心として、点線1405と1406に挾まれた一定幅の
範囲1407を設定する。
【0093】ステップ1208:ステップ1203で抽
出された、閾値γ以下の長さの黒ランのうち、ステップ
1207で設定した範囲中に、重心が含まれるランだけ
を抽出する。
出された、閾値γ以下の長さの黒ランのうち、ステップ
1207で設定した範囲中に、重心が含まれるランだけ
を抽出する。
【0094】ステップ1209:ステップ1208で抽
出された黒ランの数が、フォーマット罫線の画素を単位
とした長さ(画素数)の、定数δ(<1)倍より大きけ
れば、ステップ1210のステップに進む。そうでなけ
れば、ステップ1211に進む。
出された黒ランの数が、フォーマット罫線の画素を単位
とした長さ(画素数)の、定数δ(<1)倍より大きけ
れば、ステップ1210のステップに進む。そうでなけ
れば、ステップ1211に進む。
【0095】ステップ1210:画像中に、フォーマッ
ト罫線に対応する罫線が存在すると判定する。
ト罫線に対応する罫線が存在すると判定する。
【0096】ステップ1211:画像中に、フォーマッ
ト罫線に対応する罫線が存在しないと判定する。
ト罫線に対応する罫線が存在しないと判定する。
【0097】ステップ1201でマッチング対象の罫線
が横罫線であった場合は、ステップ1202からステッ
プ1208の代りに、ステップ1212からステップ1
218が実行される。ステップ1212からステップ1
218は、ステップ1202からステップ1208の処
理をx座標とy座標を交換した座標系で行うことで、同
様に実現できるので、説明は省略する。
が横罫線であった場合は、ステップ1202からステッ
プ1208の代りに、ステップ1212からステップ1
218が実行される。ステップ1212からステップ1
218は、ステップ1202からステップ1208の処
理をx座標とy座標を交換した座標系で行うことで、同
様に実現できるので、説明は省略する。
【0098】図15は、図2のステップ106のフォー
マット判定処理の詳細なフローチャートである。フォー
マットの一致度の評価値が最大のフォーマットが、その
画像に対応するフォーマットである。同じ評価値が得ら
れるなら、罫線数が多いフォーマットを、画像に対応す
るフォーマットとする。ただし、評価値が、閾値βより
小さければ、あてはまるフォーマットがないとして、エ
ラーにする。以下、各ステップについて説明する。
マット判定処理の詳細なフローチャートである。フォー
マットの一致度の評価値が最大のフォーマットが、その
画像に対応するフォーマットである。同じ評価値が得ら
れるなら、罫線数が多いフォーマットを、画像に対応す
るフォーマットとする。ただし、評価値が、閾値βより
小さければ、あてはまるフォーマットがないとして、エ
ラーにする。以下、各ステップについて説明する。
【0099】ステップ1501:各フォーマットの番号
を、その罫線数で降順にソートする。
を、その罫線数で降順にソートする。
【0100】ステップ1502:対応フォーマット番号
fmt_no=0、比較フォーマット番号i=1に初期
化する。
fmt_no=0、比較フォーマット番号i=1に初期
化する。
【0101】ステップ1503:i番目のフォーマット
の一致度の評価値とfmt_no番目のフォーマットの
一致度の評価値とを比較する。i番目の評価値の方が、
fmt_no番目の評価値よりも大きければ、ステップ
1504に進む。そうでなければ、ステップ1505に
進む。
の一致度の評価値とfmt_no番目のフォーマットの
一致度の評価値とを比較する。i番目の評価値の方が、
fmt_no番目の評価値よりも大きければ、ステップ
1504に進む。そうでなければ、ステップ1505に
進む。
【0102】ステップ1504:対応フォーマット番号
fmt_no=iとする。
fmt_no=iとする。
【0103】ステップ1505:iの値に1を加える。
【0104】ステップ1506:iの値が、全フォーマ
ット数と同じになったか否かを調べる。同じであれば、
全てのフォーマットについて比較を行ったので、ステッ
プ1507に進む。そうでなければ、次のフォーマット
と比較するために、ステップ1503に進む。
ット数と同じになったか否かを調べる。同じであれば、
全てのフォーマットについて比較を行ったので、ステッ
プ1507に進む。そうでなければ、次のフォーマット
と比較するために、ステップ1503に進む。
【0105】ステップ1507:fmt_no番目のフ
ォーマットの評価値が、閾値β以上であるか否かを判定
する。閾値β以上ならば、ステップ1508に進む。そ
うでなければ、ステップ1509に進む。
ォーマットの評価値が、閾値β以上であるか否かを判定
する。閾値β以上ならば、ステップ1508に進む。そ
うでなければ、ステップ1509に進む。
【0106】ステップ1508:対応フォーマットが存
在するとして、フォーマット番号fmt_noを設定す
る。
在するとして、フォーマット番号fmt_noを設定す
る。
【0107】ステップ1509:対応フォーマットが存
在しないとし、マッチングエラーとして、fmt_no
=−1を設定する。
在しないとし、マッチングエラーとして、fmt_no
=−1を設定する。
【0108】図16は、図2のステップ108の罫線補
正及び画像からの罫線消去の処理の詳細なフローチャー
トである。各罫線ごとに、図12に示したフローチャー
トのステップ1208,1218で抽出された黒ランを
消去し、この重心の近似直線を求めることで、罫線の位
置を画像に合わせて補正する。以下、各ステップの内容
を説明する。
正及び画像からの罫線消去の処理の詳細なフローチャー
トである。各罫線ごとに、図12に示したフローチャー
トのステップ1208,1218で抽出された黒ランを
消去し、この重心の近似直線を求めることで、罫線の位
置を画像に合わせて補正する。以下、各ステップの内容
を説明する。
【0109】ステップ1601:罫線番号のカウンタi
をi=0に初期設定する。
をi=0に初期設定する。
【0110】ステップ1602:i番目のフォーマット
罫線と画像とのマッチングを行う。これは、図11のス
テップ1104と同じく、図12のフォーマット罫線と
画像のマッチング処理を呼出すことにより行う。
罫線と画像とのマッチングを行う。これは、図11のス
テップ1104と同じく、図12のフォーマット罫線と
画像のマッチング処理を呼出すことにより行う。
【0111】ステップ1603:マッチングの結果、画
像中に対応する罫線が存在するなら、ステップ1604
に進む。そうでなければ、ステップ1606に進む。
像中に対応する罫線が存在するなら、ステップ1604
に進む。そうでなければ、ステップ1606に進む。
【0112】ステップ1604:図17は、罫線の位置
補正の様子を示す図である。ステップ1604では、こ
の図17に示すように、フォーマット罫線と画像とのマ
ッチングにより抽出された黒ランを通る近似直線170
1を求める。近似直線1701は、抽出された全黒ラン
の重心を(x[i],y[i])(0≦i<黒ラン数)
とすると、縦線の場合は上記の数式1を用い、横線の場
合は上記の数式2を用いて、それぞれ求められる。
補正の様子を示す図である。ステップ1604では、こ
の図17に示すように、フォーマット罫線と画像とのマ
ッチングにより抽出された黒ランを通る近似直線170
1を求める。近似直線1701は、抽出された全黒ラン
の重心を(x[i],y[i])(0≦i<黒ラン数)
とすると、縦線の場合は上記の数式1を用い、横線の場
合は上記の数式2を用いて、それぞれ求められる。
【0113】ステップ1605:ステップ1602の罫
線と画像とのマッチングで抽出された黒ランを画像から
消去することで、画像中から罫線を消去する。
線と画像とのマッチングで抽出された黒ランを画像から
消去することで、画像中から罫線を消去する。
【0114】ステップ1606:罫線番号iに1を加え
る。
る。
【0115】ステップ1607:罫線番号iが全罫線数
より小さければ、次の罫線の補正と画像中から罫線を消
去するために、ステップ1602に進む。そうでなけれ
ば、ステップ1608に進む。
より小さければ、次の罫線の補正と画像中から罫線を消
去するために、ステップ1602に進む。そうでなけれ
ば、ステップ1608に進む。
【0116】ステップ1608:全罫線について、その
始終点で交差する罫線との交点を求め、補正された罫線
として、その始点及び終点の座標を更新する。
始終点で交差する罫線との交点を求め、補正された罫線
として、その始点及び終点の座標を更新する。
【0117】図18は、図2のステップ109のフィー
ルド位置補正の処理の詳細なフローチャートである。フ
ィールドの上下左右の罫線の式から、フィールドの存在
する位置を求める。以下、各ステップについて説明す
る。
ルド位置補正の処理の詳細なフローチャートである。フ
ィールドの上下左右の罫線の式から、フィールドの存在
する位置を求める。以下、各ステップについて説明す
る。
【0118】ステップ1801:フォーマット情報デー
タベース31中の、画像に対応するフォーマットのフィ
ールド情報33から、順次、フィールドのデータを読み
だす。
タベース31中の、画像に対応するフォーマットのフィ
ールド情報33から、順次、フィールドのデータを読み
だす。
【0119】ステップ1802:フィールド情報33
は、図6に示したようにフィールドを囲む上下左右の4
本の罫線より構成されるので、罫線の番号に基づいて、
ステップ108で補正された罫線の情報を読み出す。読
み出されたフィールドの上線及び下線の2本の横線と、
左線及び右線の2本の縦線の交点を求め、これをフィー
ルド位置の情報とする。
は、図6に示したようにフィールドを囲む上下左右の4
本の罫線より構成されるので、罫線の番号に基づいて、
ステップ108で補正された罫線の情報を読み出す。読
み出されたフィールドの上線及び下線の2本の横線と、
左線及び右線の2本の縦線の交点を求め、これをフィー
ルド位置の情報とする。
【0120】ステップ1803:ステップ1802で求
められたフィールドの4隅の座標(左上、右上、左下、
右下)をフィールド位置情報35として出力する。
められたフィールドの4隅の座標(左上、右上、左下、
右下)をフィールド位置情報35として出力する。
【0121】図19に、フィールド位置情報のフォーマ
ットを示す。1901に、フィールドを特定するための
フィールド番号が格納される。1902に、フィールド
の画像上での左上の座標が格納される。1903に、フ
ィールドの画像上での右上の座標が格納される。190
4に、フィールドの画像上での左下の座標が格納され
る。1905に、フィールドの画像上での右下の座標が
格納される。
ットを示す。1901に、フィールドを特定するための
フィールド番号が格納される。1902に、フィールド
の画像上での左上の座標が格納される。1903に、フ
ィールドの画像上での右上の座標が格納される。190
4に、フィールドの画像上での左下の座標が格納され
る。1905に、フィールドの画像上での右下の座標が
格納される。
【0122】ステップ1804:まだ、フィールド位置
を求めていないフィールドが存在すするなら、ステップ
1801に戻って次のフィールドの処理を行う。そうで
なければ、フィールド位置の設定の処理を終わる。
を求めていないフィールドが存在すするなら、ステップ
1801に戻って次のフィールドの処理を行う。そうで
なければ、フィールド位置の設定の処理を終わる。
【0123】図20は、図2のステップ110のフィー
ルド内文字認識処理の詳細なフローチャートである。ス
テップ109で得られたフィールドに含まれる文字パタ
ーン(画像)を抽出し、これを文字認識する。以下、各
ステップについて説明する。
ルド内文字認識処理の詳細なフローチャートである。ス
テップ109で得られたフィールドに含まれる文字パタ
ーン(画像)を抽出し、これを文字認識する。以下、各
ステップについて説明する。
【0124】ステップ2001:画像中より、黒画素の
連結成分を抽出する。黒画素の連結成分抽出について
は、様々な方式が公知となっているので、その方式の説
明は省略する。
連結成分を抽出する。黒画素の連結成分抽出について
は、様々な方式が公知となっているので、その方式の説
明は省略する。
【0125】ステップ2002:フィールド番号カウン
タiをi=0に初期化する。
タiをi=0に初期化する。
【0126】ステップ2003:フィールド位置情報3
5(図19)より、i番目のフィールドのフィールド位
置を読みだす。
5(図19)より、i番目のフィールドのフィールド位
置を読みだす。
【0127】ステップ2004:ステップ2001で抽
出した黒画素連結成分から、フィールド内に含まれる連
結成分だけを抽出する。更にこれらの連結成分を統合し
て、文字の外接矩形を作成し、文字パターンを抽出す
る。
出した黒画素連結成分から、フィールド内に含まれる連
結成分だけを抽出する。更にこれらの連結成分を統合し
て、文字の外接矩形を作成し、文字パターンを抽出す
る。
【0128】ステップ2005:ステップ2004で抽
出された文字パターンを文字認識する。
出された文字パターンを文字認識する。
【0129】ステップ2006:認識結果をプリンタ7
0に出力する。
0に出力する。
【0130】ステップ2007:フォーマット番号カウ
ンタiに1を加える。
ンタiに1を加える。
【0131】ステップ2008:フォーマット番号カウ
ンタiの値が全フィールド数より小さければ、次のフィ
ールドの文字認識のために、ステップ2003に戻る。
そうでなければ、文字認識処理が終わりとなる。
ンタiの値が全フィールド数より小さければ、次のフィ
ールドの文字認識のために、ステップ2003に戻る。
そうでなければ、文字認識処理が終わりとなる。
【0132】次に、第2の実施例として、解析された表
の一部のフィールドが更に罫線により分割される場合の
表解析方式について説明する。
の一部のフィールドが更に罫線により分割される場合の
表解析方式について説明する。
【0133】図21は、フォーマット中の1つのフィー
ルドが、さらに罫線により分割される場合の処理の流れ
を図示したものである。
ルドが、さらに罫線により分割される場合の処理の流れ
を図示したものである。
【0134】2101は、図3のフォーマット例1と同
じ表のフォーマットである。このフォーマット2101
中、フィールド2102は、このフィールドを更に細か
く分割するフォーマット(以下、これをフィールド分割
フォーマットと呼ぶ)を有する。
じ表のフォーマットである。このフォーマット2101
中、フィールド2102は、このフィールドを更に細か
く分割するフォーマット(以下、これをフィールド分割
フォーマットと呼ぶ)を有する。
【0135】2103,2104は、フィールド210
2の上線と下線であり、それぞれ、横線情報32−bの
番号5と番号6の罫線であるものとする。2105,2
106も、同様に、フィールド2102の左線と右線で
あり、それぞれ、縦線情報32−aの番号8と番号9の
罫線であるものとする。
2の上線と下線であり、それぞれ、横線情報32−bの
番号5と番号6の罫線であるものとする。2105,2
106も、同様に、フィールド2102の左線と右線で
あり、それぞれ、縦線情報32−aの番号8と番号9の
罫線であるものとする。
【0136】2107は、このフィールド2102に対
応したフィールド分割フォーマットである。フィールド
分割フォーマット2107を構成する罫線は、それぞ
れ、このフォーマット上での線番号を持っており、この
線番号に基づいてフィールド情報が作成される。このフ
ィールド分割フォーマット2107を、フィールド21
02に当てはめると、罫線2108は、フィールド21
02のフィールド上線2103に対応する。同様に、罫
線2109はフィールド2102のフィールド下線21
04に、罫線2110はフィールド2102のフィール
ド左線2105に、罫線2111はフィールド2102
のフィールド右線2106に、それぞれ対応する。
応したフィールド分割フォーマットである。フィールド
分割フォーマット2107を構成する罫線は、それぞ
れ、このフォーマット上での線番号を持っており、この
線番号に基づいてフィールド情報が作成される。このフ
ィールド分割フォーマット2107を、フィールド21
02に当てはめると、罫線2108は、フィールド21
02のフィールド上線2103に対応する。同様に、罫
線2109はフィールド2102のフィールド下線21
04に、罫線2110はフィールド2102のフィール
ド左線2105に、罫線2111はフィールド2102
のフィールド右線2106に、それぞれ対応する。
【0137】2112,2113,2114は、新たな
罫線として追加される。この結果、合成結果に示したよ
うに、2本の横線2116,2117、及び1本の縦線
2118が、それぞれ、罫線として追加される。これら
の罫線の追加に伴い、フィールドが増加する。
罫線として追加される。この結果、合成結果に示したよ
うに、2本の横線2116,2117、及び1本の縦線
2118が、それぞれ、罫線として追加される。これら
の罫線の追加に伴い、フィールドが増加する。
【0138】図22は、以上の処理を行う場合の、図2
のフローチャートの変更点である。フィールドの位置設
定(ステップ109)と、フィールド内文字認識(ステ
ップ110)との間に、フィールド分割フォーマットの
判定及びフォーマット情報の変更のステップ2201を
追加する。
のフローチャートの変更点である。フィールドの位置設
定(ステップ109)と、フィールド内文字認識(ステ
ップ110)との間に、フィールド分割フォーマットの
判定及びフォーマット情報の変更のステップ2201を
追加する。
【0139】ステップ2201では、全フォーマットに
ついて、フィールド分割フォーマットデータベース36
からフィールド分割フォーマットのデータ(例えば図2
1の2107)を読みだし、フィールド分割の有無のチ
ェックと、フィールド分割フォーマットの表全体のフォ
ーマット情報への追加及び変更処理を行う。これによ
り、フィールド位置情報35には分割フォーマットの分
のフィールドも反映される。その後ステップ110で、
フィールド分割フォーマットの表全体のフォーマット情
報への追加及び変更処理後のフォーマット情報に基づい
て、各フィールドの文字認識処理を行なう。
ついて、フィールド分割フォーマットデータベース36
からフィールド分割フォーマットのデータ(例えば図2
1の2107)を読みだし、フィールド分割の有無のチ
ェックと、フィールド分割フォーマットの表全体のフォ
ーマット情報への追加及び変更処理を行う。これによ
り、フィールド位置情報35には分割フォーマットの分
のフィールドも反映される。その後ステップ110で、
フィールド分割フォーマットの表全体のフォーマット情
報への追加及び変更処理後のフォーマット情報に基づい
て、各フィールドの文字認識処理を行なう。
【0140】図23は、フィールド分割の判定及びフィ
ールド分割フォーマットの表全体のフォーマット情報へ
の追加及び変更処理の詳細なフローチャートである。
ールド分割フォーマットの表全体のフォーマット情報へ
の追加及び変更処理の詳細なフローチャートである。
【0141】図24に、フィールド分割フォーマットの
例を示す。これらのフィールド分割フォーマットは、表
全体のフォーマット情報と同様に、左上を(0,0)、
右下を(10000,10000)とする座標系におけ
るフォーマット情報として表現されている。
例を示す。これらのフィールド分割フォーマットは、表
全体のフォーマット情報と同様に、左上を(0,0)、
右下を(10000,10000)とする座標系におけ
るフォーマット情報として表現されている。
【0142】図25に、これらのフィールド分割フォー
マットの内容を示す。フィールド分割フォーマット情報
37には、そのフィールド分割フォーマットの対象とな
るフィールドの種別37−1と、フィールド分割フォー
マットの罫線情報37−2と、フィールド分割フォーマ
ットのフィールド情報37−3とが格納される。
マットの内容を示す。フィールド分割フォーマット情報
37には、そのフィールド分割フォーマットの対象とな
るフィールドの種別37−1と、フィールド分割フォー
マットの罫線情報37−2と、フィールド分割フォーマ
ットのフィールド情報37−3とが格納される。
【0143】フィールド種別37−1は、図6のフィー
ルド情報33のフィールド種別606で表される。すな
わち、例えば図6のフィールド情報33において、ある
フィールドのフィールド種別606がpであったとし、
図25のフィールド分割フォーマット情報37にフィー
ルド種別37−1がpである情報が格納されていたとす
ると、そのフィールドは対応するフィールド分割フォー
マット情報に基づいてフィールド分割されていることに
なる。罫線情報37−2は、図5に示した罫線情報32
と同様の内容を持つ。フィールド情報37−3は、図6
に示したフィールド情報33と同様の内容を持つ。
ルド情報33のフィールド種別606で表される。すな
わち、例えば図6のフィールド情報33において、ある
フィールドのフィールド種別606がpであったとし、
図25のフィールド分割フォーマット情報37にフィー
ルド種別37−1がpである情報が格納されていたとす
ると、そのフィールドは対応するフィールド分割フォー
マット情報に基づいてフィールド分割されていることに
なる。罫線情報37−2は、図5に示した罫線情報32
と同様の内容を持つ。フィールド情報37−3は、図6
に示したフィールド情報33と同様の内容を持つ。
【0144】以下、図23に従って処理内容を説明す
る。
る。
【0145】ステップ2301:フィールド分割フォー
マットのチェックを順次行なうため、チェックの対象と
なるフィールドの番号を指定するカウンタiをi=0に
初期化する。
マットのチェックを順次行なうため、チェックの対象と
なるフィールドの番号を指定するカウンタiをi=0に
初期化する。
【0146】ステップ2302:フィールド番号iのフ
ィールドのフィールド種別(図6の606)を取り出
し、そのフィールド種別の値と同じ値のフィールド種別
37−1を持つフィールド分割フォーマット情報37
を、フィールド分割フォーマットデータベース36か
ら、抽出する。
ィールドのフィールド種別(図6の606)を取り出
し、そのフィールド種別の値と同じ値のフィールド種別
37−1を持つフィールド分割フォーマット情報37
を、フィールド分割フォーマットデータベース36か
ら、抽出する。
【0147】ステップ2303:処理対象となるフィー
ルド番号iのフィールドのフィールド種別に対応するフ
ィールド分割フォーマットがデータベース中にあれば、
ステップ2304に進む。そうでなければ、そのフィー
ルドはフィールド分割されていないということであるか
ら、フィールド分割の処理を行なわずに、ステップ23
10に進む。
ルド番号iのフィールドのフィールド種別に対応するフ
ィールド分割フォーマットがデータベース中にあれば、
ステップ2304に進む。そうでなければ、そのフィー
ルドはフィールド分割されていないということであるか
ら、フィールド分割の処理を行なわずに、ステップ23
10に進む。
【0148】ステップ2304:対応するフォーマット
が存在する場合は、ステップ106(図15)と同じ手
順で、ステップ2303で抽出されたすべてのフィール
ド分割フォーマットに対するフォーマット判定を行う。
が存在する場合は、ステップ106(図15)と同じ手
順で、ステップ2303で抽出されたすべてのフィール
ド分割フォーマットに対するフォーマット判定を行う。
【0149】ステップ2305:フォーマット判定の結
果、あてはまるフォーマットが存在するなら、ステップ
2306に進む。そうでなければ、フィールド分割処理
を行なわずに、ステップ2310に進む。
果、あてはまるフォーマットが存在するなら、ステップ
2306に進む。そうでなければ、フィールド分割処理
を行なわずに、ステップ2310に進む。
【0150】ステップ2306:図16のフローチャー
トに示した罫線の位置補正と画像からの罫線消去の処理
と同じ手順で、フィールド中のフィールド分割フォーマ
ットに対応した罫線の位置補正及び画像からの罫線消去
を行なう。
トに示した罫線の位置補正と画像からの罫線消去の処理
と同じ手順で、フィールド中のフィールド分割フォーマ
ットに対応した罫線の位置補正及び画像からの罫線消去
を行なう。
【0151】ステップ2307:フィールド分割フォー
マットの罫線情報を、表全体のフォーマット情報の罫線
情報32に加える。
マットの罫線情報を、表全体のフォーマット情報の罫線
情報32に加える。
【0152】図26に、罫線情報32−132−2にフ
ィールド分割フォーマットの罫線情報を追加した状態を
示す。ここでは、図21に示したフィールド分割フォー
マットの罫線情報を追加したとする。縦の罫線情報32
−1の最後に、追加分の新たな罫線情報2601が加え
られる。横の罫線情報32−2の最後に、追加分の新た
な罫線情報2602が加えられる。これにより、フィー
ルド分割フォーマット上での0番の縦線(図21の21
12)は、表全体のフォーマット上では37番(図21
の2118)になる。また、フィールド分割フォーマッ
ト上での0番と1番の横線(図21の2112,211
3)は、表全体のフォーマット上では18番と19番
(図21の2116,2117)となる。
ィールド分割フォーマットの罫線情報を追加した状態を
示す。ここでは、図21に示したフィールド分割フォー
マットの罫線情報を追加したとする。縦の罫線情報32
−1の最後に、追加分の新たな罫線情報2601が加え
られる。横の罫線情報32−2の最後に、追加分の新た
な罫線情報2602が加えられる。これにより、フィー
ルド分割フォーマット上での0番の縦線(図21の21
12)は、表全体のフォーマット上では37番(図21
の2118)になる。また、フィールド分割フォーマッ
ト上での0番と1番の横線(図21の2112,211
3)は、表全体のフォーマット上では18番と19番
(図21の2116,2117)となる。
【0153】ステップ2308:表全体のフィールド情
報33へのフィールド分割フォーマットのフィールド情
報の追加及び変更を行なう。すなわち、分割対象のフィ
ールドのフィールド情報を、フィールド分割フォーマッ
トのフィールド情報に置き換える。これにより、分割フ
ィールドを加えた新たなフィールド情報33を作成す
る。
報33へのフィールド分割フォーマットのフィールド情
報の追加及び変更を行なう。すなわち、分割対象のフィ
ールドのフィールド情報を、フィールド分割フォーマッ
トのフィールド情報に置き換える。これにより、分割フ
ィールドを加えた新たなフィールド情報33を作成す
る。
【0154】図27に、フィールド情報の変更処理の様
子を示す。表全体のフィールド情報2701の、分割対
象のフィールド2702を、フィールド分割フォーマッ
トのフィールド情報2703に置き換える。この際、フ
ィールド分割フォーマット上での上下左右の罫線番号
を、図26で示した表全体の中での罫線番号に変換する
(2704)。
子を示す。表全体のフィールド情報2701の、分割対
象のフィールド2702を、フィールド分割フォーマッ
トのフィールド情報2703に置き換える。この際、フ
ィールド分割フォーマット上での上下左右の罫線番号
を、図26で示した表全体の中での罫線番号に変換する
(2704)。
【0155】ステップ2309:図18のフィールドの
位置設定処理と同じ手順で、ステップ2308で新たに
作成したフィールド情報33に基づいて、そのフィール
ドを囲む上下左右の罫線の交点から、フィールド位置情
報35をその4隅の座標で設定する。
位置設定処理と同じ手順で、ステップ2308で新たに
作成したフィールド情報33に基づいて、そのフィール
ドを囲む上下左右の罫線の交点から、フィールド位置情
報35をその4隅の座標で設定する。
【0156】ステップ2310:フィールド番号カウン
タiに、1を加える。
タiに、1を加える。
【0157】ステップ2311:フィールド番号カウン
タiが、フィールド数よりも小さければ、次のフィール
ドの処理のために、ステップ2302に進む。そうでな
ければ、フィールド分割処理を終える。
タiが、フィールド数よりも小さければ、次のフィール
ドの処理のために、ステップ2302に進む。そうでな
ければ、フィールド分割処理を終える。
【0158】上述の第1及び第2の実施例とも、フォー
マット判定の際には、フォーマットの全罫線を用いて判
定していたが、他のフォーマットと差異のある部分だけ
を用いて判定することにより、高速化が可能である。
マット判定の際には、フォーマットの全罫線を用いて判
定していたが、他のフォーマットと差異のある部分だけ
を用いて判定することにより、高速化が可能である。
【0159】図28は、このような判定に用いるフォー
マット判定用罫線情報を作成する方式のフローチャート
である。
マット判定用罫線情報を作成する方式のフローチャート
である。
【0160】3つのフォーマットA,B,Cがある場
合、まず、フォーマットAとフォーマットBについて、
それぞれのフォーマット中の全ての罫線を、他のフォー
マットの罫線と比較し、長さや位置などで類似したもの
がない罫線だけを抽出する。これにより、AとBを区別
する罫線が得られる。以上の処理を、AとC、BとCの
組み合わせについても行なうことで、それぞれのフォー
マットを判定するのに必要な罫線が得られる。これをフ
ォーマット判定用罫線情報34として、それぞれのフォ
ーマットについて得る。
合、まず、フォーマットAとフォーマットBについて、
それぞれのフォーマット中の全ての罫線を、他のフォー
マットの罫線と比較し、長さや位置などで類似したもの
がない罫線だけを抽出する。これにより、AとBを区別
する罫線が得られる。以上の処理を、AとC、BとCの
組み合わせについても行なうことで、それぞれのフォー
マットを判定するのに必要な罫線が得られる。これをフ
ォーマット判定用罫線情報34として、それぞれのフォ
ーマットについて得る。
【0161】フォーマット判定用罫線情報34を、フォ
ーマット判定時に、罫線情報32と置き換えることで、
フォーマット判定処理の高速化が実現できる。
ーマット判定時に、罫線情報32と置き換えることで、
フォーマット判定処理の高速化が実現できる。
【0162】以下、図28の各ステップについて説明す
る。
る。
【0163】ステップ2801:複数のフォーマットか
ら、2つのフォーマットを選択する組み合わせを全て作
成する。
ら、2つのフォーマットを選択する組み合わせを全て作
成する。
【0164】ステップ2802:ステップ2801で作
成したフォーマットの組み合わせの1つから、2つのフ
ォーマットの罫線情報を読み出す。
成したフォーマットの組み合わせの1つから、2つのフ
ォーマットの罫線情報を読み出す。
【0165】ステップ2803:各フォーマットの全罫
線を比較し、それぞれ、長さ、位置が類似した罫線を除
く。
線を比較し、それぞれ、長さ、位置が類似した罫線を除
く。
【0166】ステップ2804:ステップ2803で除
去されなかった罫線を、フォーマット判定用罫線情報3
4に格納する。例えば、フォーマットAとBを比較した
場合、34−1に、フォーマットAの罫線情報でフォー
マットBと対応しなかった罫線が格納される。また、3
4−2に、フォーマットBの罫線情報でフォーマットA
と対応しなかった罫線が格納される。
去されなかった罫線を、フォーマット判定用罫線情報3
4に格納する。例えば、フォーマットAとBを比較した
場合、34−1に、フォーマットAの罫線情報でフォー
マットBと対応しなかった罫線が格納される。また、3
4−2に、フォーマットBの罫線情報でフォーマットA
と対応しなかった罫線が格納される。
【0167】ステップ2805:ステップ2801で求
めた他のフォーマット同士の組み合わせについても、ス
テップ2802からステップ2804を実行し、それぞ
れの組み合わせで発生したフォーマット判定用罫線を求
める。
めた他のフォーマット同士の組み合わせについても、ス
テップ2802からステップ2804を実行し、それぞ
れの組み合わせで発生したフォーマット判定用罫線を求
める。
【0168】以上の処理により、フォーマット判定用罫
線情報が作成される。
線情報が作成される。
【0169】
【発明の効果】本発明によれば、画像の非線形なずれを
フィールドを囲む罫線を用いることで補正しているの
で、高精度なフィールド抽出が可能である。また、画像
データで罫線が一部途切れている場合などでも、正しい
フィールド抽出が可能である。
フィールドを囲む罫線を用いることで補正しているの
で、高精度なフィールド抽出が可能である。また、画像
データで罫線が一部途切れている場合などでも、正しい
フィールド抽出が可能である。
【0170】フォーマットをフィールドの集合としてで
なく、表を構成する罫線の集合と、罫線に囲まれるフィ
ールドとしてして記述することで、フィールド単位での
位置補正では困難であった問題(罫線近くに存在する”
1”などの影響)を排除することができる。
なく、表を構成する罫線の集合と、罫線に囲まれるフィ
ールドとしてして記述することで、フィールド単位での
位置補正では困難であった問題(罫線近くに存在する”
1”などの影響)を排除することができる。
【0171】複数のフィールドにまたがる長い罫線を罫
線情報中で1本の罫線とすると、画像の非線形なひずみ
に対応し切れない場合がある。しかし、本発明では、1
本の罫線を途中で分断し複数の罫線情報として取り扱う
ことができる。したがって、長い罫線についても、部分
的な直線近似により、十分対応が可能である。
線情報中で1本の罫線とすると、画像の非線形なひずみ
に対応し切れない場合がある。しかし、本発明では、1
本の罫線を途中で分断し複数の罫線情報として取り扱う
ことができる。したがって、長い罫線についても、部分
的な直線近似により、十分対応が可能である。
【0172】フォーマットに対応する線要素の有無を判
定することで、複数のフォーマットの判定が、ID等の
付加情報無しで可能となる。また、フォーマットの部分
的な変動(例えば、フィールド内に別の構造を有する場
合など)に対しても、変動部分のフォーマットを持つだ
けで、表認識が可能となる。
定することで、複数のフォーマットの判定が、ID等の
付加情報無しで可能となる。また、フォーマットの部分
的な変動(例えば、フィールド内に別の構造を有する場
合など)に対しても、変動部分のフォーマットを持つだ
けで、表認識が可能となる。
【図1】本発明の第1の実施例のシステム構成図
【図2】表認識処理全体の概略フローチャート図
【図3】フォーマットデータの例(その1)を示す図
【図4】フォーマットデータの例(その2)を示す図
【図5】フォーマット情報中の罫線情報の内容を示す図
【図6】フォーマット情報中のフィールド情報の内容を
示す図
示す図
【図7】表外枠抽出処理のフローチャート図
【図8】表外枠抽出処理における表外枠の概略位置判定
の様子を示す図
の様子を示す図
【図9】表外枠抽出処理における表外枠の補正の様子を
示す図
示す図
【図10】表外枠抽出処理における表外枠全体の抽出結
果を示す図
果を示す図
【図11】画像とフォーマットの一致度評価処理のフロ
ーチャート図
ーチャート図
【図12】罫線と画像のマッチング処理のフローチャー
ト図
ト図
【図13】罫線と画像のマッチング処理における罫線の
検索範囲の設定の様子を示す図
検索範囲の設定の様子を示す図
【図14】罫線と画像のマッチング処理における罫線の
存在範囲の判定の様子を示す図
存在範囲の判定の様子を示す図
【図15】画像データのフォーマットの同定処理のフロ
ーチャート図
ーチャート図
【図16】罫線の位置補正処理と画像中の罫線消去処理
のフローチャート図
のフローチャート図
【図17】罫線の位置補正処理の様子を示す図
【図18】認識フィールドの位置設定処理のフローチャ
ート図
ート図
【図19】フィールド位置情報の内容を示す図
【図20】フィールド内文字認識処理のフローチャート
図
図
【図21】フィールドの分割処理の概要を示す図
【図22】フィールドの分割処理の図2のフローチャー
トへの追加分を示す図
トへの追加分を示す図
【図23】フィールドの分割判定及び分割処理のフロー
チャート図
チャート図
【図24】フィールド分割フォーマットの例を示す図
【図25】フィールド分割フォーマット情報の内容を示
す図
す図
【図26】表全体の罫線情報へのフィールド分割フォー
マットの罫線情報追加を示す図
マットの罫線情報追加を示す図
【図27】表全体のフィールド情報へのフィールド分割
フォーマットの追加を示す図
フォーマットの追加を示す図
【図28】フォーマット判定用罫線情報の作成処理のフ
ローチャート図
ローチャート図
10 CPU 20 メモリ 30 ハードディスク 40 ハードディスク
コントローラ 50 入出力端末 51 端末コントロー
ラ 60 イメージスキャナ 61 ディスク 62 画像入力コントローラ 70 プリンタ 71 プリンタコントローラ 80 システムバス 31 フォーマット情報データベース 32 フォーマ
ット罫線情報 33 フォーマットフィールド情報 34 フォーマ
ット判定用線分情報 35 フィールド位置情報 36 部分フォーマッ
トデータベース
コントローラ 50 入出力端末 51 端末コントロー
ラ 60 イメージスキャナ 61 ディスク 62 画像入力コントローラ 70 プリンタ 71 プリンタコントローラ 80 システムバス 31 フォーマット情報データベース 32 フォーマ
ット罫線情報 33 フォーマットフィールド情報 34 フォーマ
ット判定用線分情報 35 フィールド位置情報 36 部分フォーマッ
トデータベース
Claims (14)
- 【請求項1】所定フォーマットの罫線で構成された表形
式の文書を、画像入力手段を用いて画像データとして読
み込み、該画像データから該表構造を認識する表認識方
法であって、 前記画像データから表の基準線を抽出する基準線抽出ス
テップと、 抽出した基準線を基準として、前記所定フォーマットの
罫線を、画像データ上の座標へと座標変換する座標変換
ステップと、 座標変換された罫線と前記画像データとの位置ずれを検
出し、検出した位置ずれに基づいて前記罫線の位置を補
正する位置補正ステップとを備えたことを特徴とする表
認識方法。 - 【請求項2】所定フォーマットの罫線で構成された表形
式の文書を、画像入力手段を用いて画像データとして読
み込み、該画像データから該表構造を認識する表認識方
法であって、 前記画像データから表の基準線を抽出する基準線抽出ス
テップと、 あらかじめ用意されている複数のフォーマット情報か
ら、1つのフォーマットの罫線を表す罫線情報を読み出
し、読み出した罫線と前記画像データとの一致度を求め
る一致度評価ステップと、 該一致度評価の処理を、前記複数のフォーマット情報の
すべてに対して行ない、複数のフォーマットのそれぞれ
に対応する一致度を求めるステップと、 該一致度がもっとも高いフォーマットを、前記画像デー
タに対応する対応フォーマットと判定するステップと、 該対応フォーマットの罫線と前記画像データとの位置ず
れを検出し、検出した位置ずれに基づいて前記罫線の位
置を補正するステップと、 該補正後の罫線の位置に基づいて、罫線で囲まれたフィ
ールドの位置を求めるステップとを備えたことを特徴と
する表認識方法。 - 【請求項3】所定フォーマットの罫線で構成された表形
式の文書を、画像入力手段を用いて画像データとして読
み込み、該画像データから該表構造を認識する表認識方
法であって、 前記画像データから表の基準線を抽出する基準線抽出ス
テップと、 あらかじめ用意されている複数のフォーマット情報か
ら、1つのフォーマットの罫線を表す罫線情報を読み出
し、読み出した罫線を、前記抽出した基準線を基準とし
て前記画像データ上の座標へと座標変換する座標変換ス
テップと、 前記座標変換した罫線と前記画像データとをマッチング
させ、前記画像データ中に前記座標変換した罫線に対応
する罫線が存在するか否かを判定する罫線探索ステップ
と、 前記座標変換ステップ及び前記罫線探索ステップの処理
を前記複数のフォーマットのすべての罫線について行な
うとともに、各フォーマットごとに、一致した罫線の全
罫線数に占める割合を求めその割合をそのフォーマット
と画像データとの一致度とするステップと、 該一致度が最も高いフォーマットを、前記画像データに
対応する対応フォーマットと判定するステップと、 該対応フォーマットの罫線と前記画像データとの位置ず
れを検出し、検出した位置ずれに基づいて前記罫線の位
置を補正するステップと、 該補正後の罫線の位置に基づいて、罫線で囲まれたフィ
ールドの位置を求めるステップとを備えたことを特徴と
する表認識方法。 - 【請求項4】前記最も高い一致度が、所定の閾値に達し
なかった場合は、これをリジェクトし、以後の表認識処
理を行わない請求項2または3に記載の表認識方法。 - 【請求項5】表を構成する罫線を、1つのフィールドを
構成する部分単位に分割し、分割された罫線の部分単位
に、前記位置の補正を行う請求項1から3のいずれか1
つに記載の表認識方法。 - 【請求項6】表を構成する罫線を、1つのフィールドを
構成する部分単位に分割し、分割された罫線の部分のう
ち連続した複数の部分をまとめ、まとめられた部分を単
位として、前記位置の補正を行う請求項1から3のいず
れか1つに記載の表認識方法。 - 【請求項7】表を構成する罫線単位に、前記位置の補正
を行う請求項1から3のいずれか1つに記載の表認識方
法。 - 【請求項8】前記表内のフィールドの一部が複数のフィ
ールドに分割されうるフォーマットを有する表に対し、
該フィールド内の部分的なフォーマットを、前記フォー
マット情報とは別のフィールド分割フォーマット情報と
して用意しておくとともに、 さらに、該フィールド内のフィールド分割フォーマット
を、該フィールド分割フォーマット情報を用いて判定
し、得られたフィールド分割フォーマットを前記対応フ
ォーマットに追加し、追加されたフィールドについても
他フィールドと同様に認識する請求項2または3に記載
の表認識方法。 - 【請求項9】フォーマットを構成する罫線のうち、他の
フォーマットに現われないような特徴的な罫線を抽出し
て、これをフォーマット判定用の罫線情報としてあらか
じめ用意しておき、このフォーマット判定用罫線と画像
の一致度を求めることで、フォーマットの判定を行なう
請求項2または3に記載の表認識方法。 - 【請求項10】所定フォーマットの罫線で構成された表
形式の文書を、画像入力手段を用いて画像データとして
読み込み、該画像データから該表構造を認識する表認識
装置であって、 前記画像データから表の基準線を抽出する基準線抽出手
段と、 抽出した基準線を基準として、前記所定フォーマットの
罫線を、画像データ上の座標へと座標変換する座標変換
手段と、 座標変換された罫線と前記画像データとの位置ずれを検
出し、検出した位置ずれに基づいて前記罫線の位置を補
正する位置補正手段とを備えたことを特徴とする表認識
装置。 - 【請求項11】所定フォーマットの罫線で構成された表
形式の文書を、画像入力手段を用いて画像データとして
読み込み、該画像データから該表構造を認識する表認識
装置であって、 複数の表のフォーマットを規定するフォーマット情報を
記憶した記憶手段と、 前記画像データから表の基準線を抽出する基準線抽出手
段と、 前記記憶手段の複数のフォーマット情報から、1つのフ
ォーマットの罫線を表す罫線情報を読み出し、読み出し
た罫線と前記画像データとの一致度を求める一致度評価
手段と、 該一致度評価の処理を、前記複数のフォーマット情報の
すべてに対して行ない、複数のフォーマットのそれぞれ
に対応する一致度を求める手段と、 該一致度がもっとも高いフォーマットを、前記画像デー
タに対応する対応フォーマットと判定する手段と、 該対応フォーマットの罫線と前記画像データとの位置ず
れを検出し、検出した位置ずれに基づいて前記罫線の位
置を補正する手段と、 該補正後の罫線の位置に基づいて、罫線で囲まれたフィ
ールドの位置を求める手段とを備えたことを特徴とする
表認識装置。 - 【請求項12】所定フォーマットの罫線で構成された表
形式の文書を、画像入力手段を用いて画像データとして
読み込み、該画像データから該表構造を認識する表認識
装置であって、 複数の表のフォーマットを規定するフォーマット情報を
記憶した記憶手段と、 前記画像データから表の基準線を抽出する基準線抽出手
段と、 前記記憶手段の複数のフォーマット情報から、1つのフ
ォーマットの罫線を表す罫線情報を読み出し、読み出し
た罫線を、前記抽出した基準線を基準として前記画像デ
ータ上の座標へと座標変換する座標変換手段と、 前記座標変換した罫線と前記画像データとをマッチング
させ、前記画像データ中に前記座標変換した罫線に対応
する罫線が存在するか否かを判定する罫線探索手段と、 前記座標変換手段及び前記罫線探索手段の処理を前記複
数のフォーマットのすべての罫線について行なうととも
に、各フォーマットごとに、一致した罫線の全罫線数に
占める割合を求めその割合をそのフォーマットと画像デ
ータとの一致度とする手段と、 該一致度が最も高いフォーマットを、前記画像データに
対応する対応フォーマットと判定する手段と、 該対応フォーマットの罫線と前記画像データとの位置ず
れを検出し、検出した位置ずれに基づいて前記罫線の位
置を補正する手段と、 該補正後の罫線の位置に基づいて、罫線で囲まれたフィ
ールドの位置を求める手段とを備えたことを特徴とする
表認識装置。 - 【請求項13】所定フォーマットの罫線と該罫線に囲ま
れたフィールド内に記載された文字とから構成された表
形式の文書を、画像入力手段を用いて画像データとして
読み込み、該画像データから該表構造およびフィールド
内の文字を認識する文字の自動読み取り方法であって、 前記画像データから表の基準線を抽出する基準線抽出ス
テップと、 あらかじめ用意されている複数のフォーマット情報か
ら、1つのフォーマットの罫線を表す罫線情報を読み出
し、読み出した罫線と前記画像データとの一致度を求め
る一致度評価ステップと、 該一致度評価の処理を、前記複数のフォーマット情報の
すべてに対して行ない、複数のフォーマットのそれぞれ
に対応する一致度を求めるステップと、 該一致度がもっとも高いフォーマットを、前記画像デー
タに対応する対応フォーマットと判定するステップと、 該対応フォーマットの罫線と前記画像データとの位置ず
れを検出し、検出した位置ずれに基づいて前記罫線の位
置を補正するステップと、 該補正後の罫線の位置に基づいて、罫線で囲まれたフィ
ールドの位置を求めるステップと、 位置補正後のフィールドに含まれる文字パターンを抽出
して、文字認識を行うステップとを備えたことを特徴と
する文字の自動読み取り方法。 - 【請求項14】所定フォーマットの罫線と該罫線に囲ま
れたフィールド内に記載された文字とから構成された表
形式の文書を、画像入力手段を用いて画像データとして
読み込み、該画像データから該表構造およびフィールド
内の文字を認識する文字の自動読み取り装置であって、 複数の表のフォーマットを規定するフォーマット情報を
記憶した記憶手段と、 前記画像データから表の基準線を抽出する基準線抽出手
段と、 前記記憶手段の複数のフォーマット情報から、1つのフ
ォーマットの罫線を表す罫線情報を読み出し、読み出し
た罫線と前記画像データとの一致度を求める一致度評価
手段と、 該一致度評価の処理を、前記複数のフォーマット情報の
すべてに対して行ない、複数のフォーマットのそれぞれ
に対応する一致度を求める手段と、 該一致度がもっとも高いフォーマットを、前記画像デー
タに対応する対応フォーマットと判定する手段と、 該対応フォーマットの罫線と前記画像データとの位置ず
れを検出し、検出した位置ずれに基づいて前記罫線の位
置を補正する手段と、 該補正後の罫線の位置に基づいて、罫線で囲まれたフィ
ールドの位置を求める手段と、 位置補正後のフィールドに含まれる文字パターンを抽出
して、文字認識を行う手段とを備えたことを特徴とする
文字の自動読み取り装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6027443A JPH07220023A (ja) | 1994-01-31 | 1994-01-31 | 表認識方法及びその装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6027443A JPH07220023A (ja) | 1994-01-31 | 1994-01-31 | 表認識方法及びその装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07220023A true JPH07220023A (ja) | 1995-08-18 |
Family
ID=12221264
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6027443A Pending JPH07220023A (ja) | 1994-01-31 | 1994-01-31 | 表認識方法及びその装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07220023A (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008015702A (ja) * | 2006-07-04 | 2008-01-24 | Tokyo Soft Kk | 帳票処理装置 |
| JP2008083846A (ja) * | 2006-09-26 | 2008-04-10 | Oki Electric Ind Co Ltd | 認識対象領域決定方法及び装置 |
| JP2011039896A (ja) * | 2009-08-14 | 2011-02-24 | Fuji Xerox Co Ltd | 画像処理装置及びコンピュータプログラム |
| JP2016181141A (ja) * | 2015-03-24 | 2016-10-13 | 富士ゼロックス株式会社 | 処理装置、画像処理システム、およびプログラム |
| US9628637B2 (en) | 2014-08-18 | 2017-04-18 | Ricoh Company, Ltd. | Information processing system, image forming apparatus, and computer program product configured to combine personal information with document image |
| US9927971B2 (en) | 2014-12-05 | 2018-03-27 | Kabushiki Kaisha Toshiba | Electronic apparatus, method and storage medium for generating chart object |
| CN109447015A (zh) * | 2018-11-03 | 2019-03-08 | 上海犀语科技有限公司 | 一种处理表格图片中框选文字的方法及装置 |
| CN111966882A (zh) * | 2020-09-14 | 2020-11-20 | 量子数聚(北京)科技有限公司 | 数据导入方法、装置、系统及计算机可读存储介质 |
| CN114694149A (zh) * | 2022-04-06 | 2022-07-01 | 北京智慧荣升科技有限公司 | 表格图片校正方法、装置、电子设备及存储介质 |
-
1994
- 1994-01-31 JP JP6027443A patent/JPH07220023A/ja active Pending
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008015702A (ja) * | 2006-07-04 | 2008-01-24 | Tokyo Soft Kk | 帳票処理装置 |
| JP2008083846A (ja) * | 2006-09-26 | 2008-04-10 | Oki Electric Ind Co Ltd | 認識対象領域決定方法及び装置 |
| JP2011039896A (ja) * | 2009-08-14 | 2011-02-24 | Fuji Xerox Co Ltd | 画像処理装置及びコンピュータプログラム |
| US9628637B2 (en) | 2014-08-18 | 2017-04-18 | Ricoh Company, Ltd. | Information processing system, image forming apparatus, and computer program product configured to combine personal information with document image |
| US9927971B2 (en) | 2014-12-05 | 2018-03-27 | Kabushiki Kaisha Toshiba | Electronic apparatus, method and storage medium for generating chart object |
| JP2016181141A (ja) * | 2015-03-24 | 2016-10-13 | 富士ゼロックス株式会社 | 処理装置、画像処理システム、およびプログラム |
| CN109447015A (zh) * | 2018-11-03 | 2019-03-08 | 上海犀语科技有限公司 | 一种处理表格图片中框选文字的方法及装置 |
| CN111966882A (zh) * | 2020-09-14 | 2020-11-20 | 量子数聚(北京)科技有限公司 | 数据导入方法、装置、系统及计算机可读存储介质 |
| CN114694149A (zh) * | 2022-04-06 | 2022-07-01 | 北京智慧荣升科技有限公司 | 表格图片校正方法、装置、电子设备及存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3576570B2 (ja) | 比較方法 | |
| JP3113827B2 (ja) | 矩形オブジェクトの認識方法及び認識装置 | |
| JP3943638B2 (ja) | Ocrを利用しない文書画像中のドロップワードの自動認識方法 | |
| JPH09179937A (ja) | 文書画像のセンテンスの境界の自動識別方法 | |
| JP6900164B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
| JP3294995B2 (ja) | 帳票読取装置 | |
| JPH05242292A (ja) | 分離方法 | |
| JPH08293001A (ja) | 画像処理装置及び光学的文字認識装置及びそれらの方法 | |
| JPH08287184A (ja) | 画像切り出し装置及び文字認識装置 | |
| US6810147B2 (en) | Document image processing apparatus for processing line portions manually input to document image, method therefor, and computer readable recording medium recorded with document image processing program therefor | |
| JPH07220023A (ja) | 表認識方法及びその装置 | |
| CN115311666A (zh) | 图文识别方法、装置、计算机设备及存储介质 | |
| JP2001126010A (ja) | 帳票処理装置、帳票定義作成方法、領域抽出方法及び記憶媒体 | |
| JPH11328306A (ja) | 文書画像の論理要素抽出方法、装置および記録媒体 | |
| JP2020119206A (ja) | 情報処理装置、及びプログラム | |
| CN120747985B (zh) | 答题卡的自动批阅方法、系统 | |
| JP2786044B2 (ja) | 光学的文字読み取り装置 | |
| JP2002312398A (ja) | 文書検索装置 | |
| KR0183779B1 (ko) | 전표 등록 방법 및 장치 | |
| JPH09185675A (ja) | 様式解析方法 | |
| JP2995818B2 (ja) | 文字切り出し方法 | |
| JPH0689330A (ja) | 画像ファイリングシステム | |
| JPH10222688A (ja) | 画像処理方法 | |
| JP2003323586A (ja) | 帳票フォーム登録方法および帳票認識方法 | |
| JPH04241074A (ja) | 自動文書清書装置 |