JP3846752B2 - Ruled line removal method - Google Patents
Ruled line removal method Download PDFInfo
- Publication number
- JP3846752B2 JP3846752B2 JP05199797A JP5199797A JP3846752B2 JP 3846752 B2 JP3846752 B2 JP 3846752B2 JP 05199797 A JP05199797 A JP 05199797A JP 5199797 A JP5199797 A JP 5199797A JP 3846752 B2 JP3846752 B2 JP 3846752B2
- Authority
- JP
- Japan
- Prior art keywords
- ruled line
- black run
- length
- line
- ruled
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Character Input (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は画像処理に係り、とくに、文字認識装置の前処理部等において、文字と罫線が混在した帳票等の画像より、文字を保存しつつ罫線を消去する技術に関する。
【0002】
【従来の技術】
罫線を多く含む帳票のような画像を文字認識装置で処理する場合、罫線と文字との近接(接触、交差、重複)が大きな問題となる。高精度の文字認識を実現するには、そのような近接した文字を罫線と分離して認識しなければならず、その一つの方法として、前処理段階で帳票画像より罫線だけを消去する方法がある。
【0003】
このような罫線の消去を実現する手段として、FormOut!(イスラエル国、TiS社)なる商品名のソフトウエアが知られている。このソフトウエアは、記入欄が未記入の帳票(見本)を読み取って、その定型情報(罫線、文字、図形)を学習する。その後、記入欄が記入された同種の帳票を読み取り、その画像より、学習した定型情報を除去し、記入欄に記入された文字等の変動情報だけの画像を出力する。
【0004】
【発明が解決しようとする課題】
上記ソフトウエアは、「見本」が存在すること、それを予め学習すること、学習済みの見本と同種の帳票を処理することを前提としており、見本のない帳票類や学習したことのない種類の帳票類の処理に利用できない。また、罫線と文字の接触にはある程度対応が可能なようであるが、罫線との交差、特に斜め線との交差や重複の場合には、文字を復元できるほどの性能は期待できないようである。
【0005】
本発明の目的は、見本を利用することなく、任意の種類の帳票等の画像より、文字を保存しつつ、文字線と交差、接触した部分の罫線を高精度に消去する方法を提供することにある。
【0006】
【課題を解決するための手段】
本発明による罫線消去方法は、一実施形態では、見本を利用することなく、帳票等の画像より、罫線と近接した文字線を保存しつつ罫線を消去するため、罫線の直交部分を認識するステップ、認識された直交部分を消去するステップ、及び、罫線の重心の付近を垂直に横切る黒ランの中で、罫線の太さを超えない長さを持つ黒ランを消去するステップを含む。本発明は特に、罫線に文字線が斜めに交差した部分に罫線の未消去部分を残さないために、罫線の重心の付近を垂直に横切る黒ランで、罫線の太さより大きく、かつ、罫線の太さより十分大きな閾値より小さい長さを持つ黒ランであって、その重心が罫線の重心より所定値以上ずれた黒ランについて、該黒ランの長さから罫線の太さを引いた基準値を求め、重心のずれた方向の端から前記基準値に相当する長さ部分を保存し、残りの部分を消去するステップを有することを特徴とする。また、本発明は、罫線と文字線との重複もしくは接触した部分に罫線の未消去部分を残さないために、罫線の重心付近を垂直に横切る黒ランであって、罫線の太さより所定の若干量だけ大きなほぼ一定の長さを持つ黒ランが連続し、前又は後に罫線の太さより十分に大きな所定値以上の長さを持つ黒ランが存在する区間を検出し、その区間内の黒ランについて、該黒ランの長さから罫線の太さを引いた基準値を求め、重心のずれた方向の端から前記基準値に相当する長さ部分を保存し、残りの部分を消去するステップを有することを特徴とする。
【0007】
【発明の実施の形態】
以下、図面を参照し、本発明の実施の形態を説明する。
【0008】
本発明は、例えば図1に示すような一般的な構成のコンピュータシステム10においてソフトウエアにより実施することができる。図1において、12は各構成部の相互接続のためのバス、14は中央演算処理装置(CPU)、16はシステムメモリである。20はプリンタ等の外部装置であって、パラレルポート22を介しバス12に接続される。24はディスプレイであってディスプレイアダプター26を介してバス12に接続され、38はポインティングデバイスのマウスでシリアルポート28によりバス12に接続される。30はキーボード、32は固定ディスク装置、33はフロッピーディスクドライブである。34はイメージスキャナであり、外部インターフェイス36によりバス12に接続される。
【0009】
処理の対象となる画像は、例えば、イメージスキャナ34によって原稿より読み取られて入力され、あるいは、フロッピーディスク33Aに一旦記録された後にフロッピーディスクドライブ33を介して入力される。入力された画像データは固定ディスクドライブ32に一旦保存され、処理実行時にシステムメモリ16の特定領域に読み込まれるか、あるいは直接的にシステムメモリ16の特定領域に読み込まれる。処理途中の画像データや最終的な結果としての画像データ、その他のデータはシステムメモリ16の特定領域に一時的に記憶される。最終結果の画像データは、固定ディスクドライブ30に保存され、必要な時に外部装置20やフロッピーディスク33Aに出力される。また、入力された画像データや処理途中の画像データはディスプレイ24に表示させることができる。ユーザは、罫線の指定や他の情報の入力を、マウス38やキーボード30を操作することにより行うことができる。後記実施例に関連して詳細に説明する罫線消去処理のためのプログラムは、固定ディスクドライブ32又はフロッピーティスク33Aよりシステムメモリ16にロードされ、中央演算処理装置14によって実行される。
【0010】
以下、本発明による罫線消去処理について具体的に説明するが、図1に示すコンピュータシステム10の構成との関連は自明であろうから説明を省略する。
【0011】
図2は本発明の第1の実施例による処理の流れを示すフローチャートである。図2において、まず、文字と罫線を含む文書等の画像データが入力され(ステップ200)、次にその画像データの2値化処理を行う(ステップ201)。この2値化処理後の画像データに対し画像圧縮を施す(ステップ202)。この画像圧縮後の画像データが後述の処理の対象となる。なお、入力された画像データが2値化済みの場合には、ステップ201の2値化処理は不要である。また、ステップ202の画像圧縮は、画像データの記憶に必要なメモリ量の削減と処理時間の短縮を目的としており、その必要がなければ省いてよい。
【0012】
次に、画像データ中の罫線を認識する(ステップ203)。罫線の自動認識は、例えば水平、垂直方向の長い黒ランを統合し、その外接矩形を罫線として抽出する方法や、水平、垂直方向に黒画素の射影をとって、ピークをもっている領域を罫線として抽出する方法によって行うことが可能である。求める罫線の情報は、例えば罫線の位置、長さ、太さである。そのような方法で認識される罫線は、水平方向と垂直方向の罫線であるが、ベクトル解析による罫線認識方法を採用すれば、斜め罫線も認識可能である。
【0013】
おな、システム上で予め罫線の位置情報が与えられるようにしてもよい。具体的には、罫線のテンプレートを使って罫線の位置情報を与え、あるいは、画像データをディスプレイ24に画面表示し、その画面上でマウス38又はキーボード30を利用して罫線の位置を指定し位置情報を与える方法を採用してもよい。
【0014】
次に、水平、垂直方向の罫線の直交部分を認識する(ステップ204)。ベクトル解析の方法により斜め罫線も認識した場合には、斜め罫線相互の直交部分も認識する。図3(a)に示すように、垂直方向の罫線の矩形101の左上頂点の座標を(Vxs,Vys)、右下頂点の座標を(Vxe,Vye)とし、これと直交する水平方向の罫線の矩形100の左上頂点の座標を(Hxs,Hys)、右下頂点の座標を(Hxe,Hye)とすると、直交部分102は、左上頂点の座標が(Vxs,Hys)、右下頂点の座標が(Vxe,Hye)の四角形領域として求まる。
【0015】
このようにして求められた罫線の直交部分の黒画素を白画素に置き換える(ステップ205)。かくして、罫線と罫線の直交部分が画像より消去される。消去される部分は罫線相互の直交する部分に限定され、罫線と文字との直交部分は消去されることはない。
【0016】
このようにして罫線の直交部分を消去した画像データに対し、ステップ206〜212の処理ループで罫線の未消去部分を消去する。ステップ206で罫線を1つ選び、その罫線の消去をステップ207〜211の処理ループで行う。この処理は、罫線の始点より終点へ向かって1画素単位で処理位置を変えながら繰り返し実行され、罫線の終端まで処理した段階でループを抜ける。
【0017】
処理内容は次のとおりである。処理位置において、罫線の重心付近を横切る、罫線のベクトル方向に垂直な方向の黒ランの長さを検出する(ステップ208)。例えば、図3(b)に示す水平方向の罫線の矩形100の場合、(Hxs,(Hys+Hye)/2)と(Hxe,(Hys+Hye)/2)の2点を結ぶ直線111の周辺で、それを縦方向に横切る黒ランの長さを、左端から右端まで処理位置を順次移しながら検出する。検出した黒ランの長さと罫線の太さを比較し(ステップ209)、黒ランの長さが罫線の太さ以下ならば、その黒ランの黒画素を白画素に置き換える(ステップ210)。ここで、罫線の太さとは、予めシステムにおいて指定されるかユーザに指定された罫線の平均太さのことである。なお、このような静的な閾値処理に代えて、注目した黒ランと直前の黒ランとの長さの差分が小さい場合に、注目した黒ランを消去すると判断するような動的な閾値処理を用いることも可能である。
【0018】
一つの罫線の消去処理が終わると、ステップ206に戻って、別の1つの罫線を選び、同様の罫線消去処理を行う。最後の罫線まで処理したとステップ212で判断すると、罫線消去処理は完了し、罫線処理済みの画像データが出力される(ステップ213)。
【0019】
この第1実施例によれば、罫線と近接(接触、交差、重複)した文字線を保存しつつ罫線を消去することができる。しかし反面、罫線の文字線が近接した部分の消去が不完全になる。例えば、図4(a)に示す文字線121が罫線122に斜めに交差した部分120の場合、図4(b)に黒領域として表した罫線122の部分123は、その黒ランの長さが罫線太さより大きいため消去されず、ノイズとして残ってしまう。このような消去漏れ部分の面積が十分に小さければ許容できるが、その面積が無視できない大きさであると、罫線消去後の画像に対する文字認識等に悪影響がある。次に説明する本発明の第2の実施例によれば、文字線が斜めに交差する部分の罫線の消去漏れを大幅に減らすことができる。
【0020】
図5は、本発明の第2の実施例の処理の流れを示すフローチャートである。図5において、画像データの入力のステップ300、罫線認識のステップ301、罫線直交部分の認識のステップ302、罫線直交部分の消去のステップ303は、図2のステップ200,203,204,205と同様である。なお、入力される画像データが2値化されていない場合には、その2値化処理が必要となる。また、使用メモリ量の削減や処理時間の短縮のために、画像データの圧縮処理を追加してもよい。
【0021】
罫線の直交部分を消去した後の画像データに対し、ステップ305〜318の処理ループによって、罫線の未消去部分の消去を行う。まず、未処理の罫線を一つ選び(ステップ305)、初期フラグをオフし(ステップ306)、当該罫線のベクトル方向に1画素単位で処理位置をずらしながら、未消去部分を順次に消去する(ステップ307〜317)。
【0022】
処理位置において、罫線の重心付近を横切る、罫線のベクトル方向に垂直な方向の黒ランの長さを検出する(ステップ308)。これは図2のステップ208と同様である(図3(b)参照)。検出した黒ランの長さと罫線の太さとの大小判定を行う(ステップ309)。黒ランの長さが罫線の太さ以下ならば、その黒ランは罫線を構成している黒ランとみなし、その黒画素を白画素に置き換え(ステップ310)、初期フラグをオフする(ステップ311)。そして、処理位置が罫線の終端まで達していなければ、ステップ317よりステップ307に戻り、処理位置を一つ進めて処理を続ける。
【0023】
検出された黒ランの長さが罫線太さより大きいとステップ309で判断された場合、その黒ランの長さと、罫線太さや文字太さ(システムにより予め指定されるかユーザ指定される)より十分に大きく選ばれた閾値との大小判定を行う(ステップ312)。黒ランの長さが閾値以上であると判定された場合、罫線と直交した文字線と判断されるので、その黒ランを消去しないで、次の処理位置の処理に進む。例えば、図6(a)に示すような文字線132と罫線131の交差部分130においては、黒ランの長さは罫線太さ及び文字太さより遥かに大きくなるため、消去しない。したがって、図6(b)に拡大して示すように、罫線131の文字線132との交差部分を除いた部分だけが消去され、文字線132は保存される。
【0024】
ステップ312において、黒ランの長さが閾値より小さいと判定された場合、黒ランの重心(中点)と罫線の重心(太さ方向の中点)とのずれを検出し(ステップ313)、そのずれが所定の閾値より大きいか否かを判定し(ステップ314)、ずれが閾値より大きいときには黒ラン消去のためのステップ315に進むが、そうでないときには処理位置を1つ進めて処理を続ける。
【0025】
ステップ313,314,315に関して図7により具体的に説明する。図7(a)において、140は罫線、141は罫線140と交差した文字線である。142は罫線の太さ方向の重心を結んだ線であり、143は罫線140のベクトル方向に垂直な方向の黒ランの重心を結んだ線である。罫線140の先頭から文字線と交差するP1位置の直前までは、その黒ランはステップ310によって消去される。しかし、P1位置では、閾値を超える長い黒ランが検出されるためステップ313に進み、重心のずれ(線142と線143のずれ)が検出される。そして、図7(a)に示す例のように、重心のずれが大きい場合には、ステップ315に進む。
【0026】
このステップ315において、初めは初期フラグはオフであるので、当該処理位置での黒ランの長さhから罫線の太さbを引いた基準値Xを求める(ステップ315A)。図7(b)は、この基準値Xの求め方を説明している。そして初期フラグをオンにし(ステップ315B)、当該処理位置の黒ランの、その重心のずれた方向の端から基準値Xに相当する長さ分を保存し、残りの部分を消去する(ステップ315C)。図7(a)の例では、P1位置の黒ランの下端より基準値Xに相当する長さ分を保存し、残りの上の部分の黒画素を白画素に置き換えることになる。
【0027】
処理位置を順に右に進めながら、同様の黒ランの部分消去を行っていく。重心のずれが閾値より小さくなるP2位置まで黒ランの部分消去が行われる。P2位置からは、重心のずれが閾値より小さくなるため黒ランの部分消去(ステップ315)は行われない。その結果、図7(c)に示すように罫線140の文字線141より上側の三角形状の部分145が消去される。
【0028】
重心のずれが閾値を超えるP3位置の直前まではステップ315に進むことなく処理位置が進められるが、P3位置に達するとステップ315に進む。この時点では初期フラグはオンの状態であるので、基準値Xは再計算されず、P1位置で求められた基準値xが用いられ、黒ランの重心のずれた側の端より基準値Xの長さを超えた部分が消去される(ステップ315C)。図7(a)の例では、黒ランの下端側部分が消去される。この部分消去はP4位置まで順次行われる。その結果、図7(c)に示すように罫線140の文字線141より下側の三角形状の部分146が消去される。このようにして、前記第1実施例では消去できなかった文字線等と斜めに交差した罫線部分が消去される。P4位置の次の処理位置からは黒ランの長さが罫線太さ以下となるので、ステップ310によって消去される。
【0029】
図8は、重心のずれが小さくなる例を示している。150は罫線、151はその重心を結んだ線、152及び153は罫線150と交差した文字線等の線、154は罫線太さ方向の黒ランの重心を結んだ線である。この例のような線の交差部分については、ステップ315の部分消去の対象から外されるので、交差線分と接触した罫線の部分(図8の斜線領域155,156)はノイズとして残ってしまう。
【0030】
このようにして、ステップ307〜317の処理ループにより1つの罫線の消去が終了すると、ステップ305に戻って次の罫線を一つ選び、その消去処理を実行する。最後の罫線まで消去処理が終わると、ステップ318で処理ループを抜け、罫線処理後の画像データが出力され(ステップ319)、これが終わると処理は完了する。
【0031】
図9及び図10は、本発明の第3の実施例による処理の流れを示すフローチャートである。本実施例は、罫線の文字線との重複もしくは接触部分の消去漏れを減らすことができる。
【0032】
図9において、画像データ入力のステップ400、罫線認識のステップ401、罫線直交部分の認識のステップ402、罫線直交部分の消去のステップ403は、図2のステップ200,203,204,205と同様である。なお、入力される画像データが2値化されていない場合には、その2値化処理が必要となる。また、使用メモリ量の削減や処理時間の短縮のために、画像データの圧縮処理を追加してもよい。
【0033】
罫線の直交部分を消去した後の画像データに対し、ステップ405〜413の処理ループによって、罫線の未消去部分と思われる黒ラン消去領域を作成する。実際の消去は図10に示すステップ415〜424の処理ループで行う。
【0034】
まず、未処理の罫線を一つ選び(ステップ405)、その罫線のベクトル方向に1画素単位で処理位置をずらしながら、未消去部分と思われる黒ラン消去領域を作成する(ステップ406〜412)。処理位置において、罫線の重心付近を横切る、罫線のベクトル方向に垂直な方向の黒ランの長さを検出する(ステップ407)。これは図2のステップ208と同様である(図3(b)参照)。検出した黒ランの長さと罫線の太さとの大小判定を行う(ステップ408)。黒ランの長さが罫線の太さ以下ならば、その黒ランは罫線を構成している黒ランである可能性が高いので、ステップ409に進む。このステップ409では、ステップ408で罫線の構成黒ランである可能性が高いと判断された連続した黒ランを統合した黒ラン消去領域の作成、更新を行う。そして、処理位置が罫線の終端まで達していなければ、ステップ412よりステップ406に戻り、処理位置を一つ進めて処理を続ける。
【0035】
検出された黒ランの長さが罫線太さより大きいとステップ408で判断された場合、その黒ランの長さと、罫線太さや文字太さより十分に大きく選ばれた閾値との大小判定を行う(ステップ410)。黒ランの長さが閾値以上であると判定された場合、交差した文字の黒ランであるとみなされ、その黒ランは消去対象から除外され、ステップ412よりステップ406に戻り、次の処理位置の処理に進む。ステップ410において、黒ランの長さが閾値より小さいと判定された場合には、ステップ411に進む。このステップ411では、ステップ410で長さが閾値より小さいと判定された連続した黒ランを含む黒ラン消去領域の作成、更新を行う(ステップ411)。そして、ステップ412よりステップ406に戻り、次の処理位置の処理を続ける。
【0036】
注目した罫線の終端まで処理が終わると、ステップ406〜412の処理ループを抜け、ステップ405に戻り、次の未処理の罫線に対する処理を始める。最後の罫線の処理が終わると、ステップ405〜413の処理ループを抜け、ステップ415〜424の処理ループに入る。
【0037】
一つの黒ラン消去領域を選び(ステップ415)、その大きさ(罫線の長さ方向の大きさ)を所定の閾値より小さいか調べる(ステップ416)。その閾値より大きさが小さい場合、黒ラン消去領域は罫線ではないとみなされ、消去の対象から外され、ステップ424よりステップ415に戻り、次の黒ラン消去領域の処理に進む。
【0038】
黒ラン消去領域が所定の閾値より大きい場合、その黒ラン消去領域内の黒ランの長さの分布(太さの分布)、及び、図7に関連して説明した黒ランの重心と罫線の重心とのずれを求める(ステップ417)。
【0039】
求めた黒ラン長分布を参照し、領域全体にわたって、黒ラン長がほぼ一定であり、かつ、黒ラン長が罫線太さを超えないか調べる(ステップ418)。この条件が満たされる場合、その黒ラン消去領域は罫線と判断できるので、領域内の黒ランの全画素を白画素に置き換え、黒ランを全体的に消去し(ステップ419)、当該黒ラン消去領域に対する処理を終わる。
【0040】
ステップ418の条件が不成立の場合、罫線太さより若干大きく、かつ、変化の小さい黒ラン長が連続し、前及び/又は後に罫線太さよりかなり大きな黒ラン長が存在する区間があるか調べる(ステップ420)。そのような区間がある場合、その区間は文字と罫線との重複もしくは接触がある部分と考えられるので、文字線に相当する部分を残すように当該区間内の黒ランを部分的に消去し(ステップ421)、その後にステップ422に進む。
【0041】
この部分消去について図11により説明する。図11(a)は罫線160に文字161が重複もしくは接触した例を示している。その重複もしくは接触した部分162を図11(b)に拡大して示す。図11(b)に示す区間163がステップ420で見つけられる。この例では、区間163の黒ランの重心が罫線の重心に対し上側にずれている。したがって、区間163内の黒ランの上端より基準値に相当する長さ分だけを残し、それにより下端側の部分を消去する。基準値としては、システムにより予め与えられる、又はユーザにより指定される文字の太さを用いることができる。このような部分消去の結果は図11(c)のようになる。図11(c)において、網掛け部分が消去された部分である。なお、罫線160の区間164及び区間165の部分はそれぞれ別個の黒ラン消去領域として抽出され、それぞれステップ419により消去される。
【0042】
次に、ステップ417で取得した重心ずれの情報を参照し、黒ランの重心と罫線の重心とのずれが所定の閾値より大きい部分があるか調べる(ステップ422)。この閾値は図5のステップ314で用いる閾値と同様の値でよい。重心のずれが大きい部分がある場合、罫線に文字線が斜めに交差した部分であると考えられるので、ステップ423において、図5のステップ315と同様に、斜めに交差した文字線と罫線とのなす三角形状の領域の黒画素を白画素に置き換え、それがノイズとして残らないようにする処理を行う。
【0043】
このようにして、黒ラン消去領域を1つずつ処理し、最後の黒ラン消去領域の処理を終わるとステップ424で処理ループから抜ける。そして、消去処理後の画像データを出力し(ステップ425)、処理を完了する。
【0044】
【発明の効果】
以上の説明から明らかなように、本発明によれば、見本を用いることなく、任意の帳票等の画像より、罫線と近接した文字線を保存しつつ、罫線を消去することができる。特に、罫線に文字線が斜めに交差した部分に罫線の未消去部分を残さない精密な罫線消去が可能である。また、罫線と文字線との重複もしくは接触部分に罫線の未消去部分を残さない精密な罫線消去が可能である。
【図面の簡単な説明】
【図1】 本発明をソフトウエアにより実施する場合に利用できるコンピュータシステムの一例を示すブロック図である。
【図2】 本発明の第1の実施例による罫線消去処理のフローチャートである。
【図3】 (a)罫線の直交部の検出を説明するための図である。
(b)罫線の黒ランの長さの検出を説明するための図である。
【図4】 (a)罫線に文字線が斜めに交差する例を示す図である。
(b)罫線と文字線が斜めに交差する部分における罫線消去漏れによるノイズを説明するための拡大図である。
【図5】 本発明の第2の実施例による罫線消去処理のフローチャートである。
【図6】 (a)罫線に文字線が直交する例を示す図である。
(b)罫線と文字線との直交部に対する処理を説明するための拡大図である。
【図7】 罫線に文字線が斜めに交差した部分における罫線の重心と黒ランの重心のずれ、及び罫線消去処理を説明するための図である。
【図8】 罫線と文字線の斜め交差の例と、その部分における罫線の重心と黒ランの重心のずれを示す図である。
【図9】 本発明の第3の実施例による罫線消去処理のフローチャートの前半部分である。
【図10】 本発明の第3の実施例による罫線消去処理のフローチャートの後半部分である。
【図11】 (a)罫線と文字線との重複もしくは接触の例を示す図である。
(b)罫線と文字線との重複もしくは接触部分に対する罫線消去処理を説明するための拡大図である。
(c)罫線と文字線との重複もしくは接触部分に対する罫線消去処理の結果を示す拡大図である。
【符号の説明】
14 中央演算処理装置
16 システムメモリ
24 ディスプレイ
30 キーボード
32 固定ディスクドライブ
33 フロッピーディスクドライブ
33A フロッピーディスク
34 イメージスキャナ
100,101 罫線の矩形
102 罫線の直交部分
121 文字線
122 罫線
131 罫線
132 文字線
140 罫線
141 文字線
142 罫線の重心を結んだ線
143 黒ランの重心を結んだ線
150 罫線
151 罫線の重心を結んだ線
152,153 文字線
154 黒ランの重心を結んだ線
155,156 罫線の未消去部分
160 罫線
161 文字線
163 文字線と罫線の重複もしくは接触部分[0001]
BACKGROUND OF THE INVENTION
The present invention relates to image processing, and more particularly to a technique for erasing ruled lines while preserving characters from an image such as a form in which characters and ruled lines are mixed in a preprocessing unit of a character recognition device.
[0002]
[Prior art]
When an image such as a form including many ruled lines is processed by the character recognition device, the proximity (contact, intersection, overlap) between the ruled lines and the characters becomes a big problem. In order to realize high-precision character recognition, such close characters must be recognized separately from the ruled lines, and one method is to erase only the ruled lines from the form image in the preprocessing stage. is there.
[0003]
As a means for realizing such ruled line erasing, FormOut! Software with a trade name of (TiS, Israel) is known. This software reads a form (sample) in which the entry field is not filled, and learns the fixed form information (ruled lines, characters, figures). Thereafter, the same type of form in which the entry field is entered is read, the learned fixed form information is removed from the image, and an image of only the variation information such as characters entered in the entry field is output.
[0004]
[Problems to be solved by the invention]
The above software is premised on the existence of “samples”, learning them in advance, and processing forms of the same type as learned samples. Cannot be used for processing forms. In addition, it seems that it is possible to cope with the contact between the ruled line and the character to some extent, but in the case of the intersection with the ruled line, especially the intersection with the diagonal line or overlapping, it seems that the performance that can restore the character cannot be expected. .
[0005]
The purpose of the present invention is to save characters from images of any type of form without using a sample,Crossing and touching the character lineThe object is to provide a method for erasing ruled lines with high accuracy.
[0006]
[Means for Solving the Problems]
The ruled line erasing method according to the present invention includes:In one embodiment,Recognizing the orthogonal part of the ruled line, erasing the recognized orthogonal part, and eliminating the ruled line while preserving the ruled line close to the ruled line from the image such as a form without using a sample, and The method includes the step of erasing a black run having a length not exceeding the thickness of the ruled line among black runs that vertically cross the vicinity of the center of gravity of the ruled line.In particular, the present inventionA black run that crosses the vicinity of the center of gravity of the ruled line vertically so as not to leave an unerased part of the ruled line at the part where the character line intersects the ruled line diagonally, and a threshold value that is larger than the thickness of the ruled line and sufficiently larger than the thickness of the ruled line A black run with a smaller length and whose center of gravity is shifted from the center of gravity of the ruled line by a predetermined value or more,Obtaining a reference value obtained by subtracting the thickness of the ruled line from the length of the black run, storing a length portion corresponding to the reference value from an end in a direction where the center of gravity is shifted, and erasing the remaining portion. It is characterized by. The present invention also provides:In order not to leave the unerased part of the ruled line in the overlapping or contacting part of the ruled line and the character line, it is a black run that vertically crosses the vicinity of the center of gravity of the ruled line and is almost constant larger by a predetermined amount than the thickness of the ruled line A black run having a length is continuous, and a section where a black run having a length more than a predetermined value sufficiently larger than the thickness of the ruled line is detected before or after the black run in the section is detected.Obtaining a reference value obtained by subtracting the thickness of the ruled line from the length of the black run, storing a length portion corresponding to the reference value from an end in a direction where the center of gravity is shifted, and erasing the remaining portion. It is characterized by.
[0007]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0008]
The present invention can be implemented by software in a
[0009]
The image to be processed is read and input from an original by the
[0010]
Hereinafter, the ruled line erasing process according to the present invention will be described in detail. However, the relation with the configuration of the
[0011]
FIG. 2 is a flowchart showing the flow of processing according to the first embodiment of the present invention. In FIG. 2, first, image data such as a document including characters and ruled lines is input (step 200), and then binarization processing of the image data is performed (step 201). Image compression is performed on the binarized image data (step 202). The image data after the image compression is a target of processing described later. If the input image data has already been binarized, the binarization process in step 201 is not necessary. The image compression in
[0012]
Next, a ruled line in the image data is recognized (step 203). Automatic ruled line recognition can be achieved by, for example, integrating a long black run in the horizontal and vertical directions and extracting the circumscribed rectangle as a ruled line, or by projecting black pixels in the horizontal and vertical directions, and using a peak area as a ruled line. This can be done by the extraction method. The information of the ruled line to be obtained is, for example, the position, length, and thickness of the ruled line. The ruled lines recognized by such a method are horizontal and vertical ruled lines. If a ruled line recognition method based on vector analysis is adopted, diagonal ruled lines can also be recognized.
[0013]
The ruled line position information may be given in advance on the system. Specifically, ruled line position information is given using a ruled line template, or image data is displayed on the
[0014]
Next, the orthogonal part of the horizontal and vertical ruled lines is recognized (step 204). When the diagonal ruled line is also recognized by the vector analysis method, the orthogonal part between the diagonal ruled lines is also recognized. As shown in FIG. 3A, the coordinate of the upper left vertex of the rectangle 101 of the vertical ruled line is (Vxs, Vys), the coordinate of the lower right vertex is (Vxe, Vye), and the horizontal ruled line orthogonal to this. If the coordinates of the upper left vertex of the
[0015]
The black pixel in the orthogonal part of the ruled line thus obtained is replaced with a white pixel (step 205). Thus, the ruled line and the orthogonal part of the ruled line are erased from the image. The part to be erased is limited to the part perpendicular to the ruled lines, and the part perpendicular to the ruled lines and the characters is not erased.
[0016]
For the image data in which the orthogonal part of the ruled line is erased in this way, the unerased part of the ruled line is erased in the processing loop of steps 206 to 212. In step 206, one ruled line is selected, and the ruled line is deleted in the processing loop of steps 207-211. This process is repeatedly executed while changing the processing position in units of one pixel from the start point of the ruled line to the end point, and exits the loop when the process is completed up to the end of the ruled line.
[0017]
The processing contents are as follows. At the processing position, the length of the black run that crosses the vicinity of the center of gravity of the ruled line and is perpendicular to the vector direction of the ruled line is detected (step 208). For example, in the case of the horizontal ruled
[0018]
When the erasing process for one ruled line is completed, the process returns to step 206 to select another ruled line and perform the same ruled line erasing process. If it is determined in
[0019]
According to the first embodiment, a ruled line can be erased while storing a character line that is close (contact, intersecting, overlapping) with the ruled line. However, on the other hand, erasure of the part where the character lines of the ruled lines are close is incomplete. For example, when the
[0020]
FIG. 5 is a flowchart showing the flow of processing of the second embodiment of the present invention. In FIG. 5, an image
[0021]
The unerased part of the ruled line is erased by the processing loop of
[0022]
At the processing position, the length of the black run that crosses the vicinity of the center of gravity of the ruled line and is perpendicular to the vector direction of the ruled line is detected (step 308). This is the same as step 208 in FIG. 2 (see FIG. 3B). The size of the detected black run length and ruled line thickness is determined (step 309). If the length of the black run is equal to or less than the thickness of the ruled line, the black run is regarded as a black run constituting the ruled line, the black pixel is replaced with a white pixel (step 310), and the initial flag is turned off (step 311). ). If the processing position has not reached the end of the ruled line, the process returns from step 317 to step 307 to continue the processing by advancing the processing position by one.
[0023]
If it is determined in
[0024]
If it is determined in
[0025]
[0026]
In
[0027]
Similar black run partial erasing is performed while the processing position is sequentially advanced to the right. The black run is partially erased up to the P2 position where the deviation of the center of gravity is smaller than the threshold. From the P2 position, the black center partial erasure (step 315) is not performed because the deviation of the center of gravity is smaller than the threshold value. As a result, the triangular portion 145 above the character line 141 of the ruled
[0028]
The process position is advanced without proceeding to step 315 until just before the P3 position where the deviation of the center of gravity exceeds the threshold value, but when the P3 position is reached, the process proceeds to step 315. At this time, since the initial flag is in the on state, the reference value X is not recalculated, the reference value x obtained at the P1 position is used, and the reference value X of the black run is shifted from the end on the shifted side. The part exceeding the length is erased (
[0029]
FIG. 8 shows an example in which the deviation of the center of gravity is reduced. 150 is a ruled line, 151 is a line connecting the centers of gravity, 152 and 153 are lines such as character lines intersecting the ruled lines 150, and 154 is a line connecting the centers of black runs in the ruled line thickness direction. Since the intersecting portion of the line as in this example is excluded from the target of partial erasure in
[0030]
In this way, when the erasing of one ruled line is completed by the processing loop of steps 307 to 317, the process returns to step 305 to select one next ruled line and execute the erasing process. When the erasing process is completed up to the last ruled line, the process loop is exited at
[0031]
9 and 10 are flowcharts showing the flow of processing according to the third embodiment of the present invention. In this embodiment, it is possible to reduce the overlap of the ruled lines with the character lines or the erasure omission of the contact portions.
[0032]
9, an image
[0033]
A black run erase region that is considered to be an unerased part of the ruled line is created by the processing loop of
[0034]
First, one unprocessed ruled line is selected (step 405), and a black run erase region that is considered to be an unerased part is created while shifting the processing position by one pixel unit in the vector direction of the ruled line (steps 406 to 412). . At the processing position, the length of the black run that crosses the vicinity of the center of gravity of the ruled line and is perpendicular to the vector direction of the ruled line is detected (step 407). This is the same as step 208 in FIG. 2 (see FIG. 3B). The size of the detected black run length and ruled line thickness is determined (step 408). If the length of the black run is equal to or smaller than the thickness of the ruled line, the black run is likely to be a black run constituting the ruled line, and the process proceeds to step 409. In this
[0035]
If it is determined in
[0036]
When the processing is completed up to the end of the noticed ruled line, the processing loop of steps 406 to 412 is exited, and the process returns to step 405 to start processing for the next unprocessed ruled line. When the processing of the last ruled line is completed, the processing loop of
[0037]
One black run erase area is selected (step 415), and it is checked whether its size (size in the length direction of the ruled line) is smaller than a predetermined threshold (step 416). If the size is smaller than the threshold value, the black run erase region is regarded as not a ruled line, and is excluded from the erase target. The process returns from
[0038]
When the black run erase area is larger than a predetermined threshold, the black run length distribution (thickness distribution) in the black run erase area, and the black run center of gravity and ruled lines described with reference to FIG. A deviation from the center of gravity is obtained (step 417).
[0039]
With reference to the obtained black run length distribution, it is examined whether the black run length is substantially constant over the entire region and whether the black run length exceeds the ruled line thickness (step 418). If this condition is satisfied, the black run erase region can be determined as a ruled line. Therefore, all the black run pixels in the region are replaced with white pixels, and the black run is entirely erased (step 419). End processing for the region.
[0040]
If the condition of step 418 is not satisfied, it is checked whether there is a section in which black run lengths slightly larger than the ruled line thickness and small changes are continuous, and a black run length considerably larger than the ruled line thickness exists before and / or after (step) 420). If there is such a section, it is considered that there is an overlap or contact between the character and the ruled line, so the black run in the section is partially erased so as to leave a part corresponding to the character line ( Step 421) and then proceed to Step 422.
[0041]
This partial erasure will be described with reference to FIG. FIG. 11A shows an example in which the
[0042]
Next, with reference to the information on the center of gravity deviation acquired in step 417, it is checked whether there is a portion where the difference between the center of gravity of the black run and the center of gravity of the ruled line is larger than a predetermined threshold (step 422). This threshold value may be the same value as the threshold value used in step 314 of FIG. If there is a part where the deviation of the center of gravity is large, it is considered that the character line intersects the ruled line diagonally. Therefore, in
[0043]
In this way, the black run erase areas are processed one by one, and when the process of the last black run erase area is finished, the process loop is exited at
[0044]
【The invention's effect】
As is clear from the above explanation,According to the present invention,Without using a sample, it is possible to erase a ruled line from an image such as an arbitrary form while saving a character line close to the ruled line.In particular,Precise ruled line erasure is possible without leaving an unerased part of the ruled line where the character line intersects the ruled line diagonally.Also,Precise ruled line erasing is possible without leaving the unerased part of the ruled line at the overlapping or contacting part of the ruled line and the character line.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of a computer system that can be used when the present invention is implemented by software.
FIG. 2 is a flowchart of ruled line erasing processing according to the first embodiment of the present invention.
FIG. 3A is a diagram for explaining detection of an orthogonal part of a ruled line;
(B) It is a figure for demonstrating the detection of the length of the black run of a ruled line.
FIG. 4A is a diagram illustrating an example in which a character line obliquely intersects a ruled line.
(B) It is an enlarged view for demonstrating the noise by ruled line deletion omission in the part which a ruled line and a character line cross | intersect diagonally.
FIG. 5 is a flowchart of ruled line erasing processing according to the second embodiment of the present invention.
FIG. 6A is a diagram illustrating an example in which a character line is orthogonal to a ruled line.
(B) It is an enlarged view for demonstrating the process with respect to the orthogonal part of a ruled line and a character line.
FIG. 7 is a diagram for explaining a shift between the center of gravity of a ruled line and the center of gravity of a black run at a portion where a character line obliquely intersects with the ruled line, and ruled line erasing processing;
FIG. 8 is a diagram illustrating an example of an oblique intersection of a ruled line and a character line, and a shift between the center of gravity of the ruled line and the center of gravity of a black run at that portion;
FIG. 9 is a first half of a flowchart of ruled line erasing processing according to the third embodiment of the present invention.
FIG. 10 is a second half of a flowchart of ruled line erasing processing according to the third embodiment of the present invention.
FIG. 11A is a diagram showing an example of overlapping or contact between ruled lines and character lines.
(B) It is an enlarged view for demonstrating the ruled line erasure | elimination process with respect to the overlap or contact part of a ruled line and a character line.
(C) It is an enlarged view which shows the result of the ruled line erasure | elimination process with respect to the overlap or contact part of a ruled line and a character line.
[Explanation of symbols]
14 Central processing unit
16 System memory
24 display
30 keyboard
32 Fixed disk drive
33 Floppy disk drive
33A floppy disk
34 Image scanner
100, 101 Ruled rectangle
102 Orthogonal part of ruled line
121 character line
122 Ruled Line
131 Ruled Line
132 character line
140 Ruled Line
141 Character line
142 Line connecting the center of gravity of the ruled line
143 Line connecting the center of gravity of black run
150 Ruled Line
151 Line connecting the center of gravity of the ruled line
152,153 Character line
154 Line connecting the center of gravity of the black run
155, 156 Unerased part of ruled line
160 Ruled Line
161 Text line
163 Overlapping or contacting part of character line and ruled line
Claims (3)
罫線と垂直方向に交わる黒ランを検出するステップと、Detecting a black run perpendicular to the ruled line;
前記罫線と前記黒ランの重心のずれを検出するステップと、Detecting a deviation of the center of gravity of the ruled line and the black run;
前記黒ランの中で、罫線の太さより十分大きな閾値より小さい長さを持ち、前記重心のずれが所定の閾値より大きい黒ランについて、該黒ランの長さから罫線の太さを引いた基準値を求め、重心のずれた方向の端から前記基準値に相当する長さ部分を保存し、残りの部分を消去するステップと、Among black runs, a black run having a length that is sufficiently smaller than a threshold value that is larger than the thickness of the ruled line and the deviation of the center of gravity is greater than a predetermined threshold, and a standard obtained by subtracting the thickness of the ruled line from the length of the black run Obtaining a value, storing a length portion corresponding to the reference value from an end in a direction where the center of gravity is shifted, and erasing the remaining portion;
を有することを特徴とする罫線消去方法。A ruled line erasing method comprising:
罫線と垂直方向に交わる黒ランを検出するステップと、Detecting a black run perpendicular to the ruled line;
前記罫線と前記黒ランの重心のずれを検出するステップと、Detecting a deviation of the center of gravity of the ruled line and the black run;
前記黒ランについて、罫線の太さより所定の若干量だけ大きなほぼ一定の長さを持つ黒ランが連続し、前または後に罫線の太さより十分に大きな所定値以上の長さを持つ黒ランが存在する区間を検出し、該区間内の黒ランについて、該黒ランの長さから罫線の太さを引いた基準値を求め、重心のずれた方向の端から前記基準値に相当する長さ部分を保存し、残りの部分を消去するステップと、For the black run, a black run with a substantially constant length that is a predetermined amount larger than the thickness of the ruled line continues, and there is a black run with a length that is sufficiently larger than the thickness of the ruled line before or after the black run. A reference value obtained by subtracting the thickness of the ruled line from the length of the black run, and a length portion corresponding to the reference value from the end in the direction in which the center of gravity is shifted. Saving and deleting the rest,
を有することを特徴とする罫線消去方法。A ruled line erasing method comprising:
罫線と垂直方向に交わる黒ランを検出するステップと、Detecting a black run perpendicular to the ruled line;
前記罫線と前記黒ランの重心のずれを検出するステップと、Detecting a deviation of the center of gravity of the ruled line and the black run;
前記黒ランについて、罫線の太さより十分大きな閾値より小さい長さを持ち、前記重心のずれが所定の閾値より大きい黒ランについては、該黒ランの長さから罫線の太さを引いた基準値を求め、重心のずれた方向の端から前記基準値に相当する長さ部分を保存し、残りの部分を消去するステップと、The black run has a length that is smaller than a threshold sufficiently larger than the thickness of the ruled line, and for a black run in which the deviation of the center of gravity is larger than a predetermined threshold, a reference value obtained by subtracting the thickness of the ruled line from the length of the black run Storing the length portion corresponding to the reference value from the end of the direction of the center of gravity shift, and erasing the remaining portion;
前記黒ランについて、罫線の太さより所定の若干量だけ大きなほぼ一定の長さを持つ黒ランが連続し、前または後に罫線の太さより十分に大きな所定値以上の長さを持つ黒ランが存在する区間を検出し、該区間内の黒ランについては、該黒ランの長さから罫線の太さを引いた基準値を求め、重心のずれた方向の端から前記基準値に相当する長さ部分を保存し、残りの部分を消去するステップと、For the black run, a black run with a substantially constant length that is a predetermined amount larger than the thickness of the ruled line continues, and there is a black run with a length that is sufficiently larger than the thickness of the ruled line before or after the black run. For the black run in the section, a reference value obtained by subtracting the thickness of the ruled line from the length of the black run is obtained, and the length corresponding to the reference value from the end in the direction where the center of gravity is shifted is obtained. Saving the part and erasing the remaining part,
を有することを特徴とする罫線消去方法。A ruled line erasing method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05199797A JP3846752B2 (en) | 1997-03-06 | 1997-03-06 | Ruled line removal method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05199797A JP3846752B2 (en) | 1997-03-06 | 1997-03-06 | Ruled line removal method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10254991A JPH10254991A (en) | 1998-09-25 |
JP3846752B2 true JP3846752B2 (en) | 2006-11-15 |
Family
ID=12902499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05199797A Expired - Fee Related JP3846752B2 (en) | 1997-03-06 | 1997-03-06 | Ruled line removal method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3846752B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3995185B2 (en) | 2000-07-28 | 2007-10-24 | 株式会社リコー | Frame recognition device and recording medium |
JP4571447B2 (en) * | 2004-06-18 | 2010-10-27 | 富士通株式会社 | Character image extraction program, character image extraction method, and character image extraction apparatus |
US9235755B2 (en) * | 2013-08-15 | 2016-01-12 | Konica Minolta Laboratory U.S.A., Inc. | Removal of underlines and table lines in document images while preserving intersecting character strokes |
US9275030B1 (en) * | 2014-09-30 | 2016-03-01 | Konica Minolta Laboratory U.S.A., Inc. | Horizontal and vertical line detection and removal for document images |
JP6554193B1 (en) | 2018-01-30 | 2019-07-31 | 三菱電機インフォメーションシステムズ株式会社 | Entry area extraction apparatus and entry area extraction program |
-
1997
- 1997-03-06 JP JP05199797A patent/JP3846752B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10254991A (en) | 1998-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10105361A (en) | Method and system for specifying object | |
JP4757001B2 (en) | Image processing apparatus and image processing method | |
US6711292B2 (en) | Block selection of table features | |
US20080068346A1 (en) | Information processing apparatus and method of controlling same | |
JP4568750B2 (en) | Drawing apparatus, drawing program, and drawing method | |
JP3615333B2 (en) | Ruled line eraser | |
JP3846752B2 (en) | Ruled line removal method | |
US20030174907A1 (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 | |
JP4908867B2 (en) | Geographic image processing system | |
US5724073A (en) | Method for the entry of a graphic character by specifying a parallelogram where the character is to be displayed | |
JP2007156741A (en) | Character extraction method, character extraction device, and program | |
JP2878194B2 (en) | Partial erasure and partial detection method of image data | |
US5384905A (en) | Method for tracing a line image by monitoring the distance between two trace base points | |
CN113849118A (en) | Image identification method applied to electronic whiteboard and related device | |
JP5074622B2 (en) | Geographic image processing system | |
JP2735197B2 (en) | Graphic input device | |
JP2010258627A (en) | Image processor, image processing method, program, and storage medium | |
JPH09258716A (en) | Stroke information processing method | |
JP2803736B2 (en) | Character recognition method | |
JPH04255080A (en) | Image input device | |
KR100706442B1 (en) | File processing system for improving the process speed of the transparent color, and Picture processing system for improving the process speed of the transparent color | |
JPH06149465A (en) | Handwriting input device | |
JPH07295733A (en) | Handwritten stroke editing device | |
JP4040231B2 (en) | Character extraction method and apparatus, and storage medium | |
CN115695670A (en) | Method for multi-line scanning of a portable scanning device and related product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060419 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060619 |
|
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: 20060816 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060818 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090901 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110901 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130901 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |