(57)【特許請求の範囲】
【請求項１】
画像に含まれる線分を抽出する画像処理装置であって、
画像の所定数の画素からなる処理単位ごとに、濃度変化方向が異なる８つの１次微分フィルタを適用し、出力が最大となる１次微分フィルタの濃度変化方向を、当該処理単位の濃度変化方向として決定する濃度変化方向決定部と、
前記濃度変化方向が反対向きの一対の処理単位を処理単位対とし、前記処理単位対に含まれる処理単位の濃度変化方向と、その濃度変化方向に垂直方向に隣接する両側の２つの処理単位の濃度変化方向との角度差に基づいて、周辺の処理単位との濃度変化方向の揃い度合いを示す局所連結性を解析し、前記濃度変化方向と垂直な方向に連続して配置されている複数の処理単位対を含む処理単位群を線分として抽出する線分抽出部と、
前記抽出された線分について、２つの端点の位置、及び、線幅を含むベクタデータを算出するベクタデータ算出部と
を備える画像処理装置。
【請求項２】
前記ベクタデータ算出部は、前記抽出された線分の両端に配置される一対の処理単位間の距離が最大の処理単位対のうち、一方の処理単位対に含まれる２つの処理単位の中点の座標と、他方の処理単位対に含まれる２つの処理単位の中点の座標とを算出し、座標を算出した２つの中点を前記線分の両端点とする
請求項１に記載の画像処理装置。
【請求項３】
前記ベクタデータ算出部は、前記抽出された線分の両端点の中間位置から濃度変化方向に配置される一対の処理単位間の距離が最大の処理単位対の当該処理単位間の距離を算出し、算出した当該距離を前記線分の線幅とする
請求項１または２に記載の画像処理装置。
【請求項４】
前記線分抽出部は、前記処理単位対に含まれる一対の処理単位の前記濃度変化方向が同じ向きの処理単位対が第一閾値以上連続して前記濃度変化方向と垂直な方向に配置されているか否かを判断し、当該処理単位対が前記第一閾値以上配置されていると判断した場合に、前記処理単位群を線分として抽出する
請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記ベクタデータ算出部は、算出されたベクタデータの、端点間の距離が第三閾値以上か否かを判断し、前記距離が前記第三閾値以上であると判断した場合に、ベクタデータを確定する
請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
さらに、
前記ベクタデータ算出部で算出された複数のベクタデータについて、互いの端点の距離が第四閾値以内に配置され、かつ濃度変化方向と垂直な方向の傾きの不一致度合いが第五閾値以内のベクタデータ同士をグループ化して新しいベクタデータに更新するグループ化部を備える
請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記グループ化部は、前記第四閾値以内に配置される一のベクタデータの端点と他のベクタデータの端点とを結ぶ区間を非線分区間として新しいベクタデータに更新する
請求項６に記載の画像処理装置。
【請求項８】
画像に含まれる線分を抽出する画像処理方法であって、
画像の所定数の画素からなる処理単位ごとに、濃度変化方向が異なる８つの１次微分フィルタを適用し、出力が最大となる１次微分フィルタの濃度変化方向を、当該処理単位の濃度変化方向として決定する濃度変化方向決定ステップと、
前記濃度変化方向が反対向きの一対の処理単位を処理単位対とし、前記処理単位対に含まれる処理単位の濃度変化方向と、その濃度変化方向に垂直方向に隣接する両側の２つの処理単位の濃度変化方向との角度差に基づいて、周辺の処理単位との濃度変化方向の揃い度合いを示す局所連結性を解析する局所解析ステップと、
前記解析された局所連結性に基づき、前記濃度変化方向と垂直な方向に連続して配置されている複数の処理単位対を含む処理単位群を線分として抽出する線分抽出ステップと、
前記抽出された線分について、２つの端点の位置、及び、線幅を含むベクタデータを算出するベクタデータ算出ステップと
を含む画像処理方法。
【請求項９】
画像に含まれる線分を抽出するためのプログラムであって、
画像の所定数の画素からなる処理単位ごとに、濃度変化方向が異なる８つの１次微分フィルタを適用し、出力が最大となる１次微分フィルタの濃度変化方向を、当該処理単位の濃度変化方向として決定する濃度変化方向決定ステップと、
前記濃度変化方向が反対向きの一対の処理単位を処理単位対とし、前記処理単位対に含まれる処理単位の濃度変化方向と、その濃度変化方向に垂直方向に隣接する両側の２つの処理単位の濃度変化方向との角度差に基づいて、周辺の処理単位との濃度変化方向の揃い度合いを示す局所連結性を解析する局所解析ステップと、
前記解析された局所連結性に基づき、前記濃度変化方向と垂直な方向に連続して配置されている複数の処理単位対を含む処理単位群を線分として抽出する線分抽出ステップと、
前記抽出された線分について、２つの端点の位置、及び、線幅を含むベクタデータを算出するベクタデータ算出ステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に含まれる線分を抽出する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
近年、省スペース化を指向して、コピー機能、ファクシミリ通信機能、及びネットワーク通信機能を一台で兼ね備えたネットワーク複合機の普及が進んでいる。
【０００３】
ネットワーク複合機のいくつかの機種では、画像読取装置等で入力される画像データに対して、光学文字認識（ＯＣＲ：Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）または像域分離等の画像認識を行う際に、認識対象の文字等が、罫線、枠線、下線等の線分と重なった場合、正しく認識されない、または処理に時間を要する場合がある。
【０００４】
そこで、従来、文字認識の妨げとなる線分を抽出し、消去する技術が提案されている（例えば、特許文献１参照）。この従来の技術では、画像データから罫線を推定し、その罫線の推定位置付近で罫線と垂直な方向の黒ランを抽出し、ランデータの中心を通る回帰直線を求めて、回帰直線と距離が大きいランを残し、回帰直線付近のランデータを消去する。この技術により、罫線に文字が重なっていても誤って文字を消すことなく精度良く罫線を消去することが可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−７４２６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術では、精度良く線分を抽出することができない場合があるという問題がある。
【０００７】
つまり、上記従来の技術では、未記入の同一フォーマットの帳票画像との位置あわせを行い、この画像上の位置座標値で定義された文字記入欄から処理対象の画像上の文字記入欄の位置を推定し、その周囲を罫線の存在する範囲とする方法を例に示している。この方法では、画像データの入力のたびに、未記入のフォーマットとの位置合わせが必要になる。従って、帳票画像のような定型のフォーマットではない印刷物に記入された原稿の場合、または未記入のフォーマットが予め存在しない場合などは、罫線位置の推定が困難になる。
【０００８】
また、複数の罫線が平行線ではなく、枠または表の場合のように互いに交差する場合は、交差する一方の罫線の罫線と垂直な方向の黒ランが、他方の罫線に該当する可能性があり、罫線と残すべき文字を判断するのが困難になるという問題がある。
【０００９】
そこで、本発明は、このような問題に鑑みてなされたものであり、精度良く線分を抽出することができる画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の一態様に係る画像処理装置は、画像に含まれる線分を抽出する画像処理装置であって、画像の所定数の画素からなる処理単位ごとに、濃度が変化する方向である濃度変化方向を決定する濃度変化方向決定部と、前記濃度変化方向が反対向きの一対の処理単位を処理単位対とし、前記濃度変化方向と垂直な方向に連続して配置されている複数の処理単位対を含む処理単位群を線分として抽出する線分抽出部とを備える。
【００１１】
これによれば、処理単位ごとに濃度変化方向を決定し、濃度変化方向と垂直な方向に連続して配置されている複数の処理単位対を含む処理単位群を線分として抽出する。つまり、処理単位ごとの濃度変化方向の並びから、線分を抽出する。このため、定型のフォーマットではない印刷物に記入された原稿の場合、または当該フォーマットが予め存在しない場合でも、線分を抽出することができる。また、２つの罫線が交差している場合でも、当該２つの罫線を線分として抽出することができる。これらにより、精度良く線分を抽出することができる。
【００１２】
また、好ましくは、前記濃度変化方向決定部は、前記画像の前記処理単位ごとに、テンプレート型１次微分フィルタを適用して、前記濃度変化方向を決定する。
【００１３】
これによれば、テンプレート型１次微分フィルタを適用して、濃度変化方向を決定する。ここで、このテンプレート型１次微分フィルタを適用することで、大きな容量のメモリを必要とせず、また、多くの演算を必要とせずに、濃度変化方向を精度良く算出することができる。このため、メモリの容量を低減し、かつ、演算量を低減しつつ、精度良く線分を抽出することができる。
【００１４】
また、好ましくは、前記線分抽出部は、前記処理単位対に含まれる一対の処理単位の前記濃度変化方向が同じ向きの処理単位対が第一閾値以上連続して前記濃度変化方向と垂直な方向に配置されているか否かを判断し、当該処理単位対が前記第一閾値以上配置されていると判断した場合に、前記処理単位群を線分として抽出する。
【００１５】
これによれば、濃度変化方向が同じ向きの処理単位対が第一閾値以上連続して濃度変化方向と垂直な方向に配置されている場合に、処理単位群を線分として抽出する。つまり、処理単位対が所定の数連続して配置されていなければ、当該処理単位対からなる処理単位対群は、線分を構成する要素として認められないため、除外する。このように、線分を構成する要素として扱うか否かを判別することで、精度良く線分を抽出することができる。
【００１６】
また、好ましくは、前記線分抽出部は、前記一対の処理単位間の距離である処理単位間距離が第二閾値以下であるか否かを判断し、前記処理単位間距離が前記第二閾値以下であると判断した場合に、前記処理単位群を線分として抽出する。
【００１７】
これによれば、一対の処理単位間の距離が第二閾値以下である場合に、処理単位群を線分として抽出する。つまり、処理単位間の距離が所定の長さよりも大きければ、当該処理単位から構成される処理単位対群は線分として扱う線幅を超えているため、線分からは除外する。このように、線分として扱うか否かを判別することで、精度良く線分を抽出することができる。
【００１８】
また、好ましくは、前記線分抽出部は、前記処理単位群の前記濃度変化方向と垂直な方向の長さが第三閾値以上か否かを判断し、前記長さが前記第三閾値以上であると判断した場合に、前記処理単位群を線分として抽出する。
【００１９】
これによれば、処理単位群の長さが第三閾値以上である場合に、処理単位群を線分として抽出する。つまり、処理単位群が所定の長さ以上でなければ、当該処理単位群は線分として扱う長さを有していないため、線分からは除外する。このように、線分として扱うか否かを判別することで、精度良く線分を抽出することができる。
【００２０】
また、好ましくは、前記線分抽出部は、前記濃度変化方向と垂直な方向に連続して配置されている複数の処理単位対を処理単位対群とし、互いの端点の距離が第四閾値以内に配置され、かつ前記濃度変化方向と垂直な方向の傾きの不一致度合いが第五閾値以内の２つの処理単位対群をグループ化して前記処理単位群を生成する。
【００２１】
これによれば、端点の距離が第四閾値以内に配置され、かつ傾きの不一致度合いが第五閾値以内の２つの処理単位対群をグループ化して処理単位群を生成する。つまり、傾きが同等で近傍に配置された２つの線分要素を結合して、線分として扱うことができる処理単位群を生成する。これにより、線分が点線である、または文字によって途中で切れている場合であっても、精度良く線分を抽出することができる。
【００２２】
また、好ましくは、前記線分抽出部は、前記処理単位対群の両端に配置される一対の処理単位間の距離が最大の処理単位対のうち、一方の処理単位対に含まれる２つの処理単位の中間位置と、他方の処理単位対に含まれる２つの処理単位の中間位置とを前記処理単位対群の両端点とし、一の処理単位対群の端点と他の処理単位対群の端点との距離が前記第四閾値以内に配置され、かつ前記一の処理単位対群の両端点を結ぶ線分の傾きと前記第四閾値以内の距離に配置されていない前記一の処理単位対群の端点と前記他の処理単位対群の端点とを結ぶ線分の傾きとの差が前記第五閾値以内の場合に、前記一の処理単位対群と前記他の処理単位対群とを含む前記処理単位群を生成する。
【００２３】
これによれば、２つの処理単位対群の端点を決定し、当該端点の配置から、一方の処理単位対群の端点と他方の処理単位対群の端点との距離と、２つの処理単位対群の傾きの不一致度合いとを算出し、２つ処理単位対群をグループ化して処理単位群を生成する。これにより、容易に、２つ処理単位対群をグループ化して処理単位群を生成することができる。
【００２４】
また、好ましくは、前記線分抽出部は、前記処理単位対群の両端点の中間位置から前記濃度変化方向に配置される一対の処理単位間の距離が最大の処理単位対の当該処理単位間の距離を前記処理単位対群の線幅として前記処理単位群に関連付けて、前記処理単位群を生成する。
【００２５】
これによれば、処理単位対群の線幅を算出して、処理単位群に関連付けて、処理単位群を生成する。つまり、線分として抽出される処理単位群を示す情報には、線幅の情報が含まれる。このため、例えば当該処理単位群で示される線分を削除する場合に、線幅の情報を参照して、削除の幅を定めることができる。このように、以降の画像処理に必要な情報が関連付けられた処理単位群を生成することができる。
【００２６】
また、好ましくは、前記線分抽出部は、前記第四閾値以内に配置される前記一の処理単位対群の端点と前記他の処理単位対群の端点とを結ぶ区間を非線分区間として前記処理単位群に関連付けて、前記処理単位群を生成する。
【００２７】
これによれば、非線分区間を処理単位群に関連付けて、処理単位群を生成する。つまり、線分として抽出される処理単位群を示す情報には、非線分区間の情報が含まれる。このため、例えば当該処理単位群で示される線分を削除する場合であって、当該線分と文字とが交差している場合には、交差している文字部分を非線分区間として、当該文字部分が削除されるのを防ぐことができる。このように、以降の画像処理に必要な情報が関連付けられた処理単位群を生成することができる。
【００２８】
また、本発明は、このような画像処理装置として実現できるだけでなく、画像処理装置が備える特徴的な処理部のそれぞれの動作をステップとする方法として実現することもでき、また、本発明は、各処理部の処理を行う集積回路として実現することもできる。さらに、本発明は、コンピュータに上記各ステップを実行させるためのプログラムとして実現することもできる。そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体又はインターネット等の伝送媒体を介して配信することもできる。また、本発明は、このような画像処理装置を内蔵するネットワーク複合機として実現することもできる。
【発明の効果】
【００２９】
本発明に係る画像処理装置によれば、精度良く線分を抽出することができる。
【図面の簡単な説明】
【００３０】
【図１】本実施の形態におけるネットワーク複合機を含む通信システムの構成の一例を示す図である。
【図２】本実施の形態におけるネットワーク複合機のハードウェア構成を示すブロック図である。
【図３】本実施の形態における画像処理装置の機能構成を示すブロック図である。
【図４】本実施の形態における濃度変化方向データの一例を示す図である。
【図５】本実施の形態における線分データの一例を示す図である。
【図６】本実施の形態における画像処理装置の動作の一例を示すフローチャートである。
【図７】本実施の形態における濃度変化方向決定部が濃度変化方向を決定する処理の一例を示すフローチャートである。
【図８】本実施の形態における濃度変化方向決定部が、各画素の濃度変化方向と出力値とを算出することを説明する図である。
【図９】本実施の形態における線分抽出部が線分を抽出する処理の一例を示すフローチャートである。
【図１０】本実施の形態における線分抽出部が、処理単位対が第一閾値以上連続して配置されているか否かを判断する処理を説明する図である。
【図１１Ａ】本実施の形態における線分抽出部が、処理単位対が第一閾値以上連続して配置されているか否かを判断する処理を説明する図である。
【図１１Ｂ】本実施の形態における線分抽出部が、処理単位対が第一閾値以上連続して配置されているか否かを判断する処理を説明する図である。
【図１１Ｃ】本実施の形態における線分抽出部が、処理単位対が第一閾値以上連続して配置されているか否かを判断する処理を説明する図である。
【図１２Ａ】本実施の形態における線分抽出部がベクタデータ化を行う処理を説明する図である。
【図１２Ｂ】本実施の形態における線分抽出部がベクタデータ化を行う処理を説明する図である。
【図１３Ａ】本実施の形態における線分抽出部が線分要素をグループ化する処理を説明する図である。
【図１３Ｂ】本実施の形態における線分抽出部が線分要素をグループ化する処理を説明する図である。
【発明を実施するための形態】
【００３１】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００３２】
まず、図１及び図２を用いて、本発明の実施の形態における画像処理装置を備えるネットワーク複合機の構成の概要について説明する。
【００３３】
図１は、本実施の形態におけるネットワーク複合機を含む通信システムの構成の一例を示す図である。
【００３４】
同図に示すように、この通信システムは、ネットワーク複合機１及び２、端末装置３及び４、ＰＳＴＮ（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋｓ：公衆電話交換回線網）５、並びにＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）６を備えている。
【００３５】
ここで、ネットワーク複合機１は、本実施の形態の画像処理装置を備えるネットワーク複合機の一例である。ネットワーク複合機１は、ＰＳＴＮ５を介してネットワーク複合機２と接続され、またＬＡＮ６を介して端末装置３及び４と接続される。
【００３６】
ネットワーク複合機１は、スキャナで読み取った原稿を、例えば、ＰＳＴＮ５を介してネットワーク複合機２へファクシミリ送信すること、及び、ＬＡＮ６を介して端末装置３及び４へ送信することができる。また、内蔵されるプリンタでプリントアウトすることができる。
【００３７】
図２は、本実施の形態におけるネットワーク複合機１のハードウェア構成を示すブロック図である。
【００３８】
同図に示すように、ネットワーク複合機１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、モデム１３、ＮＣＵ（Ｎｅｔｗｏｒｋ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）１４、操作パネル１５、ディスプレイ１６、スキャナ１７、プリンタ１８、及びＬＡＮＩ／Ｆ（ＬＡＮ  インターフェース）１９を備えている。
【００３９】
ＣＰＵ１０は、ＲＯＭ１１に格納された制御プログラム２０を実行することにより、ネットワーク複合機１の全体を制御する。
【００４０】
ＣＰＵ１０は、特徴的な処理として、スキャナ１７に読み取られた原稿の画像に含まれる線分を抽出する。この線分の抽出についての具体的な処理内容は、後述する。
【００４１】
ＲＯＭ１１は、ＣＰＵ１０が実行する制御プログラム２０を保持する読み出し専用メモリである。
【００４２】
ＲＡＭ１２は、ＣＰＵ１０が制御プログラム２０を実行する際に用いられるワークデータ、及びスキャナ１７から得られた画像データ等を保持する読み書き可能なメモリである。
【００４３】
モデム１３は、ＲＡＭ１２に保持された画像データ等をファクシミリ信号に変調して送信し、また外部から受信されたファクシミリ信号をラインデータに復調する。モデム１３は、例えばＧ３規格に準拠したファックスモデムである。
【００４４】
ＮＣＵ１４は、モデム１３とＰＳＴＮ５との接続を制御する網制御装置である。
【００４５】
操作パネル１５は、利用者からの操作を受け付けるタッチパネルである。
【００４６】
ディスプレイ１６は、利用者への操作ガイド、又はネットワーク複合機１の動作状態を表示する表示装置であり、例えばＬＣＤ（Ｌｉｑｕｉｔ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）である。
【００４７】
スキャナ１７は、画像読み取り装置であり、ＣＰＵ１０の制御下で、ＣＣＤを用いて原稿を光学的に読み取ることによって画像データを生成する。
【００４８】
プリンタ１８は、印刷装置であり、ＣＰＵ１０の制御下で、例えばＲＡＭ１２に保持された画像データによって表される画像イメージを印刷出力する。
【００４９】
ＬＡＮＩ／Ｆ１９は、ネットワーク複合機１とＬＡＮ６とを接続する通信アダプタであり、ＣＰＵ１０の制御下で、例えばＲＡＭ１２に保持された画像データを端末装置３等へ送信する。
【００５０】
次に、本実施の形態におけるネットワーク複合機１が備える画像処理装置について、説明する。
【００５１】
図３は、本実施の形態における画像処理装置１００の機能構成を示すブロック図である。つまり、同図は、図２に示されたハードウェア構成によって発揮されるネットワーク複合機１の機能のうち、主に本実施の形態の画像処理装置１００に関わる機能の構成を示すブロック図である。
【００５２】
同図に示すように、画像処理装置１００は、原稿記憶部１１０、濃度変化方向決定部１２０、線分抽出部１３０、画像処理部１４０及びデータ記憶部１５０を備えている。なお、原稿記憶部１１０及びデータ記憶部１５０は、図２に示されたＲＡＭ１２により実現され、濃度変化方向決定部１２０、線分抽出部１３０及び画像処理部１４０は、図２に示された制御プログラム２０を実行するＣＰＵ１０等によって実現される。
【００５３】
原稿記憶部１１０は、画像データ１１１を記憶する記憶手段である。この画像データ１１１は、スキャナ１７が原稿を読み取ることで生成した画像データである。
【００５４】
濃度変化方向決定部１２０は、画像の所定数の画素からなる処理単位ごとに、濃度が変化する方向である濃度変化方向を決定する。具体的には、濃度変化方向決定部１２０は、画像の処理単位ごとに、テンプレート型１次微分フィルタを適用して、当該濃度変化方向を決定する。ここで、濃度変化方向とは、処理単位の画素の画素特性値（濃淡）が変化する方向である。
【００５５】
線分抽出部１３０は、濃度変化方向が反対向きの一対の処理単位を処理単位対とし、濃度変化方向と垂直な方向に連続して配置されている複数の処理単位対を含む処理単位群を線分として抽出する。
【００５６】
画像処理部１４０は、線分抽出部１３０の抽出結果に基づいて、画像データ１１１に修正を加える。例えば、画像処理部１４０は、線分抽出部１３０が抽出した線分を文字と異なるように表示する、または当該線分を消去する。また、画像処理部１４０は、不要な線分を消去することで、入力画像の文字認識を精度良く行うことができる。
【００５７】
データ記憶部１５０は、線分を抽出するためのデータを記憶する記憶手段である。同図に示すように、データ記憶部１５０は、濃度変化方向データ１５１及び線分データ１５２を記憶している。
【００５８】
図４は、本実施の形態における濃度変化方向データ１５１の一例を示す図である。
【００５９】
同図に示すように、濃度変化方向データ１５１は、濃度変化方向決定部１２０が決定した処理単位ごとの濃度変化方向を示すデータの集まりである。
【００６０】
つまり、濃度変化方向決定部１２０は、処理単位ごとの濃度変化方向を算出して決定し、決定した濃度変化方向をデータ記憶部１５０に記憶させることで、濃度変化方向データ１５１を更新する。
【００６１】
図５は、本実施の形態における線分データ１５２の一例を示す図である。
【００６２】
同図に示すように、線分データ１５２は、線分抽出部１３０が抽出した線分要素（ベクタデータ）ごとの情報を示すデータの集まりである。
【００６３】
具体的には、線分データ１５２は、線分要素を示す名称である「ベクタデータ」、線分要素の両端点の座標である「端点座標」、線分要素に含まれる非線分区間である「非線分区間」及び線分要素の線幅である「線幅」を含むデータの集まりである。
【００６４】
つまり、線分抽出部１３０は、濃度変化方向決定部１２０が決定した濃度変化方向を用いて線分要素を抽出し、抽出した線分要素をデータ記憶部１５０に記憶させることで、線分データ１５２を更新する。
【００６５】
次に、画像処理装置１００の動作について、説明する。
【００６６】
図６は、本実施の形態における画像処理装置１００の動作の一例を示すフローチャートである。
【００６７】
同図に示すように、まず、濃度変化方向決定部１２０は、処理単位ごとに濃度変化方向を決定する（Ｓ１０２）。ここでは、処理単位は１画素とし、濃度変化方向決定部１２０は、画素ごとに、濃度変化方向の決定を行う。なお、この濃度変化方向決定部１２０が濃度変化方向の決定を行う処理の詳細は、後述する。
【００６８】
そして、線分抽出部１３０は、濃度変化方向決定部１２０が決定した濃度変化方向を用いて、線分を抽出する（Ｓ１０４）。この線分抽出部１３０が線分を抽出する処理の詳細は、後述する。
【００６９】
そして、画像処理部１４０は、線分抽出部１３０の抽出結果に基づいて、画像データ１１１に修正を加える（Ｓ１０６）。
【００７０】
次に、濃度変化方向決定部１２０が濃度変化方向の決定を行う処理（図６のＳ１０２）の詳細について、説明する。
【００７１】
図７は、本実施の形態における濃度変化方向決定部１２０が濃度変化方向を決定する処理の一例を示すフローチャートである。
【００７２】
同図に示すように、まず、濃度変化方向決定部１２０に、原稿記憶部１１０に記憶されている画像データ１１１が入力される（Ｓ２０２）。ここでは、カラーの画像を有する画像データ１１１が入力されることとする。
【００７３】
そして、濃度変化方向決定部１２０は、画像データ１１１をグレースケールの画像データ（多値画像データ）に変換する（Ｓ２０４）。
【００７４】
次に、濃度変化方向決定部１２０は、変換された画像データ１１１の全ての画素について、以下の処理（Ｓ２０８〜Ｓ２１４）を、繰り返し行う（ループ１：Ｓ２０６〜Ｓ２１６）。
【００７５】
まず、濃度変化方向決定部１２０は、テンプレート型１次微分フィルタを適用して、濃度変化方向及び出力値を算出する（Ｓ２０８）。ここで、出力値とは、処理単位の画素の画素特性値の変化（濃淡変化）の大きさである。
【００７６】
図８は、本実施の形態における濃度変化方向決定部１２０が、各画素の濃度変化方向と出力値とを算出することを説明する図である。
【００７７】
具体的には、同図は、濃度変化方向と出力値とを算出する対象の画素である注目画素Ａに対する、Ｐｒｅｗｉｔｔオペレータのテンプレート型１次微分フィルタ適用結果を示している。
【００７８】
同図に示すように、濃度変化方向決定部１２０は、各方向の出力を算出し、そのうち最も出力の大きい方向を濃度変化方向として算出する。また、濃度変化方向決定部１２０は、当該濃度変化方向での出力値を算出する。
【００７９】
具体的には、濃度変化方向決定部１２０は、注目画素Ａとその周辺画素の画素値に、同図に示す係数を乗じ累積して得られた数値である出力を算出する。そして、濃度変化方向決定部１２０は、当該出力が最大になる方向を濃度変化方向として算出する。
【００８０】
同図では、濃度変化方向決定部１２０は、出力が「＋４００」で最大になる「右下」方向を濃度変化方向として算出し、「＋４００」を出力値として算出する。なお、同図では、各画素の画素値は、０〜２５５の値をとるとして、算出している。
【００８１】
このように、濃度変化方向は、８方向の各方向のうち、注目画素の濃淡の変化が最も大きい方向が示される。なお、テンプレート型１次微分フィルタの出力値は正負の値が出力されるが、濃度変化方向を濃淡値の大きい側から小さい側への方向に統一するため、正の方向に出力値が最大となる方向を採用する。
【００８２】
なお、テンプレート型１次微分フィルタには、Ｐｒｅｗｉｔｔの他に、Ｒｏｂｅｒｔｓ、Ｒｏｂｉｎｓｏｎ、Ｋｉｒｓｃｈ等のオペレータがあり、濃度変化方向決定部１２０は、演算量と精度を考慮して、最適なオペレータを選択し、出力値は最適に正規化することとする。
【００８３】
図７に戻り、濃度変化方向決定部１２０は、算出した出力値が所定の閾値未満か否かを判断する（Ｓ２１０）。
【００８４】
濃度変化方向決定部１２０は、算出した出力値が所定の閾値未満と判断した場合は（Ｓ２１０でＹＥＳ）、注目画素については、濃度変化方向が明確に定義できないノイズの可能性が高いので、濃度変化方向を持たない画素と決定する（Ｓ２１２）。例えば、濃度変化方向決定部１２０は、出力値の絶対値が５０未満であれば、当該画素の濃度変化方向をなしと決定する。
【００８５】
そして、濃度変化方向決定部１２０は、濃度変化方向なしとデータ記憶部１５０に記憶させることで、濃度変化方向データ１５１を更新する（Ｓ２１４）。
【００８６】
また、濃度変化方向決定部１２０は、算出した出力値が所定の閾値未満でないと判断した場合は（Ｓ２１０でＮＯ）、算出した濃度変化方向をデータ記憶部１５０に記憶させることで、濃度変化方向データ１５１を更新する（Ｓ２１４）。
【００８７】
以上の処理（Ｓ２０８〜Ｓ２１４）を、画像データ１１１の全ての画素について繰り返し行う（ループ１：Ｓ２０６〜Ｓ２１６）ことで、濃度変化方向決定部１２０が濃度変化方向を決定する処理（図６のＳ１０２）は終了する。
【００８８】
次に、線分抽出部１３０が線分を抽出する処理（図６のＳ１０４）の詳細について、説明する。
【００８９】
図９は、本実施の形態における線分抽出部１３０が線分を抽出する処理の一例を示すフローチャートである。
【００９０】
同図に示すように、線分抽出部１３０は、全ての処理単位対について、以下の処理（Ｓ３０２〜Ｓ３０６）を、繰り返し行う（ループ２：Ｓ３０１〜Ｓ３０７）。
【００９１】
まず、線分抽出部１３０は、処理単位対に含まれる一対の処理単位の濃度変化方向が同じ向きの処理単位対が第一閾値以上連続して濃度変化方向と垂直な方向に配置されているか否かを判断する（Ｓ３０２）。ここで、処理単位対とは、濃度変化方向が反対向きの一対の処理単位である。この線分抽出部１３０が、処理単位対が第一閾値以上連続して配置されているか否かを判断する処理について、以下に詳述する。
【００９２】
図１０〜図１１Ｃは、本実施の形態における線分抽出部１３０が、処理単位対が第一閾値以上連続して配置されているか否かを判断する処理を説明する図である。
【００９３】
図１０に示すように、注目画素の濃度変化方向と、その濃度変化方向に垂直方向に隣接する両側２画素の濃度変化方向との角度差に基づいて、周辺画素との濃度変化方向の揃い度合いを示す局所連結性の解析が行われる。
【００９４】
ここでは、注目画素の濃度変化方向に対して隣接する両側２画素の濃度変化方向との角度差がともに０度であるかどうか、つまり注目画素の濃度変化方向に対して隣接する両側２画素の濃度変化方向が、いずれも一致しているかどうかが判断される。なお、注目画素、または注目画素に隣接する両側２画素が、濃度変化方向を持たない画素として定義された画素であった場合、これらは無関心な空白領域と見なせるため、局所連結性の解析を行わず対象外とする。
【００９５】
その結果、注目画素と隣接する両側２画素との濃度変化方向の角度差がともに０度であれば、注目画素と隣接する両側２画素の計３画素が同じ濃度変化方向に連続しているため、注目画素は局所的な直線性画素であると判断できる。ただし、この局所連結性の解析は、あくまでも局所的に直線性を判断した結果であり、実際に罫線、枠線、下線等の線分でなくても、例えば、文字であっても局所的には直線性を持っている部分は多く存在する。従って、局所的な直線性画素が、第一閾値の画素数に達するまで、途切れることなく連続しているかどうかで線分要素かどうかを判断する。
【００９６】
図１１Ａは、画像データ１１１で示される読み取り画像の多値画像データにおける線分のイメージである。つまり、同図は、読み取り画像に表示された、右肩上がりの横方向の線分を示している。なお、読み取り画像のため、実際には各画素間で細かい濃淡の違いはあるが、図１１Ａでは、大まかな濃淡の違いを表現している。
【００９７】
なお、原稿上では縦、横方向に対して傾きのない線分であっても、スキャナが原稿を読み取る際に、原稿が傾いて置かれることにより、生成した画像データの線分に傾きが生じ、同図のように、横方向の線分が右肩上がりになることも想定される。また、同図では、表現の都合上、罫線、枠線、下線等の実際の線分と比べて、横方向に短い線分を示しているが、実際に検出すべき線分は、同図よりも横方向に長い線分であると想定される。
【００９８】
図１１Ｂは、図１１Ａに示された線分に対して濃度変化方向を算出した結果である。図１１Ｃは、図１１Ｂに対して局所連結性の解析を行った結果、同じ濃度変化方向が連続し、局所的な直線性があると判断された画素である。
【００９９】
図１１Ｂに示す通り、図１１Ａに示された線分は、線分の芯の部分（同図の濃い部分）に対して両側に、線分方向（同図の横方向）に対して垂直な方向（同図の縦方向）の濃度変化方向を持つ。これらの濃度変化方向を持つ画素は、線分方向に対の関係で連続して分布する。
【０１００】
同様に局所的な直線性画素も、図１１Ｃに示す通り、線分方向に対の関係で連続して抽出されることになる。従って、局所的な直線性画素群が、線分方向に対の関係で第一閾値の画素数以上連結して存在していれば、それらの画素群を線分要素と判断することができる。ここで、第一閾値の値は特に限定されないが、例えば５画素である。
【０１０１】
つまり、図１１Ｃの場合、局所的な直線性画素群が、線分方向に対の関係で５画素以上連結しているので、線分要素と判断できる。このようにして、読み取り画像の多値画像データの局所連結性の結果を基に、線分要素を全て抽出する。
【０１０２】
そして、図９に戻り、線分抽出部１３０は、処理単位対が第一閾値以上連続して配置されていないと判断した場合は（Ｓ３０２でＮＯ）、当該処理単位対についての処理は行わず、別の未参照の処理単位対を参照して、全ての処理単位対が判断されるまで、同様の処理が繰り返される。
【０１０３】
また、線分抽出部１３０は、処理単位対が第一閾値以上連続して配置されていると判断した場合は（Ｓ３０２でＹＥＳ）、処理単位対に含まれる一対の処理単位間の距離である処理単位間距離が第二閾値以下であるか否かを判断する（Ｓ３０４）。
【０１０４】
そして、線分抽出部１３０は、当該処理単位間距離が第二閾値よりも大きいと判断した場合は（Ｓ３０４でＮＯ）、当該処理単位対についての処理は行わず、別の未参照の処理単位対を参照して、全ての処理単位対が判断されるまで、同様の処理が繰り返される。
【０１０５】
つまり、処理単位対の幅である処理単位間距離が所定の第二閾値よりも大きければ、線分ではなく図形の可能性が高いため、線分要素から除外する。ここで、第二閾値の値は特に限定されないが、例えば１０画素など、抽出したい線分の線幅に対応した画素数によって決定されるのが好ましい。
【０１０６】
そして、線分抽出部１３０は、当該処理単位間距離が第二閾値以下であると判断した場合は（Ｓ３０４でＹＥＳ）、抽出した線分要素のベクタデータ化を行う（Ｓ３０６）。また、線分抽出部１３０は、このベクタデータ化の結果を、データ記憶部１５０に記憶させることで、線分データ１５２を更新する。
【０１０７】
具体的には、線分抽出部１３０は、処理単位対群の両端に配置される一対の処理単位間の距離が最大の処理単位対のうち、一方の処理単位対に含まれる２つの処理単位の中間位置と、他方の処理単位対に含まれる２つの処理単位の中間位置とを処理単位対群の両端点と算出する。また、線分抽出部１３０は、処理単位対群の両端点の中間位置から濃度変化方向に配置される一対の処理単位間の距離が最大の処理単位対の当該処理単位間の距離を、処理単位対群の線幅と算出する。この線分抽出部１３０がベクタデータ化を行う処理について、以下にさらに具体的に説明する。
【０１０８】
図１２Ａ及び図１２Ｂは、本実施の形態における線分抽出部１３０がベクタデータ化を行う処理を説明する図である。
【０１０９】
線分抽出部１３０は、抽出した線分要素に対して、罫線、枠線、下線等の線分に該当するかどうかを判断するために、線分要素と判断された画素群の情報をベクタデータ化する。ベクタデータ化される情報は、線分要素の２つの端点座標と線幅である。
【０１１０】
ベクタデータとして扱う２つの端点座標の算出方法を図１２Ａを用いて説明する。画像データ１１１で示される読み取り画像の多値画像データのＸＹ座標平面において、同図に示すように、右方向をＸ軸の正の方向、左方向をＸ軸の負の方向、下方向をＹ軸の正の方向、上方向をＹ軸の負の方向とする。そして、同図はＸ軸方向の線分要素であるので、Ｙ軸の正の方向と負の方向の濃度変化方向を持つ画素群が対の関係でＸ軸方向に分布している。
【０１１１】
まず、線分抽出部１３０は、Ｙ軸負方向の濃度変化方向を持つ連結画素群内で最小のＸ座標Ｘ１ｍｉｎとそのＸ座標上での連結画素群の最小のＹ座標Ｙｍｉｎ（Ｘ１ｍｉｎ）を算出し、これを座標Ａ１（Ｘ１ｍｉｎ、Ｙｍｉｎ（Ｘ１ｍｉｎ））とする。
【０１１２】
また、線分抽出部１３０は、Ｙ軸正方向の濃度変化方向を持つ連結画素群内の最小Ｘ座標Ｘ２ｍｉｎとそのＸ座標上での連結画素群内の最大Ｙ座標Ｙｍａｘ（Ｘ２ｍｉｎ）を算出し、これを座標Ａ２（Ｘ２ｍｉｎ、Ｙｍａｘ（Ｘ２ｍｉｎ））とする。
【０１１３】
また、線分抽出部１３０は、Ｙ軸負方向の濃度変化方向を持つ連結画素群内の最大Ｘ座標Ｘ１ｍａｘとそのＸ座標上での連結画素群内の最小Ｙ座標Ｙｍｉｎ（Ｘ１ｍａｘ）を算出し、座標Ｂ１（Ｘ１ｍａｘ、Ｙｍｉｎ（Ｘ１ｍａｘ））とする。
【０１１４】
また、線分抽出部１３０は、Ｙ軸正方向の濃度変化方向を持つ連結画素群内の最大Ｘ座標Ｘ２ｍａｘとそのＸ座標上での連結画素群内の最大Ｙ座標Ｙｍａｘ（Ｘ２ｍａｘ）を算出し、座標Ｂ２（Ｘ２ｍａｘ、Ｙｍａｘ（Ｘ２ｍａｘ））とする。
【０１１５】
そして、線分抽出部１３０は、座標Ａ１と座標Ａ２との中点を端点Ａと算出し、座標Ｂ１と座標Ｂ２との中点を端点Ｂと算出することで、同図に示された線分要素の２つの端点Ａ、Ｂの座標を近似的に算出する。
【０１１６】
次に、線分抽出部１３０がベクタデータとして扱う線幅を算出する方法を、図１２Ｂを用いて説明する。
【０１１７】
同図に示す通り、線分抽出部１３０は、算出した２つの端点Ａ、Ｂの中点ＡＢ（ＸＡＢ、ＹＡＢ））を算出する。そして、線分抽出部１３０は、中点ＡＢのＸ軸座標上において、Ｙ軸負方向の濃度変化方向を持つ連結画素群内の最小Ｙ座標Ｙｍｉｎ（ＸＡＢ）を算出し、座標Ｐ（ＸＡＢ、Ｙｍｉｎ（ＸＡＢ））とする。また、線分抽出部１３０は、中点ＡＢのＸ軸座標上において、Ｙ軸正方向の濃度変化方向を持つ連結画素群内の最大Ｙ座標Ｙｍａｘ（ＸＡＢ）を算出し、座標Ｑ（ＸＡＢ、Ｙｍａｘ（ＸＡＢ））とする。
【０１１８】
そして、線分抽出部１３０は、算出した２点ＰＱ間の距離として、Ｙｍａｘ（ＸＡＢ）−Ｙｍｉｎ（ＸＡＢ）を算出することによって、同図に示された線分要素の線幅を近似的に算出する。なお、端点ではなく２つの端点の中点において線幅を算出するのは、端点付近は線幅が細くなっていることが多いためである。
【０１１９】
なお、上記では、Ｘ軸方向（横方向）の線分要素について説明を行ったが、Ｙ軸方向（縦方向）の線分要素の場合は、線分抽出部１３０は、以上の処理でＸ軸方向とＹ軸方向とを逆にして実施する。
【０１２０】
このように、以上の処理（Ｓ３０２〜Ｓ３０６）が、全ての処理単位対について繰り返し行われる（ループ２：Ｓ３０１〜Ｓ３０７）ことで、読み取り画像の多値画像データに含まれる各線分要素に対応して、ベクタデータが算出される。
【０１２１】
次に、図９に戻り、線分抽出部１３０は、算出した全てのベクタデータについて、以下の処理（Ｓ３１０〜Ｓ３２０）を、繰り返し行う（ループ３：Ｓ３０８〜Ｓ３２２）。
【０１２２】
まず、線分抽出部１３０は、濃度変化方向と垂直な方向に連続して配置されている複数の処理単位対を処理単位対群とし、互いの端点の距離が第四閾値以内に配置されている２つの処理単位対群があるか否かを判断する（Ｓ３１０）。
【０１２３】
そして、線分抽出部１３０は、端点の距離が第四閾値以内に配置されている２つの処理単位対群があると判断した場合は（Ｓ３１０でＹＥＳ）、当該２つの処理単位対群は、濃度変化方向と垂直な方向の傾きの不一致度合いが第五閾値以内であるか否かを判断する（Ｓ３１２）。
【０１２４】
そして、線分抽出部１３０は、当該２つの処理単位対群の傾きの不一致度合いが第五閾値以内であると判断した場合（Ｓ３１２でＹＥＳ）、当該２つの処理単位対群をグループ化して、線分データ１５２を更新する（Ｓ３１４）。そして、線分抽出部１３０は、グループ化された２つの処理単位対群を新たな１つの処理単位対群として、再度、グループ化の処理（Ｓ３１０〜Ｓ３１４）を行う。
【０１２５】
具体的には、線分抽出部１３０は、一の処理単位対群の端点と他の処理単位対群の端点との距離が第四閾値以内に配置され、かつ一の処理単位対群の両端点を結ぶ線分の傾きと第四閾値以内の距離に配置されていない一の処理単位対群の端点と他の処理単位対群の端点とを結ぶ線分の傾きとの差が第五閾値以内の場合に、一の処理単位対群と他の処理単位対群とを含む処理単位群を生成する。
【０１２６】
この線分抽出部１３０が線分要素をグループ化するさらに具体的な処理について、以下に説明する。
【０１２７】
図１３Ａ及び図１３Ｂは、本実施の形態における線分抽出部１３０が線分要素をグループ化する処理を説明する図である。
【０１２８】
線分抽出部１３０は、線分要素のベクタデータ化が完了すれば、線分データ１５２を参照し、ベクタデータ同士をグループ化できるか否かを判断する。まず、線分抽出部１３０は、参照中のベクタデータの２つの端点それぞれについて、端点から第四閾値の距離範囲内に端点を持つ別の未参照のベクタデータの有無を判断する。その結果、第四閾値の距離範囲内に端点を持つ別のベクタデータが存在する場合は、線分抽出部１３０は、参照中のベクタデータと別のベクタデータに関して、同一直線上に存在するか否かを判断する。線分抽出部１３０は、その判断結果によって、ベクタデータ同士をグループ化する。
【０１２９】
まず、図１３Ａに示すように、端点Ａ（Ｘ１、Ｙ１）とＢ（Ｘ２、Ｙ２）とを持つベクタデータＡＢ、端点Ｃ（Ｘ３、Ｙ３）とＤ（Ｘ４、Ｙ４）とを持つベクタデータＣＤ、及び端点Ｅ（Ｘ５、Ｙ５）とＦ（Ｘ６、Ｙ６）とを持つベクタデータＥＦの３つのベクタデータが存在することとする。
【０１３０】
ここで、線分抽出部１３０が参照中のベクタデータをＡＢとする。この場合、線分抽出部１３０は、端点Ａ、Ｂそれぞれについて、当該端点から第四閾値の距離範囲内に端点を持つ別の未参照のベクタデータの有無を判断する。なお、第四閾値については特に限定されないが、線分要素は文字によって途切れていることが考えられるため、第四閾値は、文字の線幅相当の距離であることが好ましい。
【０１３１】
そして、線分抽出部１３０は、端点Ａについては該当するベクタデータが存在しないと判断する。また、線分抽出部１３０は、端点Ｂについては端点Ｂから第四閾値の距離範囲内に端点Ｃを持つベクタデータＣＤと、端点Ｅを持つベクタデータＥＦとの２つの該当するベクタデータが存在すると判断する。
【０１３２】
そして、次に、線分抽出部１３０は、ベクタデータＡＢとベクタデータＣＤとが同一直線上に存在するか否か、及びベクタデータＡＢとベクタデータＥＦとが同一直線上に存在するか否かを判断する。
【０１３３】
具体的には、線分抽出部１３０は、ベクタデータＡＢとベクタデータＣＤについて、参照中のベクタデータＡＢの傾きと、ベクタデータ間で第四閾値の距離範囲内で近接しない側の端点同士である端点Ａと端点Ｄとを結ぶ仮想直線の傾きとを比較し、当該傾きの差が第五閾値以内であるか否かを判断する。これらの傾きは、２つの端点のＸ座標間の距離とＹ座標間の距離の比率を求めることで、近似的に算出できる。
【０１３４】
その結果、線分抽出部１３０は、ベクタデータＡＢとベクタデータＣＤの両者の傾きの差は、第五閾値以内であると判断し、ベクタデータＡＢとベクタデータＣＤは同一直線上に存在すると判断する。なお、第五閾値の値は特に限定されず、２つのベクタデータが同一直線上に存在すると判断できる数値であればよい。
【０１３５】
次に、線分抽出部１３０は、ベクタデータＡＢとベクタデータＥＦについて、参照中のベクタデータＡＢの傾きと、ベクタデータ間で第四閾値の距離範囲内で近接しない側の端点同士である端点Ａと端点Ｆとを結ぶ仮想直線の傾きとを比較し、当該傾きの差が第五閾値以内であるか否かを判断する。その結果、線分抽出部１３０は、ベクタデータＡＢとベクタデータＥＦの両者の傾きの差は、第五閾値よりも大きいと判断し、ベクタデータＡＢとベクタデータＥＦは同一直線上に存在しないと判断する。ただし、これらの傾きの不一致度合いの判断には、量子化または誤差を考慮した範囲で値に幅を持たせるのが好ましい。
【０１３６】
線分抽出部１３０は、このような方法で、参照中のベクタデータと他方のベクタデータに関して、同一直線上に存在するか否かを判断し、ベクタデータ同士を同一直線と見なしてグループ化して、ベクタデータを更新する。
【０１３７】
従って、互いの端点間の距離が第四閾値以内に配置されている２つの処理単位対群であり、当該２つの処理単位対群において、濃度変化方向と垂直な方向の傾きがほぼ一致していても、当該２つの処理単位対群が、罫線のように互いに平行な線分の場合は、ベクタデータ同士がグループ化されないことになる。
【０１３８】
図１３Ｂに示す通り、線分抽出部１３０は、ベクタデータＡＢとベクタデータＣＤとをグループ化して、端点Ａ（Ｘ１、Ｙ１）と端点Ｄ（Ｘ４、Ｙ４）とを持つ新しいベクタデータＡＤとして更新する。そして、線分抽出部１３０は、更新したベクタデータをデータ記憶部１５０に記憶させることで、線分データ１５２を更新する。
【０１３９】
ここで、線分抽出部１３０は、第四閾値以内に配置される一の処理単位対群の端点と他の処理単位対群の端点とを結ぶ区間を非線分区間として定義し、線分データ１５２に書き込む。つまり、線分抽出部１３０は、新しいベクタデータＡＤについて、ベクタデータＡＢの端点Ｂと、ベクタデータＣＤの端点Ｃとの間は、線分が存在しないので、非線分区間ＢＣとして、線分データ１５２の「非線分区間」に、「（Ｘ２、Ｙ２）−（Ｘ３、Ｙ３）」を書き込む。
【０１４０】
また、ベクタデータＡＢとベクタデータＣＤの線幅はともに「５」であったので、ベクタデータＡＤの線幅も「５」として、線分データ１５２の「線幅」に書き込む。なお、ベクタデータＡＢの線幅とベクタデータＣＤの線幅とが異なる場合は、それぞれの値をベクタデータＡＤの線幅として線分データ１５２に書き込んでもよいし、ベクタデータＡＢの線幅とベクタデータＣＤの線幅との平均値をベクタデータＡＤの線幅として線分データ１５２に書き込んでもよい。
【０１４１】
以上のように、参照中のベクタデータが別のベクタデータとグループ化され、ベクタデータが更新されれば、新しいベクタデータとして、再度、２つの端点それぞれについて、端点から第四閾値の距離範囲内に端点を持つ別の未参照のベクタデータの有無が判断される。以降は、同様に処理を繰り返す。
【０１４２】
そして、図９に戻り、線分抽出部１３０は、端点の距離が第四閾値以内に配置されている２つの処理単位対群がないと判断した場合（Ｓ３１０でＮＯ）、または、当該２つの処理単位対群の傾きの不一致度合いが第五閾値よりも大きいと判断した場合（Ｓ３１２でＮＯ）、処理単位群の濃度変化方向と垂直な方向の長さが第三閾値以上か否かを判断する（Ｓ３１６）。
【０１４３】
つまり、グループ化された処理単位対群を処理単位群とし、当該処理単位群のベクタデータ長が第三閾値以上か否かが判断される。ここで、線分抽出部１３０は、当該処理単位群のベクタデータの２つの端点間の距離を求めることで、ベクタデータ長を近似的に算出する。なお、第三閾値は特に限定されないが、線分として有効であると判断することができる長さを示す値であるのが好ましい。
【０１４４】
そして、線分抽出部１３０は、当該ベクタデータ長が第三閾値以上であると判断した場合（Ｓ３１６でＹＥＳ）、端点座標と非線分区間と線幅とを処理単位群に関連付けて処理単位群を生成し、当該処理単位群を線分として抽出する（Ｓ３１８）。つまり、ベクタデータ長が第三閾値以上であった場合、線分抽出部１３０は、ベクタデータが罫線、枠線、下線等に相当するだけの長さを持っていると見なせるため、線分として有効であると判断して、ベクタデータを線分情報として確定する。
【０１４５】
読み取り画像の多値画像データには、罫線、枠線、下線等に相当するだけの長さを持つ線分であったとしても、文字または別の線分が重なることにより、途切れて十分な長さを持たない線分のベクタデータが存在している場合がある。しかし、このような線分であっても、前段の処理で別の線分に対して、同一直線上にあると見なせる場合は、同じ線分としてグループ化されているために、この段階ではベクタデータ長が所定値以上になっており、線分として有効であると判断される。
【０１４６】
また、線分抽出部１３０は、当該ベクタデータ長が第三閾値未満であると判断した場合（Ｓ３１６でＮＯ）、当該ベクタデータを線分データ１５２から消去する（Ｓ３２０）。つまり、線分抽出部１３０は、ベクタデータが罫線、枠線、下線等に相当するだけの長さを持っていない場合は、線分として無効であると判断して、ベクタデータを消去する。
【０１４７】
このように、以上の処理（Ｓ３１０〜Ｓ３２０）が、全てのベクタデータについて繰り返し行われる（ループ３：Ｓ３０８〜Ｓ３２２）ことで、全てのベクタデータについてグループ化処理が行われ、線分が抽出される。
【０１４８】
そして、全てのベクタデータについての処理が完了すれば、確定した線分情報が得られる。線分情報は、ベクタデータの形式で線分データ１５２に保存されており、端点座標、非線分区間の両端の座標、線幅の情報が含まれる。なお、非線分区間は複数含まれる可能性がある。
【０１４９】
以上により、線分抽出部１３０が線分を抽出する処理（図６のＳ１０４）は、終了する。
【０１５０】
また、線分抽出部１３０が抽出した線分情報を画像認識に利用する際は、必要に応じて、ベクタデータをラスタデータ化して用いる。つまり、画像処理部１４０は、端点座標を結ぶ線幅１の線分のうち、非線分区間を除いた部分について、線幅の画素数だけ膨張させて、近似的に、読み取り画像における罫線、枠線、下線等の線分部分に相当する情報を生成することができる。
【０１５１】
従って、光学文字認識（ＯＣＲ）または像域分離等の画像認識を行う際に、認識対象の文字等が、罫線、枠線、下線等の線分と重なった場合でも、当該重なった部分は非線分区間となるため文字の一部を消去することなく、文字認識の妨げとなる線分のみを消去することができる。また、罫線、枠線、下線等の線分に対して、垂直または水平方向に別の罫線、枠線、下線等の線分が重なった場合は、文字の場合とは異なり、いずれの線分も消去することができる。本発明により、線分検出の精度が向上し、結果的に文字認識の精度を向上させることができる。
【０１５２】
以上のように、本発明に係る画像処理装置によれば、処理単位ごとに濃度変化方向を決定し、濃度変化方向と垂直な方向に連続して配置されている複数の処理単位対を含む処理単位群を線分として抽出する。つまり、処理単位ごとの濃度変化方向の並びから、線分を抽出する。このため、定型のフォーマットではない印刷物に記入された原稿の場合、または当該フォーマットが予め存在しない場合でも、線分を抽出することができる。また、２つの罫線が交差している場合でも、当該２つの罫線を線分として抽出することができる。これらにより、精度良く線分を抽出することができる。
【０１５３】
また、テンプレート型１次微分フィルタを適用して、濃度変化方向を決定する。ここで、このテンプレート型１次微分フィルタを適用することで、大きな容量のメモリを必要とせず、また、多くの演算を必要とせずに、濃度変化方向を精度良く算出することができる。このため、メモリの容量を低減し、かつ、演算量を低減しつつ、精度良く線分を抽出することができる。
【０１５４】
また、濃度変化方向が同じ向きの処理単位対が第一閾値以上連続して濃度変化方向と垂直な方向に配置されている場合に、処理単位群を線分として抽出する。つまり、処理単位対が所定の数連続して配置されていなければ、当該処理単位対からなる処理単位対群は、線分を構成する要素として認められないため、除外する。このように、線分を構成する要素として扱うか否かを判別することで、精度良く線分を抽出することができる。
【０１５５】
また、一対の処理単位間の距離が第二閾値以下である場合に、処理単位群を線分として抽出する。つまり、処理単位間の距離が所定の長さよりも大きければ、当該処理単位から構成される処理単位対群は線分として扱う線幅を超えているため、線分からは除外する。このように、線分として扱うか否かを判別することで、精度良く線分を抽出することができる。
【０１５６】
また、処理単位群の長さが第三閾値以上である場合に、処理単位群を線分として抽出する。つまり、処理単位群が所定の長さ以上でなければ、当該処理単位群は線分として扱う長さを有していないため、線分からは除外する。このように、線分として扱うか否かを判別することで、精度良く線分を抽出することができる。
【０１５７】
また、端点の距離が第四閾値以内に配置され、かつ傾きの不一致度合いが第五閾値以内の２つの処理単位対群をグループ化して処理単位群を生成する。つまり、傾きが同等で近傍に配置された２つの線分要素を結合して、線分として扱うことができる処理単位群を生成する。これにより、線分が点線である、または文字によって途中で切れている場合であっても、精度良く線分を抽出することができる。
【０１５８】
また、２つの処理単位対群の端点を決定し、当該端点の配置から、一方の処理単位対群の端点と他方の処理単位対群の端点との距離と、２つの処理単位対群の傾きの不一致度合いとを算出し、２つ処理単位対群をグループ化して処理単位群を生成する。これにより、容易に、２つ処理単位対群をグループ化して処理単位群を生成することができる。
【０１５９】
また、処理単位対群の線幅を算出して、処理単位群に関連付けて、処理単位群を生成する。つまり、線分として抽出される処理単位群を示す情報には、線幅の情報が含まれる。このため、例えば当該処理単位群で示される線分を削除する場合に、線幅の情報を参照して、削除の幅を定めることができる。このように、以降の画像処理に必要な情報が関連付けられた処理単位群を生成することができる。
【０１６０】
また、非線分区間を処理単位群に関連付けて、処理単位群を生成する。つまり、線分として抽出される処理単位群を示す情報には、非線分区間の情報が含まれる。このため、例えば当該処理単位群で示される線分を削除する場合であって、当該線分と文字とが交差している場合には、交差している文字部分を非線分区間として、当該文字部分が削除されるのを防ぐことができる。このように、以降の画像処理に必要な情報が関連付けられた処理単位群を生成することができる。
【０１６１】
また、本発明は、このような画像処理装置として実現できるだけでなく、画像処理装置が備える特徴的な処理部のそれぞれの動作をステップとする方法として実現することもでき、また、本発明は、各処理部の処理を行う集積回路として実現することもできる。さらに、本発明は、コンピュータに上記各ステップを実行させるためのプログラムとして実現することもできる。そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体又はインターネット等の伝送媒体を介して配信することもできる。また、本発明は、このような画像処理装置を内蔵するネットワーク複合機として実現することもできる。
【０１６２】
以上、本発明に係る画像処理装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。
【０１６３】
つまり、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【０１６４】
例えば、本実施の形態では、画像処理装置１００は、原稿記憶部１１０、濃度変化方向決定部１２０、線分抽出部１３０、画像処理部１４０及びデータ記憶部１５０を備えていることとした。しかし、画像処理装置１００は、濃度変化方向決定部１２０と線分抽出部１３０とを備えていればよく、この構成により精度良く線分を抽出することができる。
【０１６５】
また、本実施の形態では、画像処理装置１００は、ネットワーク複合機に内蔵された装置であることとした。しかし、画像処理装置１００は、コピー機またはファクシミリ通信機などに内蔵されていてもよく、また、単独の装置として構成されていてもよい。
【０１６６】
また、本実施の形態では、線分抽出部１３０は、第一閾値〜第五閾値の閾値を用いて、抽出する線分として扱うか否かを判別することとした。しかし、線分抽出部１３０は、いずれかの閾値を用いないこととしてもよく、また閾値による判断を行わないことにしてもよい。
【産業上の利用可能性】
【０１６７】
本発明は、精度良く線分を抽出することができる画像処理装置または当該画像処理装置を内蔵したネットワーク複合機等として利用することができる。
【符号の説明】
【０１６８】
１、２  ネットワーク複合機
３、４  端末装置
５  ＰＳＴＮ
６  ＬＡＮ
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  モデム
１４  ＮＣＵ
１５  操作パネル
１６  ディスプレイ
１７  スキャナ
１８  プリンタ
１９  ＬＡＮＩ／Ｆ
２０  制御プログラム
１００  画像処理装置
１１０  原稿記憶部
１１１  画像データ
１２０  濃度変化方向決定部
１３０  線分抽出部
１４０  画像処理部
１５０  データ記憶部
１５１  濃度変化方向データ
１５２  線分データ
【図１】
0005724454.tif 000002
【図２】
0005724454.tif 000003
【図３】
0005724454.tif 000004
【図４】
0005724454.tif 000005
【図５】
0005724454.tif 000006
【図６】
0005724454.tif 000007
【図７】
0005724454.tif 000008
【図８】
0005724454.tif 000009
【図９】
0005724454.tif 000010
【図１０】
0005724454.tif 000011
【図１１Ａ】
0005724454.tif 000012
【図１１Ｂ】
0005724454.tif 000013
【図１１Ｃ】
0005724454.tif 000014
【図１２Ａ】
0005724454.tif 000015
【図１２Ｂ】
0005724454.tif 000016
【図１３Ａ】
0005724454.tif 000017
【図１３Ｂ】
0005724454.tif 000018