(57)【特許請求の範囲】
【請求項１】
画像中に存在する有意な画素の連結画素群を複数特定する連結画素特定手段と、
前記連結画素特定手段により特定された複数の連結画素群のうち、そのサイズが所定条件を満足する連結画素群を複数抽出する抽出手段と、
前記抽出手段により抽出された複数の連結画素群のうちの１つを、前記抽出手段により抽出された複数の連結画素群のうちの少なくとも１つが要素となる点破線要素群、の要素に設定する設定手段と、
前記点破線要素群の要素の少なくとも１つからの距離に基づいて、前記抽出手段により抽出された複数の連結画素群のうちの前記点破線要素群の要素でない連結画素群の中から前記点破線要素群の要素候補を探索する探索手段と、
前記探索手段により探索された要素候補の外接矩形を拡張した領域の範囲である当該要素候補の探索範囲と、前記点破線要素群を囲む矩形形状の領域の範囲である前記点破線要素群の探索範囲と、に外接する矩形形状の領域である外接領域の、水平方向と垂直方向とのうちのいずれか一方である探索方向と直交する方向の幅、が予め定められた閾値以下であるか否かを判定する判定手段と、
前記外接領域の前記幅が前記閾値以下であると判定される場合に、前記探索手段により探索された要素候補を前記点破線要素群の要素に追加するとともに、前記点破線要素群の探索範囲を前記外接領域の範囲に更新する追加手段と、
前記点破線要素群の要素を少なくとも一部とする罫線を検出する検出手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
前記検出手段は、前記探索手段による探索と、前記追加手段による追加を繰り返し実行した後の、前記点破線要素群の要素からなる罫線を検出する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記探索手段は、前記抽出手段により抽出された複数の連結画素群のうちの前記点破線要素群の要素でない連結画素群の中から、その探索範囲が前記点破線要素群の探索範囲と抵触するものを探索する、
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記連結画素群を囲む矩形領域を、当該連結画素群のサイズに応じて決定し、
前記点破線要素群を囲む矩形領域を、当該点破線要素群の要素のサイズに応じて決定する、
ことを特徴とする請求項１乃至３のいずれかに記載の画像処理装置。
【請求項５】
前記検出手段は、前記点破線要素群の要素数が所定数以上である場合に、前記点破線要素群の要素を少なくとも一部とする罫線を検出する、
ことを特徴とする請求項１乃至４のいずれかに記載の画像処理装置。
【請求項６】
前記探索方向を水平方向及び垂直方向に設定した場合に、各方向について前記検出手段が検出した罫線を少なくとも一部に含む表を検出する表検出手段、
をさらに含むことを特徴とする請求項１乃至５のいずれかに記載の画像処理装置。
【請求項７】
画像中に存在する有意な画素の連結画素群を複数特定する連結画素特定手段、
前記連結画素特定手段により特定された複数の連結画素群のうち、そのサイズが所定条件を満足する連結画素群を複数抽出する抽出手段、
前記抽出手段により抽出された複数の連結画素群のうちの１つを、前記抽出手段により抽出された複数の連結が素群のうちの少なくとも１つが要素となる点破線要素群、の要素に設定する設定手段、
前記点破線要素群の要素の少なくとも１つからの距離に基づいて、前記抽出手段により抽出された複数の連結画素群のうちの前記点破線要素群の要素でない連結画素群の中から前記点破線要素群の要素候補を探索する探索手段、
前記探索手段により探索された要素候補の外接矩形を拡張した領域の範囲である当該要素候補の探索範囲と、前記点破線要素群を囲む矩形形状の領域の範囲である前記点破線要素群の探索範囲と、に外接する矩形形状の領域である外接領域の、水平方向と垂直方向とのうちのいずれか一方である探索方向と直交する方向の幅、が予め定められた閾値以下であるか否かを判定する判定手段、
前記外接領域の前記幅が前記閾値以下であると判定される場合に、前記探索手段により探索された要素候補を前記点破線要素群の要素に追加するとともに、前記点破線要素群の探索範囲を前記外接領域の範囲に更新する追加手段、
前記点破線要素群の要素を少なくとも一部とする罫線を検出する検出手段、
としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
画像を解析して、画像中の点線・破線・鎖線等（以下、点破線と呼ぶ）を罫線として検出する技術が知られている。例えば、下記特許文献１に、かかる技術が開示されている。
【０００３】
すなわち、特許文献１の技術では、点破線の要素となり得る各要素候補が特定され、各要素候補を含む候補領域が設定される。そして、注目候補領域に、当該注目候補領域から所定距離以内にある他の候補領域が繰り返し併合される。そして、最終的にできあがった注目候補領域のサイズから、注目候補領域が点破線であるか否かが判定される。
【特許文献１】特許第３６６６９０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１の技術では、単に他の候補領域が注目候補領域から近ければ、点破線の延伸方向とは無関係に、他の候補領域が注目候補領域に併合される。そのため、最終的にできあがった注目候補領域が点破線の周辺に位置する点等も含んでしまい、注目候補領域が点破線であると判定されなかったり、仮に点破線であると判定されたとしても点破線の検出に正確さを欠く結果となったりするという問題がある。
【０００５】
本発明は、上記課題を鑑みてなされたものであって、点破線を含む罫線の検出精度を向上させることができる画像処理装置及びプログラムの提供を、その目的の一つとする。
【課題を解決するための手段】
【０００６】
請求項１の発明は、画像中に存在する有意な画素の連結画素群を複数特定する連結画素特定手段と、前記連結画素特定手段により特定された複数の連結画素群のうち、そのサイズが所定条件を満足する連結画素群を抽出する抽出手段と、前記抽出手段により抽出された連結画素群の１つを点破線要素群の要素に設定する設定手段と、前記点破線要素群の要素の少なくとも１つからの距離に基づいて、前記連結画素群の中から前記点破線要素群の要素候補を探索する探索手段と、前記探索手段により探索された要素候補のうち、前記点破線要素群の要素の各々との所定の探索方向と直交する方向の位置の差、に関する選択条件を満足する要素候補を選択し、前記点破線要素群の要素に追加する追加手段と、前記点破線要素群の要素を少なくとも一部とする罫線を検出する検出手段と、を含むことを特徴とする画像処理装置である。
【０００７】
ここで、有意画素とは、前景の画素である。従って、白い背景に黒い前景を有する画像であれば、有意画像とは黒い画素を指すこととなる。
【０００８】
請求項２の発明は、請求項１の発明において、前記検出手段は、前記探索手段による探索と、前記追加手段による追加を繰り返し実行した後の、前記点破線要素群の要素からなる罫線を検出することを特徴とする。
【０００９】
請求項３の発明は、請求項１又は２の発明において、前記探索手段は、前記連結画素群の中から、当該連結画素群を囲む矩形領域が前記点破線要素群を囲む矩形領域と抵触するものを探索することを特徴とする。
【００１０】
請求項４の発明は、請求項１乃至３のいずれかの発明において、前記連結画素群を囲む矩形領域を、当該連結画素群のサイズに応じて決定し、前記点破線要素群を囲む矩形領域を、当該点破線要素群の要素のサイズに応じて決定する、ことを特徴とする。
【００１１】
請求項５の発明は、請求項１乃至４のいずれかの発明において、前記選択条件は、前記要素候補と、前記点破線要素群の要素の各々と、の前記探索方向と直交する方向の位置の差がすべて所定閾値以下であること、を特徴とする。
【００１２】
請求項６の発明は、請求項１乃至５のいずれかの発明において、前記検出手段は、前記点破線要素群の要素数が所定数以上である場合に、前記点破線要素群の要素を少なくとも一部とする罫線を検出することを特徴とする。
【００１３】
請求項７の発明は、請求項１乃至６のいずれかの発明において、前記探索方向は、水平方向又は垂直方向であることを特徴とする。
【００１４】
請求項８の発明は、請求項１乃至７のいずれかの発明において、前記探索方向を水平方向及び垂直方向に設定した場合に、各方向について前記検出手段が検出した罫線を少なくとも一部に含む表を検出する表検出手段、をさらに含むことを特徴とする。
【００１５】
請求項９の発明は、画像中に存在する有意な画素の連結画素群を複数特定する連結画素特定手段、前記連結画素特定手段により特定された複数の連結画素群のうち、そのサイズが所定条件を満足する連結画素群を抽出する抽出手段、前記抽出手段により抽出された連結画素群の１つを点破線要素群の要素に設定する設定手段、前記点破線要素群の要素の少なくとも１つからの距離に基づいて、前記連結画素群の中から前記点破線要素群の要素候補を探索する探索手段、前記探索手段により探索された要素候補のうち、前記点破線要素群の要素の各々との所定の探索方向と直交する方向の位置の差、に関する選択条件を満足する要素候補を選択し、前記点破線要素群の要素に追加する追加手段、前記点破線要素群の要素を少なくとも一部とする罫線を検出する検出手段、としてコンピュータを機能させるプログラムである。
【発明の効果】
【００１６】
請求項１，９の発明によれば、点破線を含む罫線の検出精度を向上させることができる。
【００１７】
請求項２の発明によれば、罫線の長さによらず、点破線を含む罫線を正確に検出することができる。
【００１８】
請求項３の発明によれば、簡単な処理で、点破線要素群の要素候補を選択することができる。
【００１９】
請求項４の発明によれば、点破線の種類によらず、点破線を含む罫線を正確に検出することができる。
【００２０】
請求項５の発明によれば、簡単な数値指標を用いて、点破線を含む罫線を正確に検出することができる。
【００２１】
請求項６の発明によれば、本構成を有しない場合と比較して、点破線を含む罫線をより正確に検出することができる。
【００２２】
請求項７の発明によれば、例えば、点破線を含む罫線で構成される表の罫線が検出しやすくなる。
【００２３】
請求項８の発明によれば、点破線を含む罫線で構成される表の罫線を検出することができる。
【発明を実施するための最良の形態】
【００２４】
本発明の実施形態について図面を参照しながら説明する。図１は、本発明の実施形態に係る画像処理装置２のハードウェア構成図の一例である。同図に示すように、画像処理装置２は、中央処理部４０と、主記憶部４２と、補助記憶部４４と、画像読取部４６と、操作部４８と、ディスプレイ５０を含む。各部は、データバス５４を介して、相互に通信可能である。なお、画像処理装置２は、図示しないネットワークインターフェイスやプリンタ等も含む。
【００２５】
中央処理部４０は、ＣＰＵやＭＰＵ等である。中央処理部４０は、主記憶部４２に予め格納されているプログラムに従って動作し、各部を制御する。また、中央処理部４０は、主記憶部４２に格納される情報を用いて演算し、主記憶部４２に出力する。なお、上記プログラムは、主記憶部４２に格納されるものに限らず、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の情報記憶媒体に格納されるものであってもよいし、ネットワークから供給されるものであってもよい。
【００２６】
主記憶部４２は、ＲＡＭやＲＯＭ等のメモリ素子である。主記憶部４２は、上記プログラムを格納する。また、主記憶部４２は、各部から入力される情報を格納する。
【００２７】
補助記憶部４４は、ハードディスク等である。補助記憶部４４は、中央処理部４０からの制御信号に従い、主記憶部４２に格納される情報を記憶する。ここでは、補助記憶部４４には、画像取得部４６によって読み取られた文書の画像（文書画像）が記憶されている。
【００２８】
画像読取部４６は、スキャナである。画像読取部４６は、中央処理部４０からの制御信号に従って、文書を読み取り、読み取った文書画像を主記憶部４２に出力する。
【００２９】
操作部４８は、キーボードやマウス等である。操作部４８は、操作情報を主記憶部４２に出力する。ディスプレイ５０は、中央処理部４０からの制御信号に従い、主記憶部４２に格納される情報を表示する。
【００３０】
図２は、中央処理部４０が上記プログラムに従って動作することにより、画像処理装置２にて実現される機能のブロック図である。ここでは、本発明に関連する機能を中心として示す。同図に示すように、画像処理装置２は、文書画像記憶部６０と、連結画素群特定部６２と、抽出部６４と、データベース６６と、探索範囲設定部６８と、探索部７０と、統合部７２と、検出部７４と、を含む。
【００３１】
文書画像記憶部６０は、補助記憶部４４を中心として実現される。文書画像記憶部６０は、画像読取部４６が読み取った文書画像を記憶する。
【００３２】
連結画素群特定部６２は、中央処理部４０と中心として実現される。連結画素群特定部６２は、文書画像記憶部６０から文書画像を読み出し、当該文書画像中に存在する有意画素の連結画素群を複数特定する。本実施形態では、連結画素群特定部６２は、文書画像にラベリング処理を行い、前景画素の連結画素群を複数特定する。なお、文書画像が多値画像である場合等を考慮し、文書画像の二値画像に対してラベリング処理を行って連結画素群を特定するようにしてもよい。
【００３３】
抽出部６４は、中央処理部４０を中心として実現される。抽出部６４は、連結画素群特定部６２により特定された複数の連結画素群のうち、そのサイズが所定条件を満足する連結画素群を抽出する。
【００３４】
本実施形態では、抽出部６４は、連結画素群特定部６２により特定された連結画素群の各々について、その外接矩形の短辺長が所定値ＴＨ（例えば、５ピクセル）以下であるか否かを判断し、外接矩形の短辺長が所定値ＴＨ以下である連結画素群を抽出する。ここで、所定値ＴＨは、直線が有しうる線幅の最大値である。
【００３５】
さらに、抽出部６４は、抽出した連結画素群の各々の属性を決定する。具体的には、抽出部６４は、外接矩形の短辺長に対する長辺長の割合が所定値ＴＨ１（例えば、４．０）より大きい連結画素群の属性を、「線分属性」に決定する。また、抽出部６４は、外接矩形の短辺長に対する長辺長の割合が所定値ＴＨ２（例えば、１．５）より大きく所定値ＴＨ１以下である連結画素群の属性を、「破線属性」に決定する。また、抽出部６４は、外接矩形の短辺長に対する長辺長の割合が所定値ＴＨ２以下である連結画素群の属性を、「点線属性」に決定する。図３に、線分属性を有する連結画素群（図３（ａ））、点線属性を有する連結画素群を複数含む点線（図３（ｂ））、及び破線属性を有する連結画素群を複数含む破線（図３（ｃ））、の一例を示す。なお、鎖線は、点線属性を有する連結画素群と破線属性を有する連結画素群とを含む。
【００３６】
そして、抽出部６４は、抽出した連結画素群ごとに、一意の識別ＩＤと、外接矩形の範囲情報（頂点の座標など）と、属性と、統合フラグの初期値「０」と、を関連付けてデータベース６６に記憶する。
【００３７】
探索範囲設定部６８は、中央処理部４０を中心として実現される。探索範囲設定部６８は、抽出部６４によって抽出された連結画素群ごとに、他の連結画素群を探索するための探索範囲を設定し、設定した探索範囲の範囲情報（頂点の座標など）をデータベース６６に記憶する。ここでは、探索範囲設定部６８は、図４に示すように、連結画素群の外接矩形を所定倍拡張してできる矩形領域を、その連結画素群の探索範囲とする。なお、探索範囲設定部６８は、連結画素群の外接矩形を上下左右に所定値だけ拡張してできる矩形領域を、その連結画素群の探索範囲としてもよい。
【００３８】
データベース６６は、補助記憶部４４を中心として実現される。図５は、データベース６６の記憶内容の一例である。同図に示すように、データベース６６は、連結画素群ごとに、ＩＤと、外接矩形の範囲情報と、属性と、探索範囲と、統合フラグの値と、を関連付けて記憶する。
【００３９】
探索部７０は、中央処理部４０を中心として実現される。探索部７０は、データベース６６の記憶内容を参照し、注目している連結画素群（以下、注目連結画素群）、からの距離に基づいて、他の連結画素群を探索する。また、探索部７０は、注目連結画素群に少なくとも１つの連結画素群が関連付けられている場合、当該注目連結画素群及び当該少なくとも１つの連結画素群のうちの少なくとも１つの連結画素群からの距離に基づいて、他の連結画素群を探索する。本実施形態では、データベース６６を参照し、注目連結画素群の探索範囲とその探索範囲が抵触する他の連結画素群を探索する。
【００４０】
統合部７２は、中央処理部４０を中心として実現される。統合部７２は、探索部７０により探索された他の連結画素群のうち、注目連結画素群との垂直方向の位置の差が所定値ＴＨ以下となるものを選択し、注目連結画素群と関連付ける。また、統合部７２は、注目画素群に少なくとも１つの連結画素群が関連付けられている場合、探索部７０により探索された他の連結画素群のうち、当該注目連結画素群及び当該少なくとも１つの連結画素群の各々との垂直方向の位置の差がすべて所定値ＴＨ以下となるものを選択し、注目連結画素と関連付ける。本実施形態では、統合部７２は、注目連結画素群の探索範囲と、探索された他の連結画素群の探索範囲と、に外接する外接矩形の高さが所定値ＴＨｍａｘ以下となるか否かを判断し、当該外接矩形の高さが所定値ＴＨｍａｘ以下となる場合に、当該他の連結画素群のＩＤを注目連結画素群のＩＤに更新する。さらに、統合部７２は、注目連結画素群の探索範囲を、上記外接矩形の範囲に更新する。なお、ＴＨｍａｘは、例えば、外接矩形の短辺長がＴＨである連結画素群に設定される探索範囲の短辺長である。
【００４１】
検出部７４は、中央処理部４０を中心として実現される。検出部７４は、データベース６６の記憶内容を参照し、同一ＩＤが付された複数の連結画素群のグループを、罫線として検出する。
【００４２】
次に、上記の機能を有する画像処理装置２が、実行する処理の一例を、図６のフローチャートを参照しながら説明する。ここでは、以下の処理は、画像処理装置２が利用者による所定操作を受け付けた場合に実行される。
【００４３】
画像処理装置２は、連結画素要素特定手段６２の機能により、補助記憶部４４から読み出した文書画像にラベリング処理を行い、前景画素の連結画素群を複数特定する（Ｓ１０１）。
【００４４】
そして、画像処理装置２は、抽出部６４及び探索範囲設定部６８の機能により、外接矩形の短辺長が所定値ＴＨ以下である連結画素群を抽出し、抽出した各連結画素群に探索範囲を設定する（Ｓ１０２）。具体的には、画像処理装置２は、図７のフローチャートに示す処理を、Ｓ１０１のステップで特定した各連結画素群について実行する。
【００４５】
すなわち、画像処理装置２は、処理対象となる連結画素群（以下、対象連結画素群）の外接矩形の短辺長が所定値ＴＨ以下であるか否かを判断する（Ｓ２０１）。
【００４６】
対象連結画素群の外接矩形の短辺長が所定値ＴＨ以下である場合（Ｓ２０１のＹ）、画像処理装置２は、さらに、外接矩形の長辺長を短辺長で割った商が所定値ＴＨ１より大きいか否かを判断する（Ｓ２０２）。上記商が所定値ＴＨ１より大きい場合（Ｓ２０２のＹ）、対象連結画素群の属性を「線分属性」に決定する（Ｓ２０３）。
【００４７】
こうして、対象連結画素群の属性を「線分属性」に決定すると、画像処理装置２は、探索範囲設定部６８の機能により、探索範囲を設定する（Ｓ２０４）。そして、画像処理装置２は、対象連結画素群の情報、すなわち、対象連結画素群のＩＤと、外接矩形の範囲と、属性と、探索範囲と、統合フラグの初期値「０」と、をデータベース６６に登録する（Ｓ２０５）。ここでは、画像処理装置２は、外接矩形の短辺が縦辺であれば、対象連結画素群の属性として、「水平線分属性」をデータベース６６に記憶し、外接矩形の短辺が横辺であれば、対象連結画素群の属性をとして、「垂直線分属性」をデータベース６６に記憶する。
【００４８】
一方、上記商が所定値ＴＨ１以下である場合（Ｓ２０２のＮ）、画像処理装置２は、さらに、上記商が所定値ＴＨ１よりも小さい所定値ＴＨ２よりも大きいか否かを判断する（Ｓ２０６）。そして、上記商が所定値ＴＨ２以下である場合（Ｓ２０６のＮ）、画像処理装置２は、対象連結画素群の属性を「点線属性」に決定する（Ｓ２０７）。
【００４９】
Ｓ２０７のステップで対象連結画素群の属性を「点線属性」に決定した場合、画像処理装置２は、例えば文字の一部を構成する連結画素群を誤ってデータベース６６に登録することを防止すべく、一般的に点線を構成する連結画素群の画素密度は文字の一部を構成する連結画素群の画素密度よりも高いことに着目し、Ｓ２０８及びＳ２０９の処理を行う。なお、画素密度とは、外接矩形に対する連結画素群の割合である。
【００５０】
すなわち、画像処理装置２は、補助記憶部４４に予め記憶されている図８（ａ）のテーブルを参照し、外接矩形の短辺長について予め定められた画素密度閾値所定値ＴＨ３を特定する（Ｓ２０８）。そして、画像処理装置２は、画素密度を算出し、算出した画素密度が画素密度閾値ＴＨ３より大きいか否かを判断する（Ｓ２０９）。
【００５１】
そして、画像処理装置２は、画素密度がＴＨ３より大きいと判断した場合（Ｓ２０９のＹ）、探索範囲を設定し（Ｓ２０４）、対象連結画素群の情報をデータベース６６に登録する（Ｓ２０５）。
【００５２】
一方、画素密度がＴＨ３以下である場合（Ｓ２０９のＮ）、画像処理装置２は、対象連結画素群の情報をデータベース６６に登録せずに、処理を終了する。なお、図８（ａ）のテーブルの記憶内容を見てもわかるとおり、ＴＨ３の値は、短辺長の値が小さくなるに従って小さくなっている。これは、図９を見てもわかるように、画素密度に与えるノイズの影響が連結画素群のサイズが小さくなるほど大きいことを考慮したことに基づく。
【００５３】
また、Ｓ２０６のステップにおいて上記商が所定値ＴＨ２より大きい場合（Ｓ２０６のＹ）、画像処理装置２は、対象連結画素群の属性を「破線属性」に決定する（Ｓ２１０）。
【００５４】
そして、画像処理装置２は、補助記憶部４４に予め記憶されている図８（ｂ）のテーブルを参照して、外接矩形の短辺長について予め定められた画素密度閾値ＴＨ３を特定する（Ｓ２０８）。そして、画像処理装置２は、外接矩形に対する対象連結画素群の占有率（画素密度）を算出し、算出した画素密度が画素密度閾値ＴＨ３より大きいか否かを判断する（Ｓ２０９）。
【００５５】
そして、画像処理装置２は、画素密度が所定値ＴＨ３より大きい場合（Ｓ２０９のＹ）、探索範囲を設定し（Ｓ２０４）、対象連結画素群の情報をデータベース６６に登録する（Ｓ２０５）。ここでは、画像処理装置２は、外接矩形の短辺が縦辺であれば、対象連結画素群の属性として、「水平破線属性」をデータベース６６に記憶し、外接矩形の短辺が横辺であれば、対象連結画素群の属性をとして、「垂直破線属性」をデータベース６６に記憶する。一方、画素密度がＴＨ３以下である場合（Ｓ２０９のＮ）、画像処理装置２は、対象連結画素群の情報をデータベース６６に登録せずに、処理を終了する。
【００５６】
なお、対象連結画素群の外接矩形の短辺長が所定値ＴＨより大きい場合（Ｓ２０１のＮ）、対象連結画素群が、点破線を構成する要素ではなく、図、文字、写真等を構成する要素である可能性が高いので、画像処理装置２は、対象連結画素群の情報をデータベース６６に登録せずに、そのまま処理を終了する。ここで、画像処理装置２は、対象連結画素群の短辺長が所定値ＴＨよりも小さい所定値（例えば、２ピクセル）以下である場合も、対象連結画素群の情報をデータベース６６に登録せずに、そのまま処理を終了するようにしてもよい。対象連結画素群が単なるノイズである可能性が高いからである。
【００５７】
以上の処理を各連結画素群について実行することにより、外接矩形の短辺長が所定値ＴＨ以下となる連結画素群の情報をデータベース６６に登録すると、画像処理装置２は、Ｓ１０３のステップに進む。
【００５８】
Ｓ１０３のステップでは、画像処理装置２は、点破線を含む水平方向の罫線を検出するための水平統合処理を実行する。具体的には、画像処理装置２は、図１０のフローチャートに示す処理を実行する。
【００５９】
画像処理装置２は、データベース６６を参照し、統合フラグが「０」である所定属性（すなわち、「点線属性」、「水平線分属性」、「水平破線属性」のいずれかの属性）の連結画素群（以下、水平連結画素群）があるか否かを判断する（Ｓ３０１）。そして、水平連結画素群がない場合（Ｓ３０１のＮ）、画像処理装置２は、水平統合処理を終了する。
【００６０】
一方、水平連結画素群がある場合（Ｓ３０１のＹ）、画像処理装置２は、水平連結画素群の中から１つの注目連結画素群を選択する（Ｓ３０２）。そして、画像処理装置２は、データベース６６を参照し、注目連結画素群の探索範囲とその探索範囲が抵触する少なくとも１つの他の水平連結画素群（以下、相手候補）があるか否かを判断する（Ｓ３０３）。そして、少なくとも１つの相手候補がある場合（Ｓ３０３のＹ）、画像処理装置２は、これらの相手候補を特定し、これらの相手候補の中から１つの相手候補（以下、注目相手候補）を選択する（Ｓ３０４）。一方、相手候補がない場合（Ｓ３０３のＮ）、画像処理装置２は、注目連結画素の統合フラグを「１」に更新し、Ｓ３０１のステップに戻る。
【００６１】
注目相手候補を選択すると、画像処理装置２は、データベース６６を参照し、水平統合条件が満足されるか否かを判断する（Ｓ３０５）。すなわち、画像処理装置２は、「注目連結画素群の探索範囲と、注目相手候補の探索範囲と、に外接する外接矩形の高さＨが所定値ＴＨｍａｘ以下であること」、及び「上記外接矩形の高さＨと注目連結画素群の探索範囲の高さとの差ΔＨが、当該外接矩形の幅Ｗと注目連結画素群の探索範囲の幅との差ΔＷ、よりも小さいこと」がすべて満足されるか否かを判断する（図１２参照）。なお、水平統合条件に、「ΔＨが所定値ＴＨ４（例えば、２ピクセル）よりも小さいこと」を加えてもよい。
【００６２】
そして、水平統合条件が満足される場合（Ｓ３０５のＹ）、画像処理装置２は、注目相手候補を注目連結画素群に関連付ける（Ｓ３０６）。具体的には、画像処理装置２は、注目相手候補のＩＤを注目連結画素群のＩＤに更新する。さらに、注目連結画素群の探索範囲を上記外接矩形の範囲に更新するとともに、注目相手候補の統合フラグを「１」に更新する。一方、水平統合条件が満足されない場合（Ｓ３０５のＮ）、画像処理装置２は、Ｓ３０７のステップに進む。
【００６３】
Ｓ３０７のステップでは、画像処理装置２は、すべての相手候補についてＳ３０５のステップを実行したか否かを判断する（Ｓ３０７）。そして、すべての相手候補についてＳ３０５のステップを実行していない場合（Ｓ３０７のＮ）、画像処理装置２は、他の注目相手候補を選択し、Ｓ３０５のステップに戻る。
【００６４】
一方、すべての相手候補についてＳ３０５のステップを実行した場合（Ｓ３０７のＹ）、画像処理装置２は、いずれかの相手候補が注目連結画素群に関連付けられたか否かを判断する（Ｓ３０８）。そして、いずれの相手候補も注目連結画素群に関連付けられなかった場合（Ｓ３０８のＮ）、画像処理装置２は、注目連結画素群の統合フラグを「１」に更新して、Ｓ３０１のステップに戻る。
【００６５】
一方、相手候補のいずれかが注目連結画素群に関連付けられた場合（Ｓ３０８のＹ）、画像処理装置２は、データベース６６を参照し、注目連結画素群の探索範囲とその探索範囲が新たに抵触することとなった少なくとも１つの他の水平連結画素群（以下、相手候補）があるか否かを判断する（Ｓ３０９）。そして、少なくとも１つの相手候補がある場合（Ｓ３０９のＹ）、画像処理装置２は、当該少なくとも１つの相手候補を特定し、これらの相手候補の中から１の注目相手候補を選択して、Ｓ３０５のステップに戻る。
【００６６】
一方、相手候補がない場合（Ｓ３０９のＮ）、画像処理装置２は、注目連結画素群の統合フラグを「１」に更新して、Ｓ３０１のステップに戻る。
【００６７】
以上が、図１０のフローチャートに示す水平統合処理の内容である。なお、画像処理装置２は、注目連結画素群に少なくとも１つの連結画素群が関連付けられている場合、水平統合条件に、「注目連結画素群の高さと当該少なくとも１つの連結画素群の高さの平均値が所定値ＴＨ５よりも小さいこと」をさらに加えてもよい。
【００６８】
水平統合処理を完了後、画像処理装置２は、データベース６６を参照し、統合フラグが「１」である「点線属性」の連結画素群であってそのＩＤが他のいずれの連結画素群のＩＤとも異なる連結画素群があれば、当該連結画素群の統合フラグを「０」に更新する。そして、画像処理装置２は、点破線を含む垂直方向の罫線を検出するための垂直統合処理を実行する（Ｓ１０４）。具体的には、画像処理装置２は、図１１のフローチャートに示す処理を実行する。
【００６９】
すなわち、画像処理装置２は、データベース６６を参照し、統合フラグが「０」である所定属性（すなわち、「点線属性」、「垂直線分属性」、「垂直破線属性」のいずれかの属性）の連結画素群（以下、垂直連結画素群）があるか否かを判断する（Ｓ４０１）。そして、垂直連結画素群がない場合（Ｓ４０１のＮ）、画像処理装置２は、垂直統合処理を終了する。
【００７０】
一方、垂直連結画素群がある場合（Ｓ４０１のＹ）、画像処理装置２は、垂直連結画素群の中から１つの注目連結画素群を選択する（Ｓ４０２）。そして、画像処理装置２は、データベース６６を参照し、注目連結画素群の探索範囲とその探索範囲が抵触する少なくとも１つの他の垂直連結画素群（以下、相手候補）があるか否かを判断する（Ｓ４０３）。そして、少なくとも１つの相手候補がある場合（Ｓ４０３のＹ）、これらの相手候補を特定し、これらの相手候補の中から１つの相手候補（以下、注目相手候補）を選択する（Ｓ４０４）。一方、相手候補がない場合（Ｓ４０３のＮ）、画像処理装置２は、注目連結画素の統合フラグを「１」に更新し、Ｓ４０１のステップに戻る。
【００７１】
注目相手候補を選択すると、画像処理装置２は、データベース６６を参照し、垂直統合条件が満足されるか否かを判断する（Ｓ４０５）。すなわち、画像処理装置２は、「注目連結画素群の探索範囲と、注目相手候補の探索範囲と、に外接する外接矩形の幅Ｗが所定値ＴＨｍａｘ以下であること」、及び「上記外接矩形の幅Ｗと注目連結画素群の探索範囲の幅との差ΔＷが、当該外接矩形の高さＨと注目連結画素群の探索範囲の高さとの差ΔＨ、よりも小さいこと」がすべて満足されるか否かを判断する（図１３参照）。なお、垂直統合条件に、「ΔＷが所定値ＴＨ３よりも小さいこと」をさらに加えてもよい。
【００７２】
そして、垂直統合条件が満足される場合（Ｓ４０５のＹ）、画像処理装置２は、注目連結画素群に注目相手候補を関連付ける（Ｓ４０６）。具体的には、画像処理装置２は、注目相手候補のＩＤを注目連結画素群のＩＤに更新する。さらに、注目連結画素群の探索範囲を上記外接矩形の範囲に更新するとともに、注目相手候補の統合フラグを「１」に更新する。一方、垂直統合条件が満足されない場合（Ｓ４０５のＮ）、画像処理装置２は、Ｓ４０７のステップに進む。
【００７３】
Ｓ４０７のステップでは、画像処理装置２は、すべての相手候補についてＳ４０５のステップを実行したか否かを判断する（Ｓ４０７）。そして、すべての相手候補についてＳ４０５のステップを実行していない場合（Ｓ４０７のＮ）、画像処理装置２は、他の注目相手候補を選択し、Ｓ４０５のステップに戻る。
【００７４】
一方、すべての相手候補についてＳ４０５のステップを実行した場合（Ｓ４０７のＹ）、画像処理装置２は、いずれかの相手候補が注目連結画素群に関連付けられたか否かを判断する（Ｓ４０８）。そして、いずれの相手候補も注目連結画素群に関連付けられなかった場合（Ｓ４０８のＮ）、画像処理装置２は、注目連結画素群の統合フラグを「１」に更新して、Ｓ４０１のステップに戻る。
【００７５】
一方、いずれかの相手候補が注目連結画素群に関連付けられた場合（Ｓ４０８のＹ）、画像処理装置２は、データベース６６を参照し、注目連結画素群の探索範囲とその探索範囲が新たに抵触することとなった少なくとも１つの他の垂直連結画素群（以下、相手候補）があるか否かを判断する（Ｓ４０９）。そして、少なくとも１つの相手候補がある場合（Ｓ４０９のＹ）、画像処理装置２は、当該少なくとも１つの相手候補を特定し、これらの相手候補の中から１の注目相手候補を選択して、Ｓ４０５のステップに戻る。
【００７６】
一方、相手候補がない場合（Ｓ４０９のＮ）、画像処理装置２は、注目連結画素群の統合フラグを「１」に更新して、Ｓ４０１のステップに戻る。以上が、図１１のフローチャートに示す垂直統合処理の内容である。なお、画像処理装置２は、注目連結画素群に少なくとも１つの連結画素群が関連付けられている場合、垂直統合条件に、「注目連結画素群の幅と当該少なくとも１つの連結画素群の幅の平均値が所定値ＴＨ５よりも小さいこと」をさらに加えるようにしてもよい。
【００７７】
例えば、「点線属性」の連結画素群Ａ乃至Ｅが図１２（ａ）に示すように配置された文書画像を対象に水平統合処理及び垂直統合処理を実行する場合を例に取り上げる。
【００７８】
この場合、Ｓ３０１のステップにおいて、画像処理装置２は、連結画素群Ａ乃至Ｅのすべてを水平連結画素群と判断し、これらの連結画素群の中から１の注目連結画素群を選択する（Ｓ３０２）。ここでは、画像処理装置２は、連結画素群Ａを、注目連結画素群として選択するものとする。
【００７９】
画像処理装置２は、注目連結画素群として連結画素群Ａを選択すると、連結画素群Ａの探索範囲と探索範囲が抵触する連結画素群、すなわち、相手候補を探索する（Ｓ３０３）。ここでは、図１２（ｂ）に示すように、連結画素群Ｂ及び連結画素群Ｃが相手候補となる。画像処理装置２は、これらの相手候補から注目相手候補を選択する（Ｓ３０４）。ここでは、画像処理装置２は、まず、注目相手候補として、連結画素群Ｂを選択するものとする。
【００８０】
そして、画像処理装置２は、連結画素群Ｂについて水平統合条件が満足されるか否かを判断する（Ｓ３０５）。ここでは、図１２（ｃ）に示すように、水平統合条件が満足されるので、画像処理装置２は、注目相手候補たる連結画素群ＢのＩＤを注目連結画素群たる連結画素群ＡのＩＤに更新するとともに連結画素群Ｂの統合フラグを「１」に更新し、さらに、連結画素群Ａの探索範囲も更新する（Ｓ３０６）。
【００８１】
そして、画像処理装置２は、水平統合条件が満足されるか否かを他の相手候補たる連結画素群Ｃについてまだ判断していないので（Ｓ３０７のＮ）、画像処理装置２は、Ｓ３０５のステップに戻り、注目相手候補を連結画素群Ｃとして、水平統合条件が満足されるか否かを判断する（Ｓ３０５）。ここでは、図１２（ｄ）に示すように、水平統合条件が満足されないので、連結画素群ＣのＩＤと統合フラグの更新、及び連結画素群Ａの探索範囲の更新を行わずに、Ｓ３０７のステップに進む。
【００８２】
そして、画像処理装置２は、水平統合条件が満足されるか否かをすべての相手候補について判断済みであるし（Ｓ３０７のＹ）、注目連結画素群たる連結画素群Ａに相手候補たる連結画素群Ｂが関連付けられたので（Ｓ３０８のＹ）、連結画素群Ａの探索範囲の更新により当該探索範囲が新たに抵触することとなった探索範囲に含まれる相手候補があるか否かを判断する（Ｓ３０９）。ここでは、画像処理装置２は、連結画素群Ｄを相手候補と判断し、Ｓ３０５のステップに戻る。すると、図１２（ｅ）に示すように、注目相手候補たる連結画素群Ｄについて水平統合条件が満足されるので、画像処理装置２は、連結画素群ＤのＩＤを連結画素群ＡのＩＤに更新するとともに連結画素群Ｄの統合フラグを「１」に更新し、さらに、連結画素群Ａの探索範囲も更新する（Ｓ３０６）。
【００８３】
そして、画像処理装置２は、水平統合条件が満足されるか否かをすべての相手候補、すなわち、連結画素群Ｄについて判断済みであるし（Ｓ３０７のＹ）、連結画素群Ａに連結画素群Ｄが関連付けられたので、（Ｓ３０８のＹ）、連結画素群Ａの探索範囲の更新により当該探索範囲が新たに抵触することとなった探索範囲に含まれる連結画素群があるか否かを判断する（Ｓ３０９）。ここでは、連結画素群Ａの探索範囲が新たに抵触することとなった探索範囲がないので（Ｓ３０９のＮ）、画像処理装置２は、注目連結画素群たる連結画素群Ａの統合フラグを「１」に更新し、Ｓ３０１のステップに戻る。
【００８４】
Ｓ３０１のステップでは、画像処理装置２は、連結画素群Ｃ及びＥを水平連結画素群と判断し、これらの連結画素群の中から１の注目連結画素群を選択する（Ｓ３０２）。ここでは、画像処理装置２は、連結画素群Ｃを注目連結画素群として選択するものとする。
【００８５】
画像処理装置２は、注目連結画素群として連結画素群Ｃを選択すると、連結画素群Ｃの探索範囲と探索範囲が抵触する連結画素群があるか否かを判断する（Ｓ３０３）。ここでは、図１２（ｆ）に示すように、連結画素群Ｅのみが相手候補となる。
【００８６】
そして、画像処理装置２は、注目相手候補たる連結画素群Ｅについて水平統合条件が満足されるか否かを判断する（Ｓ３０５）。ここでは、図１２（ｇ）に示すように、水平統合条件が満足されないので、連結画素群ＥのＩＤと統合フラグの更新及び連結画素群Ｃの探索範囲の更新を行わずに、Ｓ３０７のステップに進む。
【００８７】
そして、画像処理装置２は、水平統合条件が満足されるか否かをすべての相手候補、すなわち、連結画素群Ｅについて判断済みであるが（Ｓ３０７のＹ）、注目連結画素群たる連結画素群Ｃに相手候補たる連結画素群Ｅが関連付けられなかったので（Ｓ３０８のＮ）、連結画素群Ｃの統合フラグを「１」に更新して、Ｓ３０１のステップに戻る。
【００８８】
Ｓ３０１のステップでは、画像処理装置２は、連結画素群Ｅのみを水平連結画素群と判断し、連結画素群を注目連結画素群として選択する（Ｓ３０２）。この場合、相手候補となる他の水平連結画素群がないので（Ｓ３０３のＮ）、画像処理装置２は、水平統合処理を終了する。その結果、連結画素群Ａ、連結画素群Ｂ、及び連結画素群Ｄに同一ＩＤが付与されることとなる。つまり、図１２（ｈ）に示すように、これらの連結画素群がグループ化される。
【００８９】
この状態で、垂直統合処理を実行する場合、画像処理装置２は、Ｓ４０１のステップで連結画素群Ｃ及びＥを垂直連結画素群と判断し、これらの連結画素群の中から１の注目連結画素群を選択する（Ｓ４０２）。ここでは、画像処理装置２は、連結画素群Ｃを注目連結画素群として選択するものとする。
【００９０】
画像処理装置２は、注目連結画素群として連結画素群Ｃを選択すると、連結画素群Ｃの探索範囲と探索範囲が抵触する連結画素群があるか否かを判断する（Ｓ４０３）。ここでは、図１３（ａ）に示すように、連結画素群Ｅのみが相手候補となる。
【００９１】
そして、画像処理装置２は、注目相手候補たる連結画素群Ｅについて垂直統合条件が満足されるか否かを判断する（Ｓ４０５）。ここでは、図１３（ｂ）に示すように、垂直統合条件が満足されるので、画像処理装置２は、連結画素群ＥのＩＤを連結画素群ＣのＩＤに更新するとともに連結画素群Ｅの統合フラグを「１」に更新し、さらに、連結画素群Ｃの探索範囲も更新する（Ｓ４０６）。
【００９２】
そして、画像処理装置２は、垂直統合条件が満足されるか否かをすべての相手候補、すなわち、連結画素群Ｅについて判断済みであるし（Ｓ４０７のＹ）、注目連結画素群たる連結画素群Ｃに連結画素群Ｅが関連付けられたので、（Ｓ４０８のＹ）、連結画素群Ｃの探索範囲の更新により当該探索範囲が新たに抵触することとなった探索範囲に含まれる連結画素群があるか否かを判断する（Ｓ４０９）。ここでは、連結画素群Ｃの探索範囲が新たに抵触することとなった探索範囲がないので（Ｓ４０９のＮ）、画像処理装置２は、注目連結画素群たる連結画素群Ｃの統合フラグを「１」に更新し、Ｓ４０１のステップに戻る。
【００９３】
Ｓ４０１のステップでは、画像処理装置２は、垂直連結画素群がないと判断し（Ｓ３０１のＮ）、垂直統合処理を終了する。その結果、連結画素群Ｃ及び連結画素群Ｅに同一ＩＤが付与されることとなる。つまり、図１３（ｃ）に示すように、連結画素群Ａと、連結画素群Ｂと、連結画素群Ｄとがグループ化され、さらに、連結画素群Ｃと、連結画素群Ｅと、がグループ化される。以上が、水平統合処理及び垂直統合処理の一例である。
【００９４】
なお、ここでは簡単な例を取り上げたが、画像処理装置２は、水平統合処理及び垂直統合処理を実行することにより、例えば、点破線からなる矩形において、辺ごとに当該辺を構成する複数の連結画素群をグループ化することもできる（図１４（ａ））。また、点破線からなる罫線を複数含む表において、罫線ごとに当該罫線を構成する複数の連結画素群をグループ化することもできる（図１４（ｂ））。また、線分の一部がかすれており当該線分が不連続な構成となっていても、当該線分を構成する複数の連結画素群をグループ化することもできる（図１４（ｃ））。
【００９５】
水平統合処理（Ｓ１０３）及び垂直統合処理（Ｓ１０４）を完了すると、画像処理装置２は、データベース６６の記憶内容を参照し、同一ＩＤが付された複数の連結画素群のグループを罫線として検出する（Ｓ１０５）。以上が、本発明の実施形態に係る画像処理装置２が実行する処理の具体的内容である。
【００９６】
なお、本発明の実施形態は、上記実施形態だけに限らない。
【００９７】
例えば、本発明は、垂直方向及び水平方向の点破線を罫線として検出する場合だけでなく、任意方向の点破線を罫線として検出する場合にも適用可能である。
【００９８】
また、画像処理装置２は、先に垂直統合処理を実行してから、水平統合処理を実行するようにしてもよい。
【００９９】
また、画像処理装置２は、Ｓ１０５のステップで検出した複数の罫線の各々が、他のいずれかの罫線と接触している場合（正確には、他のいずれかの罫線と所定距離以内の距離だけ離れている場合）、これらの罫線の一纏まりを表として検出するようにしてもよい。
【０１００】
また、画像処理装置２は、同一ＩＤが付された複数の連結画素群のグループを、当該グループに含まれる連結画素群の数に応じて、罫線として検出するようにしてもよい。具体的には、画像処理装置２は、Ｓ１０５のステップにおいて、各グループについて図１５のフローチャートに示す処理を実行するようにしてもよい。
【０１０１】
すなわち、画像処理装置２は、対象となるグループ（以下、対象グループ）に含まれる連結画素群の数が所定値Ｎより大きいか否かを判断する（Ｓ５０１）。そして、対象グループ）に含まれる連結画素群の数が所定値Ｎ以下である場合（Ｓ５０１のＮ）、画像処理装置２は、対象グループを罫線として検出せずに、処理を終了する。
【０１０２】
一方、対象グループに含まれる連結画素群の数が所定値Ｎより大きい場合（Ｓ５０１のＹ）、画像処理装置２は、対象グループを囲む探索範囲の長辺長を短辺長で割った商が所定値ＴＨ６（例えば、８．０）よりも大きいか否かを判断する（Ｓ５０２）。そして、上記商が所定値ＴＨ６以下である場合（Ｓ５０２のＮ）、画像処理装置２は、対象グループを罫線として検出せずに、処理を終了する。
【０１０３】
一方、上記商が所定値ＴＨ６より大きい場合（Ｓ５０２のＹ）、画像処理装置２は、対象グループを罫線として検出する（Ｓ５０３）。
【０１０４】
ここで、上記商が所定値ＴＨ６以下であっても、対象グループが図１４（ｂ）に示すように、表を構成する罫線である場合には、画像処理装置２は、当該対象グループを罫線として検出するようにしてもよい。すなわち、画像処理装置２は、上記商が所定値ＴＨ６以下である場合において（Ｓ５０２のＮ）、以下の処理を実行するようにしてもよい。
【０１０５】
すなわち、画像処理装置２は、さらに、上記商が所定値ＴＨ６もよりも小さい所定値ＴＨ７（例えば、５．０）よりも大きいか否かを判断する。そして、上記商が所定値ＴＨ６もよりも小さい所定値ＴＨ７（例えば、５．０）以下である場合、画像処理装置２は、対象グループを罫線として検出せずに、処理を終了する。一方、上記商が所定値ＴＨ６もよりも小さい所定値ＴＨ７（例えば、５．０）より大きい場合、画像処理装置２は、公知の処理を実行して表を構成する実線を割り出し、当該割り出した実線から所定距離内に対象グループの少なくとも一部分があるか否かを判断する。
【０１０６】
そして、当該割り出した実線から所定距離内に対象グループの全部分がない場合、画像処理装置２は、対象グループを罫線として検出せずに、処理を終了する。一方、当該割り出した実線から所定距離内に対象グループの少なくとも一部分がある場合、画像処理装置２は、対象グループを罫線として検出する。
【図面の簡単な説明】
【０１０７】
【図１】本発明の実施形態に係る画像処理装置のハードウェア構成の一例を示す図である。
【図２】本発明の実施形態に係る画像処理装置の機能ブロックの一例を示す図である。
【図３】各属性を有する連結画素群の一例を示す図である。
【図４】探索範囲の設定方法の一例を説明するための図である。
【図５】データベースの記憶内容の一例である。
【図６】本発明の実施形態に係る画像処理装置が実行する処理の一例を示すフローチャート図である。
【図７】本発明の実施形態に係る画像処理装置が実行する処理の一例を示すフローチャート図である。
【図８】補助記憶部に記憶されるテーブルの一例を示す図である。
【図９】連結画素群の画素密度に与えるノイズの影響を説明するための図である。
【図１０】本発明の実施形態に係る画像処理装置が実行する水平統合処理の一例を示すフローチャート図である。
【図１１】本発明の実施形態に係る画像処理装置が実行する垂直処理の一例を示すフローチャート図である。
【図１２】水平統合処理を説明するための図である。
【図１３】垂直統合処理を説明するための図である。
【図１４】複数の連結画素群がグループ化された様子の一例を示す図である。
【図１５】本発明の実施形態に係る画像処理装置が実行する処理の一例を示すフローチャート図である。
【符号の説明】
【０１０８】
２  画像処理装置、４０  中央処理部、４２  主記憶部、４４  補助記憶部、４６  画像読取部、４８  操作部、５０  ディスプレイ、５４  データバス、６０  文書画像記憶部、６２  連結画素群特定部、６４  抽出部、６６  データベース、６８  探索範囲設定部、７０  探索部、７２  統合部、７４  検出部。
【図１】
0004766016.tif 000002
【図２】
0004766016.tif 000003
【図３】
0004766016.tif 000004
【図４】
0004766016.tif 000005
【図５】
0004766016.tif 000006
【図６】
0004766016.tif 000007
【図７】
0004766016.tif 000008
【図８】
0004766016.tif 000009
【図９】
0004766016.tif 000010
【図１０】
0004766016.tif 000011
【図１１】
0004766016.tif 000012
【図１２】
0004766016.tif 000013
【図１３】
0004766016.tif 000014
【図１４】
0004766016.tif 000015
【図１５】
0004766016.tif 000016