(57)【特許請求の範囲】
【請求項１】
濃淡画像を処理する方法であって、
前記濃淡画像に表される対象物像の輪郭に直線部分が含まれるときに、その直線の方向毎に個別のラベルを設定するラベル設定ステップと、
前記濃淡画像に含まれるエッジ画素であってそのエッジ画素の方向が前記直線の方向のいずれかと一致するようなエッジ画素に対して、その一致した方向に対応する前記ラベルを割り当てる画素ラベル付けステップと、
同一の前記ラベルが割り当てられた複数のエッジ画素を前記濃淡画像上で連続しているとみなし得るエッジ画素の集合毎にグループ分けし、各集合をそれぞれ独立した線分として抽出する線分抽出ステップとを、順に実行する画像処理方法。
【請求項２】
前記ラベル設定ステップは、
エッジ画素の方向毎にエッジ画素の数の度合を示すヒストグラムを作成するヒストグラム作成ステップと、
前記ヒストグラム上の極大値を抽出して、極大値に対応するエッジ画素の方向毎に個別のラベルを設定するピークラベル設定ステップとを実行することにより、対象物像の輪郭に含まれる直線の方向毎に個別のラベルを設定するものであり、
前記画素ラベル付けステップは、前記ピークラベル設定ステップにより設定されたラベルを各ラベルに対応するエッジ画素の方向を有するエッジ画素に割り当てることにより、前記ラベルの割当を行うものである請求項１に記載された画像処理方法。
【請求項３】
前記線分抽出ステップにおいて抽出された線分の中に線分間の方向ずれ量が所定範囲内であり、かつ、線分間の位置ずれ量が所定範囲内となる線分の組があるとき、これらの線分を１本の線分に統合する線分統合ステップをさらに実行する請求項２に記載された画像処理方法。
【請求項４】
前記線分抽出ステップにおいて抽出された線分または前記線分統合ステップにおいて統合された線分の中から所定の条件を満たす線分を選択する線分選択ステップをさらに実行する請求項２または３に記載された画像処理方法。
【請求項５】
前記線分選択ステップにおいて選択された線分の位置または選択された複数の線分の延長線上の交点の位置を前記濃淡画像上で識別可能に表示する表示ステップをさらに実行する請求項４に記載された画像処理方法。
【請求項６】
前記線分抽出ステップにおける線分の抽出状態を用いて対象物の輪郭の直線部分における欠陥の有無を判別する欠陥判別ステップをさらに実行する請求項２に記載された画像処理方法。
【請求項７】
前記欠陥判別ステップは、前記線分抽出ステップで抽出された線分の中に線分間の方向ずれ量が所定範囲内であり、かつ、線分間の位置ずれ量が所定範囲内である線分の組があるとき、これら線分の間に欠陥が存在すると判別するものである請求項６に記載された画像処理方法。
【請求項８】
前記欠陥判別ステップは、前記線分抽出ステップで抽出された線分の数を所定の基準値と比較し、両者の値が異なるときに対象物の輪郭の直線部分に欠陥が存在すると判別するものである請求項６に記載された画像処理方法。
【請求項９】
前記ラベル設定ステップは、対象物の輪郭における直線部分の方向として想定される方向毎に個別のラベルを設定するものであり、
前記画素ラベル付けステップは、そのエッジ画素の方向が前記想定される方向のいずれかと一致するようなエッジ画素に対して、その一致した方向に対応する前記ラベルを割り当てるものである、請求項１に記載された画像処理方法。
【請求項１０】
前記線分抽出ステップにおいて抽出された線分の中に線分間の方向ずれ量が所定範囲内であり、かつ、線分間の位置ずれ量が所定範囲内である線分の組があるとき、これらの線分を１本の線分に統合する線分統合ステップをさらに実行する請求項９に記載された画像処理方法。
【請求項１１】
前記線分抽出ステップにおいて抽出された線分または前記線分統合ステップにおいて統合された線分の中から所定の条件を満たす線分を選択する線分選択ステップをさらに実行する請求項９または１０に記載された画像処理方法。
【請求項１２】
前記線分抽出ステップにおける線分の抽出状態を用いて対象物の輪郭の直線部分における欠陥の有無を判別する欠陥判別ステップをさらに実行する請求項９に記載された画像処理方法。
【請求項１３】
濃淡画像を入力する手段と、
前記濃淡画像に含まれるエッジ画素を抽出する手段と、
前記各エッジ画素におけるエッジ画素の方向を求める手段と、
前記濃淡画像に表される対象物像の輪郭の直線部分につき、その直線の方向を設定する方向設定手段と、
前記方向設定手段により設定された直線の方向毎に個別のラベルを設定するラベル設定手段と、
前記濃淡画像に含まれるエッジ画素であってそのエッジ画素の方向が前記直線の方向のいずれかと一致するようなエッジ画素に対して、その一致した方向に対応する前記ラベルを割り当てる画素ラベル付け手段と、
同一の前記ラベルが割り当てられた複数のエッジ画素を前記濃淡画像上で連続しているとみなし得るエッジ画素の集合毎にグループ分けし、各集合をそれぞれ独立した線分として抽出する線分抽出手段とを具備して成る画像処理装置。
【請求項１４】
前記方向設定手段は、
エッジ画素の方向毎にエッジ画素の数の度合を示すヒストグラムを作成するヒストグラム作成手段と、
前記ヒストグラム上の極大値を抽出して、極大値に対応するエッジ画素の方向を直線の方向として設定するピーク方向設定手段とを含み、
前記ラベル設定手段は、前記ピーク方向設定手段により設定された方向毎に個別のラベルを設定するものであり、
前記画素ラベル付け手段は、前記ラベル設定手段により設定されたラベルを各ラベルに対応するエッジ画素の方向を有するエッジ画素に割り当てるものである請求項１３に記載された画像処理装置。
【請求項１５】
前記線分抽出手段によって抽出された線分の中に線分間の方向ずれ量が所定範囲内であり、かつ、線分間の位置ずれ量が所定範囲内である線分の組があるとき、これらの線分を１本の線分に統合する線分統合手段をさらに具備して成る請求項１４に記載された画像処理装置。
【請求項１６】
前記線分抽出手段によって抽出された線分または前記線分統合手段によって統合された線分の中から所定の条件を満たす線分を選択する線分選択手段とをさらに具備して成る請求項１４または１５に記載された画像処理装置。
【請求項１７】
前記線分選択手段によって選択された線分の位置または選択された複数の線分の延長線上の交点の位置を前記濃淡画像上で識別可能に表示するための表示制御手段をさらに具備して成る請求項１６に記載された画像処理装置。
【請求項１８】
前記線分抽出手段によって抽出された線分の抽出状態を用いて対象物の輪郭の直線部分における欠陥の有無を判別する欠陥判別手段をさらに具備して成る請求項１３に記載された画像処理装置。
【請求項１９】
前記欠陥判別手段は、前記線分抽出手段によって抽出された線分の中に線分間の方向ずれ量が所定範囲内であり、かつ、線分間の位置ずれ量が所定範囲内である線分の組があるとき、これら線分の間に欠陥が存在すると判別するものである請求項１８に記載された画像処理装置。
【請求項２０】
前記欠陥判別手段は、前記線分抽出手段によって抽出された線分の数を所定の基準値と比較し、両者の値が異なるときに対象物の輪郭の直線部分に欠陥が存在すると判別するものである請求項１８に記載された画像処理装置。
【請求項２１】
前記方向設定手段は、対象物の輪郭における直線部分の想定される方向を入力するものであり、
前記ラベル設定手段は、前記方向設定手段によって入力された方向毎に個別のラベルを設定するものであり、
前記画素ラベル付け手段は、そのエッジ画素の方向が前記方向設定手段によって入力された方向のいずれかと一致するようなエッジ画素に対して、その一致した方向に対応する前記ラベルを割り当てるものである、請求項１３に記載された画像処理装置。
【請求項２２】
前記線分抽出手段によって抽出された線分の中に線分間の方向ずれ量が所定範囲内であり、かつ、線分間の位置ずれ量が所定範囲内である線分の組があるとき、これらの線分を１本の線分に統合する線分統合手段をさらに具備して成る請求項２１に記載された画像処理装置。
【請求項２３】
前記線分抽出手段によって抽出された線分または前記線分統合手段によって統合された線分の中から所定の条件を満たす線分を選択する線分選択手段をさらに具備して成る請求項２１または２２に記載された画像処理装置。
【請求項２４】
前記線分抽出手段によって抽出された線分の抽出状態を用いて対象物の輪郭の直線部分における欠陥の有無を判別する欠陥判別手段をさらに具備して成る請求項２１に記載された画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータにより濃淡画像データを処理する分野に属するもので、特に、輪郭に直線部分を含む物体を観測対象として、その物体の輪郭の直線部分を抽出したり、それを利用して物体の位置や向きなどを計測したり、輪郭形状に欠陥が生じていないかを検査するなどの処理を行う方法および装置に関連する。
【０００２】
【従来の技術】
濃淡画像上で対象物の位置や向きを観測したり、輪郭上の欠陥を検査する上で、対象物の輪郭の直線部分を抽出したい場合がある。従来より、対象物の輪郭を抽出するときには、２値化処理による方法、濃度勾配の大きさに基づく方法、膨張画像および収縮画像を利用する方法などが用いられる。
【０００３】
２値化処理による方法では、濃淡画像を所定のしきい値によって白画素領域と黒画素領域に２値化し、これらの領域の境界に位置する画素によって輪郭線を構成する。濃度勾配の大きさに基づく方法では、濃淡画像を構成する各画素における濃度勾配の大きさが所定のしきい値を超える場合にその画素を輪郭線を構成する画素とする。膨張画像および収縮画像を利用する方法では、原画像の明るい領域を拡張させた膨張画像と原画像の明るい領域を収縮させた収縮画像とを作成し、膨張画像と収縮画像との差分画像を作成することにより輪郭線を抽出する。
【０００４】
【発明が解決しようとする課題】
これらいずれの方法によっても、抽出されるのは輪郭線の全体であって、輪郭線の直線部分のみを抽出することはできない。輪郭線の直線部分を抽出するためには、別途輪郭線を構成する画素の連結パターンを評価して直線とみなせる部分を特定することが考えられる。例えば、輪郭線を構成する画素に順に着目していき、これらの連結方向が一定である範囲を直線とみなすような方法である。しかし、連結方向の分解能を高めようとすると、数画素にわたる範囲での連結方向の平均をとる必要があるので、直線を中断する微小な欠陥があっても無視される傾向がある。また、輪郭線に複数画素分の線幅があるときには、直線抽出の適切なアルゴリズムを設定すること自体が困難である。
【０００５】
さらに、２値化による方法、濃度勾配の大きさに基づく方法、膨張画像および収縮画像を利用する方法のいずれによっても、画像の状態（例えば画像の背景部分と対象物部分との濃度差、照明の均一さなど）の相違により輪郭線の状態（輪郭線の線幅、位置、微小な凹凸の大きさなど）が変動するのであるが、このような変動にかかわらず安定して輪郭線の直線部分を抽出することは、画素の連結パターンの評価に基づく方法では困難である。
【０００６】
この発明は上記問題点に着目してなされたもので、濃淡画像において対象物の輪郭の直線部分を的確に抽出することを目的とする。
この発明の他の目的は、濃淡画像の状態にかかわらず、特に背景部分と対象物部分との濃度差が小さい場合や照明が均一でない場合でも、対象物の輪郭の直線部分を的確に抽出することである。
さらにこの発明の他の目的は、抽出した対象物の輪郭の直線部分に基づいて、対象物の位置や向きを計測したり、対象物の輪郭上の欠陥を抽出する処理を行うことである。
【０００７】
【課題を解決するための手段】
この発明による濃淡画像を処理する方法は、濃淡画像に表される対象物像の輪郭に直線部分が含まれるときに、その直線の方向毎に個別のラベルを設定するラベル設定ステップと、濃淡画像に含まれるエッジ画素であってそのエッジ画素の方向が前記直線の方向のいずれかと一致するようなエッジ画素に対して、その一致した方向に対応するラベルを割り当てる画素ラベル付けステップと、同一のラベルが割り当てられた複数のエッジ画素を前記濃淡画像上で連続しているとみなし得るエッジ画素の集合毎にグループ分けし、各集合をそれぞれ独立した線分として抽出する線分抽出ステップとを順に実行するものである。
【０００８】
エッジ画素とは、濃淡画像において対象物の輪郭線を構成する画素である。なお、輪郭線の線幅は１画素に限らず、複数画素分の線幅であってよい。
エッジ画素を抽出するための好ましい具体的処理として、濃度勾配の大きさが所定の値より大きい画素をエッジ画素とする処理を採用することができる。また、この処理によって抽出された画素のすべてをエッジ画素とすることに限らず、この処理に続けて細線化処理のような対象画素を絞り込む処理を実行した後に残った画素をエッジ画素とすることもできる。一方、具体的な処理過程において濃度勾配の大きさに着目しないことも可能であり、例えば２値化した画像の輪郭線に対応する画素をエッジ画素とすることができる。しかしいずれの処理によっても、結果的には濃度勾配の大きさが相対的に大きな画素が抽出される。
【０００９】
エッジ画素の方向とは、通常の定義によれば、エッジ画素における濃度勾配の方向に直交する方向である。エッジ画素の方向をこのように定義するのは、あるエッジ画素が対象物像の輪郭の直線部分に含まれている場合にそのエッジ画素の方向とその直線の方向とが同じ方向として示されるようにする必要があるからである。したがって実際の処理においては、例えば直線の方向を通常の意味とは相違して直線の法線方向によって定義し、かつ、エッジ画素の方向をエッジ画素における濃度勾配の方向によって定義する場合のように、直線の方向およびエッジ画素の方向の間の関係が上記通常の定義による場合と等価になるような直線の方向およびエッジ画素の方向の定義を採用して本発明を実施することもできる。
エッジ画素の方向と直線の方向との一致は、厳密に一致する場合に限らず、方向の差が画像処理の目的に応じて設定された所定の範囲内である場合を含む。
【００１０】
２つのエッジ画素が連続しているとみなすことができるのは、必ずしもそれらの画素の間に他の画素が介在していない場合に限らず、そこで採用している連続判定方法において連続しているとする判定基準を各画素が満たす状態にあればよい。着目画素に対して上下左右の４近傍やこれに斜め方向を加えた８近傍において判定対象の画素があれば画素が連続していると判定する方法が用いられることが多いが、近傍の範囲をさらに大きく設定することもできる。
【００１１】
この発明によれば、輪郭線を構成するエッジ画素においては濃度勾配の大きさが相対的に大きいためにエッジ画素の方向を誤差小さく求めることができることに着目し、エッジ画素の方向に対応してエッジ画素に割り当てられたラベルが共通することおよびエッジ画素が連続していることを条件として抽出したエッジ画素の集合によって線分を表すようにしたので、対象物の輪郭の直線部分を的確に抽出することができる。また、濃淡画像の状態にかかわらず、特に背景部分と対象物部分との濃度差が小さい場合や照明が均一でない場合でも、エッジ画素の方向は安定して求めることができるので、このような場合でも対象物の輪郭の直線部分を的確に抽出することができる。
【００１２】
この発明の各ステップは、濃淡画像の全体を対象として実行してもよいし、濃淡画像の一部に計測領域を設定して、計測領域についてのみ実行してもよい。
【００１３】
この発明による画像処理方法の一実施態様によれば、前記ラベル設定ステップは、エッジ画素の方向毎にエッジ画素の数の度合を示すヒストグラムを作成するヒストグラム作成ステップと、そのヒストグラム上の極大値を抽出して、極大値に対応するエッジ画素の方向毎に個別のラベルを設定するピークラベル設定ステップとを実行することにより、対象物像の輪郭に含まれる直線の方向毎に個別のラベルを設定するものとすることができる。さらに、前記画素ラベル付けステップは、ピークラベル設定ステップにより設定されたラベルを各ラベルに対応するエッジ画素の方向を有するエッジ画素に割り当てることにより、前記ラベルの割当を行うものとすることができる。
【００１４】
エッジ画素の方向毎のエッジ画素の数の度合としては、エッジ画素の方向毎のエッジ画素の数そのもの（いわゆる度数）を採用することができ、また、エッジ画素の数そのものに代えて、各エッジ画素における濃度勾配の大きさで重み付けした（例えば濃度勾配の大きさを乗じた）エッジ画素の数を採用することもできる。
【００１５】
極大値に対応するエッジ画素の方向としては、その極大値が属するヒストグラムの区分に該当するエッジ画素の方向を採用することができ、さらに極大値が属する区分に隣接する区分も含めた複数の区分に該当するエッジ画素の方向を採用することもできる。
【００１６】
この実施態様によれば、対象物の輪郭線の直線部分の方向がいずれの方向であっても、またその方向があらかじめわかっていなくても、輪郭線の直線部分を抽出することができる。
【００１７】
なお、この実施態様においては、ヒストグラムの極大値を抽出する際に、その抽出のための条件を設定してもよい。たとえば大きいほうから所定の数までの極大値、所定の値よりも大きい極大値などの条件を設定することができる。
【００１８】
さらに前記線分抽出ステップにおいて抽出された線分の中に線分間の方向ずれ量が所定範囲内であり、かつ、線分間の位置ずれ量が所定範囲内である線分の組があるとき、これらの線分を１本の線分に統合する線分統合ステップをさらに実行するようにしてもよい。
このようにすれば、対象物の輪郭に欠けや突出などの欠陥があるために線分が分断されている場合でも、分断された線分を統合することができるので、欠陥がある対象物についても、位置や向きを精度よく計測することが可能となる。
【００１９】
また前記線分抽出ステップにおいて抽出された線分または前記線分統合ステップにおいて統合された線分の中から所定の条件を満たす線分を選択する線分選択ステップをさらに実行するようにしてもよい。このようにすれば、その画像処理の具体的目的に適合する線分を選択することができる。
線分を抽出する条件としては、線分の長さの範囲、基準方向に対する角度の範囲、位置の範囲、また、２つの線分の端点間の距離の範囲、２つの線分がなす角度の範囲、線分の長さの順位などを採用することができる。
【００２０】
また前記線分選択ステップにおいて選択された線分の位置または選択された複数の線分の延長線上の交点の位置を前記濃淡画像上で識別可能に表示する表示ステップをさらに実行するようにしてもよい。このようにすれば、線分の抽出および選択の状況をユーザーに提示することができる。ユーザーはこの表示を見て、対象物の角などの意図したとおりの箇所が正しく計測対象となっているかどうかの確認をすることができる。
【００２１】
この発明による画像処理方法の他の実施態様によれば、前記線分抽出ステップにおける線分の抽出状態を用いて対象物の輪郭の直線部分における欠陥の有無を判別する欠陥判別ステップをさらに実行することができる。この実施態様によれば、エッジ画素の方向が同一とみなせるようなエッジ画素の連続性に基づいて線分を抽出しているところ、輪郭の欠陥が数画素程度の大きさの微小なものであってもエッジ画素の方向は大きく変動するため、このような微小な欠陥も高い確度で検出される。
【００２２】
具体的には、前記欠陥判別ステップは、前記線分抽出ステップで抽出された線分の中に線分間の方向ずれ量が所定範囲内であり、かつ、線分間の位置ずれ量が所定範囲内である線分の組があるとき、これら線分の間に欠陥が存在すると判別するものとすることができる。
また、前記欠陥判別ステップは、前記線分抽出ステップで抽出された線分の数を所定の基準値と比較し、両者の値が異なるときに対象物の輪郭の直線部分に欠陥が存在すると判別するものとしてもよい。
【００２３】
つぎに、この発明による画像処理方法の他の実施態様によれば、前記ラベル設定ステップは、対象物の輪郭における直線部分の方向として想定される方向毎に個別のラベルを設定するものとし、前記画素ラベル付けステップは、そのエッジ画素の方向がそのような想定される方向のいずれかと一致するようなエッジ画素に対して、その一致した方向に対応する前記ラベルを割り当てるものとすることができる。
【００２４】
対象物の向きが決まっているなど、あらかじめ輪郭の直線部分の方向が想定できるときは、そのような方向毎に個別のラベルを設定することにより、処理の対象とする濃淡画像毎に前述のヒストグラムを作成しなくてすむので、処理を高速化することが可能となる。
また、この実施態様の方法を対象物の合格判定や分類判定のために利用することもできる。すなわち、対象物の輪郭に想定される方向の直線部分があるかどうかで対象物の合格不合格や種類を判定するのである。
なお、先に説明した線分統合ステップ、線分選択ステップおよび欠陥判別ステップは、この実施態様においても採用することができる。
【００２５】
この発明による濃淡画像を処理する装置は、濃淡画像を入力する手段と、前記濃淡画像に含まれるエッジ画素を抽出する手段と、前記各エッジ画素におけるエッジ画素の方向を求める手段と、前記濃淡画像に表される対象物像の輪郭の直線部分につき、その直線の方向を設定する方向設定手段と、前記方向設定手段により設定された直線の方向毎に個別のラベルを設定するラベル設定手段と、前記濃淡画像に含まれるエッジ画素であってそのエッジ画素の方向が前記直線の方向のいずれかと一致するようなエッジ画素に対して、その一致した方向に対応する前記ラベルを割り当てる画素ラベル付け手段と、同一の前記ラベルが割り当てられた複数のエッジ画素を前記濃淡画像上で連続するとみなし得るエッジ画素の集合毎にグループ分けし、各集合をそれぞれ独立した線分として抽出する線分抽出手段とを具備して成るものである。
【００２６】
この発明による画像処理装置によれば、入力した濃淡画像を対象としてエッジ画素が抽出されるとともにエッジ画素の方向が求められ、一方で濃淡画像に表される対象物像の輪郭の直線部分の方向毎に個別のラベルが設定され、エッジ画素の方向が直線の方向のいずれかと一致するようなエッジ画素に対して、一致した方向に対応するラベルが割り当てられる。さらに同一のラベルが割り当てられており、かつ、濃淡画像上で連続しているとみなし得るエッジ画素の集合が線分として抽出される。このようにして、対象物の輪郭の抽出部分を的確に抽出することができる。
【００２７】
濃淡画像を入力する手段は、例えば、カメラやスキャナなどの画像生成手段に接続され、これらの手段より生成された濃淡画像を取り込む手段であって、インターフェイス回路、Ａ／Ｄ変換回路などにより構成される。ただし画像を入力するための構成は、これに限らず、通信により伝送された画像を受け付ける回路、所定の記録媒体に保存された画像を読み出す読取り装置などによって構成することも可能である。
【００２８】
エッジ画素を抽出する手段から線分抽出手段にいたる各手段および後述の付加的またはより具体化された各手段は、コンピュータのハードウェアとそこで動作するソフトウェアとして実現することができるし、それぞれのまたはいくつかの手段をＡＳＩＣ(Application Specific Integrated Circuit)などの回路ブロックで実現し、各回路ブロックの連携動作をコンピュータで制御することにより実現することもできる。
【００２９】
エッジ画素を抽出する手段およびエッジ画素の方向を求める手段としては、ソーベルフィルタなどのエッジ抽出フィルタを使用することができる。エッジ画素を抽出する手段としては、これに限らず、コンピュータの画像メモリ上で先に説明した種々の輪郭抽出方法を実行してもよい。
【００３０】
この発明による画像処理装置の一実施態様によれば、前記方向設定手段は、エッジ画素の方向毎にエッジ画素の数の度合を示すヒストグラムを作成するヒストグラム作成手段と、そのヒストグラム上の極大値を抽出して、極大値に対応するエッジ画素の方向を直線の方向として設定するピーク方向設定手段とを含むものとすることができる。また前記ラベル設定手段は、ピーク方向設定手段により設定された方向毎に個別のラベルを設定するものとし、前記画素ラベル付け手段は、前記ラベル設定手段により設定されたラベルを各ラベルに対応するエッジ画素の方向を有するエッジ画素に割り当てるものとすることができる。
【００３１】
この実施態様において、前記線分抽出手段によって抽出された線分の中に線分間の方向ずれ量が所定範囲内であり、かつ、線分間の位置ずれ量が所定範囲内である線分の組があるとき、これらの線分を１本の線分に統合する線分統合手段をさらに具備してもよい。
【００３２】
また、前記線分抽出手段によって抽出された線分または前記線分統合手段によって統合された線分の中から所定の条件を満たす線分を選択する線分選択手段とをさらに具備してもよい。この線分を選択するための所定の条件は、これを入力するための入力手段をさらに設けて外部から入力してもよいし、これを予め記憶しておくための記憶手段をさらに設けてこの記憶手段から与えてもよい。
また、前記線分選択手段によって選択された線分の位置または選択された複数の線分の延長線上の交点の位置を前記濃淡画像上で識別可能に表示するための表示制御手段をさらに具備してもよい。
【００３３】
この発明による画像処理装置の他の実施態様によれば、前記線分抽出手段によって抽出された線分の抽出状態を用いて対象物の輪郭の直線部分における欠陥の有無を判別する欠陥判別手段をさらに具備するものとすることができる。
具体的には、前記欠陥判別手段は、前記線分抽出手段によって抽出された線分の中に線分間の方向ずれ量が所定範囲内であり、かつ、線分間の位置ずれ量が所定範囲内である線分の組があるとき、これら線分の間に欠陥が存在すると判別するものとすることができる。
また、前記欠陥判別手段は、前記線分抽出手段によって抽出された線分の数を所定の基準値と比較し、両者の値が異なるときに対象物の輪郭の直線部分に欠陥が存在すると判別するものとすることができる。
【００３４】
この発明による画像処理装置の他の実施態様によれば、前記方向設定手段は、対象物の輪郭における直線部分の想定される方向を入力するものとし、前記ラベル設定手段は、方向設定手段によって入力された方向毎に個別のラベルを設定するものとし、前記画素ラベル付け手段は、そのエッジ画素の方向が方向設定手段によって入力された方向のいずれかと一致するようなエッジ画素に対して、その一致した方向に対応するラベルを割り当てるものとすることができる。
さらに、先に説明した線分統合手段、線分選択手段および欠陥判別手段は、この実施態様においても採用することができる。
【００３５】
【発明の実施の形態】
図１は、この発明の一実施例にかかる画像処理装置の構成を示す。
この画像処理装置１は、ディジタル濃淡画像上において、対象物の輪郭の直線部分やその直線部分が複数あるときのそれらの延長上の交点を抽出するためのもので、画像入力部２，画像メモリ３，画像出力部４，タイミング制御部５，キャラクタ・グラフィックメモリ６，文字メモリ７，制御部８，モニタ９，Ｉ／Ｏポート１０などにより構成される。
【００３６】
画像入力部２は、図示しないアナログカメラからの濃淡画像信号を取り込むためのインターフェイス回路，前記濃淡画像信号をディジタル変換するためのＡ／Ｄ変換回路，ノイズカット用のフィルタ回路などにより構成される。なお前記カメラはアナログカメラに限らず、ディジタルカメラを用いてもよい。
【００３７】
前記画像メモリ３は、画像入力部２により取り込まれ、Ａ／Ｄ変換されたディジタル量の濃淡画像データ（以下単に、「画像」という。）を取り込んで保存する。キャラクタ・グラフィックメモリ６には、後記するエッジコードヒストグラム、処理結果画像、線分の抽出条件の設定画面などを表示するのに必要な画像データが格納される。
文字メモリ７には、検査結果などの文字情報を表示するためのテキストデータやその表示位置などが格納される。これらメモリ３，６，７は、それぞれアドレス／データバス１１を介して制御部８に接続され、制御部８からの指示に応じたデータを、タイミング制御部５からのタイミング信号に応じて画像出力部４またはアドレス／データバス１１に出力する。
【００３８】
前記制御部８は、ＣＰＵ１２，ＲＯＭ１３，ＲＡＭ１４を主体とし、このほかに検査のための処理手順を示す制御プログラムがインストールされたハードディスク１５を具備する。ＣＰＵ１２は、ハードディスク１５内の制御プログラムに基づき、アドレス／データバス１１を介して各メモリに対する情報の読書きを行いつつ目的とする計測処理を実行する。
【００３９】
前記画像出力部４は、モニタ９に対し、計測対象の物体の画像のほか、前記ヒストグラム，処理結果画像，ならびに検査結果を示す文字情報などを単独または合成した状態で与え、画面上に表示させる。Ｉ／Ｏポート１０は、キーボード，マウスなどの入力部や、外部記憶装置，伝送部のような出力部に接続され、入力部からの各種設定データを入力したり、検査結果を外部に出力する際に用いられる。
【００４０】
この実施例の画像処理装置１では、入力された画像上に計測対象の物体を含むような計測領域を設定するとともに、計測対象の物体の輪郭を構成する線分を抽出するための条件として、前記線分の特徴を示すデータの入力をＩ／Ｏポート１０から受け付けるようにしている。なお、計測領域は、あらかじめ設定された条件に基づいて設定されるが、これに限らず、画像を入力する都度、ユーザーの設定操作に応じて任意の位置に任意の大きさの計測領域を設けてもよい。また入力画像全体を計測領域としてもよい。
【００４１】
図２は、画像処理装置１における一連の計測処理の流れ（ＳＴ１〜１０）を示す。以下、図３〜１４を順に参照しながら、図２の流れに沿って、計測処理の詳細を説明する。
【００４２】
まずＳＴ１では、前記計測領域内のエッジ画素を抽出する。
このエッジ画素の抽出処理では、画像上に図３に示すような３×３マスクを走査しつつ、走査位置毎に、マスク内の各画素の濃度値Ｉをつぎの（１）〜（３）式にあてはめることにより、中央の画素ｇ（座標位置（ｘ，ｙ）にある画素）について、ｘ，ｙの各軸方向毎の濃度勾配Ｅｘ（ｘ，ｙ），Ｅｙ（ｘ、ｙ）、およびその濃度勾配の大きさ（以下「エッジ強度」という。）Ｅｉ（ｘ，ｙ）を算出する。このエッジ強度Ｅｉ（ｘ，ｙ）が所定値を越えるとき、着目画素ｇはエッジ画素として認定される。
【００４３】
【数１】
0003661635.tif 000002
【００４４】
【数２】
0003661635.tif 000003
【００４５】
【数３】
0003661635.tif 000004
【００４６】
また、高速演算に適した簡易な方式とするときは、（３）式は次の（４）式によって代用することができる。
Ｅｉ（ｘ，ｙ）＝Ｅｘ（ｘ，ｙ）＋Ｅｙ（ｘ，ｙ）  ・・・（４）
【００４７】
なおこの実施例では、後記するように、ソフトウェア処理によりマスクを走査してエッジ画素の抽出処理を行っているが、これに限らず、専用の微分回路により画像メモリ３への画像入力と並行させてエッジ画素の抽出処理を行い、その結果を用いて以下の処理を行うようにしてもよい。
【００４８】
前記濃度勾配Ｅｘ（ｘ，ｙ），Ｅｙ（ｘ，ｙ）は、着目画素ｇにおける濃度の変化量をｘ，ｙの各軸方向毎に示したものである。エッジ強度Ｅｉ（ｘ，ｙ）は、これら濃度勾配Ｅｘ（ｘ，ｙ），Ｅｙ（ｘ，ｙ）の示すベクトルの合成ベクトルの長さに相当するもので、前述のようにこのエッジ強度Ｅｉ（ｘ，ｙ）が所定値を越えるとき、着目画素ｇはエッジ画素として認定される。
またこの合成ベクトルの示す方向によって、着目画素ｇにおいて濃度が変化する方向（すなわち濃度勾配の方向）が示されることになる。
【００４９】
つぎのＳＴ２では、ＳＴ１で抽出された各エッジ画素につき、順に、エッジ画素の方向を表す角度（以下、この角度を示す数値データを「エッジコード」という。）を求めるとともに、計測領域内のエッジ画素の数をエッジコードの値毎に計数したヒストグラム（以下、このヒストグラムを「エッジコードヒストグラム」という。）を作成する。
【００５０】
図４は、対象物の輪郭部分の一部を拡大してエッジコードの表し方を示したものである。
図中、Ｅは、前記（１）〜（３）式により抽出されたエッジ画素である。この実施例では、濃度の高い方から低い方へと向かうベクトルＦをエッジ画素Ｅにおける濃度勾配の方向とし、このベクトルＦに直交するベクトルＣを、エッジコードによって表される方向としている。なお、図示例は、対象物の濃度が背景よりも小さい場合（すなわち対象物が背景よりも暗い場合）の例であり、対象物と背景との濃度の関係が逆になる場合は、ベクトルＦ，Ｃの向きは反転する。
【００５１】
この実施例では、エッジ画素Ｅからｘ軸の正方向に向かうベクトルＢを基準として、ベクトルＣをベクトルＢから反時計回り方向に見たときの角度Ｅｃ（ｘ，ｙ）を、前記エッジコードとしている。
【００５２】
前記ベクトルＦは、前記（１）（２）式により得た濃度勾配Ｅｘ（ｘ，ｙ），Ｅｙ（ｘ，ｙ）の合成ベクトルであり、ベクトルＣはベクトルＦに直交するベクトルであるから、エッジコードＥｃ（ｘ，ｙ）は、濃度勾配Ｅｘ（ｘ，ｙ），Ｅｙ（ｘ，ｙ）の値に応じて下記▲１▼〜▲５▼のいずれかの式によって求められる。
【００５３】
▲１▼  Ｅｘ（ｘ，ｙ）＞０  および  Ｅｙ（ｘ，ｙ）≧０のとき、
Ｅｃ（ｘ，ｙ）＝ａｔａｎ（Ｅｙ（ｘ，ｙ）／Ｅｘ（ｘ，ｙ））
▲２▼  Ｅｘ（ｘ，ｙ）＞０  および  Ｅｙ（ｘ，ｙ）＜０のとき、
Ｅｃ（ｘ，ｙ）＝３６０＋ａｔａｎ（Ｅｙ（ｘ，ｙ）／Ｅｘ（ｘ，ｙ））
▲３▼  Ｅｘ（ｘ，ｙ）＜０のとき、
Ｅｃ（ｘ，ｙ）＝１８０＋ａｔａｎ（Ｅｙ（ｘ，ｙ）／Ｅｘ（ｘ，ｙ））
▲４▼  Ｅｘ（ｘ，ｙ）＝０  および  Ｅｙ（ｘ，ｙ）＞０のとき、
Ｅｃ（ｘ，ｙ）＝０
▲５▼  Ｅｘ（ｘ，ｙ）＝０  および  Ｅｙ（ｘ，ｙ）＜０のとき、
Ｅｃ（ｘ，ｙ）＝１８０
【００５４】
前記エッジコードヒストグラムを作成するには、計測領域内の各エッジ画素につき、前記▲１▼〜▲５▼を用いてエッジコードＥｃ（ｘ，ｙ）を算出しつつ、算出されたエッジコードＥｃ（ｘ，ｙ）の値に対応する度数を１ずつ加算するか、または着目中のエッジ画素のエッジ強度Ｅｉ（ｘ，ｙ）による重みを付けた度数を加算する。
なお、この実施例では、前記エッジコードヒストグラム上の角度を１度単位で設定するようにしている。さらにすべてのエッジ画素についてのエッジコードの算出と度数加算処理とが終了した時点で、ノイズ除去のためにヒストグラムの平滑化処理を実施している。
【００５５】
またこの実施例では、計測領域内のエッジ画素を抽出し終えてからエッジコードヒストグラムの作成を行っているが、これに限らず、計測領域内を順にサーチして、エッジ画素を抽出する毎に、エッジコードの算出および度数加算処理を続けて行うようにしてもよい。
【００５６】
画像上において、線分を構成する各エッジ画素のエッジコードは、すべて前記線分の傾きに相当する値をとるはずである。したがって計測領域内に線分が存在する場合には、前記エッジコードヒストグラムでは、線分の傾きに対応する角度付近にピークが出現する。また計測領域内に傾きの異なる複数の線分が存在する場合には、エッジコードヒストグラム上の各線分の傾きに対応する角度位置に、それぞれピークが現れる。
【００５７】
図５（１）は、処理対象の濃淡画像を示す。同図において、１６は対象物の画像であり、背景よりも濃度が低く、直交する４方向に分類可能な線分を組み合わせた十字型の輪郭形状を具備している。
図５（２）は、前記図５（１）の対象物について作成されたエッジコードヒストグラムを示すもので、前記輪郭形状の４方向に相当する４つのピークＰ１〜Ｐ４が現れている。
【００５８】
ＳＴ３では、このヒストグラム上で前記ピークに対応する角度を抽出する。  ピークを抽出するには、たとえば前記エッジコードヒストグラムの角度毎の度数を、角度の小さい方から順に比較して（ただしエッジコードが３５９度のときの度数は０度のときの度数と比較する。）、所定大きさ以上の山状の度数変化を抽出し、このピークに対応する角度を決定する。
【００５９】
こうしてピークに対応する角度が求められると、つぎのＳＴ４では、これらピークに対応する角度（以下、「ピーク角度」という。）にそれぞれ個別のラベルを設定する。さらに続くＳＴ５では、前記計測領域において、各ピーク角度に対応するエッジコードを有するエッジ画素に、それぞれ対応するピーク角度に設定されたラベルを割り当てる。なお、いずれかのピーク角度に対応するラベルが割り当てられなかったエッジ画素やエッジ画素ではない画素には、処理対象のデータではないことを示すラベル（たとえば"null"）が割り当てられる。
【００６０】
またＳＴ５では、ピーク角度だけでなく、ピーク角度を中心として、前記山状の度数分布の範囲に相当する角度範囲内（例えば、ヒストグラムの高さが所定の値を超える部分に対応する角度範囲内やピーク角度を中心としてその前後所定の角度範囲内など）に対応するエッジコードを有するエッジ画素に、前記ピーク角度に設定されたラベルを割り当てるのが好ましい。
図５（２）では、前記各ピークＰ１〜Ｐ４について、それぞれピークＰ１〜Ｐ４を中心とする比較的高い度数が得られる角度範囲を抽出し、これら角度範囲に含まれる各角度に、ラベルθ１〜θ４を対応づけている。
【００６１】
図６（１）は、前記図５（１）の画像のエッジ画素抽出結果に前記ラベルθ１〜θ４を割り当てた例を示す。
図示例によれば、線分を構成するエッジ画素のエッジコードは、エッジコードヒストグラムの前記ピークＰ１〜Ｐ４のいずれかに対応するから、各線分には、θ１〜θ４のいずれかのラベルが対応づけられることになる。
【００６２】
図６（１）の状態では、画像上に同一のエッジコードに対応する線分が複数存在すると、これらの線分には同じラベルが割り当てられる。すなわちＳＴ５のラベリング処理のみでは、画像上の各線分を完全に切り分けることはできない。
そこでつぎのＳＴ６では、独立した線分毎に個別のラベルが付与されるように、ラベルの付け直しを行う。（以下、ＳＴ５の処理を「仮ラベリング処理」と呼び、ＳＴ６の処理を「本ラベリング処理」と呼ぶ。）
【００６３】
本ラベリング処理では、ＳＴ５の仮ラベリング処理により割り当てられた同じラベルを有し、かつ、連続するエッジ画素の集合を抽出し、こうして抽出したエッジ画素の集合毎に個別のラベルを割り当て直す。
【００６４】
図６（２）は、前記図６（１）の仮ラベリング処理の結果に本ラベリング処理を行った結果を示すもので、前記ラベルθ１が割り当てられた３つの線分は、それぞれθ11，θ12，θ13の各ラベルにより切り分けられている。同様に、前記ラベルθ２が割り当てられた３つの線分には、θ21，θ22，θ23の各ラベルが、前記ラベルθ３が割り当てられた３つの線分には、θ31，θ32，θ33の各ラベルが、前記ラベルθ４が割り当てられた３つの線分には、θ41，θ42，θ43の各ラベルが、それぞれ割り当てられて、各線分が切り分けられている。
【００６５】
このような２段階のラベリング処理により、各線分をラベル毎に切り分けて認識することが可能となる。ＳＴ７では、この状態下において、ラベル毎に、それぞれそのラベルが付与されたエッジ画素の集合（以下これを「ラベル集合」という。）を用いて、つぎのＡ〜Ｆに示す演算を実行することにより、各線分の特徴量を算出する。
なお、Ａ，ＢにおけるΣ演算は、いずれも１つのラベル集合に含まれる各エッジ画素についての算出結果の総和を求めることを意味するもので、また（ｘn，ｙn）はラベル集合内の１つのエッジ画素の座標を示し、Ｅｉ（ｘn，ｙn）、Ｅｃ（ｘn，ｙn）はそれぞれ座標（ｘn，ｙn）に位置するエッジ画素についてのエッジ強度、エッジコードを示す。
【００６６】
Ａ． 濃淡重心：ＧＸ，ＧＹ
ラベル集合の示す線分の重心位置の座標を算出するもので、ラベル集合内の各エッジ画素のエッジ強度Ｅｉ（ｘn，ｙn）を重みとしたつぎの（ａ）−１，（ａ）−２の各式により求められる。
ＧＸ＝Σ｛Ｅｉ（ｘn，ｙn）・ｘn｝／｛Ｅｉ（ｘn，ｙn）｝・・・（ａ）−１
ＧＹ＝Σ｛Ｅｉ（ｘn，ｙn）・ｙn｝／｛Ｅｉ（ｘn，ｙn）｝・・・（ａ）−２
【００６７】
Ｂ． 方向和：ＳＣＸ，ＳＣＹ
ラベル集合に属する各エッジのエッジコードをｘ軸，ｙ軸の各軸方向の成分に分解した値の総和であって、つぎの（ｂ）−１，（ｂ）−２の各式により求められる。
ＳＣＸ＝Σｃｏｓ｛Ｅｃ（ｘn，ｙn）｝  ・・・（ｂ）−１
ＳＣＹ＝Σｓｉｎ｛Ｅｃ（ｘn，ｙn）｝  ・・・（ｂ）−２
【００６８】
Ｃ． 方向平均：ＥＣ
ラベル集合の示す線分の傾きに相当する特徴量であって、前記方向和ＳＣＸ，ＳＣＹの大小関係に基づき、つぎの（ｃ）−１〜（ｃ）−５式のいずれかにより求められる。
ＳＣＸ＞０  かつ  ＳＣＹ≧０のとき
ＥＣ＝ａｔａｎ（ＳＣＹ／ＳＣＸ）  ・・・（ｃ）−１
ＳＣＸ＞０  かつ  ＳＣＹ＜０のとき
ＥＣ＝３６０＋ａｔａｎ（ＳＣＹ／ＳＣＸ）  ・・・（ｃ）−２
ＳＣＸ＜０のとき
ＥＣ＝１８０＋ａｔａｎ（ＳＣＹ／ＳＣＸ）  ・・・（ｃ）−３
ＳＣＸ＝０  かつ  ＳＣＹ＞０のとき
ＥＣ＝０      ・・・（ｃ）−４
ＳＣＸ＝０  かつ  ＳＣＹ＜０のとき
ＥＣ＝１８０      ・・・（ｃ）−５
【００６９】
Ｄ． 直線の方程式
ラベル集合の示す線分を通る直線Ｐ（図７に示す。）を示すもので、前記方向和ＳＣＸ，ＳＣＹ，および濃淡重心ＧＸ，ＧＹを用いて、つぎの（ｄ）式により表される。
ＳＣＹ・ｘ＋ＳＣＸ・ｙ−（ＳＣＹ・ＧＸ＋ＳＣＸ・ＧＹ）＝０・・・（ｄ）
【００７０】
Ｅ． 端点座標：（ｘ１，ｙ１）（ｘ２，ｙ２）
前記線分の各端点の座標であるが、この実施例では、計測処理のばらつきを考慮して前記直線Ｐ上に位置する端点の座標を求めるために、つぎのような演算を実行している。
まず処理対象のエッジ集合のｘ座標、ｙ座標の中から、それぞれ最大値ｘmax，ｙmax，および最小値ｘmin，ｙminを抽出し、これらの座標により線分の仮端点の座標（ｘ１´，ｙ１´）（ｘ２´，ｙ２´）を設定する。
なお、各仮端点のｘ座標は、  ｘ１´＝ｘmin  ，ｘ２´＝ｘmaxとなり、
ｙ座標は、ＳＣＹ・ＳＣＸ≧０のときは
ｙ１´＝ｙmin  ｙ２´＝ｙmax
ＳＣＹ・ＳＣＸ＜０のときは
ｙ１´＝ｙmax  ｙ２´＝ｙminとなる。
【００７１】
このようにして仮端点（ｘ１´，ｙ１´），（ｘ２´，ｙ２´）を求めると、これらの座標と前記（ｄ）の直線の方程式とを用いて、各仮端点から直線に下ろした垂線の足の座標を求め、その座標を端点の座標（ｘ１，ｙ１）（ｘ２，ｙ２）とする。
【００７２】
Ｆ． 線分の長さＬ
前記線分の端点間の距離に相当するもので、各端点の座標を距離の算出式にあてはめることにより求められる。
【００７３】
図７は、上記Ａ〜Ｆの処理により求められる特徴量のうち、前記濃淡重心（ＧＸ，ＧＹ），線分を通る直線Ｐ，線分の長さＬ，線分の端点（ｘ１，ｙ１）（ｘ２，ｙ２）を示す。つぎのＳＴ８，９では、これらの特徴量や直線の式を用いた演算処理を実行する。
【００７４】
ＳＴ８では、前記線分毎の特徴量を用いて、１本の線分として統合可能な線分の組があるか否かを判別する。そして統合が可能な線分の組が見つかると、これら線分を構成するエッジ画素をひとまとめにした新たなラベル集合を形成し、その集合に新しいラベルを設定する。さらにこの新しいラベル集合についても、前記Ａ〜Ｆに示した各特徴量や直線の式が求められる。
なお、統合前の各ラベル集合およびその特徴量も、消去されずに維持される。
【００７５】
図８は、前記線分の統合が可能か否かを判別するための具体的な手順を示し、図９は、この判別処理に用いられるパラメータの概念を示す。
なお、図９中、Ａ，Ｂは着目中の線分、Ｐ１，Ｐ２は、これら線分Ａ，Ｂを通る直線、Ｃは線分Ａ，Ｂを統合した場合の統合後の線分である。この図示例では、パラメータをわかりやすく示すために、各線分Ａ，Ｂの傾きの差や線分間の位置ずれ量を大きく示している。
【００７６】
図８の手順は、計測領域内のすべての線分の組合せ（ここでは、２本の線分による組合せをいう。）に対して実行される。
まずＳＴ８−１では、着目中の線分Ａ，Ｂについて、傾き（前記した方向平均ＥＣ）の差δを求め、このδが所定のしきい値以下であるか否かを判定する。
【００７７】
つぎのＳＴ８−２では、各線分Ａ，Ｂの向かい合う端点（図９の点ａ２，ｂ１）間の距離ｄを算出し、これが所定のしきい値以下であるか否かを判定する。
【００７８】
ＳＴ８−３では、統合後の線分Ｃの長さＬ３を求め、この長さが各線分Ａ，Ｂの長さの和（Ｌ１＋Ｌ２）以上であるか否かを判定する。なお統合後の線分の長さＬ３は、各線分Ａ，Ｂの向かい合わない端点（図９の端点ａ１とｂ２）間の距離として算出される。
【００７９】
ＳＴ８−４では、線分間の位置ずれ量を求め、この位置ずれ量が所定のしきい値以下であるか否かを判定する。なおこの位置ずれ量は、前記向かい合う端点間のずれ量として表されるもので、この実施例では、一方の線分（図示例では線分Ｂ）を通る直線（図示例ではＰ２）に対し、他方の線分（図示例では線分Ａ）の線分Ｂ側の端点ａ１から下した垂線の長さｈと定義している。
【００８０】
上記ＳＴ８−１〜８−４の判定処理が順に行われて、いずれの判定結果も「ＹＥＳ」となると、ＳＴ８−５に進み、前記線分Ａ，Ｂの統合が可能であると判定する。他方、ＳＴ８−１〜８−４のいずれかの判定処理で「ＮＯ」の判定がなされた場合は、ＳＴ８−６に進み、前記Ａ、Ｂの統合は不可能であると判定する。
【００８１】
なお各判定処理に用いるしきい値のうち、端点間の距離ｄに対するしきい値は、比較的大きな値に設定してよいが、方向平均の差δならびに線分間の位置ずれ量ｈに対するしきい値は、極力小さな値にするのが望ましい。
方向平均の差δおよび線分間の位置ずれ量ｈに対するしきい値を小さな値にすべきであるのは、対象物の輪郭の一つの直線部分が分断されて複数の線分が生じた場合には、これらの線分間の傾きの差や線分間の位置ずれ量は小さくなるはずであるからである。これに対し、対象物の輪郭の一つの直線部分が大きな欠陥により分断されることにより複数の線分が抽出されると、各線分の向かい合う端点間の距離ｄの値は大きくなることがあるから、端点間の距離ｄに対する許容値はある程度大きくすることができる。
【００８２】
図１０は、前記線分が統合されるケースと統合されないケースとの違いを例示したもので、図中の（１）（２）では、いずれも傾きに差のない２つの線分Ａ，Ｂを示している。図１０（１）では、各線分Ａ，Ｂの向かい合う端点ａ，ｂ間の距離ｄは大きいが、線分Ａ，Ｂ間の位置ずれ量ｈは線分の幅範囲内であるから、各線分Ａ，Ｂは統合可能と判断される。
これに対し、図１０（２）の例では、端点ａ，ｂ間の距離ｄは図１０（１）よりも小さいが、位置ずれ量ｈは線分の幅範囲を越えており、各線分Ａ，Ｂの統合は不可能と判断される。
【００８３】
前記した直線の統合処理によれば、図１１に示すように、統合可能な線分の組が複数組ある場合（図示例では直線ＡとＢ，直線ＢとＤとの２組）には、各組毎に統合処理を行って新たな線分Ｃ，Ｅを設定した後、さらにこれらの線分Ｃ，Ｅを統合して、各線分を１本の線分Ｆに統合することも可能となる。
なお統合された線分Ｃ，Ｅ，Ｆには、それぞれ個別のラベルが設定され、統合前の各線分Ａ，Ｂ，Ｄのラベルもそのまま維持するのが望ましい。
【００８４】
図２に戻って、上記のようにして計測領域内に存在する各線分を個別に抽出し、統合可能な線分を統合する処理が完了すると、ＳＴ９では、これら線分の中から抽出条件を満たす線分を抽出する。
前記抽出条件は、線分の長さ、傾きなど、１本の線分を抽出するための条件としてもよいが、対象物の位置や方向を計測するためには、複数本の線分を抽出するための条件を設定するのが望ましい。
【００８５】
図１２は、前記直線の抽出条件として、対象物の輪郭の隣り合う２辺を構成する線分を抽出するように設定されている場合の抽出方法を示す。この場合も前記統合処理と同様に、計測領域内の線分の組を順に検索し、各組毎に、処理対象の線分Ａ，Ｂの長さＬ１，Ｌ２が対象物の大きさに応じた長さであるかどうかを判定する。また抽出条件として、各線分のなす角度が指定されている場合は、各線分Ａ，Ｂを通る直線Ｐ１，Ｐ２の方程式から、各直線のなす角αを求め、このαを抽出条件と比較する。
【００８６】
図１３は、前記抽出条件として、平行な線分の組を抽出することが設定された場合の線分の抽出方法を示す。この場合の具体的な抽出処理では、計測領域内の各線分の組合せ毎に線分間の傾きの差をとり、この差がゼロに近い値をとる組合せを抽出する。さらに線分間の距離も抽出条件に含まれている場合は、平行と認定された線分Ａ，Ｂを通る直線Ｐ１，Ｐ２の方程式から線分間の距離を求め、これを条件と比較する。また図１２の例と同様に、各線分の長さを抽出条件とすることもできる。
なおこの図１３の方法において、抽出すべき線分間の距離をきわめて小さく設定すれば、パッケージ上に生じた直線キズのような微小な幅の対象物を抽出することができる。
【００８７】
図１４は、前記抽出条件として、所定大きさの長方形を構成する線分を抽出することが設定された場合の線分の抽出方法を示す。この場合は、まず図１４（１）に示すように、長方形の向かい合う辺に相当する２組の平行な線分（図示例では線分ＡとＢ、線分ＣとＤ）を抽出する。なお、各線分の組の抽出は、前記図１３と同様の方法により行われるもので、図中のＥ，Ｆ，Ｇは、平行な線分としての条件にあてはまらなかった線分である。
さらに抽出された各組間での線分の傾き（方向平均）の差が９０度に近似していることを確認した上で、図１４（２）に示すように、各線分の重心ｇ１〜ｇ４（前記濃淡重心の座標（ＧＸ，ＧＹ）を用いる。）を結ぶ領域ｒおよび平行な線分の組毎の重心を結ぶ直線ｍ１，ｍ２を設定する。このとき各直線ｍ１，ｍ２の交点Ｍが領域ｒ内にあれば、各線分θ１〜θ４が長方形を構成する線分であると判定する。
【００８８】
このようにして抽出条件に適合する線分が見つかると、ＳＴ１０では、抽出された線分をたとえば所定の色彩または輝度で識別する処理結果画像を生成する。生成された処理結果画像は、前記モニタ９に与えられて表示される。
なお前記図１２に示すように、抽出された各線分を通る直線の方程式から、線分または直線の交点（ｃｘ，ｃｙ）を求めると、この交点位置を所定のマークで示すような処理結果画像を生成して表示することもできる。
【００８９】
上記実施例によれば、濃淡画像上のエッジ画素を用いた計測を行うので、照明の変動などにより画像の明るさが変化しても、計測結果に狂いが生じにくく、安定した計測を行うことができる。また対象物の大きさや方向が変化する可能性がある場合は、線分の長さや傾きについての抽出条件を緩やかに設定したり、他の抽出条件を設定することにより、目的とする線分を抽出できるので、精度が高い計測処理を簡単かつ高速に行うことができる。
【００９０】
なお、この実施例では、計測領域から対象物の輪郭線を構成する線分を抽出して、その抽出結果を表示するにとどめているが、これに限らず、抽出結果を用いて対象物の位置や向きを計測するようにしてもよい。
たとえば、前記図１４のような長方形状の輪郭を具備する対象物を計測対象とする場合、抽出された各線分Ａ〜Ｄを通る直線の方程式を用いて対象物に対応する画像領域を特定した後にその領域内の重心位置を求め、その値を対象物の位置として特定することができる。また対象物の向きは、いずれか一方の線分の組（例えば長い方の線分Ａ，Ｂ）の傾きによって表すことができる。
【００９１】
さらに前記図８，９に示した線分の統合判定処理によれば、欠陥により分断された輪郭線を統合の対象として抽出できるから、前記統合判定処理を輪郭上に生じた欠陥を抽出する用途に適用することも可能である。
また単に欠陥の有無を判別するだけでよい場合は、あらかじめ良品モデルによる計測を行って、計測領域内での線分の適正な抽出数を求めておき、検査対象の画像により得られた線分の抽出数が前記適正な抽出数になるか否かをチェックすればよい。
【００９２】
なお、上記の実施例では、対象物が回転ずれする場合を想定してエッジコードヒストグラムを作成し、線分に相当するピークを抽出しているが、対象物を位置ずれのない安定した状態下で撮像できるのであれば、あらかじめ濃淡画像上における対象物の輪郭の向きをＩ／Ｏポート１０から入力しておくことにより、対象物の輪郭の向きに対応する方向をエッジコードとするエッジ画素にラベル付を行って、前記輪郭の向きに対応する線分を抽出することができる。またエッジコードヒストグラムを作成した上での計測処理と、エッジコードヒストグラムの作成を行わない計測処理とを適宜切り替えられるように構成しても良い。
【００９３】
【発明の効果】
この発明によれば、輪郭線を構成するエッジ画素においては濃度勾配の大きさが相対的に大きいためにエッジ画素の方向を誤差小さく求めることができることに着目し、エッジ画素の方向に対応してエッジ画素に割り当てられたラベルが共通することおよびエッジ画素が連続していることを条件として抽出したエッジ画素の集合によって線分を表すようにしたので、対象物の輪郭の直線部分を的確に抽出することができる。また、濃淡画像の状態にかかわらず、特に背景部分と対象物部分との濃度差が小さい場合や照明が均一でない場合でも、エッジ画素の方向は安定して求めることができるので、このような場合でも対象物の輪郭の直線部分を的確に抽出することができる。
【図面の簡単な説明】
【図１】この発明の一実施例にかかる画像処理装置の構成を示すブロック図である。
【図２】画像処理の手順を示すフローチャートである。
【図３】エッジ抽出処理に用いるマスクを示す説明図である。
【図４】エッジコードの表し方を示す説明図である。
【図５】対象物の濃淡画像およびこの画像のエッジ抽出結果を処理して得たエッジコードヒストグラムを示す説明図である。
【図６】図５の画像についての仮ラベリング処理および本ラベリング処理の結果を示す説明図である。
【図７】線分の特徴量の概念を示す説明図である。
【図８】線分の統合判定に関する処理手順を示すフローチャートである。
【図９】線分の統合判定に用いるパラメータを説明する図である。
【図１０】線分の統合が可能と判定された例および不可能と判定された例を示す説明図である。
【図１１】複数の線分を統合した例を示す説明図である。
【図１２】線分の抽出処理の具体例を示す説明図である。
【図１３】線分の抽出処理の具体例を示す説明図である。
【図１４】線分の抽出処理の具体例を示す説明図である。
【符号の説明】
１  画像処理装置
２  画像入力部
４  画像出力部
７  制御部
９  モニタ
１１  ＣＰＵ
【図１】
0003661635.tif 000005
【図２】
0003661635.tif 000006
【図３】
0003661635.tif 000007
【図４】
0003661635.tif 000008
【図５】
0003661635.tif 000009
【図６】
0003661635.tif 000010
【図７】
0003661635.tif 000011
【図８】
0003661635.tif 000012
【図９】
0003661635.tif 000013
【図１０】
0003661635.tif 000014
【図１１】
0003661635.tif 000015
【図１２】
0003661635.tif 000016
【図１３】
0003661635.tif 000017
【図１４】
0003661635.tif 000018