(57)【要約】【課題】線画や表が含まれている場合でも精度良く表を抽出できるようにした画像処理装置を提供する。【解決手段】画像処理装置の第１の検出手段は、画像から線分を検出し、第２の検出手段は、前記第１の検出手段によって検出された線分から、矩形である閉領域を構成する第１の線分を検出し、第３の検出手段は、前記第１の検出手段によって検出された線分から、前記閉領域を構成しない線分であって該閉領域と接触している第２の線分を検出し、出力手段は、前記第１の線分と前記第２の線分の属性と閾値とを比較して表に関する情報を出力する。【選択図】図１
2016053797.tif 000002
【特許請求の範囲】
【請求項１】
画像から線分を検出する第１の検出手段と、
前記第１の検出手段によって検出された線分から、矩形である閉領域を構成する第１の線分を検出する第２の検出手段と、
前記第１の検出手段によって検出された線分から、前記閉領域を構成しない線分であって該閉領域と接触している第２の線分を検出する第３の検出手段と、
前記第１の線分と前記第２の線分の属性と閾値とを比較して表に関する情報を出力する出力手段
を具備することを特徴とする画像処理装置。
【請求項２】
前記出力手段は、前記情報を出力するための条件を定めた規則として、
（規則１）前記第２の線分を方向で分類し、各方向における該第２の線分の数が予め定められた第１の閾値未満又は以下である方向の数を計数し、該数が予め定められた第２の閾値未満又は以下である場合は、前記第１の線分によって表が構成されていると判断すること
（規則２）前記（規則１）において、前記第２の線分の長さが、前記閉領域のサイズに対する予め定められた第３の閾値の割合より長いこと又は以上であるものを対象とすること
（規則３）前記第２の線分の数が第４の閾値未満又は以下である場合は、前記第１の線分によって表が構成されていると判断すること
（規則４）前記（規則３）において、前記第２の線分の長さが、前記閉領域のサイズに対する予め定められた第５の閾値の割合より長いこと又は以上であるものを対象とすること
（規則５）前記第２の線分を方向で分類し、各方向における該第２の線分の長さ又は端点の位置が予め定められた範囲内にある場合は、前記第１の線分によって表が構成されていると判断すること
（規則６）前記第２の線分の特徴と該第２の線分と接続している閉領域が表を構成しているか否かを示す値によって学習した判別関数を用いること
のいずれかを用いることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記閉領域以外の閉領域を前記第２の線分が構成している場合は、該第２の線分を前記出力手段が扱う第２の線分から除外する除外手段
をさらに具備することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記閉領域の大きさが予め定められた第６の閾値未満又は以下である場合は、該閉領域を構成する第１の線分と接続している第２の線分を前記出力手段が扱う第２の線分から除外する第２の除外手段
をさらに具備することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
コンピュータを、
画像から線分を検出する第１の検出手段と、
前記第１の検出手段によって検出された線分から、矩形である閉領域を構成する第１の線分を検出する第２の検出手段と、
前記第１の検出手段によって検出された線分から、前記閉領域を構成しない線分であって該閉領域と接触している第２の線分を検出する第３の検出手段と、
前記第１の線分と前記第２の線分の属性と閾値とを比較して表に関する情報を出力する出力手段
として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、表を含む文書の画像データを記憶する画像データ記憶部と、探索領域の画像データを当該探索領域の探索方向に走査して、該探索方向の走査線上に存在し表の罫線を構成することを表す有意画素を検出し、各走査線毎に有意画素の個数を累積して探索領域の周辺分布を作成する周辺分布作成部と、木構造上の各階層ｎ（ｎ＝０、１、２、…）の探索領域を検出するため、（処理ａ）：表全体を含む所定の領域を階層０の探索領域の検出に用いる最初の探索領域としかつ行方向及び列方向をそれぞれ最初の探索方向として指示し、最初の探索領域の周辺分布から行方向及び列方向の表外枠線を検出し、（処理ｂ）：階層０の探索領域を行方向及び列方向の表外枠線で囲まれる領域としかつ階層０の探索方向を行方向及び列方向のいずれか一方として指示し、（処理ｃ）：探索方向を行方向とした階層ｎの探索領域において行方向の表区分線を検出した探索領域があった場合には、当該表区分線を検出した探索領域を当該表区分線で列方向に区分して得られる分割領域を次の階層（ｎ＋１）の探索領域としかつ次の階層（ｎ＋１）の探索方向を列方向として設定し、これと共に当該階層ｎの探索領域に当該次の階層（ｎ＋１）の探索領域が連鎖することを表す表構造情報を作成し、（処理ｄ）：探索方向を列方向とした階層ｎの探索領域において列方向の表区分線を検出した探索領域があった場合には、当該表区分線を検出した探索領域を当該表区分線で行方向に区分して得られる分割領域を次の階層（ｎ＋１）の探索領域としかつ次の階層（ｎ＋１）の探索方向を行方向として設定し、これと共に当該階層ｎの探索領域に当該階層（ｎ＋１）の探索領域が連鎖することを表す表構造情報を作成し、階層ｎの探索領域の全部につき行方向及び列方向の表区分線が双方ともに検出されなくなるまで前記（処理ｃ）及び（処理ｄ）を繰返す情報作成部とを備えて成ることを特徴とする表構造検出装置について開示されている。
【０００３】
特許文献２には、「１」等の文字が罫線に近接するほど大きく書かれていたり、罫線の一部が途切れている原画像を表認識する場合であっても、表構造を正しく認識し、正しい表情報を得ることのできる認識率が高く信頼性に優れた表認識装置の提供を目的とし、与えられた入力図形を走査して得られた画像データに基づいて表の構造を認識する表認識装置であって、画像データを走査して特定パターンのランを抽出し抽出されたランの連結性を調べて罫線を抽出する罫線抽出部と、前記罫線抽出部で抽出された罫線の位置関係を調べて不完全な部分を検索する不完全部分検索部と、前記不完全部分検索部で検索された不完全部分の画像データから再び特定パターンのランを抽出し罫線がないか調べる罫線再抽出部とを備えた構成からなることが開示されている。
【０００４】
特許文献３には、シミュレーション方法及び装置並びにプログラムに関し、シミュレータ機能を簡単、かつ、容易に選択して効率的なシミュレーションを行うことを目的とし、シミュレータ機能をコンポーネント化した複数のコンポーネントを、複数のコンポーネントを管理する外部インタフェース管理モジュールを介してシミュレータ本体に結合して使用し、シミュレーション実行時に、外部インタフェース管理モジュールによりシミュレーション実行環境に応じて複数のコンポーネントを使い分けるように構成することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０４−０１５７７５号公報
【特許文献２】特開平０６−１５００５６号公報
【特許文献３】特開２００７−２１３２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、線画や表が含まれている場合でも精度良く表を抽出できるようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、画像から線分を検出する第１の検出手段と、前記第１の検出手段によって検出された線分から、矩形である閉領域を構成する第１の線分を検出する第２の検出手段と、前記第１の検出手段によって検出された線分から、前記閉領域を構成しない線分であって該閉領域と接触している第２の線分を検出する第３の検出手段と、前記第１の線分と前記第２の線分の属性と閾値とを比較して表に関する情報を出力する出力手段を具備することを特徴とする画像処理装置である。
【０００８】
請求項２の発明は、前記出力手段は、前記情報を出力するための条件を定めた規則として、（規則１）前記第２の線分を方向で分類し、各方向における該第２の線分の数が予め定められた第１の閾値未満又は以下である方向の数を計数し、該数が予め定められた第２の閾値未満又は以下である場合は、前記第１の線分によって表が構成されていると判断すること（規則２）前記（規則１）において、前記第２の線分の長さが、前記閉領域のサイズに対する予め定められた第３の閾値の割合より長いこと又は以上であるものを対象とすること（規則３）前記第２の線分の数が第４の閾値未満又は以下である場合は、前記第１の線分によって表が構成されていると判断すること（規則４）前記（規則３）において、前記第２の線分の長さが、前記閉領域のサイズに対する予め定められた第５の閾値の割合より長いこと又は以上であるものを対象とすること（規則５）前記第２の線分を方向で分類し、各方向における該第２の線分の長さ又は端点の位置が予め定められた範囲内にある場合は、前記第１の線分によって表が構成されていると判断すること（規則６）前記第２の線分の特徴と該第２の線分と接続している閉領域が表を構成しているか否かを示す値によって学習した判別関数を用いることのいずれかを用いることを特徴とする請求項１に記載の画像処理装置である。
【０００９】
請求項３の発明は、前記閉領域以外の閉領域を前記第２の線分が構成している場合は、該第２の線分を前記出力手段が扱う第２の線分から除外する除外手段をさらに具備することを特徴とする請求項１又は２に記載の画像処理装置である。
【００１０】
請求項４の発明は、前記閉領域の大きさが予め定められた第６の閾値未満又は以下である場合は、該閉領域を構成する第１の線分と接続している第２の線分を前記出力手段が扱う第２の線分から除外する第２の除外手段をさらに具備することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置である。
【００１１】
請求項５の発明は、コンピュータを、画像から線分を検出する第１の検出手段と、前記第１の検出手段によって検出された線分から、矩形である閉領域を構成する第１の線分を検出する第２の検出手段と、前記第１の検出手段によって検出された線分から、前記閉領域を構成しない線分であって該閉領域と接触している第２の線分を検出する第３の検出手段と、前記第１の線分と前記第２の線分の属性と閾値とを比較して表に関する情報を出力する出力手段として機能させるための画像処理プログラムである。
【発明の効果】
【００１２】
請求項１の画像処理装置によれば、線画や表が含まれている場合でも精度良く表を抽出することができる。
【００１３】
請求項２の画像処理装置によれば、（規則１）〜（規則６）のいずれかを用いて閉領域によって表が構成されるか抽出結果を出力することができる。
【００１４】
請求項３の画像処理装置によれば、対象としている閉領域以外の閉領域を第２の線分が構成している場合は、その第２の線分を出力手段が扱う第２の線分から除外することができる。
【００１５】
請求項４の画像処理装置によれば、閉領域の大きさが予め定められた第６の閾値未満又は以下である場合は、その閉領域を構成する第１の線分と接続している第２の線分を出力手段が扱う第２の線分から除外することができる。
【００１６】
請求項５の画像処理プログラムによれば、線画や表が含まれている場合でも精度良く表を抽出することができる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第１の実施の形態による処理例を示すフローチャートである。
【図３】第１の実施の形態による処理例を示す説明図である。
【図４】第１の実施の形態による処理例を示す説明図である。
【図５】第１の実施の形態による処理例を示す説明図である。
【図６】第１の実施の形態による処理例を示す説明図である。
【図７】第１の実施の形態による処理例を示す説明図である。
【図８】第１の実施の形態による処理例を示す説明図である。
【図９】第１の実施の形態による処理例を示す説明図である。
【図１０】第１の実施の形態による処理例を示す説明図である。
【図１１】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図１２】第２の実施の形態による処理例を示すフローチャートである。
【図１３】第２の実施の形態による処理例を示す説明図である。
【図１４】第３の実施の形態の構成例についての概念的なモジュール構成図である。
【図１５】第３の実施の形態による処理例を示すフローチャートである。
【図１６】第３の実施の形態による処理例を示す説明図である。
【図１７】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
＜第１の実施の形態＞
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００１９】
第１の実施の形態である画像処理装置１００は、画像内の閉領域によって表が構成される度合い（表らしさを示す指標）を出力するものであって、図１の例に示すように、データ読込モジュール１１０、線分検出モジュール１２０、閉領域検出モジュール１３０、余剰線検出モジュール１４０、表尤度判断モジュール１５０を有している。なお、ここで表とは、矩形である閉領域が複数規則的に並んでいるものである。例えば、図面では、部品の詳細データを記載したもの等が該当する。一方、表に類似するが、表ではないものとして、例えば、図面に記載されている部品の線画等がある。
【００２０】
データ読込モジュール１１０は、線分検出モジュール１２０と接続されている。データ読込モジュール１１０は、画像（線分データを含めてもよい）を受け付ける。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク（コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む）等に記憶されている画像を読み出すこと等が含まれる。画像は、主に２値画像であるが、多値画像（カラー画像を含む）であってもよい。受け付ける画像は、１枚であってもよいし、複数枚であってもよい。また、画像の内容として、図面、ビジネスに用いられる文書等であってもよい。以下、主に図面を例示する。また、線分データは、始点と終点を示す情報を少なくとも有するデータであればよく、描画命令データ、ＣＡＤデータ等も含まれる。表として、例えば、図面内には、書誌的事項（設計者、日付等）又は設計データ等を記載するための表が含まれているのが一般的である。
【００２１】
線分検出モジュール１２０は、データ読込モジュール１１０、閉領域検出モジュール１３０、余剰線検出モジュール１４０と接続されている。線分検出モジュール１２０は、画像又は線分データから線分を検出する。検出した線分を閉領域検出モジュール１３０、余剰線検出モジュール１４０に渡す。線分は直線状であればよい。また、検出方法として、ハフ変換等の従来技術を用いればよい。
閉領域検出モジュール１３０は、線分検出モジュール１２０、余剰線検出モジュール１４０、表尤度判断モジュール１５０と接続されている。閉領域検出モジュール１３０は、線分検出モジュール１２０によって検出された線分から、矩形（正方形を含む長方形）である閉領域を構成する第１の線分を検出する。ここで「矩形を構成する第１の線分」は、その矩形の頂点（始点）から隣り合う頂点（終点）までの線分をいい、１つの矩形に対して４本の線分がある。閉領域検出モジュール１３０は、例えば、水平線、垂直線からなる閉領域を構成する線分の組み合わせを探索する。なお、水平線は、完全な水平線であるものの他に、予め定められた範囲の傾きを有していてもよい。垂直線も同様である。閉領域の抽出方法として、例えば、交点を検出し、その交点間を結ぶ線分を辿って、矩形を抽出すればよい。なお、さらに閉領域検出モジュール１３０は、複数規則的に並んでいることを条件として、矩形を抽出するようにしてもよい。
【００２２】
余剰線検出モジュール１４０は、線分検出モジュール１２０、閉領域検出モジュール１３０、表尤度判断モジュール１５０と接続されている。余剰線検出モジュール１４０は、線分検出モジュール１２０によって検出された線分から、閉領域を構成しない線分であってその閉領域と接触している第２の線分（以下、余剰線ともいう）を検出する。第２の線分は、例えば、第１の線分の延長部分（矩形を構成している線分（頂点から頂点までの線分）ではなく、いわゆるヒゲとして矩形からはみ出している線分）、矩形の辺の途中と接触している線分等がある。なお、第２の線分として、さらに、水平線又は垂直線であることを条件としてもよい。
【００２３】
表尤度判断モジュール１５０は、閉領域検出モジュール１３０、余剰線検出モジュール１４０と接続されている。表尤度判断モジュール１５０は、第１の線分と第２の線分の属性と閾値（予め定められている値）とを比較して、表に関する情報を出力する。例えば、表尤度判断モジュール１５０は、第１の線分と第２の線分を予め定められた規則に適用して、閉領域によって表が構成される度合いを出力する。ここで「閉領域によって表が構成される度合い」として、表である確率の他に、表であるか否かの２値を含む。したがって、画像内から表部分だけを出力する形態、表以外の部分を出力する形態、表部分の線分を他の線分とは異なる形態（色、線種（実線、点線等）等）で出力する形態等が含まれる。
表尤度判断モジュール１５０は、予め定められた規則として、
（規則１）、第２の線分を方向で分類し、各方向におけるその第２の線分の数が予め定められた第１の閾値未満又は以下である方向の数を計数し、その数が予め定められた第２の閾値未満又は以下である場合は、第１の線分によって表が構成されていると判断すること
（規則２）、（規則１）において、第２の線分の長さが、閉領域のサイズに対する予め定められた第３の閾値の割合より長いこと又は以上であるものを対象とすること
（規則３）、第２の線分の数が第４の閾値未満又は以下である場合は、第１の線分によって表が構成されていると判断すること
（規則４）、（規則３）において、第２の線分の長さが、閉領域のサイズに対する予め定められた第５の閾値の割合より長いこと又は以上であるものを対象とすること
（規則５）、第２の線分を方向で分類し、各方向におけるその第２の線分の長さ又は端点の位置が予め定められた範囲内にある場合は、第１の線分によって表が構成されていると判断すること
（規則６）、第２の線分の特徴とその第２の線分と接続している閉領域が表を構成しているか否かを示す値によって学習した判別関数を用いること
のいずれかを用いるようにしてもよい。
（規則２）は、「第１の規則において、第２の線分の長さが、予め定められた第３の閾値未満又は以下であるものは対象としないこと」と同義である。したがって、（規則２）は、この同義の規則を含む。
（規則４）は、「第３の規則において、第２の線分の長さが、予め定められた第５の閾値未満又は以下であるものは対象としないこと」と同義である。したがって、（規則４）は、この同義の規則を含む。
（規則５）については、図９の例を用いて後述する。
【００２４】
図２は、第１の実施の形態による処理例を示すフローチャートである。
ステップＳ２０２では、データ読込モジュール１１０は、対象とするデータを読み込む。
ステップＳ２０４では、線分検出モジュール１２０は、読み込んだデータ内から線分情報を検出する。
ステップＳ２０６では、閉領域検出モジュール１３０は、矩形領域を構成する線分の組み合わせを検出する。図３は、第１の実施の形態（閉領域検出モジュール１３０）による処理例を示す説明図である。例えば、図３（ａ１）の例に示すような図形から、図３（ａ２）の例に示すような矩形を抽出する。同様に、例えば、図３（ｂ１）の例に示すような図形から、図３（ｂ２）の例に示すような矩形を抽出する。もしも、余剰線を用いた処理（ステップＳ２０８以降の処理）を行わない場合は、図３（ａ２）、（ｂ２）の例に示すような矩形も表として検出してしまうことになる。
【００２５】
より詳細に説明する。図４は、第１の実施の形態（線分検出モジュール１２０、ステップＳ２０４）による処理例を示す説明図である。図４（ａ）の例に示すような画像から、水平線を抽出し（図４（ｂ）の例参照）、垂直線を抽出し（図４（ｃ）の例参照）、斜線を抽出する（図４（ｄ）の例参照、なお、この場合は斜線はない）。以下、水平線データとして、Ｈ：｛ｈｉ｝（横線４１０、４１２、４１４、４１６の集合）、垂直線データとして、Ｖ：｛ｖｊ｝（縦線４３０、４３２、４３４、４３６、４３８の集合）、斜線データとして、Ｔ：｛ｔｋ｝（この場合は、空集合）と表す。なお、角度に関係なく線分データを抽出後に縦横方向とそれ以外で分類してもよい。
【００２６】
図５は、第１の実施の形態（閉領域検出モジュール１３０）による処理例を示す説明図である。水平線、垂直線からなる閉領域を構成する線分の組み合わせを探索する例を示す。
図５（ａ）、（ｂ）、（ｃ）の例から、図５（ｄ）の例に示すような閉領域を抽出する。なお、閉領域ｃ１：５１０と閉領域ｃ２：５２０との関係は、図５（ｅ）の例に示すようになっている。以下、閉領域データとして、Ｃ：｛ｃｐ｝（閉領域ｃ１：５１０、閉領域ｃ２：５２０、閉領域ｃ３：５３０、閉領域ｃ４：５４０の集合）と表す。
【００２７】
ステップＳ２０８では、余剰線検出モジュール１４０は、余剰線を検出する。
図６は、第１の実施の形態（余剰線検出モジュール１４０）による処理例を示す説明図である。図６（ａ）に示す例は、ステップＳ２０６で抽出された閉領域（図５（ｄ）と同じ閉領域）である。
図６（ｂ）に示す例は、ステップＳ２０４で画像から抽出した水平線（図４（ｂ）と同じ水平線）である。そして、図６（ｃ）に示す例は、図６（ｂ）に示す水平線から、図６（ａ）に示す閉領域を削除したものであり、閉領域に接している線分を抽出したものである。結果として、横線６１０ａ、横線６１０ｂ、横線６１２、横線６１４、横線６１６ａ、横線６１６ｂを余剰線として抽出する。以下、水平線の余剰線データとして、Ｈ’（＝Ｈ−Ｃ）（横線６１０ａ、６１０ｂ、６１２、６１４、６１６ａ、６１６ｂの集合）と表す。
図６（ｄ）に示す例は、ステップＳ２０４で画像から抽出した垂直線（図４（ｃ）と同じ垂直線）である。そして、図６（ｅ）に示す例は、図６（ｄ）に示す水平線から、図６（ａ）に示す閉領域を削除したものであり、閉領域に接している線分を抽出したものである。結果として、縦線６３４ａ、縦線６３４ｂを余剰線として抽出する。以下、垂直線の余剰線データとして、Ｖ’（＝Ｖ−Ｃ）（縦線６３４ａ、６３４ｂの集合）と表す。
【００２８】
ステップＳ２１０では、表尤度判断モジュール１５０は、表らしさを示す度合いを算出する。
例えば、次に示すようなルールベースでの閾値判定法がある。
（ルール事例１）、余剰線を方向で分類し、各方向におけるその余剰線の数が予め定められた第１の閾値未満又は以下である方向の数を計数し、その数が予め定められた第２の閾値未満又は以下である場合は、表が構成されていると判断する。
例えば、具体的には、以下のように処理を行う。
・閉領域に四方（上方向、下方向、左方向、右方向）のうちどこに接続しているか分類する。
・各方向で、余剰線が第１の閾値（例えば、１等）未満又は以下であるか否かを確認して、条件を満たす方向を数える。
・条件を満たす方向が第２の閾値（例えば、１等）未満又は以下ならば表であると判断する。
【００２９】
（ルール事例２）、ルール事例１を改変したものである。例えば、表の交点の描画が雑な場合に多少の罫線の出っ張りがあるケースに対処するものである。
（ルール事例１）において、余剰線の長さが、閉領域のサイズに対する予め定められた第３の閾値より長いこと又は以上であるものを対象とする。
例えば、具体的には、以下のように処理を行う。
余剰線の長さが閉領域の統計的サイズ（高さ又は幅の平均値、中央値、最頻値等）の第３の閾値割合（例えば、１０％）未満又は以下ならば評価に利用しない。その状態で（ルール事例１）の判断処理を行う。
【００３０】
（ルール事例３）、余剰線の数が第４の閾値未満又は以下である場合は、表が構成されていると判断する。
例えば、具体的には、以下のように処理を行う。
余剰線の全数が第４の閾値（例えば、４等）未満又は以下であるならば表であると判断する。
（ルール事例４）、ルール事例３を改変したものである。例えば、表の交点の描画が雑な場合に多少の罫線の出っ張りがあるケースに対処するものである。
（ルール事例３）において、余剰線の長さが、閉領域のサイズに対する予め定められた第５の閾値より長いこと又は以上であるものを対象とする。
例えば、具体的には、以下のように処理を行う。
余剰線の長さが閉領域の統計的サイズ（高さ又は幅の平均値、中央値、最頻値等）の第５の閾値割合（例えば、１０％）未満又は以下ならば評価に利用しない。その状態で（ルール事例３）の判断処理を行う。
【００３１】
図７は、第１の実施の形態（ルール事例１〜４）による処理例を示す説明図である。
（ルール事例１）を適用した場合、４方向とも余剰線があるため、この例は表ではないと判断する。
（ルール事例２）を適用した場合、左端にある短い線（横線６１０ａ、横線６１６ａ）を除いても４方向に余剰線があり、この例は表ではないと判断する。
（ルール事例３）を適用した場合、８本の余剰線があり、第４の閾値を４（例）とした場合、超過しているため、表ではないと判断する。
（ルール事例４）を適用した場合、左端にある短い線（横線６１０ａ、横線６１６ａ）を除いても６本の余剰線があり、第４の閾値を４（例）とした場合、超過しているため、表ではないと判断する。
【００３２】
（ルール事例５）、余剰線を方向で分類し、各方向における余剰線の長さ又は端点の位置が予め定められた範囲内にある場合は、表が構成されていると判断する。
図８は、第１の実施の形態による処理例を示す説明図である。余剰線がない場合は表形式らしさを高く設定する。つまり、外周の存在する表形式の場合（表内の全ての要素が矩形で構成されている場合）は、余剰線は０となることに起因する。この例では、
余剰（横）線データ：Ｈ’（＝Ｈ−Ｃ）＝φ（空集合）
であり、
余剰（縦）線データ：Ｖ’（＝Ｖ−Ｃ）＝φ（空集合）
である。したがって、ルール事例１〜４を適用した場合は、表であると判断する。
一方、図９（ａ）の例に示す表のように、外周の存在しない場合（左、上の罫線がない場合）、ルール事例１〜４を適用したのでは、表ではないと判断されてしまう。つまり、図９（ｂ）の例では、
余剰（横）線データ：Ｈ’（＝Ｈ−Ｃ）＝｛ｈｉ｝（ｉ＝１〜３）
余剰（縦）線データ：Ｖ’（＝Ｖ−Ｃ）＝｛ｖｊ｝（ｊ＝１〜４）
であり、余剰線が７本あるからである。
そこで、（ルール事例５）として、外周の余剰線の端点が揃っている場合は、判定用の個数に含めないようにしている。
【００３３】
（ルール事例６）余剰線の特徴とその余剰線と接続している閉領域が表を構成しているか否かを示す値によって学習した判別関数を用いる。
事前学習結果による判定法を示したものである。例えば、以下のように行う。
（１）準備段階（データの収集）
・従来手法を用いて表領域検出を実施しておく。
・担当者によって検出エリアの画像を確認して、表であるか否かを手作業にて分類する。例えば、正否の２クラスだけでなく、表らしくない（１）〜必ず表である（５）のような多段階でもよい。
・一方で、検出エリアの画像から、余剰線検出モジュール１４０と同等の処理によって、余剰線のデータを抽出しておく。
（２）学習段階
・余剰線のデータから予め定められた特徴抽出を行い、特徴ベクトルを算出する。特徴抽出として、例えば、余剰線の方向、長さ、閉領域のサイズとの比率等がある。
・その特徴ベクトルと表の正否ラベルを対応させて、判別関数のパラメータを学習させる。
（３）実行段階
・検出した表候補の余剰線データから特徴ベクトルを算出し、判別関数にて表であることの度合いを算出（例えば、表であるか否かを判定）する。
なお、（ルール事例５）と（ルール事例６）を組み合わせる場合は、判別関数に端部座標の法線軸成分の距離関数を補正項として追加しておけばよい。
【００３４】
また、複数の閉領域が余剰線を介して連結している場合は分割して独立に判断するようにしてもよい。
図１０は、第１の実施の形態による処理例を示す説明図である。余剰線１０２０は２つの閉領域（対象１０１０と対象１０５０）間を連結している要素である。
このような連結余剰線が存在する場合は、対象１０１０と対象１０５０の閉領域集合で分けて判別する（特に余剰線１０２０は削除することが好ましい）。
結果的に、対象１０５０内の閉領域部分は表、対象１０１０内の表領域部分は非表として判定されやすくなる。
本事例は、図面での部品データに対する矢印線付き補足表（対象１０５０内の閉領域部分）等に有効である。
【００３５】
ステップＳ２１２では、表尤度判断モジュール１５０は、算出した度合いを出力する。
【００３６】
＜第２の実施の形態＞
図１１は、第２の実施の形態の構成例についての概念的なモジュール構成図を示している。第２の実施の形態では、余剰線で構成されている閉領域を検出して、その閉領域を構成している余剰線は除外して、表尤度判断モジュール１５０による処理を行うようにしたものである。
なお、前述の実施の形態と同種の部位には同一符号を付し重複した説明を省略する（以下、同様）。
画像処理装置１１００は、データ読込モジュール１１０、線分検出モジュール１２０、閉領域検出モジュール１３０、余剰線検出モジュール１４０、余剰閉領域検出モジュール１１４５、表尤度判断モジュール１５０を有している。
余剰線検出モジュール１４０は、線分検出モジュール１２０、閉領域検出モジュール１３０、余剰閉領域検出モジュール１１４５と接続されている。
表尤度判断モジュール１５０は、閉領域検出モジュール１３０、余剰閉領域検出モジュール１１４５と接続されている。
余剰閉領域検出モジュール１１４５は、余剰線検出モジュール１４０、表尤度判断モジュール１５０と接続されている。余剰閉領域検出モジュール１１４５は、閉領域検出モジュール１３０によって検出された閉領域以外の閉領域（対象としている閉領域以外の閉領域）を第２の線分が構成している場合は、その第２の線分を表尤度判断モジュール１５０が扱う第２の線分から除外する。具体的には、余剰閉領域検出モジュール１１４５は、余剰線（斜線等も含む）から構成できる閉領域が存在する場合は、その余剰線を取り除いてから表尤度判断モジュール１５０の処理へ余剰線を与える。
【００３７】
図１２は、第２の実施の形態による処理例を示すフローチャートである。
ステップＳ１２０２では、データ読込モジュール１１０は、対象とするデータを読み込む。
ステップＳ１２０４では、線分検出モジュール１２０は、読み込んだデータ内から線分情報を検出する。
ステップＳ１２０６では、閉領域検出モジュール１３０は、矩形領域を構成する線分の組み合わせを検出する。
ステップＳ１２０８では、余剰線検出モジュール１４０は、余剰線を検出する。
【００３８】
ステップＳ１２１０では、余剰閉領域検出モジュール１１４５は、余剰線を構成要素とする閉領域が存在する場合は、その余剰線を除去する。
図１３は、第２の実施の形態（余剰閉領域検出モジュール１１４５）による処理例を示す説明図である。図１３（ａ）の例に示す画像を対象とする。
図１３（ｂ）に示す例は、
余剰（横）線データ：Ｈ’＝｛ｈｉ｝（ｉ＝１〜２）
余剰（縦）線データ：Ｖ’＝φ
であり、余剰線が２本（余剰（横）線１３１０、１３１２）であることを示している。
図１３（ｃ）に示す例は、閉領域に接続する斜線（斜線１３３２、１３３４、１３３６、１３３８）として、
斜線データ：Ｔ＝｛ｔｋ｝（ｋ＝１〜４）
があることを示している。なお、ここで、「閉領域に接続する斜線」として、「閉領域に直接接続する斜線」と「閉領域に間接的に接続する斜線」の両方を含む。なお、「閉領域に間接的に接続する斜線」は、「閉領域に直接接続する斜線」と接続する斜線、さらに、その斜線に接続する斜線を含むようにしてもよい。
ここで、（ｈ１（余剰（横）線１３１０），ｔ１（斜線１３３２），ｔ２（斜線１３３４））、（ｈ２（余剰（横）線１３１２），ｔ３（斜線１３３６），ｔ４（斜線１３３８））の組み合わせで三角形の閉領域ができるので、これらを除去する。その結果、図１３（ｄ）の例に示すように、２行３列の表部分が有効となる。なお、この場合、
余剰（横）線データ：Ｈ’＝φ
余剰（縦）線データ：Ｖ’＝φ
となる。また、斜線については、図１３（ｅ）の例の場合、
斜線データ：Ｔ＝φ
となる。
【００３９】
ステップＳ１２１２では、表尤度判断モジュール１５０は、表らしさを示す度合いを算出する。
ステップＳ１２１４では、表尤度判断モジュール１５０は、算出した度合いを出力する。
【００４０】
＜第３の実施の形態＞
図１４は、第３の実施の形態の構成例についての概念的なモジュール構成図を示している。第３の実施の形態では、余剰線で構成されている閉領域を検出して、その閉領域を構成している余剰線は除外して、表尤度判断モジュール１５０による処理を行うようにしたものである。
画像処理装置１４００は、データ読込モジュール１１０、線分検出モジュール１２０、閉領域検出モジュール１３０、余剰線検出モジュール１４０、不適閉領域除去モジュール１４４５、表尤度判断モジュール１５０を有している。
【００４１】
閉領域検出モジュール１３０は、線分検出モジュール１２０、余剰線検出モジュール１４０、不適閉領域除去モジュール１４４５と接続されている。
余剰線検出モジュール１４０は、線分検出モジュール１２０、閉領域検出モジュール１３０、不適閉領域除去モジュール１４４５と接続されている。
表尤度判断モジュール１５０は、不適閉領域除去モジュール１４４５と接続されている。
不適閉領域除去モジュール１４４５は、閉領域検出モジュール１３０、余剰線検出モジュール１４０、表尤度判断モジュール１５０と接続されている。不適閉領域除去モジュール１４４５は、閉領域の大きさが予め定められた第６の閾値未満又は以下である場合は、その閉領域を構成する第１の線分と接続している第２の線分を表尤度判断モジュール１５０が扱う第２の線分から除外する。
【００４２】
図１５は、第３の実施の形態による処理例を示すフローチャートである。
ステップＳ１５０２では、データ読込モジュール１１０は、対象とするデータを読み込む。
ステップＳ１５０４では、線分検出モジュール１２０は、読み込んだデータ内から線分情報を検出する。
ステップＳ１５０６では、閉領域検出モジュール１３０は、矩形領域を構成する線分の組み合わせを検出する。
ステップＳ１５０８では、余剰線検出モジュール１４０は、余剰線を検出する。
【００４３】
ステップＳ１５１０では、不適閉領域除去モジュール１４４５は、表を構成し得ない閉領域を除去する。
ステップＳ１５１２では、不適閉領域除去モジュール１４４５は、除去した閉領域がある場合は、その除去した閉領域を構成する線分を余剰線として構成し直す。閉領域のサイズに基づいて、その閉領域を構成する線分の組み合わせを破棄するものである。
図１６は、第３の実施の形態による処理例を示す説明図である。図１６（ａ）に示した例の場合、図１６（ｂ）の例に示すように、下側についた２か所の閉領域１６２０、１６３０は、予め定められた最小文字サイズ（例えば、６ポイント文字等）が記載できないサイズである。小さい閉領域は棄却して、余剰線として差し戻す。
この例の場合は、図１６（ｄ）の例に示すように、閉領域は１つ（閉領域１６１０）になるため、表としてのセル数不足により表らしさが低減する。つまり、セル数が予め定められた閾値未満又は以下である場合は、表ではないと判断するようにしてもよい。
第３の実施の形態による処理が行われない場合、図１６（ｃ）のように、余剰線（図１６（ｃ）では実線）は、余剰線１６４０ｃ、余剰線１６４２ｃ、余剰線１６４４ｃ、余剰線１６４８ｃであり、矩形（図１６（ｃ）では点線）は３つあることになる。第３の実施の形態による処理を行った場合、図１６（ｅ）のように、余剰線（図１６（ｅ）では実線）は、余剰線１６４０ｅ、余剰線１６４２ｅ、余剰線１６４４ｅ、余剰線１６４８ｅであり、矩形（図１６（ｅ）では点線）は１つとなる。なお、余剰線１６４０ｅは、余剰線１６４０ｃと余剰線１６６０（閉領域１６２０を構成した線分）を接線したものである。余剰線１６４２ｅは、余剰線１６４２ｃと余剰線１６６２（閉領域１６２０を構成した線分）を接線したものである。余剰線１６４４ｅは、余剰線１６４４ｃと余剰線１６６４（閉領域１６３０を構成した線分）を接線したものである。余剰線１６４８ｅは、余剰線１６４８ｃと余剰線１６７０（閉領域１６３０を構成した線分）と余剰線１６６８（閉領域１６２０を構成した線分）を接線したものであり、図１６（ｃ）の例に示す余剰線よりも長いものとなる。
【００４４】
ステップＳ１５１４では、表尤度判断モジュール１５０は、表らしさを示す度合いを算出する。
ステップＳ１５１６では、表尤度判断モジュール１５０は、算出した度合いを出力する。
【００４５】
図１７を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図１７に示す構成は、例えばパーソナルコンピュータ（ＰＣ）等によって構成されるものであり、スキャナ等のデータ読み取り部１７１７と、プリンタ等のデータ出力部１７１８を備えたハードウェア構成例を示している。
【００４６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１７０１は、前述の実施の形態において説明した各種のモジュール、すなわち、データ読込モジュール１１０、線分検出モジュール１２０、閉領域検出モジュール１３０、余剰線検出モジュール１４０、表尤度判断モジュール１５０、余剰閉領域検出モジュール１１４５、不適閉領域除去モジュール１４４５等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００４７】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１７０２は、ＣＰＵ１７０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１７０３は、ＣＰＵ１７０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバス等から構成されるホストバス１７０４により相互に接続されている。
【００４８】
ホストバス１７０４は、ブリッジ１７０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バス等の外部バス１７０６に接続されている。
【００４９】
キーボード１７０８、マウス等のポインティングデバイス１７０９は、操作者により操作される入力デバイスである。ディスプレイ１７１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等があり、各種情報をテキストやイメージ情報として表示する。
【００５０】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１７１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ１７０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、画像、線分情報、第１の線分情報、第２の線分情報、閉領域情報等が格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００５１】
ドライブ１７１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１７１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１７０７、外部バス１７０６、ブリッジ１７０５、及びホストバス１７０４を介して接続されているＲＡＭ１７０３に供給する。リムーバブル記録媒体１７１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００５２】
接続ポート１７１４は、外部接続機器１７１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１７１４は、インタフェース１７０７、及び外部バス１７０６、ブリッジ１７０５、ホストバス１７０４等を介してＣＰＵ１７０１等に接続されている。通信部１７１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部１７１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１７１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００５３】
なお、図１７に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１７に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１７に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）等に組み込まれていてもよい。
【００５４】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００５５】
１００…画像処理装置
１１０…データ読込モジュール
１２０…線分検出モジュール
１３０…閉領域検出モジュール
１４０…余剰線検出モジュール
１５０…表尤度判断モジュール
１１００…画像処理装置
１１４５…余剰閉領域検出モジュール
１４００…画像処理装置
１４４５…不適閉領域除去モジュール
【図１】
2016053797.tif 000003
【図２】
2016053797.tif 000004
【図３】
2016053797.tif 000005
【図４】
2016053797.tif 000006
【図５】
2016053797.tif 000007
【図６】
2016053797.tif 000008
【図７】
2016053797.tif 000009
【図８】
2016053797.tif 000010
【図９】
2016053797.tif 000011
【図１０】
2016053797.tif 000012
【図１１】
2016053797.tif 000013
【図１２】
2016053797.tif 000014
【図１３】
2016053797.tif 000015
【図１４】
2016053797.tif 000016
【図１５】
2016053797.tif 000017
【図１６】
2016053797.tif 000018
【図１７】
2016053797.tif 000019