JP2016053797A - 画像処理装置及び画像処理プログラム - Google Patents
画像処理装置及び画像処理プログラム Download PDFInfo
- Publication number
- JP2016053797A JP2016053797A JP2014178981A JP2014178981A JP2016053797A JP 2016053797 A JP2016053797 A JP 2016053797A JP 2014178981 A JP2014178981 A JP 2014178981A JP 2014178981 A JP2014178981 A JP 2014178981A JP 2016053797 A JP2016053797 A JP 2016053797A
- Authority
- JP
- Japan
- Prior art keywords
- line
- line segment
- closed region
- rule
- surplus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】線画や表が含まれている場合でも精度良く表を抽出できるようにした画像処理装置を提供する。【解決手段】画像処理装置の第1の検出手段は、画像から線分を検出し、第2の検出手段は、前記第1の検出手段によって検出された線分から、矩形である閉領域を構成する第1の線分を検出し、第3の検出手段は、前記第1の検出手段によって検出された線分から、前記閉領域を構成しない線分であって該閉領域と接触している第2の線分を検出し、出力手段は、前記第1の線分と前記第2の線分の属性と閾値とを比較して表に関する情報を出力する。【選択図】図1
Description
本発明は、画像処理装置及び画像処理プログラムに関する。
特許文献1には、表を含む文書の画像データを記憶する画像データ記憶部と、探索領域の画像データを当該探索領域の探索方向に走査して、該探索方向の走査線上に存在し表の罫線を構成することを表す有意画素を検出し、各走査線毎に有意画素の個数を累積して探索領域の周辺分布を作成する周辺分布作成部と、木構造上の各階層n(n=0、1、2、…)の探索領域を検出するため、(処理a):表全体を含む所定の領域を階層0の探索領域の検出に用いる最初の探索領域としかつ行方向及び列方向をそれぞれ最初の探索方向として指示し、最初の探索領域の周辺分布から行方向及び列方向の表外枠線を検出し、(処理b):階層0の探索領域を行方向及び列方向の表外枠線で囲まれる領域としかつ階層0の探索方向を行方向及び列方向のいずれか一方として指示し、(処理c):探索方向を行方向とした階層nの探索領域において行方向の表区分線を検出した探索領域があった場合には、当該表区分線を検出した探索領域を当該表区分線で列方向に区分して得られる分割領域を次の階層(n+1)の探索領域としかつ次の階層(n+1)の探索方向を列方向として設定し、これと共に当該階層nの探索領域に当該次の階層(n+1)の探索領域が連鎖することを表す表構造情報を作成し、(処理d):探索方向を列方向とした階層nの探索領域において列方向の表区分線を検出した探索領域があった場合には、当該表区分線を検出した探索領域を当該表区分線で行方向に区分して得られる分割領域を次の階層(n+1)の探索領域としかつ次の階層(n+1)の探索方向を行方向として設定し、これと共に当該階層nの探索領域に当該階層(n+1)の探索領域が連鎖することを表す表構造情報を作成し、階層nの探索領域の全部につき行方向及び列方向の表区分線が双方ともに検出されなくなるまで前記(処理c)及び(処理d)を繰返す情報作成部とを備えて成ることを特徴とする表構造検出装置について開示されている。
特許文献2には、「1」等の文字が罫線に近接するほど大きく書かれていたり、罫線の一部が途切れている原画像を表認識する場合であっても、表構造を正しく認識し、正しい表情報を得ることのできる認識率が高く信頼性に優れた表認識装置の提供を目的とし、与えられた入力図形を走査して得られた画像データに基づいて表の構造を認識する表認識装置であって、画像データを走査して特定パターンのランを抽出し抽出されたランの連結性を調べて罫線を抽出する罫線抽出部と、前記罫線抽出部で抽出された罫線の位置関係を調べて不完全な部分を検索する不完全部分検索部と、前記不完全部分検索部で検索された不完全部分の画像データから再び特定パターンのランを抽出し罫線がないか調べる罫線再抽出部とを備えた構成からなることが開示されている。
特許文献3には、シミュレーション方法及び装置並びにプログラムに関し、シミュレータ機能を簡単、かつ、容易に選択して効率的なシミュレーションを行うことを目的とし、シミュレータ機能をコンポーネント化した複数のコンポーネントを、複数のコンポーネントを管理する外部インタフェース管理モジュールを介してシミュレータ本体に結合して使用し、シミュレーション実行時に、外部インタフェース管理モジュールによりシミュレーション実行環境に応じて複数のコンポーネントを使い分けるように構成することが開示されている。
本発明は、線画や表が含まれている場合でも精度良く表を抽出できるようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、画像から線分を検出する第1の検出手段と、前記第1の検出手段によって検出された線分から、矩形である閉領域を構成する第1の線分を検出する第2の検出手段と、前記第1の検出手段によって検出された線分から、前記閉領域を構成しない線分であって該閉領域と接触している第2の線分を検出する第3の検出手段と、前記第1の線分と前記第2の線分の属性と閾値とを比較して表に関する情報を出力する出力手段を具備することを特徴とする画像処理装置である。
請求項1の発明は、画像から線分を検出する第1の検出手段と、前記第1の検出手段によって検出された線分から、矩形である閉領域を構成する第1の線分を検出する第2の検出手段と、前記第1の検出手段によって検出された線分から、前記閉領域を構成しない線分であって該閉領域と接触している第2の線分を検出する第3の検出手段と、前記第1の線分と前記第2の線分の属性と閾値とを比較して表に関する情報を出力する出力手段を具備することを特徴とする画像処理装置である。
請求項2の発明は、前記出力手段は、前記情報を出力するための条件を定めた規則として、(規則1)前記第2の線分を方向で分類し、各方向における該第2の線分の数が予め定められた第1の閾値未満又は以下である方向の数を計数し、該数が予め定められた第2の閾値未満又は以下である場合は、前記第1の線分によって表が構成されていると判断すること(規則2)前記(規則1)において、前記第2の線分の長さが、前記閉領域のサイズに対する予め定められた第3の閾値の割合より長いこと又は以上であるものを対象とすること(規則3)前記第2の線分の数が第4の閾値未満又は以下である場合は、前記第1の線分によって表が構成されていると判断すること(規則4)前記(規則3)において、前記第2の線分の長さが、前記閉領域のサイズに対する予め定められた第5の閾値の割合より長いこと又は以上であるものを対象とすること(規則5)前記第2の線分を方向で分類し、各方向における該第2の線分の長さ又は端点の位置が予め定められた範囲内にある場合は、前記第1の線分によって表が構成されていると判断すること(規則6)前記第2の線分の特徴と該第2の線分と接続している閉領域が表を構成しているか否かを示す値によって学習した判別関数を用いることのいずれかを用いることを特徴とする請求項1に記載の画像処理装置である。
請求項3の発明は、前記閉領域以外の閉領域を前記第2の線分が構成している場合は、該第2の線分を前記出力手段が扱う第2の線分から除外する除外手段をさらに具備することを特徴とする請求項1又は2に記載の画像処理装置である。
請求項4の発明は、前記閉領域の大きさが予め定められた第6の閾値未満又は以下である場合は、該閉領域を構成する第1の線分と接続している第2の線分を前記出力手段が扱う第2の線分から除外する第2の除外手段をさらに具備することを特徴とする請求項1から3のいずれか一項に記載の画像処理装置である。
請求項5の発明は、コンピュータを、画像から線分を検出する第1の検出手段と、前記第1の検出手段によって検出された線分から、矩形である閉領域を構成する第1の線分を検出する第2の検出手段と、前記第1の検出手段によって検出された線分から、前記閉領域を構成しない線分であって該閉領域と接触している第2の線分を検出する第3の検出手段と、前記第1の線分と前記第2の線分の属性と閾値とを比較して表に関する情報を出力する出力手段として機能させるための画像処理プログラムである。
請求項1の画像処理装置によれば、線画や表が含まれている場合でも精度良く表を抽出することができる。
請求項2の画像処理装置によれば、(規則1)〜(規則6)のいずれかを用いて閉領域によって表が構成されるか抽出結果を出力することができる。
請求項3の画像処理装置によれば、対象としている閉領域以外の閉領域を第2の線分が構成している場合は、その第2の線分を出力手段が扱う第2の線分から除外することができる。
請求項4の画像処理装置によれば、閉領域の大きさが予め定められた第6の閾値未満又は以下である場合は、その閉領域を構成する第1の線分と接続している第2の線分を出力手段が扱う第2の線分から除外することができる。
請求項5の画像処理プログラムによれば、線画や表が含まれている場合でも精度良く表を抽出することができる。
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
<第1の実施の形態>
図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
<第1の実施の形態>
図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
第1の実施の形態である画像処理装置100は、画像内の閉領域によって表が構成される度合い(表らしさを示す指標)を出力するものであって、図1の例に示すように、データ読込モジュール110、線分検出モジュール120、閉領域検出モジュール130、余剰線検出モジュール140、表尤度判断モジュール150を有している。なお、ここで表とは、矩形である閉領域が複数規則的に並んでいるものである。例えば、図面では、部品の詳細データを記載したもの等が該当する。一方、表に類似するが、表ではないものとして、例えば、図面に記載されている部品の線画等がある。
データ読込モジュール110は、線分検出モジュール120と接続されている。データ読込モジュール110は、画像(線分データを含めてもよい)を受け付ける。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、主に2値画像であるが、多値画像(カラー画像を含む)であってもよい。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、図面、ビジネスに用いられる文書等であってもよい。以下、主に図面を例示する。また、線分データは、始点と終点を示す情報を少なくとも有するデータであればよく、描画命令データ、CADデータ等も含まれる。表として、例えば、図面内には、書誌的事項(設計者、日付等)又は設計データ等を記載するための表が含まれているのが一般的である。
線分検出モジュール120は、データ読込モジュール110、閉領域検出モジュール130、余剰線検出モジュール140と接続されている。線分検出モジュール120は、画像又は線分データから線分を検出する。検出した線分を閉領域検出モジュール130、余剰線検出モジュール140に渡す。線分は直線状であればよい。また、検出方法として、ハフ変換等の従来技術を用いればよい。
閉領域検出モジュール130は、線分検出モジュール120、余剰線検出モジュール140、表尤度判断モジュール150と接続されている。閉領域検出モジュール130は、線分検出モジュール120によって検出された線分から、矩形(正方形を含む長方形)である閉領域を構成する第1の線分を検出する。ここで「矩形を構成する第1の線分」は、その矩形の頂点(始点)から隣り合う頂点(終点)までの線分をいい、1つの矩形に対して4本の線分がある。閉領域検出モジュール130は、例えば、水平線、垂直線からなる閉領域を構成する線分の組み合わせを探索する。なお、水平線は、完全な水平線であるものの他に、予め定められた範囲の傾きを有していてもよい。垂直線も同様である。閉領域の抽出方法として、例えば、交点を検出し、その交点間を結ぶ線分を辿って、矩形を抽出すればよい。なお、さらに閉領域検出モジュール130は、複数規則的に並んでいることを条件として、矩形を抽出するようにしてもよい。
閉領域検出モジュール130は、線分検出モジュール120、余剰線検出モジュール140、表尤度判断モジュール150と接続されている。閉領域検出モジュール130は、線分検出モジュール120によって検出された線分から、矩形(正方形を含む長方形)である閉領域を構成する第1の線分を検出する。ここで「矩形を構成する第1の線分」は、その矩形の頂点(始点)から隣り合う頂点(終点)までの線分をいい、1つの矩形に対して4本の線分がある。閉領域検出モジュール130は、例えば、水平線、垂直線からなる閉領域を構成する線分の組み合わせを探索する。なお、水平線は、完全な水平線であるものの他に、予め定められた範囲の傾きを有していてもよい。垂直線も同様である。閉領域の抽出方法として、例えば、交点を検出し、その交点間を結ぶ線分を辿って、矩形を抽出すればよい。なお、さらに閉領域検出モジュール130は、複数規則的に並んでいることを条件として、矩形を抽出するようにしてもよい。
余剰線検出モジュール140は、線分検出モジュール120、閉領域検出モジュール130、表尤度判断モジュール150と接続されている。余剰線検出モジュール140は、線分検出モジュール120によって検出された線分から、閉領域を構成しない線分であってその閉領域と接触している第2の線分(以下、余剰線ともいう)を検出する。第2の線分は、例えば、第1の線分の延長部分(矩形を構成している線分(頂点から頂点までの線分)ではなく、いわゆるヒゲとして矩形からはみ出している線分)、矩形の辺の途中と接触している線分等がある。なお、第2の線分として、さらに、水平線又は垂直線であることを条件としてもよい。
表尤度判断モジュール150は、閉領域検出モジュール130、余剰線検出モジュール140と接続されている。表尤度判断モジュール150は、第1の線分と第2の線分の属性と閾値(予め定められている値)とを比較して、表に関する情報を出力する。例えば、表尤度判断モジュール150は、第1の線分と第2の線分を予め定められた規則に適用して、閉領域によって表が構成される度合いを出力する。ここで「閉領域によって表が構成される度合い」として、表である確率の他に、表であるか否かの2値を含む。したがって、画像内から表部分だけを出力する形態、表以外の部分を出力する形態、表部分の線分を他の線分とは異なる形態(色、線種(実線、点線等)等)で出力する形態等が含まれる。
表尤度判断モジュール150は、予め定められた規則として、
(規則1)、第2の線分を方向で分類し、各方向におけるその第2の線分の数が予め定められた第1の閾値未満又は以下である方向の数を計数し、その数が予め定められた第2の閾値未満又は以下である場合は、第1の線分によって表が構成されていると判断すること
(規則2)、(規則1)において、第2の線分の長さが、閉領域のサイズに対する予め定められた第3の閾値の割合より長いこと又は以上であるものを対象とすること
(規則3)、第2の線分の数が第4の閾値未満又は以下である場合は、第1の線分によって表が構成されていると判断すること
(規則4)、(規則3)において、第2の線分の長さが、閉領域のサイズに対する予め定められた第5の閾値の割合より長いこと又は以上であるものを対象とすること
(規則5)、第2の線分を方向で分類し、各方向におけるその第2の線分の長さ又は端点の位置が予め定められた範囲内にある場合は、第1の線分によって表が構成されていると判断すること
(規則6)、第2の線分の特徴とその第2の線分と接続している閉領域が表を構成しているか否かを示す値によって学習した判別関数を用いること
のいずれかを用いるようにしてもよい。
(規則2)は、「第1の規則において、第2の線分の長さが、予め定められた第3の閾値未満又は以下であるものは対象としないこと」と同義である。したがって、(規則2)は、この同義の規則を含む。
(規則4)は、「第3の規則において、第2の線分の長さが、予め定められた第5の閾値未満又は以下であるものは対象としないこと」と同義である。したがって、(規則4)は、この同義の規則を含む。
(規則5)については、図9の例を用いて後述する。
表尤度判断モジュール150は、予め定められた規則として、
(規則1)、第2の線分を方向で分類し、各方向におけるその第2の線分の数が予め定められた第1の閾値未満又は以下である方向の数を計数し、その数が予め定められた第2の閾値未満又は以下である場合は、第1の線分によって表が構成されていると判断すること
(規則2)、(規則1)において、第2の線分の長さが、閉領域のサイズに対する予め定められた第3の閾値の割合より長いこと又は以上であるものを対象とすること
(規則3)、第2の線分の数が第4の閾値未満又は以下である場合は、第1の線分によって表が構成されていると判断すること
(規則4)、(規則3)において、第2の線分の長さが、閉領域のサイズに対する予め定められた第5の閾値の割合より長いこと又は以上であるものを対象とすること
(規則5)、第2の線分を方向で分類し、各方向におけるその第2の線分の長さ又は端点の位置が予め定められた範囲内にある場合は、第1の線分によって表が構成されていると判断すること
(規則6)、第2の線分の特徴とその第2の線分と接続している閉領域が表を構成しているか否かを示す値によって学習した判別関数を用いること
のいずれかを用いるようにしてもよい。
(規則2)は、「第1の規則において、第2の線分の長さが、予め定められた第3の閾値未満又は以下であるものは対象としないこと」と同義である。したがって、(規則2)は、この同義の規則を含む。
(規則4)は、「第3の規則において、第2の線分の長さが、予め定められた第5の閾値未満又は以下であるものは対象としないこと」と同義である。したがって、(規則4)は、この同義の規則を含む。
(規則5)については、図9の例を用いて後述する。
図2は、第1の実施の形態による処理例を示すフローチャートである。
ステップS202では、データ読込モジュール110は、対象とするデータを読み込む。
ステップS204では、線分検出モジュール120は、読み込んだデータ内から線分情報を検出する。
ステップS206では、閉領域検出モジュール130は、矩形領域を構成する線分の組み合わせを検出する。図3は、第1の実施の形態(閉領域検出モジュール130)による処理例を示す説明図である。例えば、図3(a1)の例に示すような図形から、図3(a2)の例に示すような矩形を抽出する。同様に、例えば、図3(b1)の例に示すような図形から、図3(b2)の例に示すような矩形を抽出する。もしも、余剰線を用いた処理(ステップS208以降の処理)を行わない場合は、図3(a2)、(b2)の例に示すような矩形も表として検出してしまうことになる。
ステップS202では、データ読込モジュール110は、対象とするデータを読み込む。
ステップS204では、線分検出モジュール120は、読み込んだデータ内から線分情報を検出する。
ステップS206では、閉領域検出モジュール130は、矩形領域を構成する線分の組み合わせを検出する。図3は、第1の実施の形態(閉領域検出モジュール130)による処理例を示す説明図である。例えば、図3(a1)の例に示すような図形から、図3(a2)の例に示すような矩形を抽出する。同様に、例えば、図3(b1)の例に示すような図形から、図3(b2)の例に示すような矩形を抽出する。もしも、余剰線を用いた処理(ステップS208以降の処理)を行わない場合は、図3(a2)、(b2)の例に示すような矩形も表として検出してしまうことになる。
より詳細に説明する。図4は、第1の実施の形態(線分検出モジュール120、ステップS204)による処理例を示す説明図である。図4(a)の例に示すような画像から、水平線を抽出し(図4(b)の例参照)、垂直線を抽出し(図4(c)の例参照)、斜線を抽出する(図4(d)の例参照、なお、この場合は斜線はない)。以下、水平線データとして、H:{hi}(横線410、412、414、416の集合)、垂直線データとして、V:{vj}(縦線430、432、434、436、438の集合)、斜線データとして、T:{tk}(この場合は、空集合)と表す。なお、角度に関係なく線分データを抽出後に縦横方向とそれ以外で分類してもよい。
図5は、第1の実施の形態(閉領域検出モジュール130)による処理例を示す説明図である。水平線、垂直線からなる閉領域を構成する線分の組み合わせを探索する例を示す。
図5(a)、(b)、(c)の例から、図5(d)の例に示すような閉領域を抽出する。なお、閉領域c1:510と閉領域c2:520との関係は、図5(e)の例に示すようになっている。以下、閉領域データとして、C:{cp}(閉領域c1:510、閉領域c2:520、閉領域c3:530、閉領域c4:540の集合)と表す。
図5(a)、(b)、(c)の例から、図5(d)の例に示すような閉領域を抽出する。なお、閉領域c1:510と閉領域c2:520との関係は、図5(e)の例に示すようになっている。以下、閉領域データとして、C:{cp}(閉領域c1:510、閉領域c2:520、閉領域c3:530、閉領域c4:540の集合)と表す。
ステップS208では、余剰線検出モジュール140は、余剰線を検出する。
図6は、第1の実施の形態(余剰線検出モジュール140)による処理例を示す説明図である。図6(a)に示す例は、ステップS206で抽出された閉領域(図5(d)と同じ閉領域)である。
図6(b)に示す例は、ステップS204で画像から抽出した水平線(図4(b)と同じ水平線)である。そして、図6(c)に示す例は、図6(b)に示す水平線から、図6(a)に示す閉領域を削除したものであり、閉領域に接している線分を抽出したものである。結果として、横線610a、横線610b、横線612、横線614、横線616a、横線616bを余剰線として抽出する。以下、水平線の余剰線データとして、H’(=H−C)(横線610a、610b、612、614、616a、616bの集合)と表す。
図6(d)に示す例は、ステップS204で画像から抽出した垂直線(図4(c)と同じ垂直線)である。そして、図6(e)に示す例は、図6(d)に示す水平線から、図6(a)に示す閉領域を削除したものであり、閉領域に接している線分を抽出したものである。結果として、縦線634a、縦線634bを余剰線として抽出する。以下、垂直線の余剰線データとして、V’(=V−C)(縦線634a、634bの集合)と表す。
図6は、第1の実施の形態(余剰線検出モジュール140)による処理例を示す説明図である。図6(a)に示す例は、ステップS206で抽出された閉領域(図5(d)と同じ閉領域)である。
図6(b)に示す例は、ステップS204で画像から抽出した水平線(図4(b)と同じ水平線)である。そして、図6(c)に示す例は、図6(b)に示す水平線から、図6(a)に示す閉領域を削除したものであり、閉領域に接している線分を抽出したものである。結果として、横線610a、横線610b、横線612、横線614、横線616a、横線616bを余剰線として抽出する。以下、水平線の余剰線データとして、H’(=H−C)(横線610a、610b、612、614、616a、616bの集合)と表す。
図6(d)に示す例は、ステップS204で画像から抽出した垂直線(図4(c)と同じ垂直線)である。そして、図6(e)に示す例は、図6(d)に示す水平線から、図6(a)に示す閉領域を削除したものであり、閉領域に接している線分を抽出したものである。結果として、縦線634a、縦線634bを余剰線として抽出する。以下、垂直線の余剰線データとして、V’(=V−C)(縦線634a、634bの集合)と表す。
ステップS210では、表尤度判断モジュール150は、表らしさを示す度合いを算出する。
例えば、次に示すようなルールベースでの閾値判定法がある。
(ルール事例1)、余剰線を方向で分類し、各方向におけるその余剰線の数が予め定められた第1の閾値未満又は以下である方向の数を計数し、その数が予め定められた第2の閾値未満又は以下である場合は、表が構成されていると判断する。
例えば、具体的には、以下のように処理を行う。
・閉領域に四方(上方向、下方向、左方向、右方向)のうちどこに接続しているか分類する。
・各方向で、余剰線が第1の閾値(例えば、1等)未満又は以下であるか否かを確認して、条件を満たす方向を数える。
・条件を満たす方向が第2の閾値(例えば、1等)未満又は以下ならば表であると判断する。
例えば、次に示すようなルールベースでの閾値判定法がある。
(ルール事例1)、余剰線を方向で分類し、各方向におけるその余剰線の数が予め定められた第1の閾値未満又は以下である方向の数を計数し、その数が予め定められた第2の閾値未満又は以下である場合は、表が構成されていると判断する。
例えば、具体的には、以下のように処理を行う。
・閉領域に四方(上方向、下方向、左方向、右方向)のうちどこに接続しているか分類する。
・各方向で、余剰線が第1の閾値(例えば、1等)未満又は以下であるか否かを確認して、条件を満たす方向を数える。
・条件を満たす方向が第2の閾値(例えば、1等)未満又は以下ならば表であると判断する。
(ルール事例2)、ルール事例1を改変したものである。例えば、表の交点の描画が雑な場合に多少の罫線の出っ張りがあるケースに対処するものである。
(ルール事例1)において、余剰線の長さが、閉領域のサイズに対する予め定められた第3の閾値より長いこと又は以上であるものを対象とする。
例えば、具体的には、以下のように処理を行う。
余剰線の長さが閉領域の統計的サイズ(高さ又は幅の平均値、中央値、最頻値等)の第3の閾値割合(例えば、10%)未満又は以下ならば評価に利用しない。その状態で(ルール事例1)の判断処理を行う。
(ルール事例1)において、余剰線の長さが、閉領域のサイズに対する予め定められた第3の閾値より長いこと又は以上であるものを対象とする。
例えば、具体的には、以下のように処理を行う。
余剰線の長さが閉領域の統計的サイズ(高さ又は幅の平均値、中央値、最頻値等)の第3の閾値割合(例えば、10%)未満又は以下ならば評価に利用しない。その状態で(ルール事例1)の判断処理を行う。
(ルール事例3)、余剰線の数が第4の閾値未満又は以下である場合は、表が構成されていると判断する。
例えば、具体的には、以下のように処理を行う。
余剰線の全数が第4の閾値(例えば、4等)未満又は以下であるならば表であると判断する。
(ルール事例4)、ルール事例3を改変したものである。例えば、表の交点の描画が雑な場合に多少の罫線の出っ張りがあるケースに対処するものである。
(ルール事例3)において、余剰線の長さが、閉領域のサイズに対する予め定められた第5の閾値より長いこと又は以上であるものを対象とする。
例えば、具体的には、以下のように処理を行う。
余剰線の長さが閉領域の統計的サイズ(高さ又は幅の平均値、中央値、最頻値等)の第5の閾値割合(例えば、10%)未満又は以下ならば評価に利用しない。その状態で(ルール事例3)の判断処理を行う。
例えば、具体的には、以下のように処理を行う。
余剰線の全数が第4の閾値(例えば、4等)未満又は以下であるならば表であると判断する。
(ルール事例4)、ルール事例3を改変したものである。例えば、表の交点の描画が雑な場合に多少の罫線の出っ張りがあるケースに対処するものである。
(ルール事例3)において、余剰線の長さが、閉領域のサイズに対する予め定められた第5の閾値より長いこと又は以上であるものを対象とする。
例えば、具体的には、以下のように処理を行う。
余剰線の長さが閉領域の統計的サイズ(高さ又は幅の平均値、中央値、最頻値等)の第5の閾値割合(例えば、10%)未満又は以下ならば評価に利用しない。その状態で(ルール事例3)の判断処理を行う。
図7は、第1の実施の形態(ルール事例1〜4)による処理例を示す説明図である。
(ルール事例1)を適用した場合、4方向とも余剰線があるため、この例は表ではないと判断する。
(ルール事例2)を適用した場合、左端にある短い線(横線610a、横線616a)を除いても4方向に余剰線があり、この例は表ではないと判断する。
(ルール事例3)を適用した場合、8本の余剰線があり、第4の閾値を4(例)とした場合、超過しているため、表ではないと判断する。
(ルール事例4)を適用した場合、左端にある短い線(横線610a、横線616a)を除いても6本の余剰線があり、第4の閾値を4(例)とした場合、超過しているため、表ではないと判断する。
(ルール事例1)を適用した場合、4方向とも余剰線があるため、この例は表ではないと判断する。
(ルール事例2)を適用した場合、左端にある短い線(横線610a、横線616a)を除いても4方向に余剰線があり、この例は表ではないと判断する。
(ルール事例3)を適用した場合、8本の余剰線があり、第4の閾値を4(例)とした場合、超過しているため、表ではないと判断する。
(ルール事例4)を適用した場合、左端にある短い線(横線610a、横線616a)を除いても6本の余剰線があり、第4の閾値を4(例)とした場合、超過しているため、表ではないと判断する。
(ルール事例5)、余剰線を方向で分類し、各方向における余剰線の長さ又は端点の位置が予め定められた範囲内にある場合は、表が構成されていると判断する。
図8は、第1の実施の形態による処理例を示す説明図である。余剰線がない場合は表形式らしさを高く設定する。つまり、外周の存在する表形式の場合(表内の全ての要素が矩形で構成されている場合)は、余剰線は0となることに起因する。この例では、
余剰(横)線データ:H’(=H−C)=φ(空集合)
であり、
余剰(縦)線データ:V’(=V−C)=φ(空集合)
である。したがって、ルール事例1〜4を適用した場合は、表であると判断する。
一方、図9(a)の例に示す表のように、外周の存在しない場合(左、上の罫線がない場合)、ルール事例1〜4を適用したのでは、表ではないと判断されてしまう。つまり、図9(b)の例では、
余剰(横)線データ:H’(=H−C)={hi}(i=1〜3)
余剰(縦)線データ:V’(=V−C)={vj}(j=1〜4)
であり、余剰線が7本あるからである。
そこで、(ルール事例5)として、外周の余剰線の端点が揃っている場合は、判定用の個数に含めないようにしている。
図8は、第1の実施の形態による処理例を示す説明図である。余剰線がない場合は表形式らしさを高く設定する。つまり、外周の存在する表形式の場合(表内の全ての要素が矩形で構成されている場合)は、余剰線は0となることに起因する。この例では、
余剰(横)線データ:H’(=H−C)=φ(空集合)
であり、
余剰(縦)線データ:V’(=V−C)=φ(空集合)
である。したがって、ルール事例1〜4を適用した場合は、表であると判断する。
一方、図9(a)の例に示す表のように、外周の存在しない場合(左、上の罫線がない場合)、ルール事例1〜4を適用したのでは、表ではないと判断されてしまう。つまり、図9(b)の例では、
余剰(横)線データ:H’(=H−C)={hi}(i=1〜3)
余剰(縦)線データ:V’(=V−C)={vj}(j=1〜4)
であり、余剰線が7本あるからである。
そこで、(ルール事例5)として、外周の余剰線の端点が揃っている場合は、判定用の個数に含めないようにしている。
(ルール事例6)余剰線の特徴とその余剰線と接続している閉領域が表を構成しているか否かを示す値によって学習した判別関数を用いる。
事前学習結果による判定法を示したものである。例えば、以下のように行う。
(1)準備段階(データの収集)
・従来手法を用いて表領域検出を実施しておく。
・担当者によって検出エリアの画像を確認して、表であるか否かを手作業にて分類する。例えば、正否の2クラスだけでなく、表らしくない(1)〜必ず表である(5)のような多段階でもよい。
・一方で、検出エリアの画像から、余剰線検出モジュール140と同等の処理によって、余剰線のデータを抽出しておく。
(2)学習段階
・余剰線のデータから予め定められた特徴抽出を行い、特徴ベクトルを算出する。特徴抽出として、例えば、余剰線の方向、長さ、閉領域のサイズとの比率等がある。
・その特徴ベクトルと表の正否ラベルを対応させて、判別関数のパラメータを学習させる。
(3)実行段階
・検出した表候補の余剰線データから特徴ベクトルを算出し、判別関数にて表であることの度合いを算出(例えば、表であるか否かを判定)する。
なお、(ルール事例5)と(ルール事例6)を組み合わせる場合は、判別関数に端部座標の法線軸成分の距離関数を補正項として追加しておけばよい。
事前学習結果による判定法を示したものである。例えば、以下のように行う。
(1)準備段階(データの収集)
・従来手法を用いて表領域検出を実施しておく。
・担当者によって検出エリアの画像を確認して、表であるか否かを手作業にて分類する。例えば、正否の2クラスだけでなく、表らしくない(1)〜必ず表である(5)のような多段階でもよい。
・一方で、検出エリアの画像から、余剰線検出モジュール140と同等の処理によって、余剰線のデータを抽出しておく。
(2)学習段階
・余剰線のデータから予め定められた特徴抽出を行い、特徴ベクトルを算出する。特徴抽出として、例えば、余剰線の方向、長さ、閉領域のサイズとの比率等がある。
・その特徴ベクトルと表の正否ラベルを対応させて、判別関数のパラメータを学習させる。
(3)実行段階
・検出した表候補の余剰線データから特徴ベクトルを算出し、判別関数にて表であることの度合いを算出(例えば、表であるか否かを判定)する。
なお、(ルール事例5)と(ルール事例6)を組み合わせる場合は、判別関数に端部座標の法線軸成分の距離関数を補正項として追加しておけばよい。
また、複数の閉領域が余剰線を介して連結している場合は分割して独立に判断するようにしてもよい。
図10は、第1の実施の形態による処理例を示す説明図である。余剰線1020は2つの閉領域(対象1010と対象1050)間を連結している要素である。
このような連結余剰線が存在する場合は、対象1010と対象1050の閉領域集合で分けて判別する(特に余剰線1020は削除することが好ましい)。
結果的に、対象1050内の閉領域部分は表、対象1010内の表領域部分は非表として判定されやすくなる。
本事例は、図面での部品データに対する矢印線付き補足表(対象1050内の閉領域部分)等に有効である。
図10は、第1の実施の形態による処理例を示す説明図である。余剰線1020は2つの閉領域(対象1010と対象1050)間を連結している要素である。
このような連結余剰線が存在する場合は、対象1010と対象1050の閉領域集合で分けて判別する(特に余剰線1020は削除することが好ましい)。
結果的に、対象1050内の閉領域部分は表、対象1010内の表領域部分は非表として判定されやすくなる。
本事例は、図面での部品データに対する矢印線付き補足表(対象1050内の閉領域部分)等に有効である。
ステップS212では、表尤度判断モジュール150は、算出した度合いを出力する。
<第2の実施の形態>
図11は、第2の実施の形態の構成例についての概念的なモジュール構成図を示している。第2の実施の形態では、余剰線で構成されている閉領域を検出して、その閉領域を構成している余剰線は除外して、表尤度判断モジュール150による処理を行うようにしたものである。
なお、前述の実施の形態と同種の部位には同一符号を付し重複した説明を省略する(以下、同様)。
画像処理装置1100は、データ読込モジュール110、線分検出モジュール120、閉領域検出モジュール130、余剰線検出モジュール140、余剰閉領域検出モジュール1145、表尤度判断モジュール150を有している。
余剰線検出モジュール140は、線分検出モジュール120、閉領域検出モジュール130、余剰閉領域検出モジュール1145と接続されている。
表尤度判断モジュール150は、閉領域検出モジュール130、余剰閉領域検出モジュール1145と接続されている。
余剰閉領域検出モジュール1145は、余剰線検出モジュール140、表尤度判断モジュール150と接続されている。余剰閉領域検出モジュール1145は、閉領域検出モジュール130によって検出された閉領域以外の閉領域(対象としている閉領域以外の閉領域)を第2の線分が構成している場合は、その第2の線分を表尤度判断モジュール150が扱う第2の線分から除外する。具体的には、余剰閉領域検出モジュール1145は、余剰線(斜線等も含む)から構成できる閉領域が存在する場合は、その余剰線を取り除いてから表尤度判断モジュール150の処理へ余剰線を与える。
図11は、第2の実施の形態の構成例についての概念的なモジュール構成図を示している。第2の実施の形態では、余剰線で構成されている閉領域を検出して、その閉領域を構成している余剰線は除外して、表尤度判断モジュール150による処理を行うようにしたものである。
なお、前述の実施の形態と同種の部位には同一符号を付し重複した説明を省略する(以下、同様)。
画像処理装置1100は、データ読込モジュール110、線分検出モジュール120、閉領域検出モジュール130、余剰線検出モジュール140、余剰閉領域検出モジュール1145、表尤度判断モジュール150を有している。
余剰線検出モジュール140は、線分検出モジュール120、閉領域検出モジュール130、余剰閉領域検出モジュール1145と接続されている。
表尤度判断モジュール150は、閉領域検出モジュール130、余剰閉領域検出モジュール1145と接続されている。
余剰閉領域検出モジュール1145は、余剰線検出モジュール140、表尤度判断モジュール150と接続されている。余剰閉領域検出モジュール1145は、閉領域検出モジュール130によって検出された閉領域以外の閉領域(対象としている閉領域以外の閉領域)を第2の線分が構成している場合は、その第2の線分を表尤度判断モジュール150が扱う第2の線分から除外する。具体的には、余剰閉領域検出モジュール1145は、余剰線(斜線等も含む)から構成できる閉領域が存在する場合は、その余剰線を取り除いてから表尤度判断モジュール150の処理へ余剰線を与える。
図12は、第2の実施の形態による処理例を示すフローチャートである。
ステップS1202では、データ読込モジュール110は、対象とするデータを読み込む。
ステップS1204では、線分検出モジュール120は、読み込んだデータ内から線分情報を検出する。
ステップS1206では、閉領域検出モジュール130は、矩形領域を構成する線分の組み合わせを検出する。
ステップS1208では、余剰線検出モジュール140は、余剰線を検出する。
ステップS1202では、データ読込モジュール110は、対象とするデータを読み込む。
ステップS1204では、線分検出モジュール120は、読み込んだデータ内から線分情報を検出する。
ステップS1206では、閉領域検出モジュール130は、矩形領域を構成する線分の組み合わせを検出する。
ステップS1208では、余剰線検出モジュール140は、余剰線を検出する。
ステップS1210では、余剰閉領域検出モジュール1145は、余剰線を構成要素とする閉領域が存在する場合は、その余剰線を除去する。
図13は、第2の実施の形態(余剰閉領域検出モジュール1145)による処理例を示す説明図である。図13(a)の例に示す画像を対象とする。
図13(b)に示す例は、
余剰(横)線データ:H’={hi}(i=1〜2)
余剰(縦)線データ:V’=φ
であり、余剰線が2本(余剰(横)線1310、1312)であることを示している。
図13(c)に示す例は、閉領域に接続する斜線(斜線1332、1334、1336、1338)として、
斜線データ:T={tk}(k=1〜4)
があることを示している。なお、ここで、「閉領域に接続する斜線」として、「閉領域に直接接続する斜線」と「閉領域に間接的に接続する斜線」の両方を含む。なお、「閉領域に間接的に接続する斜線」は、「閉領域に直接接続する斜線」と接続する斜線、さらに、その斜線に接続する斜線を含むようにしてもよい。
ここで、(h1(余剰(横)線1310),t1(斜線1332),t2(斜線1334))、(h2(余剰(横)線1312),t3(斜線1336),t4(斜線1338))の組み合わせで三角形の閉領域ができるので、これらを除去する。その結果、図13(d)の例に示すように、2行3列の表部分が有効となる。なお、この場合、
余剰(横)線データ:H’=φ
余剰(縦)線データ:V’=φ
となる。また、斜線については、図13(e)の例の場合、
斜線データ:T=φ
となる。
図13は、第2の実施の形態(余剰閉領域検出モジュール1145)による処理例を示す説明図である。図13(a)の例に示す画像を対象とする。
図13(b)に示す例は、
余剰(横)線データ:H’={hi}(i=1〜2)
余剰(縦)線データ:V’=φ
であり、余剰線が2本(余剰(横)線1310、1312)であることを示している。
図13(c)に示す例は、閉領域に接続する斜線(斜線1332、1334、1336、1338)として、
斜線データ:T={tk}(k=1〜4)
があることを示している。なお、ここで、「閉領域に接続する斜線」として、「閉領域に直接接続する斜線」と「閉領域に間接的に接続する斜線」の両方を含む。なお、「閉領域に間接的に接続する斜線」は、「閉領域に直接接続する斜線」と接続する斜線、さらに、その斜線に接続する斜線を含むようにしてもよい。
ここで、(h1(余剰(横)線1310),t1(斜線1332),t2(斜線1334))、(h2(余剰(横)線1312),t3(斜線1336),t4(斜線1338))の組み合わせで三角形の閉領域ができるので、これらを除去する。その結果、図13(d)の例に示すように、2行3列の表部分が有効となる。なお、この場合、
余剰(横)線データ:H’=φ
余剰(縦)線データ:V’=φ
となる。また、斜線については、図13(e)の例の場合、
斜線データ:T=φ
となる。
ステップS1212では、表尤度判断モジュール150は、表らしさを示す度合いを算出する。
ステップS1214では、表尤度判断モジュール150は、算出した度合いを出力する。
ステップS1214では、表尤度判断モジュール150は、算出した度合いを出力する。
<第3の実施の形態>
図14は、第3の実施の形態の構成例についての概念的なモジュール構成図を示している。第3の実施の形態では、余剰線で構成されている閉領域を検出して、その閉領域を構成している余剰線は除外して、表尤度判断モジュール150による処理を行うようにしたものである。
画像処理装置1400は、データ読込モジュール110、線分検出モジュール120、閉領域検出モジュール130、余剰線検出モジュール140、不適閉領域除去モジュール1445、表尤度判断モジュール150を有している。
図14は、第3の実施の形態の構成例についての概念的なモジュール構成図を示している。第3の実施の形態では、余剰線で構成されている閉領域を検出して、その閉領域を構成している余剰線は除外して、表尤度判断モジュール150による処理を行うようにしたものである。
画像処理装置1400は、データ読込モジュール110、線分検出モジュール120、閉領域検出モジュール130、余剰線検出モジュール140、不適閉領域除去モジュール1445、表尤度判断モジュール150を有している。
閉領域検出モジュール130は、線分検出モジュール120、余剰線検出モジュール140、不適閉領域除去モジュール1445と接続されている。
余剰線検出モジュール140は、線分検出モジュール120、閉領域検出モジュール130、不適閉領域除去モジュール1445と接続されている。
表尤度判断モジュール150は、不適閉領域除去モジュール1445と接続されている。
不適閉領域除去モジュール1445は、閉領域検出モジュール130、余剰線検出モジュール140、表尤度判断モジュール150と接続されている。不適閉領域除去モジュール1445は、閉領域の大きさが予め定められた第6の閾値未満又は以下である場合は、その閉領域を構成する第1の線分と接続している第2の線分を表尤度判断モジュール150が扱う第2の線分から除外する。
余剰線検出モジュール140は、線分検出モジュール120、閉領域検出モジュール130、不適閉領域除去モジュール1445と接続されている。
表尤度判断モジュール150は、不適閉領域除去モジュール1445と接続されている。
不適閉領域除去モジュール1445は、閉領域検出モジュール130、余剰線検出モジュール140、表尤度判断モジュール150と接続されている。不適閉領域除去モジュール1445は、閉領域の大きさが予め定められた第6の閾値未満又は以下である場合は、その閉領域を構成する第1の線分と接続している第2の線分を表尤度判断モジュール150が扱う第2の線分から除外する。
図15は、第3の実施の形態による処理例を示すフローチャートである。
ステップS1502では、データ読込モジュール110は、対象とするデータを読み込む。
ステップS1504では、線分検出モジュール120は、読み込んだデータ内から線分情報を検出する。
ステップS1506では、閉領域検出モジュール130は、矩形領域を構成する線分の組み合わせを検出する。
ステップS1508では、余剰線検出モジュール140は、余剰線を検出する。
ステップS1502では、データ読込モジュール110は、対象とするデータを読み込む。
ステップS1504では、線分検出モジュール120は、読み込んだデータ内から線分情報を検出する。
ステップS1506では、閉領域検出モジュール130は、矩形領域を構成する線分の組み合わせを検出する。
ステップS1508では、余剰線検出モジュール140は、余剰線を検出する。
ステップS1510では、不適閉領域除去モジュール1445は、表を構成し得ない閉領域を除去する。
ステップS1512では、不適閉領域除去モジュール1445は、除去した閉領域がある場合は、その除去した閉領域を構成する線分を余剰線として構成し直す。閉領域のサイズに基づいて、その閉領域を構成する線分の組み合わせを破棄するものである。
図16は、第3の実施の形態による処理例を示す説明図である。図16(a)に示した例の場合、図16(b)の例に示すように、下側についた2か所の閉領域1620、1630は、予め定められた最小文字サイズ(例えば、6ポイント文字等)が記載できないサイズである。小さい閉領域は棄却して、余剰線として差し戻す。
この例の場合は、図16(d)の例に示すように、閉領域は1つ(閉領域1610)になるため、表としてのセル数不足により表らしさが低減する。つまり、セル数が予め定められた閾値未満又は以下である場合は、表ではないと判断するようにしてもよい。
第3の実施の形態による処理が行われない場合、図16(c)のように、余剰線(図16(c)では実線)は、余剰線1640c、余剰線1642c、余剰線1644c、余剰線1648cであり、矩形(図16(c)では点線)は3つあることになる。第3の実施の形態による処理を行った場合、図16(e)のように、余剰線(図16(e)では実線)は、余剰線1640e、余剰線1642e、余剰線1644e、余剰線1648eであり、矩形(図16(e)では点線)は1つとなる。なお、余剰線1640eは、余剰線1640cと余剰線1660(閉領域1620を構成した線分)を接線したものである。余剰線1642eは、余剰線1642cと余剰線1662(閉領域1620を構成した線分)を接線したものである。余剰線1644eは、余剰線1644cと余剰線1664(閉領域1630を構成した線分)を接線したものである。余剰線1648eは、余剰線1648cと余剰線1670(閉領域1630を構成した線分)と余剰線1668(閉領域1620を構成した線分)を接線したものであり、図16(c)の例に示す余剰線よりも長いものとなる。
ステップS1512では、不適閉領域除去モジュール1445は、除去した閉領域がある場合は、その除去した閉領域を構成する線分を余剰線として構成し直す。閉領域のサイズに基づいて、その閉領域を構成する線分の組み合わせを破棄するものである。
図16は、第3の実施の形態による処理例を示す説明図である。図16(a)に示した例の場合、図16(b)の例に示すように、下側についた2か所の閉領域1620、1630は、予め定められた最小文字サイズ(例えば、6ポイント文字等)が記載できないサイズである。小さい閉領域は棄却して、余剰線として差し戻す。
この例の場合は、図16(d)の例に示すように、閉領域は1つ(閉領域1610)になるため、表としてのセル数不足により表らしさが低減する。つまり、セル数が予め定められた閾値未満又は以下である場合は、表ではないと判断するようにしてもよい。
第3の実施の形態による処理が行われない場合、図16(c)のように、余剰線(図16(c)では実線)は、余剰線1640c、余剰線1642c、余剰線1644c、余剰線1648cであり、矩形(図16(c)では点線)は3つあることになる。第3の実施の形態による処理を行った場合、図16(e)のように、余剰線(図16(e)では実線)は、余剰線1640e、余剰線1642e、余剰線1644e、余剰線1648eであり、矩形(図16(e)では点線)は1つとなる。なお、余剰線1640eは、余剰線1640cと余剰線1660(閉領域1620を構成した線分)を接線したものである。余剰線1642eは、余剰線1642cと余剰線1662(閉領域1620を構成した線分)を接線したものである。余剰線1644eは、余剰線1644cと余剰線1664(閉領域1630を構成した線分)を接線したものである。余剰線1648eは、余剰線1648cと余剰線1670(閉領域1630を構成した線分)と余剰線1668(閉領域1620を構成した線分)を接線したものであり、図16(c)の例に示す余剰線よりも長いものとなる。
ステップS1514では、表尤度判断モジュール150は、表らしさを示す度合いを算出する。
ステップS1516では、表尤度判断モジュール150は、算出した度合いを出力する。
ステップS1516では、表尤度判断モジュール150は、算出した度合いを出力する。
図17を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図17に示す構成は、例えばパーソナルコンピュータ(PC)等によって構成されるものであり、スキャナ等のデータ読み取り部1717と、プリンタ等のデータ出力部1718を備えたハードウェア構成例を示している。
CPU(Central Processing Unit)1701は、前述の実施の形態において説明した各種のモジュール、すなわち、データ読込モジュール110、線分検出モジュール120、閉領域検出モジュール130、余剰線検出モジュール140、表尤度判断モジュール150、余剰閉領域検出モジュール1145、不適閉領域除去モジュール1445等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
ROM(Read Only Memory)1702は、CPU1701が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1703は、CPU1701の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバス等から構成されるホストバス1704により相互に接続されている。
ホストバス1704は、ブリッジ1705を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス1706に接続されている。
キーボード1708、マウス等のポインティングデバイス1709は、操作者により操作される入力デバイスである。ディスプレイ1710は、液晶表示装置又はCRT(Cathode Ray Tube)等があり、各種情報をテキストやイメージ情報として表示する。
HDD(Hard Disk Drive)1711は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1701によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、画像、線分情報、第1の線分情報、第2の線分情報、閉領域情報等が格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
ドライブ1712は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1713に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1707、外部バス1706、ブリッジ1705、及びホストバス1704を介して接続されているRAM1703に供給する。リムーバブル記録媒体1713も、ハードディスクと同様のデータ記録領域として利用可能である。
接続ポート1714は、外部接続機器1715を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1714は、インタフェース1707、及び外部バス1706、ブリッジ1705、ホストバス1704等を介してCPU1701等に接続されている。通信部1716は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部1717は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1718は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
なお、図17に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図17に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図17に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)等に組み込まれていてもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
100…画像処理装置
110…データ読込モジュール
120…線分検出モジュール
130…閉領域検出モジュール
140…余剰線検出モジュール
150…表尤度判断モジュール
1100…画像処理装置
1145…余剰閉領域検出モジュール
1400…画像処理装置
1445…不適閉領域除去モジュール
110…データ読込モジュール
120…線分検出モジュール
130…閉領域検出モジュール
140…余剰線検出モジュール
150…表尤度判断モジュール
1100…画像処理装置
1145…余剰閉領域検出モジュール
1400…画像処理装置
1445…不適閉領域除去モジュール
Claims (5)
- 画像から線分を検出する第1の検出手段と、
前記第1の検出手段によって検出された線分から、矩形である閉領域を構成する第1の線分を検出する第2の検出手段と、
前記第1の検出手段によって検出された線分から、前記閉領域を構成しない線分であって該閉領域と接触している第2の線分を検出する第3の検出手段と、
前記第1の線分と前記第2の線分の属性と閾値とを比較して表に関する情報を出力する出力手段
を具備することを特徴とする画像処理装置。 - 前記出力手段は、前記情報を出力するための条件を定めた規則として、
(規則1)前記第2の線分を方向で分類し、各方向における該第2の線分の数が予め定められた第1の閾値未満又は以下である方向の数を計数し、該数が予め定められた第2の閾値未満又は以下である場合は、前記第1の線分によって表が構成されていると判断すること
(規則2)前記(規則1)において、前記第2の線分の長さが、前記閉領域のサイズに対する予め定められた第3の閾値の割合より長いこと又は以上であるものを対象とすること
(規則3)前記第2の線分の数が第4の閾値未満又は以下である場合は、前記第1の線分によって表が構成されていると判断すること
(規則4)前記(規則3)において、前記第2の線分の長さが、前記閉領域のサイズに対する予め定められた第5の閾値の割合より長いこと又は以上であるものを対象とすること
(規則5)前記第2の線分を方向で分類し、各方向における該第2の線分の長さ又は端点の位置が予め定められた範囲内にある場合は、前記第1の線分によって表が構成されていると判断すること
(規則6)前記第2の線分の特徴と該第2の線分と接続している閉領域が表を構成しているか否かを示す値によって学習した判別関数を用いること
のいずれかを用いることを特徴とする請求項1に記載の画像処理装置。 - 前記閉領域以外の閉領域を前記第2の線分が構成している場合は、該第2の線分を前記出力手段が扱う第2の線分から除外する除外手段
をさらに具備することを特徴とする請求項1又は2に記載の画像処理装置。 - 前記閉領域の大きさが予め定められた第6の閾値未満又は以下である場合は、該閉領域を構成する第1の線分と接続している第2の線分を前記出力手段が扱う第2の線分から除外する第2の除外手段
をさらに具備することを特徴とする請求項1から3のいずれか一項に記載の画像処理装置。 - コンピュータを、
画像から線分を検出する第1の検出手段と、
前記第1の検出手段によって検出された線分から、矩形である閉領域を構成する第1の線分を検出する第2の検出手段と、
前記第1の検出手段によって検出された線分から、前記閉領域を構成しない線分であって該閉領域と接触している第2の線分を検出する第3の検出手段と、
前記第1の線分と前記第2の線分の属性と閾値とを比較して表に関する情報を出力する出力手段
として機能させるための画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014178981A JP2016053797A (ja) | 2014-09-03 | 2014-09-03 | 画像処理装置及び画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014178981A JP2016053797A (ja) | 2014-09-03 | 2014-09-03 | 画像処理装置及び画像処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016053797A true JP2016053797A (ja) | 2016-04-14 |
Family
ID=55744964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014178981A Pending JP2016053797A (ja) | 2014-09-03 | 2014-09-03 | 画像処理装置及び画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016053797A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7328467B1 (ja) * | 2023-05-29 | 2023-08-16 | 錦鋒 李 | 情報処理装置、情報処理方法及び情報処理プログラム |
-
2014
- 2014-09-03 JP JP2014178981A patent/JP2016053797A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7328467B1 (ja) * | 2023-05-29 | 2023-08-16 | 錦鋒 李 | 情報処理装置、情報処理方法及び情報処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002133426A (ja) | 多値画像から罫線を抽出する罫線抽出装置 | |
JP2007304864A (ja) | 文字認識処理システムおよび文字認識処理プログラム | |
US20210192262A1 (en) | Apparatus for processing image, storage medium, and image processing method | |
WO2000062243A1 (fr) | Procede et dispositif d'extraction de chaines de caracteres utilisant un composant de base d'une image de document | |
JP5601027B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP5365440B2 (ja) | 画像処理装置及び画像処理プログラム | |
KR101336901B1 (ko) | 화상 처리 장치, 화상 처리 방법 및 기록 매체 | |
JP2016053797A (ja) | 画像処理装置及び画像処理プログラム | |
JP5640645B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP5489894B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP6007720B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP6201779B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP5821648B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP6547301B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP2017010187A (ja) | 画像処理装置及び画像処理プログラム | |
Dey et al. | A comparative study of margin noise removal algorithms on marnr: A margin noise dataset of document images | |
JP6003375B2 (ja) | 画像処理装置及び画像処理プログラム | |
JPH11191135A (ja) | 文書画像の日本語英語判定方法、文書認識方法および記録媒体 | |
JP4882929B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP5039449B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP6241311B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP6409423B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP4930288B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP5935324B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP6281309B2 (ja) | 画像処理装置及び画像処理プログラム |