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