(57)【要約】【課題】業務文書内に表が含まれていたり、文字列に下線が接触していたりした場合においても、下線を除去する。【解決手段】文字列に接触した下線領域が含まれる二値画像データから前記下線領域を除去する下線除去装置であって、前記二値画像データ上の一点を始点として長方形状のラインテンプレートを設置し、該ラインテンプレートに含まれる画素をトレースすることで、下線位置座標を表すポリラインを抽出するラインテンプレートマッチング処理を行う、下線探索処理部と、前記ポリラインをもとに、前記下線領域と背景領域との背景境界座標と、前記下線領域のうち前記文字列と接触した部分について補間処理して得られた前記下線領域と前記文字列との文字境界座標と、を求める処理を行い、前記背景境界座標および文字境界座標によって囲まれる領域を前記背景領域の画素の色で置き換える処理を行う、下線除去処理部と、を備えることを特徴とする。【選択図】図１
2010250425.tif 000002
【特許請求の範囲】
【請求項１】
文字列に接触した下線領域が含まれる二値画像データから前記下線領域を除去する下線除去装置であって、
前記二値画像データ上の一点を始点として長方形状のラインテンプレートを設置し、該ラインテンプレートに含まれる画素をトレースすることで、下線位置座標を表すポリラインを抽出するラインテンプレートマッチング処理を行う、下線探索処理部と、
前記ポリラインをもとに、前記下線領域と背景領域との背景境界座標と、前記下線領域のうち前記文字列と接触した部分について補間処理して得られた前記下線領域と前記文字列との文字境界座標と、を求める処理を行い、前記背景境界座標および文字境界座標によって囲まれる領域を前記二値画像データから除去する処理を行う、下線除去処理部と、
を備えることを特徴とする下線除去装置。
【請求項２】
前記下線探索処理部は、前記ラインテンプレート内の前記画素のうち、所定の画素数を満たす画素をトレースすることを特徴とする請求項１に記載の下線除去装置。
【請求項３】
前記下線探索処理部は、さらに、前記ポリラインから垂直方向に画素をトレースし、所定の画素数を満たす画素が所定範囲以上存在する場合に、前記ポリラインが表を構成する罫線であると判定する処理を行うことを特徴とする請求項１に記載の下線除去装置。
【請求項４】
前記下線除去処理部は、さらに、前記ポリラインから垂直方向に画素をトレースし、所定の画素数を満たす画素が所定範囲以上存在する場合に、前記文字列は前記下線領域と接触していると判定する処理を行うことを特徴とする請求項１に記載の下線除去装置。
【請求項５】
前記下線除去処理部は、前記背景境界座標および文字境界座標によって囲まれる領域を前記背景領域の画素の色で置き換えることで、前記下線領域を除去する処理を行うことを特徴とする請求項１に記載の下線除去装置。
【請求項６】
コンピュータを、請求項１〜５のいずれか１項に記載の下線除去装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務文書処理装置に関し、例えば、業務文書中の文字列に接触した下線を除去するための技術に関するものである。
【背景技術】
【０００２】
近年、組織内に蓄積された膨大な紙の業務文書に対して、スキャン及びＯＣＲによる文字認識を行い、文書データを文書管理システムで管理することで、検索性向上、紙文書の安全な保管、知識の共有を図ろうとする動きがある。
【０００３】
現状のＯＣＲは、ノイズのない文書に対する文字列の認識精度は高いが、下線が文字列と接触するように引かれている場合、その部分の文字を正しく認識できないことが多いという問題がある。ＯＣＲは、文字の認識をする際に、文字一つ一つを切り出して、切り出した文字がどの文字に相当するかを判定する処理を行っているが、文字に下線が付着している場合、文字の切り出しが失敗したり、下線を文字の一部と認識して誤った判定を行うことが多い。誤認識すると、その部分の文字情報を取得できないだけでなく無意味な文字情報がノイズとして残ってしまい検索時の障害となってしまう。また、業務文書に存在する文字列の中で、下線が引かれている文字列は、文書のタイトル、取引先名、各種管理番号など、その文書を特定する上で不可欠な情報であることが多い。したがって、これらの情報を正しく認識できないと、検索時にその文書を絞り込むことができず、その場合、登録されている文書データをすべてチェックする負担が生じる。そのため、ＯＣＲを適用する際には、下線が文字列と接触した場合であってもその文字列を高精度で文字認識する必要がある。
【０００４】
文字列に下線が引かれている場合に、ＯＣＲの認識精度を向上させる手段として、文書中の下線が引かれている文字列から、下線を抽出・除去する手法が提案されている。例えば、非特許文献１では、帳票画像上に存在する文字列に引かれた下線を除去する技術を提案している。また、非特許文献２では、文字列と接触した下線も除去対象とする技術を提案している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−３５８４８２号公報
【非特許文献】
【０００６】
【非特許文献１】嶋好博、他3名，”帳票画像からの下線抽出の一手法”，FIT2002(科学技術フォーラム)，I-85,pp.169-170，2002.09
【非特許文献２】Zhen-Long Bai, Qiang Huo, "Underline Detection and Removal in a Document Image Using Multiple Strategies", icpr,pp.578-581, 17th International Conference on Pattern Recognition (ICPR'04) - Volume 2, 2004
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１の技術は、文字列と下線が接触していない場合を想定している技術である。そのため、文字列と下線が接触している場合、下線を除去することができない。また、非特許文献２の技術は、文字と下線のみを含む文書を想定している。そのため、業務文書のような、表が含まれることが多い文書に適用した場合、表を構成する罫線が除去されてしまうという弊害が発生する可能性がある。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、業務文書内に表が含まれていたり、文字列に下線が接触していたりした場合においても、下線を除去することが可能となる技術を提供するものである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明による下線除去装置は、大きく分けて次の二つの処理を実行する。
【００１０】
第一の処理では、二値画像データから下線領域の下線位置座標を抽出する。この下線位置座標は、ある幅と長さを持つ下線領域に含まれる座標を所定の長さごとに抽出したものであり、下線領域の骨格を決定するものである。具体的には、二値画像データ上に一定面積を有する長方形状のラインテンプレートを設置し、ラインテンプレート内で所定値を満たす画素をトレースすることで、ラインテンプレートごとに下線位置座標を抽出する。
【００１１】
第二の処理では、下線領域と背景ならびに下線領域と文字列の境界座標を求めることで特定した下線領域を除去する。具体的には、抽出した下線位置座標を結んだポリラインに沿って、ポリラインに対して垂直方向に画素探索を行うことで、境界座標を求める。詳細には、所定画素数を満たす画素が所定範囲に存在しない場合は下線領域と背景との境界であると判定し、境界座標を求める。一方、所定画素数を満たす画素が所定範囲を超えて存在する場合は下線領域に文字列が接触していると判定し、境界座標を補間する。求めた境界座標により特定される下線領域を二値画像データから除去する。具体的には、求めた境界座標で囲まれた下線領域を背景画素で置き換える。
【００１２】
すなわち、本発明による下線除去装置は、文字列に接触した下線領域が含まれる二値画像データから前記下線領域を除去する下線除去装置であって、前記二値画像データ上の一点を始点として長方形状のラインテンプレートを設置し、該ラインテンプレートに含まれる画素をトレースすることで、下線位置座標を表すポリラインを抽出するラインテンプレートマッチング処理を行う、下線探索処理部と、前記ポリラインをもとに、前記下線領域と背景領域との背景境界座標と、前記下線領域のうち前記文字列と接触した部分について補間処理して得られた前記下線領域と前記文字列との文字境界座標と、を求める処理を行い、前記背景境界座標および文字境界座標によって囲まれる領域を前記背景領域の画素の色で置き換える処理を行う、下線除去処理部と、を備えることを特徴とする。
【００１３】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【００１４】
本発明によれば、文字列に接触した下線領域が含まれる二値画像データから当該下線を除去することが可能となる。これにより、文書内の文字に対するＯＣＲ精度が向上し、業務文書の検索性が向上する。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態による業務文書処理装置の構成を概略的に示す機能ブロック図である。
【図２】図１に示す記憶装置内に記憶されているスキャン画像データの例を示す図である。
【図３】図１に示すデータメモリ内に記憶されている二値画像データの例を示す図である。
【図４】図３に示す二値画像データに対してＯＣＲを適用した結果の例を示す図である。
【図５】図３に示す二値画像データに対して、本発明を適用した結果の例を示す図である。
【図６】下線除去プログラムにおける前処理部の説明をするためのフローチャートである。
【図７】下線除去プログラムにおける下線探索処理部を説明するためのフローチャートである。
【図８】下線探索処理部におけるラインテンプレートマッチング処理を説明するためのフローチャートである。
【図９】下線除去プログラムにおける下線除去処理部を説明するためのフローチャートである。
【図１０Ａ】下線探索処理部における下線推定処理の説明図である。
【図１０Ｂ】下線探索処理部における下線推定処理の説明図である。
【図１１】下線探索処理部におけるラインテンプレートマッチング処理の説明図である。
【図１２Ａ】下線探索処理部におけるラインテンプレートマッチング処理の説明図である。
【図１２Ｂ】下線探索処理部におけるラインテンプレートマッチング処理の説明図である。
【図１２Ｃ】下線探索処理部におけるラインテンプレートマッチング処理の説明図である。
【図１２Ｄ】下線探索処理部におけるラインテンプレートマッチング処理の説明図である。
【図１２Ｅ】下線探索処理部におけるラインテンプレートマッチング処理の説明図である。
【図１２Ｆ】下線探索処理部におけるラインテンプレートマッチング処理の説明図である。
【図１２Ｇ】下線探索処理部におけるラインテンプレートマッチング処理の説明図である。
【図１３】下線探索処理部における探索開始点のスキップ処理の説明図である。
【図１４】下線除去処理部における処理の説明図である。
【図１５】下線除去処理の結果を示す確認画面の例を示す図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照しながら、本発明の下線除去装置を実施するための最良の形態を詳細に説明する。図１〜図１５は、本発明の実施形態を例示する図である。これらの図において、同一の符号を付した部分は同一物を表し、基本的な構成及び動作は同様であるものとする。尚、本実施形態は本発明を実現するための一例にすぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【００１７】
＜下線除去装置の構成＞
図１は、本発明の実施形態による下線除去装置の概略構成を示す機能ブロック図である。この下線除去装置は、必要な演算処理及び制御処理等を行う中央処理装置１０と、中央処理装置１０での処理に必要なデータを格納するデータメモリ２０と、データの入出力を行うための入出力装置３０と、中央処理装置１０での処理に必要なプログラムを格納するプログラムメモリ４０と、中央処理装置１０での処理対象となるデータまたは処理後のデータを格納する記憶装置５０と、を備えている。
【００１８】
データメモリ２０は、スキャン画像データから二値化によって得られる二値画像データ２１と、二値画像データから下線を探索し得られた下線位置を格納する下線位置データ２２と、を備えている。
【００１９】
入出力装置３０は、データを表示するための表示装置３２やプリンタ（図示せず）等で構成される出力部と、表示されたデータに対してメニューを選択するなどの操作を行うためのキーボード３１、マウスなどのポインティングデバイス３３や文書を取り込むためのスキャナ３４等で構成される入力部と、を備えている。
【００２０】
プログラムメモリ４０は、画面表示やユーザの入力操作を受け付けるインターフェースである画面表示処理部４１と、スキャン画像に対する前処理（カラーから白黒画像への変換、ノイズ除去など）を行う前処理部４２と、文書内から下線を探索し、下線の位置を取得する下線探索処理部４３と、抽出した下線を除去する下線除去処理部４４と、を備えている。なお、各処理部は、プログラムコードとしてプログラムメモリ４０に格納されており、中央処理装置１０が各プログラムコードを実行することによって各処理部が実現される。
【００２１】
記憶装置５０は、スキャナなどから取り込まれた業務文書のスキャン画像であるスキャン画像データ５１と、そのスキャン画像をもとに各種処理を施し、文字列上の下線を除去した画像である下線除去画像データ５２と、を備えている。
【００２２】
図２は、記憶装置５０に含まれるスキャン画像データ５１の例を示す図である。文書内に、文字と接触した下線、物件名・数量等が記載された表、表内に受領印等が含まれている。
【００２３】
図３は、データメモリ２０に含まれる二値画像データ２１の例を示す図である。これはスキャン画像データ５１に対して、印影の除去、及び輝度の二値化を行った後に得られる画像データである。画像上部の点線で囲まれた領域に、下線が付された文字列が存在する。
【００２４】
図４は、図３の二値画像データ２１に対して直接ＯＣＲを適用し、文字認識を行った結果を表す画像である。図３の二値画像データ２１で画像上部の下線のない文字列や画像下部の表罫線及び表内部は、適切に認識されている。一方、図３の点線で囲まれた領域に存在する下線付の文字列は、誤認識されている。
【００２５】
図５は、図３の二値画像データ２１に対して本願発明の下線除去装置を適用した結果、文字列と接触した下線が除去された下線除去画像データ５２の例を示す図である。当画像データは記憶装置５０に格納される。
【００２６】
＜下線除去装置における処理＞
次に、上述の構成を有する下線除去装置において行われる処理について説明する。まず、中央処理装置１０は、画面表示処理部４１により、スキャナ３４によって入力されたスキャン画像データ５１を表示する。次に処理実行の命令を受け付けると、前処理部４２、下線探索処理部４３、下線除去処理部４４が順に実行される。前処理部４２では、画像上に存在する印影などのノイズの除去や、二値画像への変換処理が行われる。その際に生成される二値画像は、二値画像データ２１としてデータメモリ２０に格納される。下線探索処理部４３では、二値画像データ２１上から文字列に対して付与された下線を探索し、下線の座標データを下線位置データ２２としてデータメモリ２０に格納する。下線除去処理部４４では、下線位置データ２２をもとに、二値画像データ２１から下線を除去する。そして下線除去後の画像データを下線除去画像データ５２として記憶装置５０に格納する。それぞれの処理について、以下詳細に説明する。
【００２７】
＜前処理＞
図６は、前処理の概要を示すフローチャートである。前処理では、下線探索処理の前処理として、図２に示すようなスキャン画像に二値化処理を行う。ここでの動作主体は、前処理部４２である。
【００２８】
ステップＳ６０１では、業務文書をスキャンし得られたスキャン画像データを読み込む。
【００２９】
ステップＳ６０２では、文書中に存在する社印や職印などの印影を除去するため、カラードロップアウト処理を行う。カラードロップアウト処理とは、帳票などの文書をスキャナなどで読み取った画像から、色情報の特徴を利用して、記入文字、印影、マークなどの特定対象を除去する技術である（例えば、特許文献１を参照。）。この技術により、文書内からＯＣＲの読取の際にノイズとなる対象を除去することができる。
【００３０】
ステップＳ６０３では、二値化処理を行い、カラードロップアウト後の画像を白黒二値のデータに変換する。二値化の閾値決定の際には、種々の周知技術を適用可能である。例えば判別分析法は、ある値ｆｔにて画像全体の輝度のヒストグラムを二つのクラス（級）に分けた場合、級間分散÷（クラス１の級内分散＋クラス２の級内分散）の算出結果が最大になるときのｆｔを閾値として決定する手法である。一般的な業務文書は、白色の背景に黒の文字で記述されているため二値化時の閾値を容易に決定することができる。二値化処理後に生成される画像データは二値画像データ２１としてデータメモリ２０に格納される。
【００３１】
＜下線探索処理＞
図７は、下線探索処理の概要を示すフローチャートである。下線探索処理では、図３に示すような二値画像データ２１から、下線を探索し、下線の位置座標を出力する。ここでの動作主体は下線探索処理部４３である。
【００３２】
ステップＳ７０１では、データメモリ２０から二値画像データ２１を読み取り、下線位置推定を行う。図１０ＡおよびＢは、下線位置推定処理の説明図である。
【００３３】
まず、対象とする文書に応じて、探索対象領域を決定する。探索対象領域とは、後述するラインテンプレートマッチング処理（ステップＳ７０２）において、処理の対象とする領域である。処理の対象を絞ることで、処理速度が向上する。例えば、営業証憑は、タイトル、顧客名、注文番号等、重要情報に下線が引かれていることが多く、また文書の上部に記載されていることが多い。そのため、図１０Ａに示す例では、文書の上部を探索対象領域としている。
【００３４】
次に、より詳細に下線位置を推定する。具体的には、図１０Ｂに示すように、二値画像データ２１上の探索対象領域内の各Ｙ座標における黒画素（文字・罫線・下線を表す画素）の画素数を求め、画素数が閾値以上であるＹ座標上の領域を下線が存在する領域（詳細探索領域）と推定する。以降の処理では、詳細探索領域についてのみ、下線の位置を探索する。これにより処理の無駄を省くことができる。
【００３５】
ステップＳ７０２では、ラインテンプレートマッチング処理を行う。ここでは、二値画像データから下線領域の下線位置座標を抽出する。この下線位置座標は、ある幅と長さを持つ下線領域に含まれる座標を所定の長さごとに抽出したものであり、下線領域の骨格を決定するものである。具体的には、二値画像データ上に一定面積を有する長方形状のラインテンプレートを設置し、ラインテンプレート内で所定値を満たす画素をトレースすることで、ラインテンプレートごとに下線位置座標を表すポリラインを抽出する。これにより下線の位置座標が特定される。本処理の詳細については後述する（図８）。
【００３６】
ステップＳ７０３では、ラインテンプレートマッチング終了後、抽出したポリラインの長さをチェックする（図１２Ｇ）。これは、抽出したポリラインが下線であるか否かを長さの観点から判定するためである。あらかじめ定めた閾値よりも短ければ、抽出したポリラインは下線ではなく、「土」や「上」などの文字の一部であると考えられる。その場合は、下線位置データから当該ポリラインを削除する。
【００３７】
ステップＳ７０４では、長さのチェック後、さらにポリラインが表の一部を構成する罫線であるか否かをチェックする（図１２Ｇ）。これは、表の罫線を誤って除去することを防止するためである。表には、線分の両端あるいは一方に表を構成する縦に伸びた罫線が存在するが、文字に付いた下線はこのような縦線は存在しないため、この特徴を利用して表と下線を区別する。具体的には、ポリラインの両端点において、線分の方向に対して垂直方向の画素をチェックする。もし、表の一部を構成する罫線であれば、端点において縦方向に伸びる罫線が少なくとも1本は存在すると考えられる。よって、ポリラインの両端の垂直方向を一定画素チェックし、黒画素が一定以上存在する方向が少なくとも1つあれば、当該ポリラインは表を構成する罫線の一部であると判定し、下線位置データから当該ポリラインを削除する。
【００３８】
ステップＳ７０５では、長さチェック処理（ステップＳ７０３）、表チェック処理（ステップＳ７０４）のいずれの処理においても削除されずに残ったポリラインを最終的な下線位置データとして、データメモリ２０に記録する。
【００３９】
（ラインテンプレートマッチング処理）
ステップＳ７０２で行われる、下線の位置座標を特定するためのラインテンプレートマッチング処理について説明する。図１１〜図１３は、ラインテンプレートマッチングの説明図である。また、図８は、下線探索処理におけるラインテンプレートマッチング処理のフローチャートである。以下、このフローチャートに従って詳細に説明する。
【００４０】
ステップＳ８０１では、ステップＳ７０１で決定した詳細探索領域において、探索開始点を設定する。具体的には、図１１（ａ）のように、探索対象領域を格子状に区切り、その中で詳細探索領域内の格子点を探索開始点とする。この際、格子点は、Ｘ座標間隔は広くとり、Ｙ座標間隔は狭くとる。これは、下線がＸ軸方向に伸びているためである。以下、各探索開始点を始点としてラインテンプレートマッチングを行う。
【００４１】
ステップＳ８０２では、探索開始点の中から選択した未処理の座標の一つを始点と設定する。以下、始点から下線を構成する黒画素をトレースし、下線位置を表すポリライン（連続した線分で構成されるオブジェクト）を求める。そしてこの一連の処理を各探索開始点について行う。
【００４２】
ステップＳ８０３では、まず、ステップＳ８０２で設定した始点からＸ軸の正又は負の方向にラインテンプレートを設置する。図１１（ｂ）はラインテンプレートを表している。ラインテンプレートはＸ軸方向に長い長方形状のオブジェクトである。次に、ラインテンプレート内の黒画素をトレースする。
【００４３】
ラインテンプレートの設置は、角度を変えながら行う。具体的には、探索開始点を回転中心とし、黒画素を最も多く含む方向を向くようにラインテンプレートを設置する。このように、角度を変えながらトレースすることにより、スキャン時に文書が傾いてしまった場合でも安定して下線部分をトレースすることが可能となる。
【００４４】
トレースは、ラインテンプレート内の黒画素が多いほどマッチ度が高いとみなし、最もマッチ度が高い方向へ行う。このように、ラインテンプレート内の黒画素数によってマッチ度を判定するため、下線に凹凸がある場合でもロバストに下線の位置を探索可能となる。
【００４５】
図１２Ｂは、図１２Ａの下線付文字列に対してラインテンプレートマッチングを行っている様子を示している（説明のため便宜的に白抜きで示している）。図１２Ｂでは、探索開始点からＸ軸の正の方向にラインテンプレートを設置している。また、ラインテンプレートの角度は、マッチ度が最も高い方向である右斜め上方向に設置されている。
【００４６】
ステップＳ８０４では、マッチ度が閾値以上となる方向が存在するか否かを判定する。つまり、下線領域が連続しているか否かを判定することと同義である。マッチ度が閾値以上となる方向が存在する場合は、ステップＳ８０５に進む。閾値以上の方向がない場合には、ステップＳ８０８に進む。なお、閾値はあらかじめ定めた定数である。図１２Ｂのように、マッチ度が閾値以上となる右斜め上方向が存在している場合は、ステップＳ８０５へ進む。
【００４７】
ステップＳ８０５では、ステップＳ８０４の判定でマッチ度が閾値以上となる方向がある場合、つまり下線領域が連続している場合は、ラインテンプレートの終点を修正する必要があるか否かを判定する。終点を修正する必要がある場合とは、図１２Ｃのように、下線領域が連続していながらも、ラインテンプレートが下線領域を通り越して背景領域にまで達してしまう場合である。
【００４８】
ステップＳ８０６では、ステップＳ８０５の判定で修正する必要がある場合は、最初のラインテンプレートの終点（暫定終点）から、下線領域と背景領域の境界に終点を修正する。この処理を行うことで、下線位置を表すポリラインが正しく抽出可能となる。図１２Ｃでは、暫定終点となるラインテンプレートの最端部から、修正終点となる下線領域と背景領域の境界へ、ラインテンプレートの終点を修正している。一方、終点の位置を修正する必要がない場合は、終点の位置を変えずにステップＳ８０７に進む。
【００４９】
ステップＳ８０７では、終点の座標を新たな始点とし、探索時の始点を更新する。次に、再度ステップＳ８０３からのループを実行し、下線のトレースを継続する。トレースは、ステップＳ８０４でマッチ度が閾値以上となる方向がないと判定されるまで（下線の末端まで）継続する。図１２Ｄでは、図１２Ｃの修正終点を新たな始点としてラインテンプレートを再設置し、トレースを継続している。また、図１２Ｅでは、マッチ度が閾値以上となる方向がなくなる下線領域の末端までトレースを継続している。
【００５０】
ステップＳ８０８では、ステップＳ８０４でマッチ度が閾値以上となる方向がないと判定された場合、つまり下線領域の末端までトレースが済んだ場合は、ステップＳ８０２で設定した探索開始点を始点としてＸ軸の正方向へのトレースと、負方向へのトレースの両方向を探索したか否かを判定する。
【００５１】
ステップＳ８０９では、ステップＳ８０８で片方向だけをトレースしていると判定された場合は、ステップＳ８０２で設定した始点から、ステップＳ８０３とは逆方向へトレースを行う。図１２Ｆでは、探索開始点を始点としてラインテンプレートをＸ軸の負方向へ再設置し、負方向へトレースを継続している。
【００５２】
ステップＳ８１０では、ステップＳ８０８で両方向をトレース済と判定された場合は、抽出した下線位置を表すポリラインを構成する座標値を、下線位置データ２２に記録する。
【００５３】
ステップＳ８１１では、新たな下線を抽出するための探索開始点を設定する前に、スキップする探索開始点（トレースする必要のない探索開始点）を設定する。図１３は、この処理の説明図である。現時点の探索開始点Ａから下線をトレースした結果、探索開始点Ｂ，Ｃ付近までトレースが完了している。図１１（ａ）に示すように、探索開始点は、同じＹ座標上に、Ｘ軸方向に一定間隔を空けて存在するので、探索開始点Ａから下線のトレースが終了した場合は、探索開始点Ｂ及びＣから下線をトレースする必要は無い。このような場合には、現時点の探索開始点Ａと同じＹ座標を持ち、トレースが重複する範囲に含まれる探索開始点を、スキップする探索開始点として設定する。これにより、処理の効率化と高速化を実現することができる。
【００５４】
ステップＳ８１２では、未処理の探索開始点があればステップＳ８０２に戻り、無ければラインテンプレートマッチング処理を終了する。
【００５５】
以上のラインテンプレートマッチング処理により、詳細探索領域内の各探索開始点に対して下線のトレースが行われた結果、抽出された下線位置を表すポリラインの座標がデータメモリ２０へ記録される。
【００５６】
＜下線除去処理＞
図９は、下線除去処理の概要を示すフローチャートである。また、図１４は、下線除去処理の説明図である。下線除去処理では、下線探索処理で抽出した下線位置データをもとに二値画像データから下線を除去する。ここでの動作主体は下線除去処理部４４である。
ステップＳ９０１では、図１４（ａ）に示すように、二値画像データにおいて、下線位置データにおけるポリライン上のＹ座標からＹ軸方向を探索し、下線（黒画素）と背景（白画素）との境界座標を求める。この際、一定以上黒画素がＹ軸方向に連続する場合には、その領域は文字との接触部分であると考えられるので、その部分のＹ座標は取得しない。この処理をポリライン上のすべてのＸ座標に対して行い、境界座標を取得する。
【００５７】
ステップＳ９０２では、下線と文字との接触部分において、下線と文字との境界座標を補間する処理を行う。具体的には、接触部分の両端点の座標の加重平均をとる。図１４（ｂ）はその説明図である。左側の端点をＰＬ（ＸＬ，ＹＬ）、右側の端点をＰＲ（ＸＲ，ＹＲ）、補間する点をＰＭ（ＸＭ，ＹＭ）とした時、ＹＭは式（１）で求められる。
【００５８】
ＹＭ＝｛（ＸＲ−ＸＭ）ＹＬ＋（ＸＭ−ＸＬ）ＹＲ｝／（ＸＲ−ＸＬ）      （１）
【００５９】
この処理により、文字と下線との接触部分を適切に分離可能となる。
【００６０】
ステップＳ９０３では、図１４（ｃ）に示すように、ステップＳ９０１、９０２で得られた境界座標により、各ポリラインの上下の下線境界が特定される。その下線境界に囲まれた領域を白画素で塗りつぶす。これにより、二値画像データから下線が除去される。
【００６１】
ステップＳ９０４では、図１５に示すような確認画面を表示する。ユーザは、下線除去後の二値画像データ上で適切に下線が除去されているか否かを確認することができる。問題無ければ、確認画面で「はい」を押下することで了承を指示することができる。その際、下線除去後の二値画像データが下線除去画像データ５２として記憶装置５０に格納される。ユーザの了承が得られなかった場合は、確認画面で「いいえ」を押下することで処理をキャンセルすることができる。
【００６２】
＜まとめ＞
本発明の実施形態では、主として次の二つの処理に特徴を有する。１つは下線探索処理であり、もう一つは下線除去処理である。
【００６３】
下線探索処理では、二値画像データから下線領域の下線位置座標を抽出する。この下線位置座標は、ある幅と長さを持つ下線領域に含まれる座標を所定の長さごとに抽出したものであり、下線領域の骨格を決定するものである。具体的には、二値画像データ上に一定面積を有する長方形状のラインテンプレートを設置し、ラインテンプレート内で所定値を満たす画素をトレースすることで、ラインテンプレートごとに下線位置座標を抽出する。本処理で抽出した下線位置座標を結んだポリラインが下線領域の骨格となる。
【００６４】
本処理では、処理の効率化のため、予め二値画像データから下線領域を推定した詳細探索領域に絞って実行してもよい。また、抽出したポリラインが文字の一部でないか、表の一部でないかをチェックしてもよい。
【００６５】
下線除去処理では、下線領域と背景ならびに下線領域と文字列の境界座標を求めることで特定した下線領域を除去する。具体的には、ポリラインに沿って、ポリラインに対して垂直方向に画素探索を行うことで、境界座標を求める。詳細には、所定画素数を満たす画素が所定範囲に存在しない場合は下線領域と背景との境界であると判定し、境界座標を求める。一方、所定画素数を満たす画素が所定範囲を超えて存在する場合は下線領域に文字列が接触していると判定し、境界座標を補間する。求めた境界座標により特定される下線領域を二値画像データから除去する。具体的には、求めた境界座標で囲まれた下線領域を背景画素で置き換える。
【００６６】
以上の処理により、文字列に接触した下線領域が含まれる二値画像データから下線領域を除去することが可能である。また、スキャン時に文書が傾いてしまった場合や、下線に凹凸がある場合でも、下線領域を除去可能である。さらに、当該下線領域を、文字の一部や、表を構成する罫線と区別して、自動的に除去することができる。
【００６７】
その結果として、下線除去後の画像データに対してＯＣＲで文字認識を施した場合に、高精度で文字を認識することが可能となる。
【００６８】
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００６９】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００７０】
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ-ＲＷ、ＣＤ-Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はＣＰＵやＭＰＵ)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【符号の説明】
【００７１】
１０・・・中央処理装置
２０・・・データメモリ
２１・・・二値画像データ
２２・・・下線位置データ
３０・・・入出力装置
３１・・・キーボード
３２・・・表示装置
３３・・・ポインティングデバイス
３４・・・スキャナ
４０・・・下線除去処理プログラム
４１・・・画面表示処理部
４２・・・前処理部
４３・・・下線探索処理部
４４・・・下線除去処理部
５０・・・記憶装置
５１・・・スキャン画像データ
５２・・・下線除去画像データ
【図１】
2010250425.tif 000003
【図２】
2010250425.tif 000004
【図３】
2010250425.tif 000005
【図４】
2010250425.tif 000006
【図５】
2010250425.tif 000007
【図６】
2010250425.tif 000008
【図７】
2010250425.tif 000009
【図８】
2010250425.tif 000010
【図９】
2010250425.tif 000011
【図１０Ａ】
2010250425.tif 000012
【図１０Ｂ】
2010250425.tif 000013
【図１１】
2010250425.tif 000014
【図１２Ａ】
2010250425.tif 000015
【図１２Ｂ】
2010250425.tif 000016
【図１２Ｃ】
2010250425.tif 000017
【図１２Ｄ】
2010250425.tif 000018
【図１２Ｅ】
2010250425.tif 000019
【図１２Ｆ】
2010250425.tif 000020
【図１２Ｇ】
2010250425.tif 000021
【図１３】
2010250425.tif 000022
【図１４】
2010250425.tif 000023
【図１５】
2010250425.tif 000024