(57)【特許請求の範囲】
【請求項１】
文書画像から行方向の罫線を抽出する行方向罫線抽出手段と、
前記文書画像から列方向の罫線を抽出する列方向罫線抽出手段と、
前記行方向罫線抽出手段によって抽出された行方向罫線と前記列方向罫線抽出手段により抽出された列方向罫線とで囲まれた内側の矩形画像領域を抽出する画像領域抽出手段と、
前記画像領域抽出手段で抽出された矩形画像領域の第１の角に、罫線の一部を構成する画素があるか判断する判断手段と、
前記判断手段で罫線の一部を構成する画素があると判断した場合、前記矩形画像領域から、該罫線の一部を構成する画素を除去する除去手段とを備える画像処理装置であって、
前記判断手段は、前記行方向罫線および前記列方向罫線の少なくともいずれかに接触する前記矩形画像領域内の画素群に対してラベリングを行い、当該ラベリングされた画素群のうち所定領域範囲内にある前記ラベリングされた画素群を取り出し、前記取り出された画素群を含む外接矩形を求めて当該求めた外接矩形の対角線を境界とし、前記取り出された画素群それぞれについて前記境界から前記第１の角がある側の画素数と前記境界から前記第１の角がない側の画素数とを計測し、前記第１の角がある側の画素数が前記第２の角がない側の画素数の所定倍より多い前記ラベリングされた画素群を前記罫線の一部を構成する画素であると判断し、
前記除去手段は、前記判断手段で前記罫線の一部を構成する画素であると判断された画素群を除去することを特徴とする画像処理装置。
【請求項２】
前記第１の角が右上の角である場合、前記判断手段は、前記矩形画像領域の上端および右端の少なくともいずれかに接触する前記矩形画像領域内の画素群に対してラベリングを行い、当該ラベリングされた画素群のうち右上側の前記所定領域範囲内にある前記ラベリングされた画素群を取り出し、前記取り出された画素群を含む外接矩形を求めて当該求めた外接矩形の左上と右下を通る対角線を境界とし、前記取り出された画素群それぞれについて前記境界から右側の画素数と前記境界から左側の画素数とを計測し、前記右側の画素数が前記左側の画素数の所定倍より多い前記ラベリングされた画素群を前記罫線の一部を構成する画素であると判断することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
文書画像から行方向の罫線を抽出する行方向罫線抽出手段と、
前記文書画像から列方向の罫線を抽出する列方向罫線抽出手段と、
前記行方向罫線抽出手段によって抽出された行方向罫線と前記列方向罫線抽出手段により抽出された列方向罫線とで囲まれた内側の矩形画像領域を抽出する画像領域抽出手段と、
前記画像領域抽出手段で抽出された矩形画像領域の第１の角から所定の領域範囲内において、前記行方向罫線に接触し且つ前記第１の角から最も遠い第１の画素の位置と、前記列方向罫線に接触し且つ前記第１の角から最も遠い第２の画素の位置とを求め、
当該求めた第１の画素の位置と第２の画素の位置とを結ぶ直線から前記第１の角の側にある画素を対象にラベリングを行い、
当該ラベリングされた画素群のうち、前記行方向罫線に接触する画素群で且つその中で前記第１の角に最も近い画素を含む画素群と、前記列方向罫線に接触する画素群で且つその中で前記第１の角に最も近い画素を含む画素群とを選択し、
当該選択された画素群のうち、前記行方向罫線に接触し且つ前記第１の角から最も遠い第３の画素の位置と、前記列方向罫線に接触し且つ前記第１の角から最も遠い第４の画素の位置とを求め、
前記第３の画素の位置と第４の画素の位置とを結ぶ直線と前記ラベリングされた画素群とが交差する位置を識別し、該交差位置から輪郭線追跡を行なって、該輪郭線の方向が大きく変化する位置に基づいて前記ラベリングされた画素群を分割し、前記第１の角の側にある当該分割された画素群を前記罫線の一部を構成する画素として、前記矩形画像領域から該罫線の一部を構成する画素を除去する除去手段と、
を備えることを特徴とする画像処理装置。
【請求項４】
前記第１の角が右上の角である場合、前記除去手段は、
前記矩形画像領域の右上の角から所定の領域範囲内において、前記行方向罫線に接触し且つ前記右上の角から最も遠い第１の画素の位置と、前記列方向罫線に接触し且つ前記右上の角から最も遠い第２の画素の位置とを求め、
当該求めた第１の画素の位置と第２の画素の位置とを結ぶ直線から前記右上の角の側にある画素を対象にラベリングを行い、
当該ラベリングされた画素群のうち、前記行方向罫線に接触する画素群で且つその中で前記右上の角に最も近い画素を含む画素群と、前記列方向罫線に接触する画素群で且つその中で前記右上の角に最も近い画素を含む画素群とを選択し、
当該選択された画素群のうち、前記行方向罫線に接触し且つ前記右上の角から最も遠い第３の画素の位置と、前記列方向罫線に接触し且つ前記右上の角から最も遠い第４の画素の位置とを求め、
前記第３の画素の位置と第４の画素の位置とを結ぶ直線と前記ラベリングされた画素群とが交差する位置を識別し、該交差位置から輪郭線追跡を行なって、該輪郭線の方向が大きく変化する位置に基づいて前記ラベリングされた画素群を分割し、前記右上の角の側にある当該分割された画素群を前記罫線の一部を構成する画素として、前記矩形画像領域から該罫線の一部を構成する画素を除去することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記除去手段で該罫線の一部を構成する画素が除去された前記矩形画像領域の画像を文字認識する文字認識手段を更に備えることを特徴とする請求項１乃至４のいずれかに記載の画像処理装置。
【請求項６】
行方向罫線抽出手段が、文書画像から行方向の罫線を抽出する行方向罫線抽出ステップと、
列方向罫線抽出手段が、前記文書画像から列方向の罫線を抽出する列方向罫線抽出ステップと、
画像領域抽出手段が、前記行方向罫線抽出ステップで抽出された行方向罫線と前記列方向罫線抽出ステップで抽出された列方向罫線とで囲まれた内側の矩形画像領域を抽出する画像領域抽出ステップと、
判断手段が、前記画像領域抽出ステップで抽出された矩形画像領域の第１の角に、罫線の一部を構成する画素があるか判断する判断ステップと、
除去手段が、前記判断ステップで罫線の一部を構成する画素があると判断した場合、前記矩形画像領域から、該罫線の一部を構成する画素を除去する除去ステップと、を備える画像処理方法であって、
前記判断ステップでは、前記行方向罫線および前記列方向罫線の少なくともいずれかに接触する前記矩形画像領域内の画素群に対してラベリングを行い、当該ラベリングされた画素群のうち所定領域範囲内にある前記ラベリングされた画素群を取り出し、前記取り出された画素群を含む外接矩形を求めて当該求めた外接矩形の対角線を境界とし、前記取り出された画素群それぞれについて前記境界から前記第１の角がある側の画素数と前記境界から前記第１の角がない側の画素数とを計測し、前記第１の角がある側の画素数が前記第２の角がない側の画素数の所定倍より多い前記ラベリングされた画素群を前記罫線の一部を構成する画素であると判断し、
前記除去ステップでは、前記判断ステップで前記罫線の一部を構成する画素であると判断された画素群を除去することを特徴とする画像処理方法。
【請求項７】
前記第１の角が右上の角である場合、前記判断ステップでは、前記矩形画像領域の上端および右端の少なくともいずれかに接触する前記矩形画像領域内の画素群に対してラベリングを行い、当該ラベリングされた画素群のうち右上側の前記所定領域範囲内にある前記ラベリングされた画素群を取り出し、前記取り出された画素群を含む外接矩形を求めて当該求めた外接矩形の左上と右下を通る対角線を境界とし、前記取り出された画素群それぞれについて前記境界から右側の画素数と前記境界から左側の画素数とを計測し、前記右側の画素数が前記左側の画素数の所定倍より多い前記ラベリングされた画素群を前記罫線の一部を構成する画素であると判断することを特徴とする請求項６に記載の画像処理方法。
【請求項８】
行方向罫線抽出手段が、文書画像から行方向の罫線を抽出する行方向罫線抽出ステップと、
列方向罫線抽出手段が、前記文書画像から列方向の罫線を抽出する列方向罫線抽出ステップと、
画像領域抽出手段が、前記行方向罫線抽出ステップで抽出された行方向罫線と前記列方向罫線抽出ステップで抽出された列方向罫線とで囲まれた内側の矩形画像領域を抽出する画像領域抽出ステップと、
除去手段が、前記画像領域抽出ステップで抽出された矩形画像領域の第１の角から所定の領域範囲内において、前記行方向罫線に接触し且つ前記第１の角から最も遠い第１の画素の位置と、前記列方向罫線に接触し且つ前記第１の角から最も遠い第２の画素の位置とを求め、
当該求めた第１の画素の位置と第２の画素の位置とを結ぶ直線から前記第１の角の側にある画素を対象にラベリングを行い、
当該ラベリングされた画素群のうち、前記行方向罫線に接触する画素群で且つその中で前記第１の角に最も近い画素を含む画素群と、前記列方向罫線に接触する画素群で且つその中で前記第１の角に最も近い画素を含む画素群とを選択し、
当該選択された画素群のうち、前記行方向罫線に接触し且つ前記第１の角から最も遠い第３の画素の位置と、前記列方向罫線に接触し且つ前記第１の角から最も遠い第４の画素の位置とを求め、
前記第３の画素の位置と第４の画素の位置とを結ぶ直線と前記ラベリングされた画素群とが交差する位置を識別し、該交差位置から輪郭線追跡を行なって、該輪郭線の方向が大きく変化する位置に基づいて前記ラベリングされた画素群を分割し、前記第１の角の側にある当該分割された画素群を前記罫線の一部を構成する画素として、前記矩形画像領域から該罫線の一部を構成する画素を除去する除去ステップと、
を備えることを特徴とする画像処理方法。
【請求項９】
前記第１の角が右上の角である場合、前記除去ステップでは、
前記矩形画像領域の右上の角から所定の領域範囲内において、前記行方向罫線に接触し且つ前記右上の角から最も遠い第１の画素の位置と、前記列方向罫線に接触し且つ前記右上の角から最も遠い第２の画素の位置とを求め、
当該求めた第１の画素の位置と第２の画素の位置とを結ぶ直線から前記右上の角の側にある画素を対象にラベリングを行い、
当該ラベリングされた画素群のうち、前記行方向罫線に接触する画素群で且つその中で前記右上の角に最も近い画素を含む画素群と、前記列方向罫線に接触する画素群で且つその中で前記右上の角に最も近い画素を含む画素群とを選択し、
当該選択された画素群のうち、前記行方向罫線に接触し且つ前記右上の角から最も遠い第３の画素の位置と、前記列方向罫線に接触し且つ前記右上の角から最も遠い第４の画素の位置とを求め、
前記第３の画素の位置と第４の画素の位置とを結ぶ直線と前記ラベリングされた画素群とが交差する位置を識別し、該交差位置から輪郭線追跡を行なって、該輪郭線の方向が大きく変化する位置に基づいて前記ラベリングされた画素群を分割し、前記右上の角の側にある当該分割された画素群を前記罫線の一部を構成する画素として、前記矩形画像領域から該罫線の一部を構成する画素を除去することを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
文字認識手段が、前記除去ステップで該罫線の一部を構成する画素が除去された前記矩形画像領域の画像を文字認識する文字認識ステップを更に備えることを特徴とする請求項６乃至９のいずれかに記載の画像処理方法。
【請求項１１】
コンピュータを、請求項１乃至５のいずれかに記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１２】
コンピュータを、請求項１乃至５のいずれかに記載の画像処理装置の各手段として機能させるためのプログラムを格納した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文書画像上の枠や表に記入された文字画像を切り出すための画像処理装置、方法、プログラム、及び記憶媒体に関するものである。
【０００２】
【従来の技術】
申し込み用紙などの帳票に記入された文字の読み取りを行う場合、ドロップアウトカラーで作成された帳票を使用し、このドロップアウトカラーと異なる色で記入された文字を読み取って認識するように構成されていることが多いが、ドロップアウトカラー帳票は、読取装置の光源の条件に適合する色を用いて印刷し配布するため、コストがかかり利便性も悪い。
【０００３】
したがって、非ドロップアウトカラー帳票を用いた方がコストも利便性もよいが、非ドロップアウトカラー帳票では、色を用いて文字と枠線とを区別することはできないため、非ドロップアウトカラー帳票を認識する方法として以下のような方法が考えられている。
【０００４】
従来、あらかじめ帳票内の文字記入枠の位置や大きさを帳票定義として記憶しておき、読み取ろうとする入力帳票と帳票定義の位置ずれを修正した後、入力帳票と帳票定義を重ねあわせて差分を読み取ることにより、記入文字を抽出する方法があった。しかし、この方法では、あらかじめ帳票定義を記憶しておく必要があるため、記憶されている帳票定義以外の帳票が入力された場合、対応できないという問題点がある。そこで、あらかじめ帳票定義を記憶しておかなくても、画像から文字記入枠と該文字記入枠内の文字を認識する技術が考えられている。
【０００５】
例えば、特開平０７−２８２１９１では、縦・横に一定長さ以上連続する黒ランを罫線として抽出する。その際、枠の角に丸みのある場合など黒ランが一定長さ以上連続しないため、縦罫線と横罫線とが途切れてしまう場合があるが、その際はその縦罫線と横罫線が交差するまで仮想的に延長し、その延長部分が閾値以下なら双方が接続しているとみなして、矩形枠として認識するように構成されている。しかしながら、この場合、枠の認識時には直線矩形として扱っているので、枠内の文字を抽出する際に角の丸み部分が文字として切り出されて誤認識される場合がある。
【０００６】
また、特開平０７−１４０００では、長さが所定値以上の縦・横方向のランを罫線とし、端点が近い縦罫線と横罫線のペアの交差点に、あらかじめ用意された角部パターンをマッチングさせ、類似度が大きければ角部がそのパターンであるとするように構成されている。この場合、あらかじめ多数の角部パターンを記憶しておく必要があり、多くのメモリを必要としてしまう。また、これ以外の角部であった場合、認識できない。
【０００７】
また、特開２０００−２３５６１９では、抽出した罫線の端点から斜め成分を検出することにより丸角候補領域を抽出し、更に、端点間の斜め方向の画素密度分布を識別して丸角部を決定、もしくは、ｎ次関数を用いて罫線の端点を結ぶパターンを生成してマッチングを行なうことにより、丸角部を決定するように構成されている。しかしながら画素密度分布を用いて丸角部を識別する方法では、角部にかすれがあるときなどの画素密度の分布の変化が少ない場合、丸角部と認識されない場合がある。また、丸角部パターンを生成してマッチングを行なう方法では、あらかじめ多数の丸角部パターンを記憶しておく必要はないが、ｎ次関数を用いてパターンを生成する処理およびマッチング処理を行なう必要があるので、処理に時間がかかってしまう。
【０００８】
【発明が解決しようとする課題】
以上述べたように、上記従来例では、多くのメモリを消費したり、マッチングなどの時間のかかる処理を行なう必要があったり、認識精度が悪かったり、罫線の丸み部分が文字として切り出されて誤認識されてしまうというような問題点があった。
【０００９】
本発明は上記問題点を解消するためになされたもので、文字記入枠の角が丸い場合でも、枠内の文字を正しく抽出することを目的とする。
【００１０】
【課題を解決するための手段】
上記課題を解決するために、本発明の画像処理装置は、文書画像から行方向の罫線を抽出する行方向罫線抽出手段と、前記文書画像から列方向の罫線を抽出する列方向罫線抽出手段と、前記行方向罫線抽出手段によって抽出された行方向罫線と前記列方向罫線抽出手段により抽出された列方向罫線とで囲まれた内側の矩形画像領域を抽出する画像領域抽出手段と、前記画像領域抽出手段で抽出された矩形画像領域の第１の角に、罫線の一部を構成する画素があるか判断する判断手段と、前記判断手段で罫線の一部を構成する画素があると判断した場合、前記矩形画像領域から、該罫線の一部を構成する画素を除去する除去手段とを備える画像処理装置であって、前記判断手段は、前記行方向罫線および前記列方向罫線の少なくともいずれかに接触する前記矩形画像領域内の画素群に対してラベリングを行い、当該ラベリングされた画素群のうち所定領域範囲内にある前記ラベリングされた画素群を取り出し、前記取り出された画素群を含む外接矩形を求めて当該求めた外接矩形の対角線を境界とし、前記取り出された画素群それぞれについて前記境界から前記第１の角がある側の画素数と前記境界から前記第１の角がない側の画素数とを計測し、前記第１の角がある側の画素数が前記第２の角がない側の画素数の所定倍より多い前記ラベリングされた画素群を前記罫線の一部を構成する画素であると判断し、前記除去手段は、前記判断手段で前記罫線の一部を構成する画素であると判断された画素群を除去することを特徴とする。
上記課題を解決するために、本発明の画像処理装置は、文書画像から行方向の罫線を抽出する行方向罫線抽出手段と、前記文書画像から列方向の罫線を抽出する列方向罫線抽出手段と、前記行方向罫線抽出手段によって抽出された行方向罫線と前記列方向罫線抽出手段により抽出された列方向罫線とで囲まれた内側の矩形画像領域を抽出する画像領域抽出手段と、前記画像領域抽出手段で抽出された矩形画像領域の第１の角から所定の領域範囲内において、前記行方向罫線に接触し且つ前記第１の角から最も遠い第１の画素の位置と、前記列方向罫線に接触し且つ前記第１の角から最も遠い第２の画素の位置とを求め、当該求めた第１の画素の位置と第２の画素の位置とを結ぶ直線から前記第１の角の側にある画素を対象にラベリングを行い、当該ラベリングされた画素群のうち、前記行方向罫線に接触する画素群で且つその中で前記第１の角に最も近い画素を含む画素群と、前記列方向罫線に接触する画素群で且つその中で前記第１の角に最も近い画素を含む画素群とを選択し、当該選択された画素群のうち、前記行方向罫線に接触し且つ前記第１の角から最も遠い第３の画素の位置と、前記列方向罫線に接触し且つ前記第１の角から最も遠い第４の画素の位置とを求め、前記第３の画素の位置と第４の画素の位置とを結ぶ直線と前記ラベリングされた画素群とが交差する位置を識別し、該交差位置から輪郭線追跡を行なって、該輪郭線の方向が大きく変化する位置に基づいて前記ラベリングされた画素群を分割し、前記第１の角の側にある当該分割された画素群を前記罫線の一部を構成する画素として、前記矩形画像領域から該罫線の一部を構成する画素を除去する除去手段と、を備えることを特徴とする。
【００１１】
上記課題を解決するために、本発明の画像処理方法は、行方向罫線抽出手段が、文書画像から行方向の罫線を抽出する行方向罫線抽出ステップと、列方向罫線抽出手段が、前記文書画像から列方向の罫線を抽出する列方向罫線抽出ステップと、画像領域抽出手段が、前記行方向罫線抽出ステップで抽出された行方向罫線と前記列方向罫線抽出ステップで抽出された列方向罫線とで囲まれた内側の矩形画像領域を抽出する画像領域抽出ステップと、判断手段が、前記画像領域抽出ステップで抽出された矩形画像領域の第１の角に、罫線の一部を構成する画素があるか判断する判断ステップと、除去手段が、前記判断ステップで罫線の一部を構成する画素があると判断した場合、前記矩形画像領域から、該罫線の一部を構成する画素を除去する除去ステップと、を備える画像処理方法であって、前記判断ステップでは、前記行方向罫線および前記列方向罫線の少なくともいずれかに接触する前記矩形画像領域内の画素群に対してラベリングを行い、当該ラベリングされた画素群のうち所定領域範囲内にある前記ラベリングされた画素群を取り出し、前記取り出された画素群を含む外接矩形を求めて当該求めた外接矩形の対角線を境界とし、前記取り出された画素群それぞれについて前記境界から前記第１の角がある側の画素数と前記境界から前記第１の角がない側の画素数とを計測し、前記第１の角がある側の画素数が前記第２の角がない側の画素数の所定倍より多い前記ラベリングされた画素群を前記罫線の一部を構成する画素であると判断し、前記除去ステップでは、前記判断ステップで前記罫線の一部を構成する画素であると判断された画素群を除去することを特徴とする。
上記課題を解決するために、本発明の画像処理方法は、行方向罫線抽出手段が、文書画像から行方向の罫線を抽出する行方向罫線抽出ステップと、列方向罫線抽出手段が、前記文書画像から列方向の罫線を抽出する列方向罫線抽出ステップと、画像領域抽出手段が、前記行方向罫線抽出ステップで抽出された行方向罫線と前記列方向罫線抽出ステップで抽出された列方向罫線とで囲まれた内側の矩形画像領域を抽出する画像領域抽出ステップと、除去手段が、前記画像領域抽出ステップで抽出された矩形画像領域の第１の角から所定の領域範囲内において、前記行方向罫線に接触し且つ前記第１の角から最も遠い第１の画素の位置と、前記列方向罫線に接触し且つ前記第１の角から最も遠い第２の画素の位置とを求め、当該求めた第１の画素の位置と第２の画素の位置とを結ぶ直線から前記第１の角の側にある画素を対象にラベリングを行い、当該ラベリングされた画素群のうち、前記行方向罫線に接触する画素群で且つその中で前記第１の角に最も近い画素を含む画素群と、前記列方向罫線に接触する画素群で且つその中で前記第１の角に最も近い画素を含む画素群とを選択し、当該選択された画素群のうち、前記行方向罫線に接触し且つ前記第１の角から最も遠い第３の画素の位置と、前記列方向罫線に接触し且つ前記第１の角から最も遠い第４の画素の位置とを求め、前記第３の画素の位置と第４の画素の位置とを結ぶ直線と前記ラベリングされた画素群とが交差する位置を識別し、該交差位置から輪郭線追跡を行なって、該輪郭線の方向が大きく変化する位置に基づいて前記ラベリングされた画素群を分割し、前記第１の角の側にある当該分割された画素群を前記罫線の一部を構成する画素として、前記矩形画像領域から該罫線の一部を構成する画素を除去する除去ステップと、を備えることを特徴とする。
【００１２】
【発明の実施の形態】
［第１の実施形態］
図１は本実施形態を実施するための帳票画像から文字を読み取る画像処理装置の構成を示すブロック図である。１０１はＲＯＭ１０２に格納されている制御プログラムに従って本装置全体の制御を行うＣＰＵ、１０２はＣＰＵ１０１が実行する後述するフローチャートに示す処理など本装置の制御プログラム等を格納するＲＯＭ、１０３は文書画像等を記憶し、ＣＰＵ１０１のワークエリアとなるＲＡＭ、１０４は磁気ディスク等の外部記憶装置であり、１０５はディスプレイ、１０６はキーボード、１０７はマウス等のポインティングデバイス、１０８は画像を読み取るためのイメージスキャナである。また、１０９はネットワークインターフェースであり、図示しない遠隔地に存在する装置と通信し、プログラムやデータなどを読み込んだり、書き込んだりする。なお、本実施形態を実現させるためにＣＰＵ１０１は、制御プログラムを、前述したようにＲＯＭ１０２から読み込んで実行するようにしてもよいし、外部記憶装置１０４から読み込んで実行するようにしてもよいし、ネットワークを介して接続された外部装置から受け取って実行するようにしてもよい。
【００１３】
図１に示す構成の画像処理装置が実行する本実施形態１を、図２乃至図７を用いて詳細に説明する。
【００１４】
本実施形態１では、図４のような１文字ごとに文字記入枠が設定されているような帳票を対象とする。なお、本実施形態では簡単のため、読み取った画像を２値化した帳票画像を対象として扱う。
【００１５】
図２は、帳票画像内の枠領域から、記入された文字を切り出す手順を示すフローチャートである。
【００１６】
ステップＳ２０１では、イメージスキャナ１０８等の光電変換装置から読み込まれ二値化された画像（以下「二値画像」）、あるいは、すでに読み込まれ外部記憶装置１０４等に記憶している二値画像から、横方向の罫線（以下「横罫線」）の位置を検出する。
【００１７】
横罫線の位置とは、横罫線が存在する垂直方向の座標値と罫線の太さを表すために、一つの横罫線に対し、横罫線の上端の垂直方向座標値と下端の垂直方向座標値とで表現する。
【００１８】
例えば、図４のような文字記入枠の領域から横罫線の位置を検出する場合、簡単に検出する手順の例をあげると、垂直な射影面に対して黒画素の水平方向ヒストグラムを取り、ピークの度数があらかじめ決めてある閾値以上存在する部分のピークの立ち上がり、立下り位置を横罫線の位置とする。なお、検出精度を高めるため、あらかじめ傾き除去やかすれの補完、記入枠の外接矩形を抽出することで処理領域を決めるようにしてもよい。その場合、閾値は外接矩形の幅の２分の１などとすればよい。また、横罫線の位置の検出は、本件出願人による出願である特願２０００−３８０６１２号に記載されているような技術を使用してもよい。
【００１９】
ステップＳ２０２で横罫線が２本以上抽出できたかどうか判断する。横罫線が２本以上抽出できなかった場合は、文字記入枠が存在しないとして処理を終了する。
【００２０】
ステップＳ２０２で横罫線が２本以上抽出できた場合は、ステップＳ２０３に進んで、２つの横罫線の間、すなわち上の横罫線の下側の座標と下の横罫線の上側の座標の間に存在する縦罫線の位置を検出する。
【００２１】
縦罫線の位置の検出は、水平な射影面に２つの横罫線の間に存在する黒画素の垂直方向ヒストグラムを取り、ピークの度数が閾値以上の部分を縦罫線として識別する。この場合の閾値は、横罫線の間の８０％以上などとすればよい。なお、縦罫線の位置の検出においても特願２０００−３８０６１２号に記載されているような技術を使用してもよい。
【００２２】
ステップＳ２０４で縦罫線が２本以上抽出できたか否かを判断し、２本以上抽出できなかった場合には、文字記入枠が存在しないとして処理を終了する。
【００２３】
縦罫線が２本以上抽出できた場合には、ステップＳ２０５にて、抽出した横罫線と縦罫線で囲まれた内側の矩形領域部分を文字記入枠領域として抽出する。図５は図４を上記ステップを用いて文字記入枠領域を抽出した結果である。この時点では、「１」が縦罫線と認識されているため、５０４と５０５は文字記入枠領域が二分割された形となっている。
【００２４】
抽出された文字記入枠領域からステップＳ２０６で文字記入枠の標準ピッチを求める。標準ピッチは、各文字記入枠のピッチの分布などから決定する。すなわち、処理を行う範囲内の文字記入枠のピッチは、すべて均等であるという前提のもと、文字記入枠の各ピッチの分布をカウントし、個数が最大となる文字記入枠のピッチを標準ピッチとする。
【００２５】
その結果、標準ピッチより小さいピッチで、誤って分割された領域であると判断される場合、ステップＳ２０７で標準ピッチになるように結合していく。その結果、図５の５０４と５０５は結合され、文字記入枠と一致した領域が得られる。
【００２６】
ステップＳ２０８で文字記入枠内の画像の外接矩形を用いて画像を抽出する。ここでは、孤立点ノイズや、罫線に接触したノイズ等の影響を取り除くため、公知のノイズ除去を行ってもよい。また抽出された画像があらかじめ定めた大きさより小さい場合、その画像はノイズと判断し、画像が存在しないとしてもよい。
【００２７】
ステップＳ２０９で文字記入枠内に画像があるかどうか判断し、ないと判断されれば、ステップＳ２１３でその文字記入枠を空欄とする。
【００２８】
ステップＳ２０９で文字記入枠内に画像があると判断されれば、ステップＳ２１０に進み、抽出された画像に罫線の一部を含んでいるかどうか判断を行ない、罫線の一部を含んでいると判断した場合、その部分を除去する。
【００２９】
図６に罫線の一部を含んでいる場合の例を示す。ステップＳ２０７で求められた罫線内部矩形領域５０８を例にすると、まず、罫線内部矩形領域５０８に基づいて図４から矩形の画像を切り出し、更に、その切り出した矩形領域内部の黒画素に外接する外接矩形を図６（ａ）の破線部分６０１で表している。罫線内部矩形領域５０８に基づいて、枠内の画像を抽出しようとすると、罫線の一部である丸み部分を含んでしまう。その結果、図６（ｂ）に示すように罫線の一部である６０２、６０３が残ってしまい、この図６（ｂ）に対して、そのまま文字認識を行うと誤認識してしまうことになる。
【００３０】
抽出画像内に角が丸い罫線の一部が含まれた場合の除去（ステップＳ２１０）について、右上の角が丸い場合を例にして、図３のフローチャートを使用して詳細に説明する。ここでは、あらかじめステップＳ２０７で求められた罫線内部矩形領域５０８の座標と、ステップＳ２０８で罫線内部矩形領域５０８に基づき求められた黒画素の外接矩形６０１の座標が記憶されている前提で説明を行う。また、座標は帳票画像の左上を原点とし、Ｘ座標は左から右、Ｙ座標は上から下に値が大きくなるものとする。
【００３１】
ステップＳ３０１では、罫線内部領域５０８について、上端のＹ座標をＴ、右端のＸ座標をＲ、領域の高さをＨ、幅をＷとする。ステップＳ３０２では、抽出された黒画素の外接矩形６０１の上端のＹ座標をｔ、右端のＸ座標をｒとする。
【００３２】
ステップＳ３０３で、罫線内部矩形領域５０８の右端のＸ座標Ｒと黒画素外接矩形６０１の右端のＸ座標ｒが同じかどうか判断する。同じであると判断した場合、ステップＳ３０４に進み、罫線内部矩形領域５０８の上端から高さの１／６下がった所より、黒画素外接矩形６０１の上端が上にあるかどうか判断する。上にあればステップＳ３０７に進み、なければ処理を終了する。なお、ここで使用した１／６という値、及び、以下で説明する各閾値は、本発明を説明するための一例であり、これらの値に限ったものではない。
【００３３】
一方、ステップＳ３０３で同じでないと判断されれば、ステップＳ３０５に進み、罫線内部矩形領域５０８の上端のＹ座標Ｔと、黒画素外接矩形６０１の上端のＹ座標ｔが同じかを判断し、同じでなければ処理を終了する。同じであると判断されればステップＳ３０６に進み、罫線内部矩形領域５０８の右端から幅の１／６左側より、黒画素外接矩形６０１の右端が右にあるかを調べる。右にあればステップＳ３０７に進み、なければ処理を終了する。
【００３４】
ステップＳ３０７では、罫線内部矩形領域５０８の右半分の領域範囲で該領域の上端に接する黒画素をラベリングし、同一ラベルがつけられた黒画素の最も下端の黒画素が、罫線内部矩形領域の上半分の領域内にあるもの（高さの１／２よりも上にあるもの）を取り出す。
【００３５】
ステップＳ３０８では、罫線内部矩形領域５０８の上半分の領域範囲で、該領域範囲の右端に接する黒画素をラベリングし、同一ラベルがつけられた黒画素の最も左端の黒画素が、罫線内部矩形領域の右半分の領域内にあるもの（幅の１／２よりも右にあるもの）を取り出す。
【００３６】
ステップＳ３０９では、全てのラベリングされた画像の外接矩形を求める。図７を例に説明すると、（ａ）は原画像であり、（ｂ）はラベリング後の画像である。ラベリング処理によりラベル１とラベル２の２つの塊を取り出した。求める外接矩形は２つの塊を含む矩形である。
【００３７】
ステップＳ３１０では、求めた外接矩形の左上と右下を通る直線を求め、ステップＳ３１１で、ラベリングされたそれぞれの画素が、直線の左右にいくつあるかを数える。罫線の一部であれば、画素の大部分は直線の右側に存在するはずなので、左右の画素数の比較により罫線の一部かどうかを判断できる。
【００３８】
ステップＳ３１２で、左側の画素数の４倍より右側の画素数が少なければ処理を終了し、多ければステップＳ３１３に進み、外接矩形６０１からラベリングされた画素を除去する。図７の例では、ラベル１、ラベル２とも直線の左側に画素がないので、これら２つのラベルの画素は除去される。
【００３９】
右下、左上、左下についても、同様の処理を行なうことにより、罫線の一部を含んで画像が抽出されても、罫線部分だけを除去することが可能である。
【００４０】
このようにして得られた罫線を含まない画像に対して文字認識処理を行なう。罫線部分を含まないため、帳票に記入された文字を正確に文字認識することができる。
【００４１】
以上説明したように、本実施形態により罫線内部領域の境界に接している黒画素を対象にラベリングし、それぞれに対し判断基準を適用して除去するので、丸み部分で罫線が切れても罫線部分を除去できる。
【００４２】
また、本実施形態より、判定基準はラベリングされた画素の座標から導き出すので、角の丸みの大きさが変化したり、丸みが楕円弧状に変形しても、罫線を含まないように文字記入枠から文字画像を抽出できる。
【００４３】
また、角部のパターンを記憶しておく必要がないのでメモリを節約することができる。また、複数の角部のパターンとマッチング処理を行なう必要がなく、処理時間を短縮することができる。
【００４４】
［第２の実施形態］
図１に示す帳票読み取り装置が実行する他の実施形態として、ステップＳ２１０における、角に文字の一部が重なっている場合の角の罫線部分を除去する説明を図８のフローチャート及び図９を用いて説明する。
【００４５】
図９は本実施形態２において処理される文字記入枠の一例を示しているものである。右上の角が丸くなっていて、そこに文字の一部がはみ出て記入されている。
【００４６】
以下に右上の角が丸い場合の処理手順を例にして説明する。
【００４７】
ステップＳ８０１では、求められた罫線内部矩形領域の上端のＹ座標をＴ、右端のＸ座標をＲ、高さをＨ、幅をＷとして設定する。ステップＳ８０２では、抽出された黒画素の外接矩形の上端のＹ座標をｔ、右端のＸ座標をｒとする。
【００４８】
ステップＳ８０３で、罫線内部矩形領域の右端Ｒと黒画素の外接矩形の右端ｒの座標が同じかどうか判断する。同じであると判断した場合、ステップＳ８０４で罫線内部矩形領域の上端から高さの１／６下がった所より、黒画素外接矩形の上端が上にあるかどうか判断する。上にあればステップＳ８０７に進み、なければ処理を終了する。なお、ここで使用した１／６という値、及び、以下で説明する各閾値は、本発明を説明するための一例であり、これらの値に限ったものではない。
【００４９】
ステップＳ８０３で同じでないと判断された場合、ステップＳ８０５に進み、罫線内部矩形領域の上端Ｔと黒画素外接矩形の上端の座標が同じかどうか判断し、同じでなければ処理を終了する。同じである場合、ステップＳ８０６で罫線内部矩形領域の右端から幅の１／６左側より、黒画素外接矩形の右端が右にあるかどうか判断を行なう。右にあると判断すればステップＳ８０７に進み、なければ処理を終了する。
【００５０】
ステップＳ８０７で罫線内部矩形領域の右半分の領域範囲で罫線内部矩形領域の上端をスキャンし、最も左にある黒画素の位置を求める（９０１）。Ｓ８０８で罫線内部矩形領域の上半分の領域範囲で罫線内部矩形領域の右端をスキャンし、最も下にある黒画素の位置を求める（９０２）。
【００５１】
Ｓ８０９で、得られた２つの位置を結ぶ直線（破線９０４）より右上にある画素だけを対象にラベリングする。
【００５２】
Ｓ８１０において、該ラベリングされた画素のうち、罫線内部矩形領域の上端に接し、最も右側にある画素を含むラベルを選択する。
【００５３】
Ｓ８１１において、該ラベリングされた画素のうち、罫線内部矩形領域の右端に接し、最も上側にある画素を含むラベルを選択する。なお、罫線にかすれ等がなければ、通常、Ｓ８１０で選択されたラベルとＳ８１１で選択されたラベルは同一になる。
【００５４】
Ｓ８１０及びＳ８１１で選択されたラベルが複数ある場合、Ｓ８１２において、それらが接近しているかどうか判断する。接近していなければ、角の部分の罫線画像ではないとし、処理を終了する。接近しているかどうかの判断は、各ラベリングされた黒画素画像の外接矩形が重なるかどうか、もしくは外接矩形間の距離が所定の画素（例えば１画素）以内にあるかどうかを調べることによって判断する。
【００５５】
Ｓ８１３で、選択されたラベルのうち、罫線内部領域上端に接し、最も左側にある画素の位置を求める（９０１）。
【００５６】
Ｓ８１４で、選択されたラベルのうち、罫線内部領域右端に接し、最も下側にある画素の位置を求める（９０３）。
【００５７】
角の丸み以外の場所で、記入した文字等が罫線に接触していなければ、Ｓ８１３で求めた画素の位置はＳ８０７で求めた画素の位置と、Ｓ８１４の画素の位置はＳ８０８で求めた画素の位置と同一となる。この段階で、抽出画像に含まれる角の丸み部分の開始位置が得られる。
【００５８】
Ｓ８１３で得られた位置を（Ｘ，Ｔ）、Ｓ８１４で得られた位置を（Ｒ，Ｙ）とすると、Ｓ８１５で、（Ｘ，Ｔ）と（Ｒ，Ｙ）を結ぶ直線（破線９０５）によって、前記ラベリングされて選択された画像が分割されるかを調べる。罫線と交差する文字がなければ画像は分割されない。分割された場合、Ｓ８１６に進み、分割点（９０６）からラベリングされている画素の輪郭を（Ｒ，Ｔ）方向に輪郭線追跡し、輪郭の方向が大きく変化する点（９０７、９０８）を探す。罫線と交差する線の幅が２画素以上なら、輪郭上にある画素は２つ存在し、それぞれについて追跡する。幅が１画素なら、輪郭上にある画素の上側の輪郭と下側の輪郭を追跡する。
【００５９】
その結果、輪郭の方向が変化する２点（９０７、９０８）が求められ、Ｓ８１７で２点間を結ぶ直線でラベリングされた画像を分割し、その右上側にある画像をラベリング画像として残す。
【００６０】
そのようにして残ったラベリング画像は罫線の一部であると判断し、Ｓ８１８で除去する。
【００６１】
第一の実施形態と同様に、右下、左上、左下についても、同様な処理で、罫線部分を除去する。そうすることにより、罫線部分を除去した文字画像を抽出することができる。
【００６２】
以上説明したように、本実施形態により対象とする画像の領域を制限してラベリングし、そこから更に罫線の丸み部分の場所を特定しているので、文字の一部が丸み部分を貫いている場合でも罫線部分のみを除去し、枠内の文字は残すことができる。
【００６３】
［その他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００６４】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６６】
また、本発明を構成するプログラムコードを、ネットワークで接続された外部装置から必要に応じて読み込み、ＣＰＵにて実行するように構成してもよい。
【００６７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。この記憶媒体の一例を図１０に示す。図１０は、本発明に係る帳票読み取り装置で読みだし可能な各種データ処理プログラムを格納する記憶媒体のメモリマップの例を示す図である。なお、特に図示しないが、各種プログラムで用いるデータも該記憶媒体のディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラム等が記憶される場合もある。
【００６８】
【発明の効果】
以上説明したように、本発明によれば、角が丸い罫線で構成された文字記入枠であっても、罫線の一部を文字として抽出することがなくなり、文字記入枠内の文字を正しく抽出できる。また、記入された文字を正しく抽出できるので、文字認識率も向上する。
【００６９】
また、本発明によれば、罫線の一部を含んでいるかどうかを自動的に判断し、枠線の一部を含む場合は、該一部を除去するので、あらかじめ枠の形状を指定する必要もなくなる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る画像処理装置のブロック図である。
【図２】実施形態１に係る文字切り出し手順の一例を示すフローチャートである。
【図３】実施形態１に係る角の罫線部分の除去手順の一例を示すフローチャートである。
【図４】実施形態１に係る文字記入枠の一例を説明する図である。
【図５】実施形態１に係る罫線内部矩形領域を抽出する処理を説明する図である。
【図６】実施形態１に係る黒画素の外接矩形領域に罫線の一部を含んでいる一例を説明する図である。
【図７】実施形態１に係る罫線内部領域をラベリングした結果を説明する図である。
【図８】実施形態２に係る角の罫線部分の除去手順の一例を示すフローチャートである。
【図９】実施形態２に係る文字記入枠と記入された文字の一例を説明する図である。
【図１０】本発明に係る帳票読み取り装置で読みだし可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  外部記憶装置
１０５  ディスプレイ
１０６  キーボード
１０７  ポインティングデバイス
１０８  イメージスキャナ
１０９  ネットワークインターフェース
【図１】
0004078045.tif 000002
【図２】
0004078045.tif 000003
【図３】
0004078045.tif 000004
【図４】
0004078045.tif 000005
【図５】
0004078045.tif 000006
【図６】
0004078045.tif 000007
【図７】
0004078045.tif 000008
【図８】
0004078045.tif 000009
【図９】
0004078045.tif 000010
【図１０】
0004078045.tif 000011