(57)【特許請求の範囲】
【請求項１】
パラメータ算出手段と領域選択処理手段と線分抽出手段とを有する線分抽出装置を用いて、画像を構成する点列の処理対象点を中心とした所定の処理領域を設定して、その処理領域内の点列をハフ変換することで、その処理対象点を通る線分を求める線分抽出方法であって、
前記パラメータ算出手段により、前記処理対象点近傍の点列で形成される曲線の滑らかさを表すパラメータを求めるパラメータ算出ステップと、
前記領域選択処理手段により、前記パラメータを基に前記処理対象点近傍の曲線の滑らかさを判断して、ハフ変換を行う領域の広さを前記処理対象点近傍の曲線の滑らかさに応じて選択する領域選択処理ステップと、
前記線分抽出手段により、選択された領域内の点列をハフ変換することで線分抽出する線分抽出ステップとを有することを特徴とする線分抽出方法。
【請求項２】
前記処理対象点近傍の曲線の滑らかさを判断して、領域の広さを選択する処理は、ハフ変換を行うべき領域として、処理対象点を中心とした何種類かの広さを持つ領域を用意しておき、各領域ごとにそれぞれの領域内の曲線の滑らかさを求めて、それぞれの領域における滑らかさと処理対象点部分の滑らかさとを比較して、処理対象点部分の滑らかさに対して最も差の小さい滑らかさを有する領域を選択することを特徴とする請求項１記載の線分抽出方法。
【請求項３】
前記処理対象点近傍の曲線の滑らかさを判断して、領域の広さを選択する処理は、ハフ変換を行うべき領域として、処理対象点を中心とした何種類かの広さを有する領域を用意しておき、処理対象領域内に曲線の変曲点が有るか否かを判断して、変曲点を含む領域は処理対象から除外し、それ以外のそれぞれの領域ごとに、それぞれの領域内の曲線の滑らかさを求め、それぞれの領域内の平均の滑らかさと処理対象点部分の滑らかさとを比較して、処理対象点部分の滑らかさに対して最も差の小さい滑らかさを有する領域を選択することを特徴とする請求項１記載の線分抽出方法。
【請求項４】
前記処理領域の選択後に行われるハフ変換は、処理対象点を平面座標の原点として行われるハフ変換であることを特徴とする請求項１〜３のいずれかに記載の線分抽出方法。
【請求項５】
画像を構成する点列の処理対象点を中心とした所定の処理領域を設定して、その処理領域内の点列をハフ変換することで、その処理対象点を通る線分を求める線分抽出装置において、
前記処理対象点近傍の点列で形成される曲線の滑らかさを表すパラメータを求めるパラメータ算出手段と、
これにより求められたパラメータを基に前記処理対象点近傍の曲線の滑らかさを判断して、ハフ変換を行う領域の広さを選択する領域選択処理手段と、
この領域選択処理手段により選択された領域内の点列をハフ変換することで線分抽出する線分抽出手段とを有することを特徴とする線分抽出装置。
【請求項６】
パラメータ算出手段と領域選択処理手段と線分抽出手段とを有し、画像を構成する点列の処理対象点を中心とした所定の処理領域を設定して、その処理領域内の点列をハフ変換することで、その処理対象点を通る線分を求める線分抽出装置に、
前記処理対象点近傍の点列で形成される曲線の滑らかさを表すパラメータを求めるパラメータ算出ステップと、
そのパラメータを基に前記処理対象点近傍の曲線の滑らかさを判断して、ハフ変換を行う領域の広さを前記処理対象点近傍の曲線の滑らかさに応じて選択する領域選択処理ステップと、
選択された領域内の点列をハフ変換することで線分抽出する線分抽出ステップとを実行させる手順が記録されていることを特徴とする線分抽出処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文字や図形などの画像上の或る点を通る線分を抽出する線分抽出方法、線分抽出装置および線分抽出処理プログラムに関する。
【０００２】
【従来の技術】
文字や図形などの画像から、たとえば、文字のストロークなどの線分あるいは図形の輪郭線上における接線、法線などを求めることが画像処理を行う上で頻繁に行われる。このように多数の点列から或る線分を抽出することは、画像処理装置において基本的な機能の１つである。
【０００３】
その代表的な例として、輪郭線上の各点について、その法線方向を決定する処理がある。この法線方向を決める方法の従来例について以下に説明する。
【０００４】
まず、電子化したデジタル画像である図形を２値化して、画素の連結状態を調べることで、図形の輪郭線を抽出する。この抽出された画像は、デジタル画像であるため、凹凸が大きく、この状態のまま各種の処理を行うと、誤差が生ずるので、輪郭線自体の平滑化を行う。輪郭線を抽出する前に、元の図形画像自身をフィルタなどで平滑化することも有効な手段であるが、それだけでは抽出した輪郭線を十分滑らかにすることは難しいので、輪郭線自体の平滑化は必要である。この輪郭線自体の平滑化は、たとえば、輪郭線上の或る点を中心に設定した枠内でガウスフィルタなどをかけるなどして行うことができる。
【０００５】
次に、このようにして平滑化された輪郭線から、法線方向を決定する方法を、以下に示す幾つかの例を参照しながら説明する。
【０００６】
図７に示すように、輪郭線Ｌ１上に、隣接する３つの点ｐ１，ｐ２，ｐ３がある。これら３つの点の法線方向を図のように求める場合、まず、輪郭線Ｌ１上における各点の接線を求め、その点の傾きに対し、９０度（または逆向きに９０度）方向を法線とする。したがって、法線方向を求めるためには、輪郭線上で各点の接線の傾きを求めることが重要な課題となる。
【０００７】
この接線の傾きを求める最も簡単な方法としては、隣接する点の座標を用いて、座標値の差分から接線の傾きを求める方法がある。たとえば、図７における点ｐ２の接線の傾きは、点ｐ２の座標を（ｘ２，ｙ２）、点ｐ３の座標を（ｘ３，ｙ３）とした場合、
（ｙ３−ｙ２）／（ｘ３−ｘ２）・・・（１）
で求めることができる。
【０００８】
しかし、この座標の差分から接線の傾きを求めて接線を特定する方法は、円などの輪郭線の形状が簡単な図形や、輪郭線が非常に滑らかな場合（隣接する点列の並び方が或る点の近傍で大きく異ならない）図形に対しては、精度よく接線を抽出することができるが、輪郭線の形状が複雑な場合には、高精度に接線を抽出することはできなかった。
【０００９】
このような座標値の差分から接線の傾きを求めて接線を抽出する方法（第１の従来例という）以外に、ハフ変換を用いて接線を抽出する方法（第２の従来例という）がある。このハフ変換は、幾つかの点が線状に分布している場合、近似直線を精度よく推定する方法として知られている。そこで、輪郭線上で各点を中心とする或る範囲内に存在するすべての点を候補として、これらの点を最も良い精度で通る直線を求めることで、接線を抽出することができる。
【００１０】
しかし、ハフ変換は、すべての候補点について極座標に変換した計算を行った上で、どの直線が適切なのかを判断するため、前記した差分を用いた場合に比べて非常に多くの時間を要するという問題があった。特に図形が大きく、輪郭線の長さが長い場合には、莫大な計算時間を要する。
【００１１】
このように、ハフ変換は直線検出の精度は高いが、計算に多くの時間を要するという問題がある。
【００１２】
これに対処するための技術として、画像上の或る点を通る直線を抽出する場合、その点を原点にしたハフ変換を行うことによって、直線を抽出する方法（第３の従来例という）が提案されている。これによれば、ハフ変換が本来持っている高い直線検出能力を損なうことなく、少ない計算時間で線分を特定することができる。以下、この第３の従来例について説明する。まず、ハフ変換の基本的な原理について説明する。
【００１３】
図８は、ハフ変換の原理を説明する図であり、Ｘ−Ｙ平面座標上に、点ｐ１１，ｐ１２，・・・，ｐ１７が線状に分布している。今、点ｐ１１，ｐ１２，・・・，ｐ１７を直線近似し、その直線をＬ１１とする。そして、原点ｏから直線Ｌ１１に下ろした垂線の足をＨ、ＯＨ＝ρ、ＯＨとＸ軸のなす角度をθ、Ｈの座標を（ｘ，ｙ）とすると、直線Ｌ１１は次のように極座標で表現できる。
【００１４】
ρ＝ｘcosθ＋ysinθ・・・（２）
そこで、ρ、θを変数とした場合、ある点（ｘ，ｙ）を通るすべての直線式は、前記（２）式で表現できる。
【００１５】
図９は、Ｘ−Ｙ平面座標上における或る１つの点を通る多数の直線（直線群）をρ−θ平面座標上で示した図である。このように、ρ−θ平面座標上では、ある１つの点を通る直線群は、一本の曲線として表現できる。つまり、Ｘ−Ｙ平面座標上における或る１つの点を通る直線群において、それぞれの直線のとるθとρの関係を表したものが図９であり、ρ、θが一意に決まれば、一本の直線が特定される。
【００１６】
図１０は、複数の候補点それぞれに対する直線群をρ−θ平面座標上で示した図であり、たとえば、図８に示した点ｐ１１，ｐ１２．・・・，ｐ１７について、（２）式によって、図９のように曲線を求めた例である。
【００１７】
図１０において、たとえば、曲線ｗ１は図８における点Ｐ１１を通る直線群を表し、曲線ｗ２は点Ｐ１２を通る直線群を表し、曲線ｗ３は点Ｐ１３を通る直線群を表し、曲線ｗ４は点Ｐ１４を通る直線群を表し、曲線ｗ５は点Ｐ１５を通る直線群を表し、曲線ｗ６は点Ｐ１６を通る直線群を表し、曲線ｗ７は点ｐ１７を通る直線群を表している。そして、すべての点に対して、最も適切な直線は、曲線ｗ１からｗ７が最も多く交差している点Ｑ（ρ０，θ０）により特定される直線、
ρ０＝ｘcosθ０＋ysinθ０・・・（３）
である。
【００１８】
図１１は、デジタル画像において、すべての候補点に対して、最も適切な直線を決定する方法を説明する図である。デジタル画像では、その離散的な値の性質のため、ρ、θともに連続値として扱うことはできないので、同図のように、ρ−θ平面座標を等間隔のメッシュで分割して、曲線の交差回数を各メッシュ内で数えるようにする。たとえば、メッシュｍ３５では交差回数は４であり、図１１における全てのメッシュの中では交差回数が最も多いので、θ＝３、ρ＝５である直線が検出された直線となる。
【００１９】
ハフ変換は、候補点が不連続で、かなりばらつきを持っていても、比較的安定して直線を抽出できる雑音にきわめて強い手法である。
【００２０】
なお、デジタル画像では計算誤差などで、図１１のメッシュｍ３５のように、曲線数がきれいに交差することが難しいので、一般には、各メッシュ内の曲線を構成する点の数を交差数とする。そのため、メッシュの大きさを小さくすると、デジタル画像の誤差の影響で、曲線の交差を正しく捉えるのが難しくなるので、扱う画像の性質に応じて、メッシュの大きさを適当に決める必要がある。
【００２１】
また、原理的には、ρ−θ平面座標上ですべての候補点について、直線群を前記（２）式に従って計算した後に、曲線の交点を計算するので、ρ−θ平面座標を表す２次元配列が必要である。メッシュが小さく、ρ、θの範囲が広い場合、必要な２次元配列が非常に大きくなり、計算時間もかかる。
【００２２】
そこで、あるθについて、すべての候補点の直線群を求め、徐々にθを増加させていくことで、２次元配列ではなく、１次元配列で計算することで計算時間を短縮する方法が提案されている。しかし、メッシュの大きさと、ρ、θの値の検出問題や、すべての候補点の直線群を求めることには変わりはない。また、それでも輪郭線が非常に長い場合は、計算時間がかかるため実用面では問題がある。
【００２３】
このように、ハフ変換は候補点が不連続で、かなりばらつきを持っていても、比較的安定して直線を抽出できる特徴があるが、計算に時間がかかるという問題がある。これを解決しようとしてなされた方法として、ハフ変換を行う場合、Ｘ−Ｙ平面座標の原点を、接線を求めようとする点としてハフ変換を行う手法がある（特開平０５ー０６０３２３「画像処理装置」）。つまり、輪郭線の処理対象となる各点毎に、その点をＸ−Ｙ平面座標の原点として処理を行うのである。以下、この手法について説明する。
【００２４】
たとえば、図１２に示すように、輪郭線Ｇ１の或る点ｐ３４を通る接線Ｌ３１を、点ｐ３４を必ず通り、かつ、点ｐ３１からｐ３７に対して最も適切な直線としてハフ変換で検出する場合、接線を求めようとする点ｐ３４（或る時点において処理を行おうとする点を注目点という）を、Ｘ−Ｙ平面座標の原点ｏとして処理を行うようにしたものである。
【００２５】
このように、輪郭線の注目点をＸ−Ｙ平面座標の原点として処理を行う手法は、ハフ変換を行う領域として、その注目点を中心にした所定の範囲を設定するとともに、その注目点をＸ−Ｙ平面座標の原点としてハフ変換を行う。
【００２６】
今、図１２のように点ｐ３４を注目点とした場合、点ｐ３４を中心として、たとえば、図１３に示すように、５×５ドットをハフ変換を行う領域として設定し、Ｘ−Ｙ平面座標の原点を点ｐ３４として、５×５ドットの領域内でハフ変換を行う。なお、この領域の大きさは予め設定された固定の大きさである。同様にして、点ｐ３１を注目点とした場合は、Ｘ−Ｙ平面座標の原点を点ｐ３１として、点ｐ３１を中心として予め決められた大きさの領域内でハフ変換を行い、点ｐ３２を注目点とした場合も、Ｘ−Ｙ平面座標の原点を点ｐ３２として、点ｐ３２を中心にして予め決められた大きさの領域内でハフ変換を行うというように、注目点をＸ−Ｙ平面座標の原点として、その注目点を中心に予め決められた大きさの領域内でハフ変換を行う。
【００２７】
図１４は、図１３で示した注目点ｐ３４を原点としたＸ−Ｙ平面座標において、予め決められた領域（この場合、５×５ドット）内で、その領域内の点ｐ３２，ｐ３３，ｐ３４，ｐ３５、ｐ３６それぞれを通る直線群について、前記（２）式からρ−θ平面座標上の曲線として求めた例を示しており、たとえば、ｗ３２は点ｐ３２を通る直線群を示す曲線、ｗ３３は点ｐ３３を通る直線群を示す曲線、ｗ３５は点ｐ３５を通る直線群を示す曲線、ｗ３６は点ｐ３６を通る直線群を示す曲線である。なお、この場合、Ｘ−Ｙ平面座標上で点ｐ３４を原点としているので、点ｐ３４を通る直線ｗ３４は、ρ＝０な直線であるから、θ軸そのものとなる。
【００２８】
したがって、点ｐ３４を通り、その他の点に対しても最適な直線は、θ軸との交差する回数の最も多いθの値で決定される。
【００２９】
しかし、実際のデジタル画像では、誤差が大きいので、θ軸と交差する回数により決定するのでは、正しいθの値を求めることができない。そこで、図１４のような曲線群から包絡線Ｈ１，Ｈ２を求め、包絡線Ｈ１，Ｈ２の差が最も少ない少ない場所を、θ軸と交差する回数が最も多い点とみなし、その点のθの値から点ｐ３４の接線の傾きを決定する。なお、前記包絡線Ｈ１は、θの値が０から変化したとき各θの値において、ρが最大な曲線部分を結んだ線であり、包絡線Ｈ２は、各θの値において、ρが最小な曲線部分を結んだ線であり、これら包絡線Ｈ１，Ｈ２を図１４において太線で表している。
【００３０】
以上の処理をその他の点についても同様に行うことで、それぞれの点における接線の傾きを求めることができる。
【００３１】
このように、接線を求めようとする注目点を原点としたハフ変換を行うことによって、ハフ変換を計算すべき点の数が一般的なハフ変換に比べて１個少なくなり、ハフ変換の結果も、ρの最大値、最小値のみを調べて行くだけでよいので、計算を大幅に少なくすることができる。
【００３２】
【発明が解決しようとする課題】
前記した接線を求めようとする注目点を原点としたハフ変換を行う手法（第３の従来例）は、一般的なハフ変換と同等の線分検出精度を持ちながら、一般的なハフ変換に比べ、計算時間を大幅に削減できるので、輪郭線上の各点で法線方向を決定する場合、輪郭線が複雑な形状であっても、前記した差分を用いる方法に比べて精度の高い法線方向の推定が、短時間で行えるという効果が得られる。
【００３３】
しかしながら、この方法は、注目点に対し、その注目点を中心にして或る範囲をハフ変換を行う領域として設定し、その注目点をＸ−Ｙ平面座標の原点として、その領域内でハフ変換を行うが、この領域の大きさは予め設定された固定の大きさとなっている。
【００３４】
したがって、予め設定された領域内の輪郭線があまり凹凸のない滑らかな曲線であれば問題ないが、設定された領域内で曲線が大きくうねっているような場合には、接線の検出精度に問題が生じてくる。
【００３５】
そこで、本発明は、ハフ変換を行う領域の大きさを、処理対象となる注目点前後の曲線の滑らかさに応じて処理領域の大きさを設定し、その設定された領域内において、ハフ変換を行うことにより、うねりの大きい輪郭線に対しても、より一層、高精度な線分抽出を可能とすることを目的とする。
【００３６】
【課題を解決するための手段】
本発明の線分抽出方法は、パラメータ算出手段と領域選択処理手段と線分抽出手段とを有する線分抽出装置を用いて、画像を構成する点列の処理対象点を中心とした所定の処理領域を設定して、その処理領域内の点列をハフ変換することで、その処理対象点を通る線分を求める線分抽出方法であって、前記パラメータ算出手段により、前記処理対象点近傍の点列で形成される曲線の滑らかさを表すパラメータを求めるパラメータ算出ステップと、前記領域選択処理手段により、前記パラメータを基に前記処理対象点近傍の曲線の滑らかさを判断して、ハフ変換を行う領域の広さを前記処理対象点近傍の曲線の滑らかさに応じて選択する領域選択処理ステップと、前記線分抽出手段により、選択された領域内の点列をハフ変換することで線分抽出する線分抽出ステップとを有することを特徴とする。
【００３７】
このように、ハフ変換を行う領域の広さを処理対象点近傍の曲線の滑らかさに応じて選択することで、処理対象領域に凹凸の激しい部分が存在しないような領域設定が行え、選択された領域内でのハフ変換による線分抽出を高精度に行うことができる。
【００３８】
本発明の線分抽出方法において、前記処理対象点近傍の曲線の滑らかさを判断して、領域の広さを選択する処理は、ハフ変換を行うべき領域として、処理対象点を中心とした何種類かの広さを持つ領域を用意しておき、各領域ごとにそれぞれの領域内の曲線の滑らかさを求めて、それぞれの領域における滑らかさと処理対象点部分の滑らかさとを比較して、処理対象点部分の滑らかさに対して最も差の小さい滑らかさを有する領域を選択することを特徴とする。
【００３９】
これにより、処理対象点部分と同じような滑らかさを持つ領域が選択されるので、その領域内でのハフ変換による線分抽出を高精度に行うことができる。
【００４０】
また、本発明の線分抽出方法において、前記処理対象点近傍の曲線の滑らかさを判断して、領域の広さを選択する処理は、ハフ変換を行うべき領域として、処理対象点を中心とした何種類かの広さを有する領域を用意しておき、処理対象領域内に曲線の変曲点が有るか否かを判断して、変曲点を含む領域は処理対象から除外し、それ以外のそれぞれの領域ごとに、それぞれの領域内の曲線の滑らかさを求め、それぞれの領域内の平均の滑らかさと処理対象点部分の滑らかさとを比較して、処理対象点部分の滑らかさに対して最も差の小さい滑らかさを有する領域を選択することを特徴とする。
【００４１】
これにより、変曲点を含まない領域の中で、処理対象点部分と同じような滑らかさを持つ領域が選択されるので、その領域内でのハフ変換による線分抽出を、より高精度に行うことができる。
【００４２】
また、前記処理領域の選択後に行われるハフ変換は、処理対象点を平面座標の原点として行われるハフ変換であることを特徴とする。
【００４３】
このように、処理対象点を平面座標の原点として行われるハフ変換は、一般的なハフ変換と同等の線分検出精度を持ちながら、一般的なハフ変換に比べ、計算時間を大幅に削減できる。しかも、このハフ変換を行うに際して、ハフ変換を行う領域の大きさを処理対象点近傍の曲線の滑らかさに応じて選択することで、処理対象領域に凹凸の激しい部分が存在しないような領域設定が行え、選択された領域内でのハフ変換による線分抽出を高精度に行うことができる。
【００４４】
また、本発明の線分抽出装置は、画像を構成する点列の処理対象点を中心とした所定の処理領域を設定して、その処理領域内の点列をハフ変換することで、その処理対象点を通る線分を求める線分抽出装置において、前記処理対象点近傍の点列で形成される曲線の滑らかさを表すパラメータを求めるパラメータ算出手段と、これにより求められたパラメータを基に前記処理対象点近傍の曲線の滑らかさを判断して、ハフ変換を行う領域の広さを選択する領域選択処理手段と、この領域選択処理手段により選択された領域内の点列をハフ変換することで線分抽出する線分抽出手段とを有することを特徴とする。
【００４５】
このように、ハフ変換を行う領域の大きさを処理対象点近傍の曲線の滑らかさに応じて選択することで、処理対象領域に凹凸の激しい部分が存在しないような領域設定が行え、選択された領域内でのハフ変換による線分抽出を高精度に行うことができる。
【００４６】
本発明の線分抽出装置において、領域選択処理手段は、処理対象点を中心として予め用意された何種類かの広さを有する領域ごとにそれぞれの領域内の曲線の滑らかさを求めて、それぞれの領域における滑らかさと処理対象点部分の滑らかさとを比較して、処理対象点部分の滑らかさに対して最も差の小さい滑らかさを有する領域を選択することを特徴とする。
【００４７】
これにより、処理対象点部分と同じような滑らかさを持つ領域が選択されるので、その領域内でのハフ変換による線分抽出を高精度に行うことができる。
【００４８】
また、本発明の線分抽出装置において、曲線の滑らかさを表すパラメータを基に、曲線の中に存在する変曲点を検出する変曲点検出手段を設け、前記領域選択処理手段は、この変曲点検出手段からの変曲点検出出力を受けると、処理対象点を中心として予め用意された何種類かの広さを有する領域のうち、変曲点を含む領域を処理対象から除外し、それ以外の領域ごとにそれぞれの領域内の曲線の滑らかさを求め、それぞれの領域における滑らかさと処理対象点部分の滑らかさとを比較して、処理対象点部分の滑らかさに対して最も差の小さい滑らかさを有する領域を選択することを特徴とする。
【００４９】
これにより、変曲点を含まない領域の中で、処理対象点部分と同じような滑らかさを持つ領域が選択されるので、その領域内でのハフ変換による線分抽出を、より高精度に行うことができる。
【００５０】
また、前記線分抽出手段が行うハフ変換は、処理対象点を平面座標の原点にしたハフ変換であることを特徴とする。
【００５１】
このように、処理対象点を平面座標の原点として行われるハフ変換は、一般的なハフ変換と同等の線分検出精度を持ちながら、一般的なハフ変換に比べ、計算時間を大幅に削減できる。しかも、このハフ変換を行うに際して、ハフ変換を行う領域の大きさを処理対象点近傍の曲線の滑らかさに応じて選択することで、処理対象領域に凹凸の激しい部分が存在しないような領域設定が行え、選択された領域内でのハフ変換による線分抽出を高精度に行うことができる。
また、本発明の線分抽出処理プログラムは、パラメータ算出手段と領域選択処理手段と線分抽出手段とを有し、画像を構成する点列の処理対象点を中心とした所定の処理領域を設定して、その処理領域内の点列をハフ変換することで、その処理対象点を通る線分を求める線分抽出装置に、前記処理対象点近傍の点列で形成される曲線の滑らかさを表すパラメータを求めるパラメータ算出ステップと、そのパラメータを基に前記処理対象点近傍の曲線の滑らかさを判断して、ハフ変換を行う領域の広さを前記処理対象点近傍の曲線の滑らかさに応じて選択する領域選択処理ステップと、選択された領域内の点列をハフ変換することで線分抽出する線分抽出ステップとを実行させる手順が記録されていることを特徴とする。
このような線分抽出処理プログラムを線分抽出装置に用いることにより、ハフ変換を行う領域の広さを処理対象点近傍の曲線の滑らかさに応じて選択することで、処理対象領域に凹凸の激しい部分が存在しないような領域設定が行え、選択された領域内でのハフ変換による線分抽出を高精度に行うことができる。
【００５２】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。
【００５３】
図１は本発明の実施の形態の構成を説明するブロック図であり、処理対象となる画像の或る範囲の輪郭線の滑らかさ（ここでは、滑らかさを表す値として曲率を用いる）を検出し、或る範囲における曲率を求める滑らかさ検出部（ここでは前記したように滑らかさを表す値として曲率を用いているので以下では曲率検出部という）１、この曲率検出部１で求められた曲率の符号の変化をもとに変曲点の有無を検出する変曲点検出部２、この変曲点検出部２からの情報と、前記曲率検出部１からの情報を入力し、それらの情報を基に適切な領域を選択する領域選択処理部３、この領域選択処理部３で選択された領域内でハフ変換を行い、線分（ここでは、注目点の接線）を抽出する線分検出部４などから構成されている。
【００５４】
ここで、前記した或る範囲というのは、図２に示すように、注目点（これをＰ３４で表す）を中心として設定される領域であり、図２に示すように、たとえば、１１×１１ドットで構成される領域Ａ１、９×９ドットで構成される領域Ａ２、７×７ドットで構成される領域Ａ３、５×５ドットで構成される領域Ａ４というように、予め何種類かの領域を幾つか用意しておく。なお、図２では領域の縦方向および横方向のドット数と図示されている点の数は説明の都合上一致していない。
【００５５】
以下、本発明の処理について図３のフローチャートを参照しながら説明する。曲率検出部１では、まず、注目点（ここでは、点Ｐ３４）を中心にした最大領域（１１ドット×１１ドット）を設定し（ステップｓ１）、その最大領域内における各点列の曲率を計算し、図４に示すような曲率グラフを作成する（ステップｓ２）。この曲率計算は従来から一般に用いられている方法により行うことができる。
【００５６】
たとえば、図５に示すように、ある点Ｐｉ部分の曲率を求める場合は、点Ｐｉ＋１側から点Ｐｉ−１と点Ｐｉを結ぶ延長線上への角度θ１を求める。また、点Ｐｉ＋１部分の曲率を求める場合は、点Ｐｉ＋２側から点Ｐｉと点Ｐｉ＋１を結ぶ延長線上への角度θ２を求める。なお、この場合、角度を求める方向を決めておく必要があり、反時計方向を正とした場合は、前記点Ｐｉ＋１側から点Ｐｉ−１と点Ｐｉを結ぶ延長線上への角度θ１は正で表され、これに対して、点Ｐｉ＋２側から点Ｐｉと点Ｐｉ＋１を結ぶ延長線上への角度θ２は負（−θ２）で表される。この曲率の正負の符号は後に説明する変曲点の検出に用いられる。
【００５７】
このようにして、曲率グラフが作成されると、予め設定された何種類かの領域の境界を設定する。つまり、図４において、領域Ａ１は１１ドット×１１ドットで構成される領域、Ａ２は９ドット×９ドットで構成される領域、Ａ３は７ドット×７ドットで構成される領域、Ａ４は５ドット×５ドットで構成される領域というように、それぞれの領域Ａ１，Ａ２，Ａ３，Ａ４を注目点Ｐ３４を中心に設定する。
【００５８】
次に、前記した曲率グラフの中に変曲点が有るか否かを調べる（ステップｓ３）。この変曲点というのは、曲率の符号が正から負へ（または、負から正）へと変化している部分であり、図４の例では変曲点は存在しないが、たとえば、図６は変曲点の存在している例である。図６において、点ｃの部分が変曲点であり、この部分では前記したように、曲率の符号が正から負へと変化している。
【００５９】
変曲点がない場合には、まず、選択対象の領域Ａ１，Ａ２，Ａ３，Ａ４すべてについて、それぞれの領域毎に領域内の滑らかさを表す値として平均曲率を求める（ステップｓ４）。つまり、図４を例に取れば、領域Ａ１内の平均曲率、領域Ａ２内の平均曲率というように、それぞれの領域毎に平均曲率を求める。この平均曲率は、それぞれの領域において、領域内の各点ごとの曲率の和を点の数で割ったものである。したがって、それぞれの領域内で１つでも極めて大きな値や小さな値が存在すると平均値が大きく変わってくる。
【００６０】
そして、求められたそれぞれの領域の平均曲率と、注目点部分の滑らかさを表す値としての注目点の曲率とを比較して、注目点の曲率に最も近い平均曲率を有する領域を選択する（ステップｓ５）。たとえば、領域Ａ４の平均曲率と注目点の曲率との差が他の領域に比べて最も小さかったとすると、領域Ａ４が選択される。
【００６１】
このようにして、領域が選択されると、その選択された領域内で前記したようなハフ変換を行い、注目点の接線の傾きを得る（ステップｓ６）。
【００６２】
一方、前記ステップｓ３において、変曲点が有りと判定された場合には、その変曲点の存在する領域を除外し、変曲点のない領域についてそれぞれの領域ごとに平均曲率を求める（ステップｓ７）。たとえば、領域Ａ２に変曲点が存在したとすれば、領域Ａ１も変曲点を含むことになるため、領域Ａ１、領域Ａ２を共に除外する。これにより、変曲点を含まない領域Ａ３，Ａ４が選択対象となる領域となり、いずれかを選択する。この選択方法は前記したように、領域Ａ３とＡ４について、それぞれの領域毎に領域内の平均曲率を求め、求められた平均曲率と注目点の曲率とを比較して、注目点の曲率に近い平均曲率を有する領域を選択する（ステップｓ５）。たとえば、領域Ａ４の平均曲率が注目点の曲率との差が小さかったとすると、領域Ａ４が選択される。
【００６３】
このようにして、領域が選択されると、その選択された領域内で前記したようなハフ変換を行い、注目点の接線の傾きを得る（ステップｓ６）。
【００６４】
以上のような処理領域の選択処理は、前記第２の従来技術として説明した一般的なハフ変換を用いた場合、あるいは、第３の従来技術として説明した注目点をＸ−Ｙ平面座標の原点としてハフ変換を行う場合のどちらにも適応できるが、ここでは、注目点をＸ−Ｙ平面座標の原点としてハフ変換を行う場合に適応した場合について説明する。
【００６５】
すなわち、図２で示した注目点ｐ３４の接線を求めようとする場合、この注目点ｐ３４を中心として、処理対象領域を前記したような処理により設定し、設定された領域内において、注目点ｐ３４をＸ−Ｙ平面座標の原点とした上で、ハフ変換を行う。
【００６６】
具体的には、この場合、前記した処理により、注目点の曲率と予め用意された領域Ａ１，Ａ２，Ａ３，Ａ４ごとの平均曲率を比較して、その差の最も小さい領域Ａ４（５×５ドット）が選択され、この領域Ａ４内の点ｐ３２〜ｐ３６について前記（２）式から、それぞれの点を通る直線群を示す曲線を求める。なお。注目点ｐ３４を通る直線はθ軸そのものであるから、注目点ｐ３４を通りその他の点に対しても最適な直線は、図１４で示した包絡線Ｈ１とＨ２の差が最も少ない場所のθを、注目点の接線の傾きとして求めることができる。
【００６７】
このように、ある点（注目点）を中心に考えたとき、その注目点を中心にした所定の範囲をハフ変換を行う領域として設定し、その注目点をＸ−Ｙ平面座標の原点としてハフ変換を行うが、本実施の形態では、その注目点を中心として、前記したように、予め何種類か用意した領域のうち、その最大の広さを有する領域内で曲率グラフを作成し、各領域ごとにその領域内の平均曲率を求め、注目点の曲率との差の最も小さい平均曲率を有する領域を選択し、その選択された領域内でハフ変換を行うようにする。
【００６８】
たとえば、前記した例では、注目点ｐ３４を中心とした領域Ａ４（５×５ドット）が選択され、Ｘ−Ｙ平面座標の原点を点ｐ３４として、その領域内でハフ変換を行う。
【００６９】
同様にして、点ｐ３１を注目点とした場合、その注目点ｐ３１を中心として、前記したように、予め何種類か用意した領域のうち、その最大の広さを有する領域内で各点毎の曲率の大きさを求め、曲率の大きさに基づいて最適な領域を選択し、その選択された領域内でハフ変換を行うようにする。たとえば、注目点ｐ３１を中心として、前記ステップｓ１〜ｓ７の処理を行った結果、領域Ａ３（７×７ドット）が選択されたとすると、Ｘ−Ｙ平面座標の原点を点ｐ３１として、その領域Ａ３内でハフ変換を行う。この注目点を原点としたハフ変換を行って、注目点の接線の傾きを求める処理は、前述したとおりであるので、ここではその処理については省略する。
【００７０】
なお、領域の選択を行う過程で、曲率の符号の変化を監視して、符号に変化がある場合は、その部分が変曲点であるとみなして、変曲点が含まれる領域を除外して、除外された領域以外の領域で、各領域内における平均の曲率を注目点の曲率と比較して、最も差の小さい領域を選択する。
【００７１】
すなわち、変曲点がない場合には、すべての領域ごとに平均の曲率を求め、各領域の平均の曲率を注目点の曲率と比較して、差の最も小さい領域を選択するという処理を行い、たとえば、４つの領域Ａ１，Ａ２，Ａ３，Ａ４（この場合、各領域の広さは、Ａ１＞Ａ２＞Ａ３＞Ａ４である）のうち、領域Ａ１に変曲点が存在した場合には、領域Ａ２，Ａ３，Ａ４における平均の曲率を注目点曲率と比較する処理を行い、４つの領域Ａ１，Ａ２，Ａ３，Ａ４のうち、領域Ａ３に変曲点が存在した場合には、領域Ａ１，Ａ２，Ａ３はすべて変曲点が含まれることになり、これらを除外する。
【００７２】
なお、最も狭い領域（前記した例では領域Ａ４）に変曲点が存在する場合には、その最小の領域を採用することにする。また、どの領域にも変曲点が含まれない場合は、すべての領域内の曲率の平均値を注目点の曲率と比較することになるが、その比較の結果、どの領域も注目点との差が大きい（たとえば、しきい値を設定し、どれもそのしきい値以上である）ような場合には、最も狭い領域を選択することとする。また、ある領域とある領域のそれぞれの平均曲率が共に注目点の曲率と殆ど差がなく、しかも、それぞれの領域内の平均曲率が殆ど同じような場合には、広い領域を選択するようにする。
【００７３】
以上説明したように、本発明の実施の形態は、接線を求めようとする注目点を中心に、予め何種類か用意した領域のうち、最大の領域内で曲率グラフを作成し、各領域ごとにその領域内の平均曲率を求め、注目点の曲率との差の最も小さい平均曲率を有する領域を選択し、その選択された領域内でハフ変換を行うようにする。これによれば、注目点の曲率に近い曲率を有する領域が選択されることになり、凹凸の激しい輪郭線を有する曲線に対しても、高精度に接線を求めることができる。
【００７４】
特に、Ｘ−Ｙ平面座標の原点を注目点として、ハフ変換を行うようにする技術に対して本発明を適応することにより、凹凸の激しい輪郭線を有する曲線に対しても高精度な接線を求めることができるとともに、注目点を原点としたハフ変換を行うことによって、ハフ変換を計算すべき点の数が一般的なハフ変換に比べて１個少なくなり、ハフ変換の結果も、ρの最大値、最小値のみを調べて行くだけでよいので、計算を大幅に少なくすることができるという優れた効果を得ることができる。
【００７５】
なお、前記した実施の形態では曲線の曲がり具合（滑らかさ）を表すパラメータとして曲率を用いたがこれは曲率に限られるものではなく、曲線の滑らかさを表すものであれば他のパラメータを使用してもよい。
【００７６】
また、前記実施の形態では、４つの領域を予め用意し、そのうちの１つを選択するようにしたが、これに限られるものではなく、本発明は原理的には、処理対象点近傍の点列で形成される曲線の滑らかさを表すパラメータを求め、そのパラメータを基に前記処理対象点近傍の曲線の滑らかさを判断して、ハフ変換を行う領域の広さを前記処理対象点近傍の曲線の滑らかさに応じて選択するような処理を行うものである。
【００７７】
また、コマンドオプションでマスクの大きさを指定した場合には、その指定された大きさとし、曲率に基づいた領域の選択処理を行わないようにすることも可能である。
【００７８】
また、以上説明した本発明を実施するためのプログラムはフロッピィディスクなどの記憶媒体に記憶させておくことも可能であり、本発明はこのような記憶媒体をも含むものである。
【００７９】
【発明の効果】
本発明によれば、線分を求めようとする注目点近傍の曲線の滑らかさに応じた処理領域の大きさを設定し、この設定された処理領域において、ハフ変換により線分を特定するようにしたので、処理対象領域に凹凸の激しい部分が存在しないような領域設定が行え、選択された領域内でのハフ変換による線分抽出を高精度に行うことができる。
【００８０】
また、ハフ変換を行うべき領域として、処理対象点を中心とした何種類かの大きさの領域を用意しておき、各領域ごとにそれぞれの領域内の曲線の滑らかさを求めて、それぞれの領域における滑らかさと処理対象点部分の滑らかさとを比較して、処理対象点部分の滑らかさに対して最も差の小さい滑らかさを有する領域を選択するようにしたので、処理対象点部分と同じような滑らかさを持つ領域が選択されることになり、その領域内でのハフ変換による線分抽出を高精度に行うことができる。
【００８１】
さらに、処理対象領域内に曲線の変曲点が有るか否かを判断して、変曲点を含む領域は処理対象から除外し、それ以外のそれぞれの領域ごとに、それぞれの領域内の曲線の滑らかさを求め、それぞれの領域内の平均の滑らかさと処理対象点部分の滑らかさとを比較して、処理対象点部分の滑らかさに対して最も差の小さい滑らかさを有する領域を選択するようにしたので、変曲点を含まない領域の中から処理対象点部分と同じような滑らかさを持つ領域が選択されるので、その領域内でのハフ変換による線分抽出を、より高精度に行うことができる。
【００８２】
また、前記処理領域の選択後に行われるハフ変換は、処理対象点を平面座標の原点として行われるハフ変換であるので、一般的なハフ変換と同等の線分検出精度を持ちながら、一般的なハフ変換に比べ、計算時間を大幅に削減できる。しかも、このハフ変換を行うに際して、ハフ変換を行う領域の大きさを処理対象点近傍の曲線の滑らかさに応じて選択することで、処理対象領域に凹凸の激しい部分が存在しないような領域設定が行え、選択された領域内でのハフ変換による線分抽出を高精度に行うことができる
【図面の簡単な説明】
【図１】本発明の説明する基本的な構成図。
【図２】本発明の実施の形態において、注目点を中心とした幾つかの処理領域を説明する図。
【図３】本発明の実施の形態を説明するフローチャート。
【図４】本発明の実施の形態を説明する曲率グラフの一例を示す図。
【図５】曲率を求める方法を説明する図。
【図６】曲率グラフにおける変曲点を説明する図。
【図７】座標値の差分から接線を求める従来例を説明する図。
【図８】一般的なハフ変換の原理を説明するためのＸ−Ｙ平面座標を示す図。
【図９】前記Ｘ−Ｙ平面座標上における或る１つの点を通る直線群をρ−θ平面座標上で示す図。
【図１０】前記Ｘ−Ｙ平面座標上におけるそれぞれの点を通るそれぞれの直線群をρ−θ平面座標上で示す図。
【図１１】デジタル画像において全ての点に対して適切な直線を得る方法を説明する図。
【図１２】注目点を原点としてハフ変換を行う例を説明する図。
【図１３】注目点を原点としてハフ変換を行う際の処理領域について説明する図。
【図１４】注目点を原点としてハフ変換において、処理領域内の各点を通るそれぞれの直線群をρ−θ平面座標上で示す図。
【符号の説明】
１  滑らかさ検出部（曲率検出部）
２  変曲点検出部
３  領域選択処理部
４  線分検出部
Ａ１，Ａ２，Ａ３，Ａ４  選択対象の領域
Ｈ１，Ｈ２  包絡線
【図１】
0003758229.tif 000002
【図２】
0003758229.tif 000003
【図３】
0003758229.tif 000004
【図４】
0003758229.tif 000005
【図５】
0003758229.tif 000006
【図６】
0003758229.tif 000007
【図７】
0003758229.tif 000008
【図８】
0003758229.tif 000009
【図９】
0003758229.tif 000010
【図１０】
0003758229.tif 000011
【図１１】
0003758229.tif 000012
【図１２】
0003758229.tif 000013
【図１３】
0003758229.tif 000014
【図１４】
0003758229.tif 000015