(57)【特許請求の範囲】
【請求項１】
２値画像上の罫線で囲まれた枠内の文字を抽出する文字抽出方法であって、
２値画像上の罫線の矩形を抽出する第１ステップと、
前記第１ステップで抽出された罫線の矩形の外側の座標を用いて、罫線で囲まれた枠の領域を認識する第２ステップと、
前記第２ステップで認識された枠領域内の所定値以上の長さの白ランを抽出し統合して白画素連結成分の矩形を抽出し、その中で面積が最大の矩形の白画素連結成分領域を実際の枠の内側領域（文字記入領域）に対応した領域として抽出する第３ステップと、
前記第３ステップで抽出された白画素連結成分領域内の周辺部の所定値以上の長さの黒ランを探索し、該黒ランの連結成分を抽出して、その黒画素を白画素に置き換えることで、白画素連結成分領域内に含まれる罫線を消去する第４ステップと、
前記第４ステップでの罫線消去後の白画素連結成分領域内の黒画素連結成分の矩形を抽出する第５ステップと、
前記第５ステップで抽出された黒画素連結成分矩形を統合して文字領域を抽出し、該文字領域の２値画像データを切り出す第６ステップと、
を含むことを特徴とする文字抽出方法。
【請求項２】
前記第６ステップの処理に先立って、罫線ノイズに相当する黒画素連結成分矩形を除去するためのステップを更に含むことを特徴とする請求項１記載の文字抽出方法。
【請求項３】
２値画像上の罫線で囲まれた枠内の文字を抽出する文字抽出装置であって、
２値画像上の罫線の矩形を抽出する手段と、
抽出された罫線の矩形の外側の座標を用いて、罫線で囲まれた枠の領域を認識する手段と、
前記認識された枠領域内の所定値以上の長さの白ランを抽出し統合して白画素連結成分の矩形を抽出し、その中で面積が最大の矩形の白画素連結成分領域を実際の枠の内側領域（文字記入領域）に対応した領域として抽出する手段と、
前記抽出された白画素連結成分領域内の周辺部の所定値以上の長さの黒ランを探索し、該黒ランの連結成分を抽出して、その黒画素を白画素に置き換えることで、白画素連結成分領域内に含まれる罫線を消去する手段と、
前記罫線消去後の白画素連結成分領域内の黒画素連結成分の矩形を抽出する手段と、
前記抽出された黒画素連結成分矩形を統合して文字領域を抽出し、該文字領域の２値画像データを切り出す手段と、
を有することを特徴とする文字抽出装置。
【請求項４】
前記文字領域の２値画像データを切り出す手段での処理に先立って、前記黒画素連結成分の矩形を抽出する手段により抽出された黒画素連結成分矩形から罫線ノイズに相当する黒画素連結成分矩形を除去する手段を更に有することを特徴とする請求項３記載の文字抽出装置。
【請求項５】
請求項１又は２に記載の文字抽出方法の各ステップの処理をコンピュータに実行させるためのプログラムが記録されたことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理の分野に係り、特に、文字認識装置などにおいて、表や帳票などの罫線によって囲まれた枠の内部に記入された文字を抽出する技術に関する。
【０００２】
【従来の技術】
帳票な文書などの表領域に記載された文字を抽出する方法とし、特開平３−１７２９８４号公報に開示されているように、罫線矩形を抽出し、罫線によって囲まれる枠を罫線矩形の外側の座標を用いて認識し、枠内の黒画素連結成分の外接矩形を求めてから、枠に接している外接矩形を除去し、残った外接矩形を用いて枠内の文字を切り出す方法が知られている。
【０００３】
【発明が解決しようとする課題】
上記従来方法では、枠内に罫線に接触した文字がある場合に、罫線に接触している文字に対応する外接矩形が、罫線に対応する黒画素の外接矩形と同一のものになってしまい、枠に接している外接矩形として除去される結果、枠内の文字抽出に失敗することがある。
【０００４】
よって、本発明の目的は、枠内に罫線と接触した文字がある場合にも、枠内の文字を確実に抽出可能な文字抽出方法及び装置を提供することにある。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、本発明においては、２値画像上の罫線の矩形を抽出し、抽出した罫線矩形の外側の座標を用いて罫線で囲まれた枠の領域を認識し、認識した枠領域内の白画素連結成分の矩形を抽出し、その中で面積が最大の矩形の領域を白画素連結成分領域として抽出し、抽出した白画素連結成分領域内の黒画素連結成分の矩形を抽出し、それを統合することにより文字領域を抽出する。また、罫線の切れに対処するため、枠領域内の所定値以上の長さの白ランを抽出して統合することによって白画素連結成分の矩形を抽出する。また、スキューに対処するため、黒画素連結成分矩形の抽出に先立って、白画素連結成分領域内の周辺部の罫線の黒画素を消去する。また、画像のゆらぎなどにより発生する罫線ノイズに対処するため、黒画素連結成分矩形の統合により文字領域を抽出する前に、罫線ノイズに相当する黒画素連結成分矩形を除去する。
【０００６】
このような本発明の特徴及びその他の特徴について、実施の形態に関連して以下詳述する。
【０００７】
【発明の実施の形態】
以下、添付図面を参照し、本発明の実施の一形態である文字抽出装置について説明する。この文字抽出装置のブロック構成の一例と処理の流れを図１と図２にそれぞれ示す。また、図４から図１０は処理の説明のための図である。
【０００８】
この文字抽出装置は、例えば光学文字認識装置の前処理部として用いられるもので、図１に見られるように、表や帳票などの罫線のある原稿の２値イメージデータを入力するためのスキャナなどの画像入力部１００と、入力された２値イメージデータを蓄積するための２値イメージメモリ１０２と、罫線で囲まれた枠領域の認識に関わる黒ラン抽出部１０４、黒ランメモリ１０６、罫線抽出部１０８、罫線メモリ１１０、枠抽出部１１２及び枠領域メモリ１１４と、実際の枠の内部（文字が記入される領域）に対応した領域（後述の白画素連結成分領域）の認識に関わる白ラン抽出部１１６、白ランメモリ１１８、白画素連結成分抽出部１２０及び白画素連結成分メモリ１２２と、白画素連結成分領域内の罫線の黒画素を消去するための罫線消去部１２４と、個々の文字の外接矩形又は文字線の外接矩形の抽出のための黒画素連結成分抽出部１２６と、黒画素連結成分メモリ１２８と、罫線ノイズを除去するための罫線ノイズ除去部１３０と、文字領域画像データを切り出すための文字抽出部１３２と、文字領域画像メモリ１３４とから構成される。
【０００９】
このような構成の文字抽出装置は、必ずしも専用のハードウェアによって実現される必要はなく、例えば図３に示すようなＣＰＵ２０１、メモリ２０２、ハードディスク２０３、入力装置（イメージスキャナ、キーボード、マウスなど）２０４、ディスプレイ２０６、各種記憶媒体（磁気ディスク、光ディスク、光磁気ディスク、メモリカードなど）２０７の読み書きのための媒体ドライブ２０５、外部の機器やネットワークとの通信のための通信装置（モデム、ネットワークアダプタなど）２０８などをバス２１０で接続した一般的な構成のコンピュータを利用し、ソフトウェアにより実現することもできる。
【００１０】
この場合、図１に示した各部の機能をコンピュータ上で実現するためのプログラム、換言すれば、図２に示した処理ステップをコンピュータ上で実行するためのプログラムが、例えば、それが記録された記憶媒体２０７から媒体ドライブ２０５によってメモリ２０２に読み込まれたり、外部装置より通信装置２０８によってメモリ２０２に読み込まれたり、あるいはハードディスク２０３からメモリ２０２に読み込まれ、ＣＰＵ２０１により実行される。このプログラムを、それを固定記憶させた半導体ＲＯＭとして実装してもよい。このようなプログラムが記録された各種記憶媒体２０７や半導体ＲＯＭなどの記憶媒体も本発明に包含されるものである。
【００１１】
また、表や帳票などの罫線のある原稿の２値イメージは、例えば入力装置２０４に含まれるスキャナによって読み込まれたり、記憶媒体２０７から読み込まれたり、あるいは通信装置２０８によって外部機器から入力される。
【００１２】
次に、図１に示したブロック構成に基づいて、この文字抽出装置の動作を説明する。
【００１３】
まず、２値画像入力部１００によって、表や帳票などの罫線のある原稿の２値イメージデータを入力し、２値イメージメモリ１０２に格納する（図２のステップＳ１）。
黒ラン抽出部１０４で、２値イメージメモリ１０２内の２値イメージデータをスキャンし、主走査方向及び副走査方向の、所定値以上の長さを持つ黒ランを抽出し、抽出した各黒ランに関するデータ（始点、終点の座標等）を黒ランメモリ１０６に格納する（ステップＳ２）。
【００１４】
この黒ランの抽出処理が終わると、罫線抽出部１０８で、黒ランメモリ１０６の黒ランデータを参照し、主走査方向の黒ラン及び副走査方向の黒ランのそれぞれに対し、所定の距離範囲内にある黒ランを矩形に統合する処理を行い、統合した矩形の中で、罫線として妥当な長さ及び幅を持つ矩形を主走査方向又は副走査方向の罫線の矩形として抽出し、そのデータ（矩形の始点、終点の座標など）を罫線メモリ１１０に格納する（ステップＳ３）。
【００１５】
次に枠抽出部１１２で、罫線メモリ１１４内の罫線矩形データを参照し、主走査方向の罫線と副走査方向の罫線とによって四方を囲まれた枠の領域を認識し、その枠領域に関するデータ（始点、終点の座標など）を枠領域メモリ１１４に格納する（ステップＳ４）。この枠領域の認識には、それを囲む罫線矩形の外側の座標を用いる。例えば、主走査方向の罫線は、図４に示すような主走査方向の黒ラン（黒線）を統合した矩形（破線）として抽出される。枠の上側の罫線のｙ座標としては図４に示す罫線矩形のＹｓが用いられ、枠領域の下側の罫線のｙ座標としては図４に示す罫線矩形のＹｅが用いられる。同様に、枠領域の左側の罫線のｘ座標としては罫線矩形の左側のｘ座標が、枠領域の右側の罫線のｘ座標としては罫線矩形の右側のｘ座標が用いられる。
このように、枠を構成する罫線の矩形の外側の座標を用いて枠領域を認識するため、図５に例示するように、罫線（太線）で囲まれた実際の枠領域よりも広い矩形領域（破線）が枠領域として認識される。ただし、図５は誇張されており、認識される枠領域と実際の枠領域とのずれは実際には図５に示すほど大きくない。スキューや、画像の揺らぎなどによる罫線矩形の膨らみがなければ、罫線と罫線矩形とが良く一致するため、認識される枠領域と、実際の枠領域（罫線を含む）とがほぼ一致する。
【００１６】
次に、以上のようにして認識された枠領域から、実際の枠の内側領域（文字が記入される領域）に対応した領域を抽出するための処理を行う。まず、白ラン抽出部１１６で、枠領域メモリ１１４内の枠領域データによって示される個々の枠領域の内部に関し、２値イメージメモリ１０２内の２値イメージデータをスキャンして所定値以上の長さの白ランを抽出し、抽出した白ランに関するデータ（始点、終点の座標など）を各枠領域に対応付けて白ランメモリ１１８に格納する
（ステップＳ５）。一般に、枠領域は文字行方向に長いため、文字行方向の白ランが抽出される。ここでは、主走査方向が文字行方向に対応するものとして、主走査方向の白ランが抽出される。
【００１７】
次に、白画素連結成分抽出部１２０において、白ランメモリ１１８内の白ランデータを参照し、各枠領域毎に、その内部の白ランを統合することによって白画素連結成分の外接矩形を白画素連結成分領域として抽出し、そのデータ（始点、終点の座標など）を白画素連結成分メモリ１２２に格納する（ステップＳ６）。この際、各枠領域の内部に２つ以上の白画素連結成分領域が抽出された場合には、その中で面積が最も大きな１つの白画素連結成分領域を選び、そのデータのみを白画素連結成分メモリ１２２に格納する。例えば、図５に示す枠領域の場合、白ランの統合によって、実際の枠の内部に対応する白画素連結成分領域のほかに、枠の外側に複数の白画素連結成分領域が得られるが、その中で面積が最大の、実際の枠の内部に対応した白画素連結成分領域が選択される。
【００１８】
なお、図６に例示するように、枠を構成する罫線が印刷のかすれなどで部分的に切れている場合がある。このような罫線の切れた部分の白ランまで検出し、それを統合すると、図６中の網掛け領域と枠の内部とが１つの白画素連結成分領域に統合されてしまう。白ラン抽出部１１６は、罫線の切れた部分のような、所定値より短い白ランを抽出対象から除外することにより、そのような不都合を回避している。
【００１９】
スキューがあると、以上のようにして抽出された白画素連結成分領域に罫線が含まれてしまう。そこで、罫線消去部１２４で、白画素連結成分メモリ１２２内の白画素連結成分領域データによって示される各白画素連結成分領域毎に、領域の各辺の内側の限定された範囲（領域の内側で、罫線の黒画素が存在する可能性のある限定された周辺部）について、２値イメージメモリ１０２内の２値イメージデータをスキャンして罫線の黒画素を検出し、それを白画素に置き換えることにより、白画素連結成分領域に含まれている罫線の消去を行う（ステップＳ７）。例えば、白画素連結成分領域の各辺に沿った方向（主走査方向又は副走査方向）の一定値以上の長さの黒ランを探索し、罫線とみなし得る黒ランの連結成分を抽出して、その黒画素を白画素に置き換える。図６に示した枠領域について罫線消去を行った結果を図７に示す。図７中の白抜きの線が消去された罫線を表している。なお、図７は誇張されており、実際には白画像連結成分領域には罫線の一部しか入り込まないことが多い。この場合、白画素連結成分領域の内部に入り込んだ罫線の部分だけが消去されることになる。
【００２０】
次に、黒画素連結成分抽出部１２６で、罫線消去後の各白画素連結成分領域の内部について、２値イメージメモリ１０２上の２値イメージデータをスキャンし、黒画素連結成分の外接矩形を抽出し、そのデータ（始点、終点の座標など）を黒画素連結成分メモリ１２８に格納する（ステップＳ８）。図７に示した枠領域から抽出された白画素連結成分領域の場合、図８に示すように、文字又は文字線に外接する矩形が黒画素連結成分矩形として抽出される。
【００２１】
画像の揺らぎなどにより、罫線の境界に図９に例示するようなノイズが発生することがある。このような罫線ノイズは、その黒ランが罫線としての黒ランより短いと、前述の罫線消去によっては消去されないため、黒画素連結成分矩形として抽出されることになる。罫線ノイズ除去部１３０は、そのような罫線ノイズに相当する黒画素連結成分矩形のデータを黒画素連結成分メモリ１２８から削除する（ステップＳ９）。例えば、罫線矩形に接する黒画素連結成分矩形で、罫線に対し垂直な方向の長さが所定値以下の黒画素連結成分矩形を罫線ノイズとみなし削除する。
【００２２】
このような罫線ノイズの除去後、文字抽出部１３２において、黒画素連結成分メモリ１２８内のデータを参照し、各白画素連結成分領域毎に、黒画素連結成分矩形を統合することにより文字領域（図１０参照）を求め、その文字領域の２値イメージデータ（文字領域画像）を２値イメージメモリ１０２より切り出し、文字領域画像メモリ１３４に格納する（ステップＳ１０）。このようにして、文字と罫線の接触がある枠の内部の文字も確実に抽出することが可能である。しかも、以上に述べたように、スキュー、罫線の切れ、画像の揺れなどによる罫線ノイズがあっても、確実な文字抽出が可能である。
【００２４】
本発明の他の実施の形態によれば、罫線ノイズ除去部１３０が省かれる。このような構成によっても、罫線ノイズを心配する必要がない場合には、問題なく枠内の文字抽出が可能であることは以上の説明から明らかである。
【００２５】
【発明の効果】
以上の説明から明らかなように、本発明によれば、枠内に罫線と接触した文字がある場合でも、枠内文字の確実な抽出が可能である。また、枠の罫線に切れがあっても支障無く白画素連結成分領域を抽出し、枠内の文字を確実に抽出可能である。また、スキューや画像の揺らぎによる罫線矩形の膨らみがあっても、枠内の文字を精度よく抽出可能である。さらに、画像のゆらぎなどによって罫線ノイズが発生した場合でも、その影響を受けることなく精度の良い文字抽出が可能である。
【図面の簡単な説明】
【図１】本発明による文字抽出装置のブロック構成の一例を示すブロック図である。
【図２】文字抽出処理を示すフローチャートである。
【図３】本発明をソフトウェアで実施するために利用し得るコンピュータの一例を示すブロック図である。
【図４】黒ランの統合により抽出される罫線矩形の説明図である。
【図５】認識された枠領域の例を示す図である。
【図６】罫線の切れに関する説明のための図である。
【図７】認識された枠領域内の罫線消去を説明するための図である。
【図８】枠領域より抽出される黒画素連結成分矩形の例を示す図である。
【図９】罫線ノイズの説明図である。
【図１０】黒画素連結成分矩形の統合により抽出される文字領域の例を示す図である。
【符号の説明】
１００  ２値画像入力部
１０２  ２値イメージメモリ
１０４  黒ラン抽出部
１０６  黒ランメモリ
１０８  罫線抽出部
１１０  罫線メモリ
１１２  枠抽出部
１１４  枠領域メモリ
１１６  白ラン抽出部
１１８  白ランメモリ
１２０  白画素連結成分抽出部
１２２  白画素連結成分メモリ
１２４  罫線消去部
１２６  黒画素連結成分抽出部
１２８  黒画素連結成分メモリ
１３０  罫線ノイズ除去部
１３２  文字抽出部
１３４  文字領域画像メモリ
【図１】
0004040231.tif 000002
【図２】
0004040231.tif 000003
【図３】
0004040231.tif 000004
【図４】
0004040231.tif 000005
【図５】
0004040231.tif 000006
【図６】
0004040231.tif 000007
【図７】
0004040231.tif 000008
【図８】
0004040231.tif 000009
【図９】
0004040231.tif 000010
【図１０】
0004040231.tif 000011