(57)【要約】【課題】本発明は、原稿台に無作為に置かれたサイズや種類が異なる複数の帳票を一度にスキャンした画像から各帳票の画像部分を抽出して該帳票を特定・認識することができる画像処理装置を提供する。【解決手段】本画像処理装置は、スキャン画像上の直線を抽出し、抽出された直線のうちの任意の直線に対して平行又は直角になる直線を抽出する。そして、抽出された直線よりなる抽出直線画像から所定の矩形領域を抽出し、当該所定の矩形領域と予め登録された複数の帳票パターンと比較して一致するものがあるか否かを判断する。そして、帳票パターンと一致するものがあったときは、所定の矩形領域を画像から抽出して格納すると共に、当該矩形領域を画像から除外する。【選択図】図４
2008167009.tif 000002
【特許請求の範囲】
【請求項１】
読み取られた画像上の複数の帳票を個別に認識する画像処理装置において、
前記画像上の直線を抽出する第１の直線抽出手段と、
前記抽出された直線のうちの任意の直線に対して平行又は直角になる直線を抽出する第２の直線抽出手段と、
前記第２の直線抽出手段で抽出された直線よりなる抽出直線画像から所定の矩形領域を抽出し、当該所定の矩形領域と予め登録された複数の帳票パターンと比較して一致するものがあるか否かを判断する帳票パターン照合手段と、
前記帳票パターンと一致するものがあったときは、前記所定の矩形領域を前記画像から抽出して格納すると共に、当該矩形領域を前記画像から除外する画像処理手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記第２の直線抽出手段は、前記画像上の直線を抽出し、抽出した直線の傾き角度及び両端の座標値を格納することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記帳票パターン照合手段は、前記抽出直線画像の水平及び垂直な直線を検索し、検索した２本の直線に基づいて仮想分断線を設定する設定手段と、
前記仮想分断線のうち水平方向の２本と垂直方向の２本に囲まれた所定の矩形領域を抽出する矩形領域抽出手段とを備え、
前記抽出された所定の矩形領域内の水平及び垂直方向の直線と前記帳票パターン内の垂直及び水平方向の直線とを比較することで一致しているか否かを判断することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記画像処理手段は、前記一致した帳票パターンで前記帳票画像を前記画像から切り出し、切り出した帳票画像の傾きを補正して格納すると共に、前記画像の切り出された帳票画像部分を消去することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第２の直線抽出手段は、前記第１の直線抽出手段により抽出された直線のうちの任意の直線であって、傾きを有する直線を水平又は垂直になるように回転した画像を生成し、該生成した画像から水平及び垂直の直線を抽出することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
読み取られた画像上の複数の帳票を個別に認識する画像処理方法において、
前記画像上の直線を抽出する第１の直線抽出工程と、
前記抽出された直線のうちの任意の直線に対して平行又は直角になる直線を抽出する第２の直線抽出工程と、
前記第２の直線抽出工程で抽出された直線よりなる抽出直線画像から所定の矩形領域を抽出し、当該所定の矩形領域と予め登録された複数の帳票パターンと比較して一致するものがあるか否かを判断する帳票パターン照合工程と、
前記帳票パターンと一致するものがあったときは、前記所定の矩形領域を前記画像から抽出して格納すると共に、当該矩形領域を前記画像から除外する画像処理工程とを備えることを特徴とする画像処理方法。
【請求項７】
請求項６に記載の画像処理方法をコンピュータに実行させるためのコンピュータに読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び方法、並びにプログラムに関し、特に、サイズや種類が異なる複数の帳票を一度にスキャンした画像から各帳票画像を抽出して特定することができる画像処理装置及び方法、並びにプログラムを提供することを目的とする。
【背景技術】
【０００２】
複数の帳票を１枚ずつ処理することを前提として、予め登録された複数の帳票パターンの中から、スキャンされた帳票の画像と一致する帳票パターンを識別し、特定した帳票に対して処理を行う技術が知られている。
【０００３】
従来、紙媒体である帳票をスキャンして帳票上に記載された文字列を認識する場合、帳票の傾きにより認識率が低下するという問題がある。これに対して、帳票の傾きを検知し、水平方向または垂直方向のズレを補正してから文字を認識する技術が提案されている（例えば、特許文献１参照）。
【０００４】
また、傾きがバラバラである複数の帳票を一斉にスキャンして一度に複数の帳票を認識する技術が提案されている（例えば、特許文献２参照）。
【特許文献１】特開平７−１２１６５８号公報
【特許文献２】特開平９−１２８４７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献２では、複数の帳票の種類が同一のものに限られ、また等間隔に設けられた区画に帳票を並べるという制約が課せられている。例えば、名刺のように予め形がわかっているものを縦横一様（碁盤の目）に並べるようなケースに限定される。この条件から外れる帳票については、上記特許文献１のように、帳票を１枚ずつのスキャンする必要がある。
【０００６】
本発明は、上記問題に鑑みて成されたものであり、原稿台に無作為に置かれたサイズや種類が異なる複数の帳票を一度にスキャンした画像から各帳票の画像部分を抽出して該帳票を特定・認識することができる画像処理装置及び方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１記載の画像処理装置は、読み取られた画像上の複数の帳票を個別に認識する画像処理装置において、前記画像上の直線を抽出する第１の直線抽出手段と、前記抽出された直線のうちの任意の直線に対して平行又は直角になる直線を抽出する第２の直線抽出手段と、前記第２の直線抽出手段で抽出された直線よりなる抽出直線画像から所定の矩形領域を抽出し、当該所定の矩形領域と予め登録された複数の帳票パターンと比較して一致するものがあるか否かを判断する帳票パターン照合手段と、前記帳票パターンと一致するものがあったときは、前記所定の矩形領域を前記画像から抽出して格納すると共に、当該矩形領域を前記画像から除外する画像処理手段とを備えることを特徴とする。
【０００８】
上記目的を達成するために、請求項６記載の画像処理方法は、読み取られた画像上の複数の帳票を個別に認識する画像処理方法において、前記画像上の直線を抽出する第１の直線抽出工程と、前記抽出された直線のうちの任意の直線に対して平行又は直角になる直線を抽出する第２の直線抽出工程と、前記第２の直線抽出工程で抽出された直線よりなる抽出直線画像から所定の矩形領域を抽出し、当該所定の矩形領域と予め登録された複数の帳票パターンと比較して一致するものがあるか否かを判断する帳票パターン照合工程と、前記帳票パターンと一致するものがあったときは、前記所定の矩形領域を前記画像から抽出して格納すると共に、当該矩形領域を前記画像から除外する画像処理工程とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、原稿台に無作為に置かれたサイズや種類が異なる複数の帳票を一度にスキャンした画像から各帳票の画像部分を抽出して該帳票を特定・認識することができ、スキャニング処理の効率を高めることができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００１１】
図１は、本発明の実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。
【００１２】
図１において、帳票認識装置（画像処理装置）２００は、パーソナルコンピュータ（ＰＣ）等から成り、ＣＰＵ２０１と、ＲＡＭ２０２と、ＲＯＭ２０３と、メモリ２０４と、バス２０５と、入力装置２０６と、通信インタフェース２０７とを備える。
【００１３】
ＣＰＵ２０１は、ＲＯＭ２０３に記憶された制御プログラムを読み出して実行すると共に、帳票認識装置全体を制御する。ＲＡＭ２０２は、データ等を一時記憶するためのバッファやワークエリア等として機能し、後述する帳票認識処理を行う際の処理対象となる帳票イメージ等が一時的に記憶される。
【００１４】
ＲＯＭ２０３は、ＣＰＵ２０１に実行される制御プログラムを記憶する。メモリ２０４は、ハードディスクドライブ等の記憶装置であり、サイズや種類の異なる複数の帳票パターンを記憶する。ここで、帳票パターンは、帳票においてその内容が未記述である状態、すなわち予め定型情報の一部として視覚可能な罫線位置などに基づき、他の帳票と区別可能で、帳票の種類を特定可能な情報を意味する。具体的には、図１３（ｂ）又は図１３（ｃ）に示すように、帳票構造を直線のみでパターン化したものである。なお、メモリ２０４は外部記憶装置であってもよい。入出力装置２０６は、キーボードやマウス、ディスプレイなどで構成される。
【００１５】
通信インタフェース２０７は、外部機器と通信を行うためのインタフェースである。通信インタフェース２０７は、ネットワーク２０９を介して外部の画像読取装置２０８に接続することができ、該画像読取装置２０８上でスキャンされたスキャン画像データを取り込む。バス２０５は、上述した各部を互いに接続するシステムバスである。
【００１６】
画像読取装置２０８は、原稿台上に原稿等を載置して画像を読み取るフラットベッドタイプのスキャナである。本実施の形態では、画像読取装置２０８は画像読取機能のみを備えるが、ＯＣＲのような帳票読み取り機能を備えていてもよい。また、画像読取装置２０８は、画像読取機能や画像形成機能、ＦＡＸ機能等を備える複合機（ＭＦＰ）であってもよい。また、画像読取装置２０８は、ネットワーク２０９を介して通信インタフェース２０７に接続されているが、ケーブルを介してローカルに接続されていてもよい。
【００１７】
次に、図１の帳票認識装置２００において実行される、スキャン画像から帳票イメージを抽出する流れについて図２及び図３を参照して説明する。
【００１８】
図２は、サイズや種類の異なる複数の帳票が画像読取装置の原稿台上に任意に置かれた状態を示す図である。図３（ａ）〜図３（ｅ）は、図２に示す状態でスキャンされたスキャン画像から各帳票イメージを１つずつ抽出する一連の流れを示す図である。
【００１９】
図２において、画像読取装置２０８は、サイズや種類の異なる複数の帳票を置くことが可能な原稿台２１０を備える。原稿台２１０上には、例えば、帳票２１１，２１２，２１３，２１４が載置されているものとする。
【００２０】
図３（ａ）において、スキャン画像１００は、画像読取装置２０８において、原稿台２１０上の４枚の帳票２１１，２１２，２１３，２１４を１度にスキャンした画像である。スキャン画像１００には、帳票２１１，２１２，２１３，２１４に対応する帳票イメージ１０１，１０２，１０３，１０４が含まれている。
【００２１】
帳票認識装置２００は、まず画像形成装置２０８からスキャン画像データを取得する。
【００２２】
次に、スキャン画像１００上の複数の帳票イメージ１０１，１０２，１０３，１０４のうちの１つの帳票イメージ（例えば、帳票イメージ１０１）を抽出する。そして、抽出した帳票イメージ１０１をスキャン画像１００上から削除し、帳票イメージ１０１が存在していた画像部分をクリーンアップする。ここで、クリーンアップとは、当該画像部分を背景と同じ色に置き換えることを意味する。クリーンアップしたスキャン画像１００ａを図３（ｂ）に示す。
【００２３】
次に、帳票認識装置２００は、帳票イメージ１０１が削除されたスキャン画像１００ａから帳票イメージ１０２を抽出する。そして、抽出した帳票イメージ１０２をスキャン画像１００ａ上から削除し、当該画像部分をクリーンアップする。クリーンアップしたスキャン画像１００ｂを図３（ｃ）に示す。スキャン画像１００ｂでは、スキャン画像１００から２枚の帳票イメージが削除されている。
【００２４】
更に、帳票認識装置２００は、スキャン画像１００ｂから帳票イメージ１０３を抽出し、抽出した帳票イメージ１０３を削除して当該画像部分をクリーンアップする。クリーンアップしたスキャン画像１００ｃを図３（ｄ）に示す。スキャン画像１００ｃでは、スキャン画像１００から３枚の帳票イメージが削除されている。
【００２５】
そして、帳票認識装置２００は、スキャン画像１００ｃから帳票イメージ１０４を抽出し、抽出した帳票イメージ１０４を削除して当該画像部分をクリーンアップする。クリーンアップしたスキャン画像１００ｄを図３（ｅ）に示す。スキャン画像１００ｄでは、スキャン画像１００からすべての帳票イメージが削除されている。
【００２６】
なお、本実施の形態においては、抽出した帳票イメージ１０１〜１０４をスキャン画像１００上から削除し、帳票イメージ１０１〜１０４が存在していた画像部分をクリーンアップする方法により本発明を実現しているが、帳票イメージ１０１〜１０４をスキャン画像１００上から削除するのではなく、抽出した帳票イメージ１０１〜１０４が存在していた画像部分の領域を記憶しておき、残りの帳票イメージを抽出する際、既に抽出した帳票イメージが存在していた画像部分の領域以外の画像領域から残りの帳票イメージを抽出する方法によっても実現可能である。これは、残りの帳票イメージを抽出する際に、既に抽出され、画像部分の領域が記憶された帳票イメージを除外して、残りの帳票イメージを抽出することでもある。
【００２７】
次に、帳票認識装置２００において実行される、スキャン画像１００から各帳票イメージを１枚ずつ抽出する動作処理について説明する。
【００２８】
図４は、図１の帳票認識装置２００にて実行される帳票認識処理を示すフローチャートである。
【００２９】
図４において、まず、ユーザが画像読取装置２０８の原稿台２１０上に複数の帳票を任意の位置に置いてスキャン開始指示を行うと、画像読取装置２０８が画像のスキャンを開始してスキャン画像データが得られる（ステップＳ３０１）。原稿台上に載置される複数の帳票は、種類の同一／非同一やサイズの同一／非同一の区別なく、例えば、図２に示すような状態で載置されているものとする。
【００３０】
次に、ステップＳ３０２では、帳票認識装置２００は、画像読取装置２０８からスキャン画像データを取得し、メモリ２０４内のスキャン画像データ格納領域２３０に格納する。スキャン画像データ格納領域２３０は、スキャン画像データを格納するためにメモリ２０４内に設定された記憶領域である。
【００３１】
ステップＳ３０３〜Ｓ３０８は、スキャン画像全体から各帳票に対応する帳票イメージを抽出し、抽出した帳票イメージをＯＣＲ等のアプリケーションに渡せるように、帳票データ保存領域２４０に格納する一連の処理である。この一連の処理により、スキャン画像１００から各帳票イメージが順次抽出される。なお、帳票データ保存領域２４０は、抽出された帳票イメージを格納するためにメモリ２０４内に設定された記憶領域である。
【００３２】
ステップＳ３０３では、帳票認識装置２００は、スキャン画像データ格納領域２３０からスキャン画像データを読み出す。
【００３３】
ステップＳ３０４では、帳票認識装置２００は、読み出したスキャン画像データのスキャン画像１００から直線（直線画像）のみを抽出し、該直線に基づいてスキャン画像１００を回転させるスキャン画像データの正規化処理を行う。ここでは、スキャン画像から抽出した複数の直線のうちの１本の直線に着目し、この直線が画像上の水平軸（又は垂直軸）と平行になるようにスキャン画像１００全体を回転させ、回転した画像から水平又は垂直の直線のみを抽出する。これらの抽出した画像をスキャン正規化画像と呼ぶ（図１０のスキャン正規化画像６０５参照）。ステップＳ３０４における詳細な処理については後述する。
【００３４】
次に、ステップＳ３０５では、帳票認識装置２００は、ステップＳ３０４で生成されたスキャン正規化画像から帳票イメージに対応する所定の矩形領域を抽出し、抽出した所定の矩形領域と予め登録した帳票パターンとを比較する。本実施の形態では、帳票構造を直線のみでパターン化した帳票パターンと、抽出された所定の矩形領域とを照合し、一致するか否かで帳票を特定する方法を採用する。そのため、サイズや種類の異なる複数の帳票の帳票パターンが予めメモリ２０４等に格納されている。ステップＳ３０５における詳細な処理については後述する。
【００３５】
次に、ステップＳ３０６では、帳票認識装置２００は、ステップＳ３０５における比較の結果、帳票パターンと一致するものがあるか否かを判断し、帳票パターンと一致するものあるときは、ステップＳ３０７へ進む。一方、帳票パターンと一致するものがなかったときは、ステップＳ３０９へ進む。
【００３６】
ステップＳ３０７では、帳票パターンと一致する部分（矩形領域）をスキャン画像１００から抽出し、帳票データ保存領域２４０に帳票データとして格納する。そして、抽出した一致部分すなわち帳票イメージをスキャン画像１００上から削除（又は除外）し、帳票イメージが存在していた画像部分をクリーンアップする。上述したように、例えば、抽出した帳票イメージの画像部分を背景色と同じ色で塗りつぶす。このように、スキャン画像１００から帳票イメージが１枚ずつ抽出される度に該スキャン画像１００が更新される。ステップＳ３０７における処理の詳細については後述する。
【００３７】
次に、ステップＳ３０８では、帳票認識装置２００は、スキャン画像１００から全ての帳票イメージの抽出が完了したか否かを判断する。スキャン画像１００上に帳票イメージが存在しないと判断したときは、本処理を終了する。一方、スキャン画像１００上に帳票イメージが存在していると判断したときは、ステップＳ３０３以降の処理を繰り返す。
【００３８】
一方、ステップＳ３０９では、「帳票パターン無し」のエラーメッセージ等を入出力装置２０６に表示して（ステップＳ３０８）、本処理を終了する。これは、予め登録されている帳票パターンにない帳票がスキャンされた場合やスキャン画像が不鮮明なために帳票イメージと帳票パターンとの照合に失敗した場合等が考えられる。なお、一致する帳票パターンがなかった帳票イメージを不詳帳票パターンとして保存し、処理を続行することも可能である。
【００３９】
また、帳票パターンは、直線で形成される輪郭を採用しているが、円のような曲線をパターンに取り入れることもできる。この場合は、帳票イメージにおいても、直線抽出だけではなく、輪郭抽出の技術手段を採用する必要がある。そして、直線や曲線であっても帳票パターンのすべての線とマッチした場合は照合成功となる。また、線の形のマッチングだけでなく、線種の照合、マッチング許容基準等の技術手段を加えれば、本発明の適用範囲が拡大し、より実用的になることは云うまでもない。
【００４０】
次に、図４のステップＳ３０４におけるスキャン画像データの正規化処理の詳細について説明する。
【００４１】
図５は、図４のステップＳ３０４におけるスキャン画像データの正規化処理の詳細を示すフローチャートである。図６は、図５の処理におけるスキャン画像の変遷を示す図である。なお、本処理は、ＣＰＵ２０１がＲＯＭ２０３から読み出した制御プログラムに基づいて実行される処理である。
【００４２】
図５において、ステップＳ４０１では、ＣＰＵ２０１は、スキャン画像１００から直線（直線画像）のみを抽出し、図６に示すようなスキャン直線画像６０２を生成する。直線の抽出方法としては、Hough変換法などの任意のアルゴリズムを利用する。この変換法により、直線判別（直線抽出）及び直線の傾き判別が可能になる。なお、直線か否かの判断基準は、線種や線の太さが異なる線、不鮮明部分等を含む線なども抽出可能なように設定される。
【００４３】
そして、ＣＰＵ２０１は、抽出した各直線の両端（始点及び終点）の座標値と傾き角度を直線情報として図７（ａ）に示すような直線情報リスト１１０１に格納する。通常、複数の帳票イメージを含むスキャン画像１００からは複数の直線が抽出されるので、直線情報１１０２〜１１０８のように、複数の直線情報が独立して格納される。直線情報リスト１１０１の各構成要素は１本の直線に対応する直線情報であり、図７（ｂ）に示すように、例えば、直線情報１１０２には、スキャン画像１００における直線の始点座標及び終点座標、並びに傾きθが格納される。
【００４４】
直線の始点座標及び終点座標は、図６に示すように、スキャン直線画像６０２の左端最下部６１４を原点（０，０）としたときの座標値（Ｘ，Ｙ）である。例えば、直線６０１上の左端６０１ａが直線の始点であり、右端６０１ｂが終点である。直線の傾きθ６１３は、例えば、直線の左端６０１ａと交差する水平軸（Ｘ軸）に平行な仮想線６１１と、当該直線６０１の為す角度である。なお、仮想線６１１は垂直軸（Ｙ軸）に平行であってもよい。
【００４５】
次に、ステップＳ４０２では、ＣＰＵ２０１は、抽出された複数の直線のうちの１本の直線（直線α）に着目する。着目する直線の決め方は任意のアルゴリズムを用いてよい。例えば、スキャン直線画像６０２上のＸ軸座標（以下、「Ｘ座標」という。）の値Ｘを最小値とし、Ｙ軸座標（以下、「Ｙ座標」という。）の値Ｙを最小値から最大値まで変更し、その後、Ｘ座標の値Ｘを１つ増加させて再度Ｙ座標の値Ｙを最小値から最大値まで変更する。このような方法で、スキャン直線画像６０２上を左上から右下にサーチしていく中で、最初に検出された直線を着目する直線αとして選択してもよい。本実施の形態では、スキャン直線画像６０２を左上からサーチして最初に検出した直線６０１を直線αとしている。
【００４６】
ステップＳ４０３では、ＣＰＵ２０１は、フォーカスされた直線α（直線６０１）の始点及び終点の座標値、傾きθをＲＡＭ２０２に格納する。図６に示すように、始点及び終点の座標値は、スキャン直線画像６０２の左端最下部６１４を原点（０，０）としたときの直線αの左端６０１ａと右端６０１ｂの各座標値となる。また、直線αの傾きθは、直線αの左端６０１ａと交差するＸ軸方向に平行な仮想線６１１と直線αの為す角度θ６１３となる。
【００４７】
ステップＳ４０４では、直線αが水平軸（又は垂直軸）すなわち仮想線６１１に対して傾いているときは、直線αを含む帳票イメージも同じ角度で傾いているとみなし、直線αの左端６０１ａを中心に直線αの傾きθ６１３が角度０°（Ｘ軸に対して傾き角０°）になるように、スキャン直線画像６０２全体を回転させる。これにより、スキャン直線画像６０２内に存在する直線αと同じ傾きを持った他の直線が傾きθ＝０°となる。
【００４８】
次に、ステップＳ４０５では、ＣＰＵ２０１は、スキャン画像１００と同じ画像サイズで、何も画像が記録されていない仮想の白紙画像を用意するため、ＲＡＭ２０２内にデータをクリアにしたメモリ空間を確保する。
【００４９】
ステップＳ４０６では、ＣＰＵ２０１は、スキャン直線画像６０４上に存在するすべての直線に対して、その直線が水平または垂直か否かを判定する。すなわち、直線情報リスト１１０１上の各直線情報における傾きθを参照し、ステップＳ４０２で着目した直線αの傾きθ６１３と比較して、当該直線が平行又は直角であるかを判別する。この結果、その直線が平行又は直角であると判断したときは、当該直線を仮想の白紙画像上の同じ座標位置に描画する（ステップＳ４０７）。これにより、スキャン直線画像６０４から抽出された直線のうちの任意の直線に対して平行又は直角になる直線よりなる抽出直線画像が生成される。
【００５０】
一方、ステップＳ４０６の判別の結果、その直線が平行でも直角でもない場合、直線情報リスト１１０１上の全ての直線情報に対して判定が完了したか否かを判断し（ステップＳ４０８）、そうでないときは、リスト１１０１上の次の直線情報に移動してステップＳ４０６以降の処理を繰り返す。一方、全ての直線情報に対して判定が完了したときは、リターンする。これにより、直線αを含む抽出直線画像は、スキャン正規化画像６０５上で垂直及び水平の直線で構成される帳票イメージになる。
【００５１】
次に、図４のステップＳ３０５における、スキャン正規化画像６０５（抽出直線画像）から帳票イメージに対応する所定の矩形領域を抽出し、帳票イメージを特定する処理の流れについて説明する。
【００５２】
図９は、図４のステップＳ３０５における帳票イメージ特定処理の詳細を示すフローチャートである。図１０〜図１２は、図９の処理を説明するための図である。
【００５３】
図９において、ステップＳ９０１では、スキャン正規化画像６０５の縦方向（Ｘ軸と平行（水平方向））に上端から下端まで直線（直線画像）を検索し、スキャン正規化画像６０５の上下端を含む、検索した２本の直線に基づいて、仮想の分断線Ｍを設定して上方から順に番号を付与する。その一例を図１０に示す。
【００５４】
図１０において、スキャン正規化画像６０５上には、帳票イメージと推定される抽出直線画像８０１，８０２，８０３が存在しているものとする。
【００５５】
まず、スキャン正規化画像６０５の縦方向に、Ｘ軸に平行な直線を上端（図の上）から下端へ向かって検索していく。そして、最初に検索された直線８０４とスキャン正規化画像６０５の上端との中間位置にＸ軸平行分断線８０９（Ｍ＝１）を仮想的に設定する。さらに、下方に向かってＸ軸に平行な直線を検索し、次に当たった直線８０５と前の直線８０４との中間位置にＸ軸平行分断線８１０（Ｍ＝２）を仮想的に設定する。この動作を繰り返して、最終的には、スキャン正規化画像６０５の下端と最後の直線との間にＸ軸平行分断線８１１（Ｍ＝ＭａｘＭ、本実施形態ではＭａｘＭ＝１３）を設定する。例えば、図１０に示すような３つの帳票イメージが存在するスキャン正規化画像の場合は、３つの帳票イメージのすべてが１３本の水平直線で分断される。
【００５６】
次に、ステップＳ９０２では、スキャン正規化画像６０５の横方向（Ｙ軸と平行（垂直方向））に左方から右方まで直線（直線画像）を検索し、スキャン正規化画像６０５の左右端を含む、検索した２本の直線に基づいて、仮想の分断線Ｎを設定して左方から順に番号を付与する。その一例を図１１に示す。
【００５７】
図１１において、ステップＳ９０１と同様な方法で、スキャン正規化画像６０５の横方向に、Ｙ軸に平行な直線を左端（図の左）から右端へ向かって検索していく。そして、スキャン正規化画像６０５の左端から右端までの間に、Ｙ軸平行分断線８１２（Ｎ＝１）からＹ軸平行分断線８２２（Ｎ＝ＭａｘＮ、本実施形態ではＭａｘＮ＝１４）の仮想の分断線を設定する。なお、ステップＳ９０１，Ｓ９０２では、直線はすべて認識されており、また図５のステップＳ４０３において、スキャン正規化画像の回転角、座標位置はすべて把握されている。
【００５８】
次に、ステップＳ９０３では、仮想分断線のうちの水平方向の２本と垂直方向の２本の各交点を結んで矩形領域を抽出する。すなわち、水平方向の仮想分断線の任意の２本Ｍ１，Ｍ２（１≦Ｍ１＜Ｍ２≦ＭａｘＭ）と、垂直方向の仮想分断線の任意の２本Ｎ１，Ｎ２（１≦Ｎ１＜Ｎ２≦ＭａｘＮ）を選択し、Ｍ１，Ｍ２，Ｎ１，Ｎ２により囲まれた矩形領域、すなわちＭ１とＮ１の交点を座標（ｌ，ｕ）とＭ２とＮ２の交点を座標（ｒ，ｂ）に囲まれた矩形領域を抽出する。
【００５９】
次に、ステップＳ９０４では、メモリ２０４に格納された帳票パターンを１つずつ読み出し、読み出した帳票パターンを、図８に示すような１．〜４．の４つの向きにそれぞれ回転させる。スキャン画像１００は、原稿台上にサイズや種類の異なる複数の帳票が無作為に置かれた状態で一度にスキャンされた画像であることから、各帳票イメージが任意の向きにそれぞれ傾いているのが通常である。また、傾いていない場合でも向きがある。そこで、帳票パターンの向きを回転させて、ステップＳ９０３で抽出した矩形領域と照合させることにより、より精度よく照合を行うことが可能となる。
【００６０】
１．上向き５０１（傾いていない場合）・・・傾き：０度
２．下向き５０２（上下逆転している場合）・・・傾き：１８０度
３．横向き５０３（左向きに置いている場合）・・・傾き：２７０度（５０３）
４．横向き５０４（右向きに置いている場合）・・・傾き：９０度（５０４）
なお、本実施の形態では、スキャン画像１００の左側からスキャンしていることから、帳票イメージの向きは、図８に示すように、５０１から５０８までの８つの向きがある。
【００６１】
ステップＳ９０５では、ステップＳ９０３で抽出された矩形領域と、ステップＳ９０４で回転させた帳票パターンとが一致するか否かを比較する。一致するか否かの判断は、帳票パターン内の垂直及び水平方向の直線と、矩形領域内の水平及び垂直方向の直線とを比較することにより行われる。この結果、一致しないときは、ステップＳ９０６へ進み、Ｍ１，Ｍ２，Ｎ１，Ｎ２の組み合わせを変更（座標（ｌ，ｕ）と座標（ｒ，ｂ）の変更）して、ステップＳ９０３に戻り、スキャン正規化画像６０５から新たな矩形領域を抽出する。ステップＳ９０３〜Ｓ９０６を繰り返し行うことにより、抽出した矩形領域と帳票パターンとが一致する場合は（ステップＳ９０５でＹＥＳ）、リターンする。なお、ステップＳ９０６では、例えば、Ｍ１（＝１），Ｎ１（＝１），Ｍ２（＝２），Ｎ２（＝２）を最小値として矩形領域を広げていく方法であってもよいし、その逆であってもよい。
【００６２】
図１２は、スキャン正規化画像６０５から帳票イメージを含む矩形領域が抽出された状態を示す図である。
【００６３】
図１２において、スキャン正規化画像６０５では、Ｘ軸平行分断線の上方の任意の分断線８１０（ｕ）、下方の任意の分断線８１１（ｂ）、及びＹ軸平行分断線の左方の任意の分断線８１２（ｌ）、右方任意の分断線８１３（ｒ）の計４本の分断線で囲まれた矩形領域８０４が帳票パターンとの照合対象となる。これにより、分断線８１０、分断線８１１、分断線８１２、分断線８１３で囲まれた矩形領域８０４が生成される。
【００６４】
図１３（ａ）では、スキャン画像１００の一部である１個の帳票の画像データとして帳票イメージ７０１を図示してある。この帳票イメージに対応する帳票パターンが図１３（ｂ）で示す帳票パターン７０２である。枠を形成する線をパターン化しているが、必ずしも矩形とは限らず、２本の線で上下で囲むパターンをユーザが登録することもできる。
【００６５】
図１３（ａ）において、帳票イメージ７０１は、スキャン画像１００上の一つの帳票イメージである。この帳票イメージ７０１は、「技術者便覧」という帳票種であり、タイトル欄７０１ａ、技術者の顔写真欄７０１ｂ、氏名・所属欄７０１ｃ、及び技術経歴欄７０１ｄで構成される。本実施の形態では、枠組み輪郭を抽出したものである。
【００６６】
図１３（ｂ）において、帳票パターン７０２は、上述した「技術者便覧」という帳票種の帳票パターンである。帳票パターン７０２は、図９〜図１１で説明したように、分断線４本で囲まれたスキャン正規化画像６０５の矩形領域８０４と照合される。照合方法は、直線の太さ、長さ、方向等について、ある程度の許容範囲内で一致するか否かで判定される。帳票イメージが、帳票パターン上のすべての線でマッチすれば、当該帳票パターンにより特定される帳票種とみなすことができる。ただし、スキャン正規化画像６０５と特定した帳票パターンの両者の縮尺を合わせてマッチングすることは云うまでもない。
【００６７】
また、図１３（ｃ）に示すように、帳票イメージ７０４は、枠７１０自体が帳票パターンを構成する要素であるにも関わらず、帳票パターン７０２と判断されてしまうおそれがある。そこで、帳票パターン７０２のように他の帳票パターンを含むパターンは、先に照合するというルール設定が必要になる。
【００６８】
また、線の種類（二重線、破線等）や、線の太さもマッチング対象にすれば、より正確なマッチングが可能になる。また、ある程度の短い線はノイズとみなすようにすれば、マッチング精度が高まる。
【００６９】
図１４は、図４のステップＳ３０７における詳細な処理を示すフローチャートである。本処理は、登録された帳票パターンと一致した帳票イメージをスキャン画像１００から切り出し、帳票データとして帳票データ保存領域２４０に格納する処理である。
【００７０】
図１４において、ステップＳ１００１では、ＣＰＵ２０１は、スキャン画像データ格納領域２３０からスキャン画像データを読み出し、格納した直線αの傾き角度と座標に基づいて、一致した帳票パターンを回転させ、該帳票パターンで帳票イメージをスキャン画像１００から切り出す。
【００７１】
次に、ステップＳ１００２では、切り出した帳票イメージを再度、格納した直線αの傾き角度で回転させて正規化（補正）する。これを帳票データ保存領域２４０に格納する。格納領域への格納の形態については、１個ずつ切り出した帳票イメージ個々を名称無しの可変長レコードとしてファイリングしてもよい。より実用的には、帳票パターン名又はアプリケーション上の特定帳票名で分類するファイリング形態や、インデックス付きで、同一パターンの帳票を分類カタログするＤＢファイリング形態が考えられる。
【００７２】
次に、ステップＳ１００３において、帳票パターンで切り出した帳票イメージ部分を消去する（帳票が無い場合の背景と同じデータで埋め込む）。これで、処理済みの帳票イメージは消去されたことになる。
【００７３】
ステップＳ１００４では、帳票イメージを消去したスキャン画像データをスキャン画像データ格納領域に格納し、スキャン画像データを更新する。
【００７４】
上記実施の形態では、帳票を１つ認識する毎にその帳票イメージを削除する形態について説明した。しかしながら、帳票イメージから削除しなくても、スキャン画像上のその帳票イメージが存在する位置の座標を登録し、位置座標を登録した帳票イメージを除外して処理を進めるようにしてもよい。これにより、認識した帳票イメージを削除する処理を省略することができる。
【００７５】
また、上記実施形態では、抽出された任意の直線αの傾きに基づいてスキャン画像全体を回転させ、当該直線αを含む帳票イメージを水平又は垂直な向きに変更する形態について説明した。しかしながら、図１０〜図１１に示した仮想の分断線を直線αの傾きに基づいて設定するようにしてもよい。すなわち、任意の直線αの傾きに平行又は直角のそれぞれ２本の線より抽出される仮想の分断線で囲まれる矩形領域と帳票パターンとが一致することを確認することで、スキャン画像全体を回転させる処理を省略することができる。
【００７６】
上記実施の形態において、画像読取装置２０８は、画像読取機能を有する複合機であってもよい。
【００７７】
帳票認識装置２００は、画像読取装置２０８と一体に構成された、画像読取機能や画像形成機能等を備える複合機であってもよい。
【００７８】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。
【００７９】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８０】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００８１】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８２】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う場合である。
【００８３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現する場合も含まれる。
【００８４】
この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、またはインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【００８５】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施形態に係る帳票認識装置のハードウェア構成を示すブロック図である。
【図２】画像読取装置の原稿台上に複数の帳票が無作為に置かれた状態を示す図である。
【図３】図２に示す状態でスキャンされた画像から各帳票画像を１つずつ抽出する一連の流れを示す図である。
【図４】図１の帳票認識装置にて実行される帳票認識処理を示すフローチャートである。
【図５】図４のステップＳ３０４におけるスキャン画像データの正規化処理の詳細を示すフローチャートである。
【図６】図５の処理におけるスキャン画像の変遷を示す図である。
【図７】（ａ）は直線情報リストの概要を示す図であり、（ｂ）は直線情報リストに格納される直線情報の内容を示す図である。
【図８】帳票パターンの向きの一例を示す図である。
【図９】図４のステップＳ３０５における帳票イメージ特定処理の詳細を示すフローチャートである。
【図１０】スキャン正規化画像の縦方向にＸ軸に平行な直線を検索して仮想の分断線を設定した状態の一例を示す図である。
【図１１】スキャン正規化画像の横方向にＹ軸に平行な直線を検索して仮想の分断線を設定した状態の一例を示す図である。
【図１２】矩形領域を抽出した状態を示す図である。
【図１３】帳票パターンの一例を示す図である。
【図１４】図４のステップＳ３０７の詳細な処理を示すフローチャートである。
【符号の説明】
【００８７】
１００  スキャン画像
２００  帳票認識装置
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  メモリ
２０８  画像読取装置
２１１，２１２，２１３，２１４  帳票
【図１】
2008167009.tif 000003
【図２】
2008167009.tif 000004
【図３】
2008167009.tif 000005
【図４】
2008167009.tif 000006
【図５】
2008167009.tif 000007
【図６】
2008167009.tif 000008
【図７】
2008167009.tif 000009
【図８】
2008167009.tif 000010
【図９】
2008167009.tif 000011
【図１０】
2008167009.tif 000012
【図１１】
2008167009.tif 000013
【図１２】
2008167009.tif 000014
【図１３】
2008167009.tif 000015
【図１４】
2008167009.tif 000016
【手続補正書】
【提出日】平成19年12月17日(2007.12.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像上から複数種類の帳票イメージを抽出する画像処理装置であって、
前記画像上の帳票イメージを含む矩形領域を抽出し、抽出された矩形領域の直線を構成要素とする一の種類の帳票を夫々特定する帳票特定手段と、
前記画像から、前記帳票特定手段により特定された一の種類の帳票を含む矩形領域の帳票イメージを夫々抽出する領域抽出手段と、
前記領域抽出手段により抽出された各矩形領域に含まれる帳票イメージを、個々のファイルとして分けて記憶する記憶手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記領域抽出手段により抽出された矩形領域に含まれる帳票イメージを前記画像から消去する消去手段を更に有し、
前記領域抽出手段は、前記消去手段により前記帳票イメージが消去された前記画像から、前記帳票特定手段により特定された帳票がなくなるまで、前記矩形領域の帳票イメージを抽出する処理を繰り返すことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記帳票特定手段は、前記画像上の任意の一の直線及び該直線に対して平行又は垂直となる直線を抽出することにより、前記画像上の帳票イメージを含む矩形領域を抽出することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記帳票特定手段は、前記画像上に前記抽出された矩形領域を含む仮想分断線を設定することにより、前記抽出された矩形領域の直線を構成要素とする一の種類の帳票を特定することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
抽出すべき帳票の帳票パターンを記憶する帳票パターン記憶手段を更に有し、
前記帳票特定手段は、前記帳票パターン記憶手段に予め記憶された帳票のパターンと前記抽出された矩形領域とが一致するかを判断することにより、前記一の種類の帳票を特定することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記記憶手段は、傾き補正された夫々の帳票イメージを、個々のファイルとして分けて記憶することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
画像上から複数種類の帳票イメージを抽出する画像処理装置における画像処理方法であって、
前記画像上の帳票イメージを含む矩形領域を抽出し、抽出された矩形領域の直線を構成要素とする一の種類の帳票を夫々特定する帳票特定工程と、
前記画像から、前記帳票特定工程にて特定された一の種類の帳票を含む矩形領域の帳票イメージを夫々抽出する領域抽出工程と、
前記領域抽出工程にて抽出された各矩形領域に含まれる帳票イメージを、個々のファイルとして分けて記憶手段に記憶する記憶工程と
を備えることを特徴とする画像処理方法。
【請求項８】
画像上から複数種類の帳票イメージを抽出するプログラムであって、
前記画像上の帳票イメージを含む矩形領域を抽出し、抽出された矩形領域の直線を構成要素とする一の種類の帳票を夫々特定する帳票特定手段、
前記画像から、前記帳票特定手段により特定された一の種類の帳票を含む矩形領域の帳票イメージを夫々抽出する領域抽出手段、
前記領域抽出手段により抽出された各矩形領域に含まれる帳票イメージを、個々のファイルとして分けて記憶する記憶手段
としてコンピュータを機能させるためのプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記目的を達成するために、請求項１記載の画像処理装置は、画像上から複数種類の帳票イメージを抽出する画像処理装置であって、前記画像上の帳票イメージを含む矩形領域を抽出し、抽出された矩形領域の直線を構成要素とする一の種類の帳票を夫々特定する帳票特定手段と、前記画像から、前記帳票特定手段により特定された一の種類の帳票を含む矩形領域の帳票イメージを夫々抽出する領域抽出手段と、前記領域抽出手段により抽出された各矩形領域に含まれる帳票イメージを、個々のファイルとして分けて記憶する記憶手段とを備えることを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
上記目的を達成するために、請求項７記載の画像処理方法は、画像上から複数種類の帳票イメージを抽出する画像処理装置における画像処理方法であって、前記画像上の帳票イメージを含む矩形領域を抽出し、抽出された矩形領域の直線を構成要素とする一の種類の帳票を夫々特定する帳票特定工程と、前記画像から、前記帳票特定工程にて特定された一の種類の帳票を含む矩形領域の帳票イメージを夫々抽出する領域抽出工程と、前記領域抽出工程にて抽出された各矩形領域に含まれる帳票イメージを、個々のファイルとして分けて記憶手段に記憶する記憶工程とを有することを特徴とする。
上記目的を達成するために、請求項８記載のプログラムは、画像上から複数種類の帳票イメージを抽出するプログラムであって、前記画像上の帳票イメージを含む矩形領域を抽出し、抽出された矩形領域の直線を構成要素とする一の種類の帳票を夫々特定する帳票特定手段、前記画像から、前記帳票特定手段により特定された一の種類の帳票を含む矩形領域の帳票イメージを夫々抽出する領域抽出手段、前記領域抽出手段により抽出された各矩形領域に含まれる帳票イメージを、個々のファイルとして分けて記憶する記憶手段としてコンピュータを機能させることを特徴とする。