(57)【要約】【課題】罫線が含まれている画像を解析する場合にあって、ラベリング技術を用いた場合に比較して、少ない計算機資源の割り当てで、罫線ではないものを罫線として認識してしまう誤りを抑制するようにした画像処理装置を提供する。【解決手段】画像処理装置の罫線抽出手段は、画像内の画素数を計数し、該計数した画素数を閾値と比較して罫線を抽出し、雑音成分識別手段は、前記罫線抽出手段によって抽出された罫線の太さ及び前記閾値に基づいて、前記罫線抽出手段によって抽出された罫線内の雑音成分を識別する。【選択図】図１
2010182052.tif 000002
【特許請求の範囲】
【請求項１】
画像内の画素数を計数し、該計数した画素数を閾値と比較して罫線を抽出する罫線抽出手段と、
前記罫線抽出手段によって抽出された罫線の太さ及び前記閾値に基づいて、前記罫線抽出手段によって抽出された罫線内の雑音成分を識別する雑音成分識別手段
を具備することを特徴とする画像処理装置。
【請求項２】
前記雑音成分識別手段は、前記罫線の太さ及び前記閾値に基づいて、雑音成分よりも大きな大きさを有する濾波器を生成し、該濾波器によって雑音成分を識別する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記罫線抽出手段によって抽出された罫線を実線に変換する実線化手段
をさらに具備し、
前記雑音成分識別手段は、前記実線化手段によって実線に変換された罫線内の雑音成分を識別する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記雑音成分識別手段が生成する濾波器は矩形であり、該矩形の辺の長さは、前記罫線抽出手段によって抽出された罫線の太さに基づいて定める
ことを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記雑音成分識別手段が生成する濾波器は矩形であり、該矩形の辺の長さは、前記閾値に基づいて定める
ことを特徴とする請求項２から４に記載の画像処理装置。
【請求項６】
コンピュータを、
画像内の画素数を計数し、該計数した画素数を閾値と比較して罫線を抽出する罫線抽出手段と、
前記罫線抽出手段によって抽出された罫線の太さ及び前記閾値に基づいて、前記罫線抽出手段によって抽出された罫線内の雑音成分を識別する雑音成分識別手段
として機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
紙の文書をスキャナ等で読み込み、レイアウトや構成オブジェクトを解析し、その記載情報の再利用や、記載情報に基づいた処理を行う技術がある。特に、文書の一種である帳票は業務において多用される。その帳票の多くは表で構成されており、表を解析する技術が求められている。
【０００３】
これに関連する技術として、例えば、特許文献１には、枠の罫線を正しく抽出できる表罫線認識方法を提供することを課題とし、表領域を含む文書画像の表領域の罫線を認識する方法は、表領域に対して水平方向及び垂直方向に各々射影を取り水平方向及び垂直方向のヒストグラムを作成し、水平方向及び垂直方向の各ヒストグラムから所定の閾値より高くなる座標値を水平方向及び垂直方向の罫線候補とし、そして、領域の外接矩形を構成している周囲の線を罫線候補とし、水平方向及び垂直方向の２つの方向から得られる罫線候補の情報からマトリクスを作成して枠領域を算出して、枠と枠の間の罫線が真の罫線であるかどうかを予め定めた判定基準情報により調べ、調べた結果、真の罫線である場合は罫線の種類を判定し、一方真の罫線でない場合は対象となる枠と枠を合成して１つの枠とし、以上の工程を繰り返して表を構成する全ての枠と罫線の情報を得ることが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−０４８１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、罫線が含まれている画像を解析する場合にあって、ラベリング技術を用いた場合に比較して、少ない計算機資源の割り当てで、罫線ではないものを罫線として認識してしまう誤りを抑制するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、画像内の画素数を計数し、該計数した画素数を閾値と比較して罫線を抽出する罫線抽出手段と、前記罫線抽出手段によって抽出された罫線の太さ及び前記閾値に基づいて、前記罫線抽出手段によって抽出された罫線内の雑音成分を識別する雑音成分識別手段を具備することを特徴とする画像処理装置である。
【０００７】
請求項２の発明は、前記雑音成分識別手段は、前記罫線の太さ及び前記閾値に基づいて、雑音成分よりも大きな大きさを有する濾波器を生成し、該濾波器によって雑音成分を識別することを特徴とする請求項１に記載の画像処理装置である。
【０００８】
請求項３の発明は、前記罫線抽出手段によって抽出された罫線を実線に変換する実線化手段をさらに具備し、前記雑音成分識別手段は、前記実線化手段によって実線に変換された罫線内の雑音成分を識別することを特徴とする請求項１又は２に記載の画像処理装置である。
【０００９】
請求項４の発明は、前記雑音成分識別手段が生成する濾波器は矩形であり、該矩形の辺の長さは、前記罫線抽出手段によって抽出された罫線の太さに基づいて定めることを特徴とする請求項２又は３に記載の画像処理装置である。
【００１０】
請求項５の発明は、前記雑音成分識別手段が生成する濾波器は矩形であり、該矩形の辺の長さは、前記閾値に基づいて定めることを特徴とする請求項２から４に記載の画像処理装置である。
【００１１】
請求項６の発明は、コンピュータを、画像内の画素数を計数し、該計数した画素数を閾値と比較して罫線を抽出する罫線抽出手段と、前記罫線抽出手段によって抽出された罫線の太さ及び前記閾値に基づいて、前記罫線抽出手段によって抽出された罫線内の雑音成分を識別する雑音成分識別手段として機能させることを特徴とする画像処理プログラムである。
【発明の効果】
【００１２】
請求項１の画像処理装置によれば、罫線が含まれている画像を解析する場合にあって、ラベリング技術を用いた場合に比較して、少ない計算機資源の割り当てで、罫線ではないものを罫線として認識してしまう誤りを抑制できる。
【００１３】
請求項２の画像処理装置によれば、本構成を有さない場合に比べて、少ない計算機資源の割り当てで、罫線を抽出することができる。
【００１４】
請求項３の画像処理装置によれば、罫線として点線、破線等が含まれている画像を解析する場合にあって、本構成を有さない場合に比べて、点線、破線等で構成されている罫線を罫線ではないと識別してしまうことを抑制できる。
【００１５】
請求項４の画像処理装置によれば、雑音成分識別手段が生成する濾波器は矩形であり、該矩形の辺の長さは、罫線抽出手段によって抽出された罫線の太さに基づいて定めない場合に比べて、罫線ではないものを罫線として認識してしまう誤りを抑制できる。
【００１６】
請求項５の画像処理装置によれば、雑音成分識別手段が生成する濾波器は矩形であり、該矩形の辺の長さは、前記閾値に基づいて定めない場合に比べて、罫線ではないものを罫線として認識してしまう誤りを抑制できる。
【００１７】
請求項６の画像処理プログラムによれば、罫線が含まれている画像を解析する場合にあって、ラベリング技術を用いた場合に比較して、少ない計算機資源の割り当てで、罫線ではないものを罫線として認識してしまう誤りを抑制できる。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を具現化する場合の画像処理装置全体の構成例についての概念的なモジュール構成図である。
【図３】本実施の形態による処理例を示すフローチャートである。
【図４】本実施の形態によるノイズ除去の処理例を示すフローチャートである。
【図５】本実施の形態が対象とする表画像の例を示す説明図である。
【図６】本実施の形態によるヒストグラム生成の処理例を示す説明図である。
【図７】文字等も誤って罫線として抽出された処理例を示す説明図である。
【図８】抽出された罫線を実線化する処理例を示す説明図である。
【図９】罫線の太さを抽出する処理例を示す説明図である。
【図１０】本実施の形態によって生成されるフィルタの例を示す説明図である。
【図１１】本実施の形態による罫線画像の生成処理例を示す説明図である。
【図１２】上書きモジュールによって上書きされた表画像の例を示す説明図である。
【図１３】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
【００２０】
本実施の形態である画像処理装置は、罫線が含まれている画像を解析するものであって、図１に示すように、罫線抽出モジュール１１０、実線化モジュール１２０、ノイズ識別・除去モジュール１３０、罫線画像生成モジュール１６０を有している。
【００２１】
罫線抽出モジュール１１０は、実線化モジュール１２０、ノイズ識別・除去モジュール１３０と接続されている。対象としている画像内の画素数を計数し、その計数した画素数を閾値と比較して罫線を抽出する。そして、抽出結果を実線化モジュール１２０、ノイズ識別・除去モジュール１３０に渡す。例えば、水平方向及び垂直方向に各々射影を取り水平方向及び垂直方向のヒストグラムを作成し、水平方向及び垂直方向の各ヒストグラムから予め定められた閾値より大である位置の座標値を水平方向及び垂直方向の罫線として抽出する。
なお、ここで、抽出する罫線は罫線の候補であり、ノイズ識別・除去モジュール１３０によって、識別されて除去されるべき雑音成分（罫線ではないにもかかわらず、罫線として抽出されたもの）が含まれている場合がある。
【００２２】
また、水平方向、垂直方向とは、画像における水平方向（走査方向）、垂直方向（副走査方向）であってもよいし、罫線にとっての水平方向、垂直方向であってもよい。
また、罫線抽出モジュール１１０が計数する対象の画素は、黒画素又は白画素のいずれか一方であるが、本実施の形態では、黒画素の数を計数する例を示す。つまり、罫線が黒である表を対象とする。
画素数と比較する閾値は、予め定められた値である。前述のように「予め定められた」とは、罫線を抽出するために閾値と比較する前であれば、いつでもよいが、特に、黒画素数を計数した後に、その計数した黒画素数に応じて閾値を定めるようにしてもよい。例えば、計数した黒画素数のうちの最大値に対して予め定められた割合を掛けて、閾値を定めるようにしてもよい。また、計数した黒画素数で大きいものから順に選択して、予め定められた数まで選択した場合における黒画素数から閾値を定めるようにしてもよい。また、黒画素数でソートし、対象の黒画素数と次の黒画素数が予め定められた数以上の差があったときに、その対象の黒画素数から閾値を定めるようにしてもよい。
【００２３】
実線化モジュール１２０は、罫線抽出モジュール１１０、ノイズ識別・除去モジュール１３０と接続されている。罫線抽出モジュール１１０によって抽出された罫線を実線に変換する。つまり、罫線を構成している点線、破線等を実線に変換するものである。そして、実線化した罫線の画像をノイズ識別・除去モジュール１３０に渡す。例えば、縦又は横方向に膨張を行い、その後に収縮を行う。また、縦と横をそれぞれ別々に処理してもよい。つまり、縦罫線と判定された画像には、縦方向に膨張を行い、その後に収縮を行う。同様に、横罫線と判定された画像には、横方向に膨張を行い、その後に収縮を行う。これによって、点線、破線等の線に途切れがある罫線を実線化している。
なお、実線化モジュール１２０はなくてもよい。例えば、点線、破線等の罫線がない場合（罫線が実線だけで構成されている場合）は、実線化モジュール１２０による処理は不要である。
【００２４】
ノイズ識別・除去モジュール１３０は、罫線抽出モジュール１１０、実線化モジュール１２０、罫線画像生成モジュール１６０と接続されており、フィルタ生成モジュール１４０、フィルタ処理モジュール１５０を有している。罫線抽出モジュール１１０によって抽出された罫線の太さ及び閾値に基づいて、罫線抽出モジュール１１０によって抽出された罫線内の雑音成分（以下、ノイズともいう）を識別して除去する。そして、処理結果であるノイズを除去した罫線画像を罫線画像生成モジュール１６０へ渡す。例えば、ノイズ識別・除去モジュール１３０は、フィルタ生成モジュール１４０、フィルタ処理モジュール１５０を制御して、罫線のノイズの識別と除去を行う。より具体的な例として、フィルタ生成モジュール１４０を制御して、罫線抽出モジュール１１０が抽出した罫線の太さ及び罫線抽出モジュール１１０が用いる閾値に基づいて、ノイズよりも大きな大きさを有する濾波器を生成する。そして、フィルタ処理モジュール１５０を制御して、その濾波器によって罫線からノイズを除去する。なお、濾波器とは、画像処理分野で一般にフィルタと呼ばれているものであり、以下、フィルタという。
【００２５】
フィルタ生成モジュール１４０は、閾値取得モジュール１４２、罫線幅抽出モジュール１４４を有している。閾値取得モジュール１４２、罫線幅抽出モジュール１４４を制御して、ノイズ除去のためのフィルタを生成する。そして、その生成したフォルタをフィルタ処理モジュール１５０に渡す。例えば、閾値取得モジュール１４２から閾値、罫線幅抽出モジュール１４４から罫線の幅を得て、その閾値より小である値とその幅以上の値を用いてフィルタを生成する。より具体的な例として、罫線からノイズを除去するためのフィルタは矩形であり、その矩形の辺の長さは、罫線抽出モジュール１１０によって抽出された罫線の太さ以上の長さにしてもよい。また、その矩形の他方の辺の長さは、罫線抽出モジュール１１０が用いる閾値よりも短い長さにしてもよい。ただし、ノイズよりも短くすることはない。さらに具体的な例として、横罫線内のノイズを除去するためのフィルタとして矩形であり、そのフィルタの縦長は罫線の太さ以上であり、そのフィルタの横幅は閾値よりも短い長さとし、縦罫線内のノイズを除去するためのフィルタとして矩形であり、そのフィルタの縦長は閾値よりも短い長さであり、そのフィルタの横幅は罫線の太さ以上としてもよい。
【００２６】
閾値取得モジュール１４２は、罫線抽出モジュール１１０から、その罫線抽出モジュール１１０が罫線を抽出するために用いた閾値を取得する。
罫線幅抽出モジュール１４４は、罫線抽出モジュール１１０が抽出した罫線の幅（縦罫線の場合は水平方向に計測した横幅、横罫線の場合は垂直方向に計測した縦幅）を抽出する。縦罫線又は横罫線の幅のうちからその幅の大きいものを抽出してもよい。例えば、その幅のうち最大値のものを抽出してもよい。また、縦罫線、横罫線のそれぞれの幅の最大値を抽出してもよい。
【００２７】
フィルタ処理モジュール１５０は、フィルタ生成モジュール１４０が生成したフィルタを用いて、罫線抽出モジュール１１０によって抽出された罫線の画像又は実線化モジュール１２０によって罫線を実線化した画像に対して、罫線内のノイズを識別して除去するフィルタ処理をする。ここでのフィルタ処理とは、その画像内を走査し、フィルタの外枠の位置にある画素が全て白である場合は、そのフィルタ内の画像はノイズであるとして除去するものである。
また、前述のフィルタ処理モジュール１５０は、フィルタの外枠の位置にある画素が全て白である場合は、そのフィルタ内の画像はノイズであるとして除去しているが、除去するのではなく、ノイズの候補として識別するようにしてもよい。つまり、フィルタ処理モジュール１５０は、ノイズと決定するのではなくて、あくまでノイズの候補として残しておき、ノイズ候補であることを示すマークだけを行う（印（しるし）付けだけを行う）。そして、他のノイズ識別手法（例えば、単なるパタンマッチングによる短線分検出等）によるノイズ候補の識別結果を得て、両方の結果でノイズ候補と判断された箇所のみを最終的にノイズと決定するようにしてもよい。また、ノイズ識別手法の代わりに、公知の点線破線検出手法を用いて、点線破線として検出しなかったものをノイズ候補とし、両方の結果でノイズ候補と判断された箇所のみを最終的にノイズと決定するようにしてもよい。そして、この決定されたノイズを除去する。より正確なノイズ除去を行う場合に、ここで示した他のノイズ識別手法又は点線破線検出手法を併用する。以下、フィルタの外枠の位置にある画素が全て白である場合は、そのフィルタ内の画像はノイズであるとして除去する手法を用いて説明するが、他の手法を併用するようにしてもよい。
【００２８】
罫線画像生成モジュール１６０は、ノイズ識別・除去モジュール１３０と接続されている。ノイズ識別・除去モジュール１３０によって罫線内のノイズを除去した画像を受け取って、罫線の画像を生成する。例えば、罫線抽出モジュール１１０、実線化モジュール１２０、ノイズ識別・除去モジュール１３０は、それぞれ縦罫線だけを扱って縦罫線の画像を生成した後に、横罫線だけを扱って横罫線の画像を生成し、罫線画像生成モジュール１６０が、その縦罫線の画像と横罫線の画像とを合成して罫線の画像を生成するようにしてもよい。
【００２９】
図２は、本実施の形態を具現化する場合の画像処理装置全体の構成例についての概念的なモジュール構成図である。
画像処理装置全体は、画像受付モジュール２１０、オブジェクト分離モジュール２２０、表領域抽出モジュール２３０、表罫線補正モジュール２４０、上書きモジュール２５０、文字認識モジュール２６０、情報構成モジュール２７０、出力モジュール２８０を備えている。
【００３０】
画像受付モジュール２１０は、オブジェクト分離モジュール２２０、上書きモジュール２５０と接続されている。画像を受け付けて、その画像をオブジェクト分離モジュール２２０、上書きモジュール２５０へ渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク（コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む）等に記憶されている画像を読み出すこと等が含まれる。画像は、２値画像、多値画像（カラー画像）であってもよい。なお、多値画像である場合は、２値化処理を行って、２値画像に変換する。受け付ける画像は、１枚であってもよいし、複数枚であってもよい。また、画像の内容として、表が含まれているような画像であれば、ビジネスに用いられる帳票等の文書、広告宣伝用のパンフレット等であってもよい。
また、画像受付モジュール２１０は、受け付けた画像に対して、ノイズ除去、傾き補正、正規化等の前処理を行うようにしてもよい。
【００３１】
オブジェクト分離モジュール２２０は、画像受付モジュール２１０、表領域抽出モジュール２３０、情報構成モジュール２７０と接続されている。画像受付モジュール２１０が受け付けた画像を構成するオブジェクト（部分画像）に分離する。オブジェクトには、少なくとも表領域が含まれており、その他に、文字領域、図形領域、写真領域等がある。そして、その分離結果を表領域抽出モジュール２３０へ渡し、領域の構成情報（各領域の受け付けた画像内における位置等）を情報構成モジュール２７０へ渡す。
部分画像への分離は、画像から空白等で区切られた領域（部分画像）を抽出することによって行う。この部分画像に分離する処理は、例えば、画像受付モジュール２１０によって受け付けられた画像から白画素の領域が一定の長さ（あるいは面積）以上あるところによって区切る。そのように区切ると、黒画素の領域（例えば、矩形）を抽出することができる。さらに、その黒画素の領域の画像としての特徴（例えば、面積、縦又は横の大きさ、形状、黒画素塊の存在位置等）を抽出し、文字領域、図形領域、表領域、写真領域等の種別を判別することができる。もちろん他の既存の方法で部分画像を抽出してもよい。
【００３２】
表領域抽出モジュール２３０は、オブジェクト分離モジュール２２０、表罫線補正モジュール２４０と接続されている。オブジェクト分離モジュール２２０から分離結果を受け取り、画像受付モジュール２１０が受け付けた画像内から表領域の画像を取り出す。そして、その表領域の画像を表罫線補正モジュール２４０へ渡す。
【００３３】
表罫線補正モジュール２４０は、表領域抽出モジュール２３０、上書きモジュール２５０と接続されている。表罫線補正モジュール２４０は、前述した図１に示したモジュールによって構成されている。つまり、表領域抽出モジュール２３０から表領域の画像を受け取って、その中の線分から表を構成している罫線を取り出して、ノイズを除去した罫線だけの画像を生成する。そして、その生成した表画像を上書きモジュール２５０へ渡す。詳細については、図３の例に示すフローチャートを用いて後述する。
【００３４】
上書きモジュール２５０は、画像受付モジュール２１０、表罫線補正モジュール２４０、文字認識モジュール２６０と接続されている。画像受付モジュール２１０が受け付けた画像に、表罫線補正モジュール２４０が生成した表画像を上書きする。そして、その表画像が上書きされた画像を文字認識モジュール２６０へ渡す。例えば、表画像を上書きすることによって、元の画像内の表を実線化した画像ができあがり、以降の処理では、その実線化された表を取り扱うこととなる。
【００３５】
文字認識モジュール２６０は、上書きモジュール２５０、情報構成モジュール２７０と接続されている。上書きモジュール２５０によって表画像が上書きされた画像内の文字認識処理を行う。ここでの、文字認識処理は既存の文字認識処理を用いてもよい。そして、文字認識処理は、表構造の解析等を行うようにしてもよい。例えば、既存の文字認識プログラムをそのまま適用してもよく、その場合、表構造の解析等をするにあたって、点線等の罫線がある場合よりも実線の罫線で構成されている表の方が適している。そして、文字認識結果を情報構成モジュール２７０へ渡す。
【００３６】
情報構成モジュール２７０は、オブジェクト分離モジュール２２０、文字認識モジュール２６０、出力モジュール２８０と接続されている。文字認識モジュール２６０から文字認識結果とオブジェクト分離モジュール２２０から領域の構成情報を受け取り、その画像の解析結果として構成情報を生成する。例えば、構成情報として、その画像内のある位置にどのような文字列があるか、表はどのような構造を有しており、その表内のセルにはどのような文字列があるか等を示す情報がある。そして、その構成情報を出力モジュール２８０へ渡す。
【００３７】
出力モジュール２８０は、情報構成モジュール２７０と接続されている。情報構成モジュール２７０から構成情報を受け取って、ページ情報に変換して出力する。ページ情報として、例えば、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のフォーマットがある。また、出力として、例えば、文書データベース等への記憶、翻訳処理装置等の他の情報処理装置への送信があるが、この他に、画像の清書を提示することを目的として、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること等を行ってもよい。
【００３８】
図３は、本実施の形態による処理例を示すフローチャートである。このフローチャートは、図２の例に示した表罫線補正モジュール２４０による処理例であり、図１の例に示したモジュールによる処理例である。
【００３９】
ステップＳ３００では、表罫線補正モジュール２４０が、表領域抽出モジュール２３０から表領域の画像を受け取る。その受け取った同じ画像に対して、ステップＳ３１０からの縦罫線（垂直方向の罫線）の処理とステップＳ３５０からの横罫線（水平方向の罫線）の処理が行われる。
例えば、図５の例に示す表画像５００が該当する。表画像５００は、横罫線５２０から５２６、縦罫線５３０から５３８によって構成されている。また、図５の例に示すように、表画像５００内の各セルには文字が記載されている。
【００４０】
ステップＳ３１０では、罫線抽出モジュール１１０が、ステップＳ３００で受け付けた表領域画像の縦方向の投影分布を生成する。例えば、図６（ａ）の例に示すヒストグラムは、図５の例に示した表画像５００の投影分布であり、横方向の各位置において、縦方向に黒画素数を計数したものである。なお、図６（ｂ）の例には、図５の例に示す表画像５００を示している。
【００４１】
ステップＳ３１２では、罫線抽出モジュール１１０が、ステップＳ３１０で生成した投影分布から縦罫線を抽出する。例えば、図６（ａ）の例に示すヒストグラムから、閾値ＴＨ＿Ｖ以上になっている箇所が縦罫線が存在している位置（横方向における位置）であるとして、縦罫線を抽出する。図７（ｂ）の例に示す縦罫線が、ステップＳ３１２で抽出された縦罫線である。縦罫線７３０から７３８までは、表画像５００内の縦罫線５３０から５３８にそれぞれ対応する。また、誤認識ノイズ７４０は、横罫線５２４、横罫線５２６、縦罫線５３２、縦罫線５３６によって囲まれたセル内の文字（ｐｐｐ内の２番目の文字ｐ）が、罫線の候補として抽出されてしまったものである。つまり、投影分布から閾値ＴＨ＿Ｖ以上になっている箇所にある部分を縦罫線として抽出しているために発生するものである。
【００４２】
ステップＳ３１４では、実線化モジュール１２０が、ステップＳ３１２で抽出した縦罫線を実線に変換する。例えば、縦方向に膨張、収縮処理を行って、点線、破線等を実線化する。例えば、図８（ｂ）に示す例は、図７（ｂ）に示す例を実線化したものである。縦罫線７３４、７３６の点線の罫線を実線に変換している。
ステップＳ３１６では、ノイズ識別・除去モジュール１３０が、実線化された縦罫線からノイズを除去する。詳細な処理については、図４の例に示すフローチャートを用いて後述する。
【００４３】
ステップＳ３５０では、罫線抽出モジュール１１０が、ステップＳ３００で受け付けた表領域画像の横方向の投影分布を生成する。例えば、図６（ｃ）の例に示すヒストグラムは、図５の例に示した表画像５００の投影分布であり、縦方向の各位置において、横方向に黒画素数を計数したものである。
【００４４】
ステップＳ３５２では、罫線抽出モジュール１１０が、ステップＳ３１０で生成した投影分布から横罫線を抽出する。例えば、図６（ｃ）の例に示すヒストグラムから、閾値ＴＨ＿Ｈ以上になっている箇所が横罫線が存在している位置（縦方向における位置）であるとして、横罫線を抽出する。図７（ａ）の例に示す横罫線が、ステップＳ３５２で抽出された横罫線である。横罫線７２０から７２６までは、表画像５００内の横罫線５２０から５２６にそれぞれ対応する。また、誤認識ノイズ７２８は、横罫線５２２、横罫線５２６、縦罫線５３６、縦罫線５３８によって囲まれたセル内の文字（文字列ｚｚ）が、罫線の候補として抽出されてしまったものである。つまり、投影分布から閾値ＴＨ＿Ｈ以上になっている箇所にある部分を横罫線として抽出しているために発生するものである。
【００４５】
ステップＳ３５４では、実線化モジュール１２０が、ステップＳ３５２で抽出した横罫線を実線に変換する。例えば、横方向に膨張、収縮処理を行って、点線、破線等を実線化する。例えば、図８（ａ）に示す例は、図７（ａ）に示す例を実線化したものである。なお、横罫線は全て実線であるので、ステップＳ３５４の処理によっても変化はない。
ステップＳ３５６では、ノイズ識別・除去モジュール１３０が、実線化された横罫線からノイズを除去する。詳細な処理については、図４の例に示すフローチャートを用いて後述する。
【００４６】
ステップＳ３８０では、罫線画像生成モジュール１６０が、ステップＳ３１６、ステップＳ３５６でノイズが除去された罫線画像を合成する。例えば、図１１は、ノイズが除去された縦罫線８３０から８３８と横罫線８２０から８２６とをＯＲ（論理和）合成して、縦罫線８３０から８３８と横罫線８２０から８２６によって構成されている表画像１１００を生成した例を示している。
ステップＳ３８２では、罫線画像生成モジュール１６０が、ステップＳ３８０で生成した罫線画像を上書きモジュール２５０に出力する。
そして、上書きモジュール２５０は、画像受付モジュール２１０が受け付けた元の画像に表罫線補正モジュール２４０から受け取った罫線画像（点線、破線等の罫線が実線化され、ノイズが除去されたもの）を上書きする。例えば、図５の例に示した表画像５００は、図１２の例に示すような表画像１２００に変換されることになる。つまり、表のセル内の文字はそのままで、罫線は実線化されている。
【００４７】
図４は、本実施の形態によるノイズ除去の処理例を示すフローチャートである。つまり、図１の例に示したノイズ識別・除去モジュール１３０による処理例であり、図３の例に示したステップＳ３１６、ステップＳ３５６での処理例である。
【００４８】
ステップＳ４０２では、閾値取得モジュール１４２が、罫線抽出モジュール１１０が罫線を抽出するために用いた閾値を取得する。例えば、前述の例では、横罫線を抽出するために用いた閾値ＴＨ＿Ｈ、縦罫線を抽出するために用いた閾値ＴＨ＿Ｖを取得する。
ステップＳ４０４では、罫線幅抽出モジュール１４４が、罫線抽出モジュール１１０が抽出した罫線の幅を抽出する。例えば、図９の例に示すように、図９（ａ）に示す横罫線８２０から８２６と誤認識ノイズ８２８（図８（ｂ）に示した例と同じものである）は、横方向に黒画素数を計数した数が閾値ＴＨ＿Ｈ以上になっている箇所のそれぞれの画素幅（ａ画素幅９２０からｄ画素幅９２６まで）を抽出する。より具体的には、閾値ＴＨ＿Ｈ以上になっている頻度分布（黒画素数）の連続している回数を計数して線幅を抽出する。なお、ａ画素幅９２０は横罫線８２０、ｂ画素幅９２２は横罫線８２２、ｃ画素幅９２４は横罫線８２４と誤認識ノイズ８２８、ｄ画素幅９２６は横罫線８２６のそれぞれの線幅である。例えば、この中で、線幅が最も幅の広いものをフィルタを生成するための罫線幅として抽出してもよい。
【００４９】
ステップＳ４０６では、フィルタ生成モジュール１４０が、ステップＳ４０２で取得した閾値とステップＳ４０４で抽出した罫線幅とを用いてフィルタを生成する。例えば、フィルタは、図１０の例に示すような形状である。つまり、横幅Ｍ画素、縦長Ｎ画素の矩形である。
例えば、横罫線内のノイズを除去するためのフィルタの横幅Ｍ、縦長Ｎは次に示す数式（１）、（２）によって定めてもよい。
Ｍ＝閾値×α          （１）
Ｎ＝罫線幅×β        （２）
なお、α、βはフィルタサイズを調整するためのパラメータである。横罫線内のノイズを除去するためのフィルタの場合、α＜１、β≧１である。つまり、横幅Ｍは横罫線を抽出するための閾値よりも小であり、縦長Ｎは罫線幅以上である。これは、ノイズは１つのセルに収まる大きさであり、その線幅は抽出された罫線幅を超えることはないことから、横罫線と認められる長さの最短の長さ（つまり閾値）よりも短い横幅Ｍの辺と、罫線幅よりも長い縦長Ｎの辺とで構成されるフィルタを生成するためである。ただし、αは、ノイズとして除去したいものの線長以上になるように定める。
【００５０】
例えば、縦罫線内のノイズを除去するためのフィルタの横幅Ｍ、縦長Ｎは次に示す数式（３）、（４）によって定めてもよい。
Ｍ＝罫線幅×β        （３）
Ｎ＝閾値×α          （４）
なお、α、βはフィルタサイズを調整するためのパラメータである。縦罫線内のノイズを除去するためのフィルタの場合、α＜１、β≧１である。つまり、横幅Ｍは罫線幅以上であり、縦長Ｎは縦罫線を抽出するための閾値よりも小である。これは、ノイズは１つのセルに収まる大きさであり、その線幅は抽出された罫線幅を超えることはないことから、罫線幅よりも長い横幅Ｍの辺と、縦罫線と認められる長さの最短の長さ（つまり閾値）よりも短い縦長Ｎの辺とで構成されるフィルタを生成するためである。ただし、αは、ノイズとして除去したいものの線長以上になるように定める。
【００５１】
ステップＳ４０８では、フィルタ処理モジュール１５０が、ステップＳ４０６で生成されたフィルタを用いて、実線化されたそれぞれの罫線画像（横罫線の画像と縦罫線の画像）からノイズを除去する。例えば、フィルタを罫線画像上で走査して、フィルタ内であり外周に沿った枠（図１０の例では、２つの点線の矩形に囲まれた領域）内が全て白である場合には、その枠内の画像を白に変換する処理を行う。なお、枠は１画素幅であってもよいし、複数画素の幅であってもよい。また、枠内の画像の判断をすることなく、白に変換するようにしてもよい。つまり、枠内の画像が全て白であったとしても、白に変換する。また、枠内に黒画素がある場合にそれを白に変換するようにしてもよい。
【００５２】
図１３を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図１３に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部１３１７と、プリンタなどのデータ出力部１３１８を備えたハードウェア構成例を示している。
【００５３】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１３０１は、前述の実施の形態において説明した各種のモジュール、すなわち、罫線抽出モジュール１１０、実線化モジュール１２０、ノイズ識別・除去モジュール１３０、罫線画像生成モジュール１６０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５４】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３０２は、ＣＰＵ１３０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３０３は、ＣＰＵ１３０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス１３０４により相互に接続されている。
【００５５】
ホストバス１３０４は、ブリッジ１３０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１３０６に接続されている。
【００５６】
キーボード１３０８、マウス等のポインティングデバイス１３０９は、操作者により操作される入力デバイスである。ディスプレイ１３１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００５７】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１３１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ１３０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けられた画像や黒画素の計数結果などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００５８】
ドライブ１３１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１３１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１３０７、外部バス１３０６、ブリッジ１３０５、及びホストバス１３０４を介して接続されているＲＡＭ１３０３に供給する。リムーバブル記録媒体１３１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００５９】
接続ポート１３１４は、外部接続機器１３１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１３１４は、インタフェース１３０７、及び外部バス１３０６、ブリッジ１３０５、ホストバス１３０４等を介してＣＰＵ１３０１等に接続されている。通信部１３１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部１３１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１３１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００６０】
なお、図１３に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１３に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１３に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００６１】
前記実施の形態においては、罫線が途中で途切れる例として点線、破線を示したが、一点鎖線、二点鎖線等を用いた罫線であってもよい。
また、図３の例に示したフローチャートでは、ステップＳ３００からステップＳ３１０とステップＳ３５０の処理に分かれたが、ステップＳ３１０からステップＳ３１６までの処理を行った後に、受け付けられた画像を９０度回転して、再度ステップＳ３１０からステップＳ３１６までの処理を行うようにしてもよい。
また、前記実施の形態の説明において、「以上」、「以下」、「より大きい」、「より小さい（未満）」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい（未満）」、「以上」、「以下」としてもよい。
【００６２】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００６３】
１１０…罫線抽出モジュール
１２０…実線化モジュール
１３０…ノイズ識別・除去モジュール
１４０…フィルタ生成モジュール
１４２…閾値取得モジュール
１４４…罫線幅抽出モジュール
１５０…フィルタ処理モジュール
１６０…罫線画像生成モジュール
２１０…画像受付モジュール
２２０…オブジェクト分離モジュール
２３０…表領域抽出モジュール
２４０…表罫線補正モジュール
２５０…上書きモジュール
２６０…文字認識モジュール
２７０…情報構成モジュール
２８０…出力モジュール
【図１】
2010182052.tif 000003
【図２】
2010182052.tif 000004
【図３】
2010182052.tif 000005
【図４】
2010182052.tif 000006
【図５】
2010182052.tif 000007
【図６】
2010182052.tif 000008
【図７】
2010182052.tif 000009
【図８】
2010182052.tif 000010
【図９】
2010182052.tif 000011
【図１０】
2010182052.tif 000012
【図１１】
2010182052.tif 000013
【図１２】
2010182052.tif 000014
【図１３】
2010182052.tif 000015