(57)【要約】【課題】湾曲した線状体や、凹凸のある線状体まで、簡単かつ精度良く検出できるようにする。【解決手段】処理対象の濃淡画像から抽出したエッジ画素Ｐ１に順に着目し、このエッジ画素Ｐ１でのエッジに直交する方向に沿って所定の長さＷの範囲で、エッジ画素Ｐ１とは濃度勾配方向が反転するエッジ画素を検索する。この検索によって条件に応じたエッジ画素Ｐ２が抽出されると、抽出されたエッジ画素Ｐ２と着目中のエッジ画素Ｐ１との中間点Ｑを基点として、エッジ画素Ｐ１でのエッジに平行な方向Ｃに、長さＬの線分を設定する。【選択図】　図２
2004133811.tif 000002
【特許請求の範囲】
【請求項１】
濃淡画像上の線状体を検出するための方法であって、
前記濃淡画像に対してエッジ画素を抽出し、前記抽出されたエッジ画素に順次着目しつつ、着目中のエッジ画素におけるエッジ方向に直交する方向に基づく所定の範囲で、前記着目中のエッジ画素とは濃度勾配方向が反対方向になると認定できるエッジ画素を検索するとともに、前記認定条件を満たすエッジ画素が抽出されたとき、抽出されたエッジ画素から前記着目中のエッジ画素に至るまでの所定位置を通り、前記着目中のエッジ画素におけるエッジ方向に平行な線分を設定し、
着目すべきエッジ画素がなくなったとき、前記線分の設定結果を示す画像を、線状体の検出結果として表示することを特徴とする画像処理方法。
【請求項２】
請求項１に記載された画像処理方法であって、
前記検索処理における検索範囲の設定条件を示す数値の入力を受け付けるようにした画像処理方法。
【請求項３】
請求項１または２に記載された画像処理方法であって、
前記線分の設定条件を示す数値の入力を受け付けるようにした画像処理方法。
【請求項４】
請求項１〜３のいずれかに記載された画像処理方法であって、前記線分の設定処理において、設定すべき線分の構成画素の濃度値に着目中のエッジ画素のエッジ強度に応じた数値を加算して、前記線分の設定結果を示す画像を生成するようにした画像処理方法。
【請求項５】
請求項４に記載された画像処理方法であって、
着目すべきエッジ画素がなくなったとき、前記線分の設定処理結果を示す画像を所定のしきい値により２値化し、得られた２値画像を前記線状体の検出結果として表示するようにした画像処理方法。
【請求項６】
請求項１〜３のいずれかに記載された画像処理方法であって、前記線分の設定処理において、設定すべき線分の長さまたは幅に、着目中のエッジ画素のエッジ強度を反映させるようにした画像処理方法。
【請求項７】
請求項１に記載された画像処理方法であって、
前記検索処理により前記認定条件を満たすエッジ画素が抽出されたとき、前記線分の設定処理の後に、前記抽出されたエッジ画素を着目済のエッジ画素とすることを特徴とする画像処理方法。
【請求項８】
濃淡画像上の線状体を検出するための方法であって、
前記濃淡画像に対してエッジ画素を抽出し、前記抽出されたエッジ画素に順次着目しつつ、着目中のエッジ画素におけるエッジ方向に直交する方向に基づく所定の範囲で、前記着目中のエッジ画素とは濃度勾配方向が反対方向になると認定できるエッジ画素を検索するとともに、前記認定条件を満たすエッジ画素が抽出されたとき、抽出されたエッジ画素から前記着目中のエッジ画素に至るまでの所定位置を通り、前記着目中のエッジ画素のエッジ方向に平行な線分を設定し、
着目すべきエッジ画素がなくなったとき、前記線分の設定結果に基づき、濃淡画像上の線状体の位置またはこの線状体の大きさを検出することを特徴とする画像処理方法。
【請求項９】
請求項１または８に記載された画像処理方法において、
線状体の画像を含む所定数の濃淡画像を入力するステップと、
前記各濃淡画像について、それぞれその画像上の線状体を指定する操作を受け付けるステップと、
入力した各濃淡画像について、それぞれ前記検索処理と前記線分の設定処理とをそれぞれの処理におけるパラメータの値を変化させながら実行するとともに、前記線分の設定結果に基づき線状体の検出処理を実行するステップと、
前記濃淡画像毎の線状体の検出結果と前記線状体の指定結果とに基づき最適なパラメータの値の組み合わせを選択するステップとを実行するようにしており、
前記検索処理におけるパラメータは、検索範囲の設定条件を示す数値であり、前記線分の設定処理におけるパラメータは、線分の設定条件を示す数値である画像処理方法。
【請求項１０】
濃淡画像上の線状体を検出するための装置であって、
処理対象の濃淡画像を入力する画像入力手段と、
前記入力された濃淡画像に対する線状体の検出結果を表示するための表示手段と、
前記濃淡画像上のエッジ画素を検出するエッジ画素検出手段と、
所定のエッジ画素に着目して、このエッジ画素におけるエッジ方向に直交する方向に基づく所定の範囲で、前記着目中のエッジ画素とは濃度勾配方向が反対になると認定できるエッジ画素を検索する検索手段と、
前記検索手段により前記認定条件を満たすエッジ画素が抽出されたとき、抽出された画素から前記着目中のエッジ画素に至るまでの所定位置に前記着目中のエッジ画素のエッジ方向に平行な線分を設定する線分設定手段と、
前記エッジ画素検出手段により検出されたエッジ画素を順に着目画素として、前記検索手段および線分設定手段を動作させ、着目すべきエッジ画素がなくなったとき、前記線分設定手段による線分の設定結果を示す画像を前記表示手段に表示させる制御手段とを具備して成る画像処理装置。
【請求項１１】
請求項１０に記載された画像処理装置であって、
線状体の検出処理に使用するパラメータを入力する入力手段を具備しており、
前記入力手段は、前記検索手段による検索処理のパラメータとして、検索範囲の設定条件を示す数値を入力する画像処理装置。
【請求項１２】
請求項１１に記載された画像処理装置であって、
前記入力手段は、前記線分設定手段による線分設定処理のパラメータとして、線分の設定条件を示す数値を入力する画像処理装置。
【請求項１３】
請求項１０〜１２のいずれかに記載された画像処理装置であって、
前記制御手段は、着目すべきエッジ画素がなくなったとき、前記線分設定手段によって設定された各線分の構成画素の中から、所定数以上の線分が重ね合わせられた画素を抽出し、これら抽出された画素を他の画素から切り分けた２値画像を生成して前記表示手段に表示するようにした画像処理装置。
【請求項１４】
請求項１０〜１２のいずれかに記載された画像処理装置であって、
前記線分設定手段は、設定すべき線分の構成画素の濃度値に着目中のエッジ画素のエッジ強度に応じた数値を加算して、前記線分の設定結果を示す画像を生成する画像処理装置。
【請求項１５】
請求項１０〜１２のいずれかに記載された画像処理装置であって、
前記線分設定手段は、設定すべき線分の構成画素の濃度値に着目中のエッジ画素のエッジ強度に応じた数値を加算して、前記線分の設定結果を示す画像を生成し、前記制御手段は、着目すべきエッジ画素がなくなったとき、前記線分の設定処理結果を示す画像を所定のしきい値により２値化し、得られた２値画像を前記表示手段に表示するように設定されて成る画像処理装置。
【請求項１６】
請求項１０に記載された画像処理装置であって、
前記制御手段は、前記検索手段により前記認定条件を満たすエッジ画素が抽出されたとき、前記線分設定手段による線分の設定処理が終了した後に、前記抽出されたエッジ画素を着目済のエッジ画素とする着目済設定手段を含んで成る画像処理装置。
【請求項１７】
請求項１０に記載された画像処理装置であって、
前記線分設定手段による線分の設定結果に基づき、前記濃淡画像上の線状体の位置またはこの線状体の大きさを検出する検出手段を含んで成る画像処理装置。
【請求項１８】
請求項１７に記載された画像処理装置であって、
前記検出手段の検出結果に基づき、線状体の有無を判別する判別手段と、前記判別手段による有無判別結果を出力する出力手段とを含んで成る画像処理装置。
【請求項１９】
請求項１０に記載された画像処理装置であって、
前記検索手段の検索処理における検索範囲の設定条件を示す数値、および前記線分設定手段の線分設定処理における線分の設定条件を示す数値の各パラメータについて、それぞれ最適値を設定するパラメータ設定手段を具備し、
前記パラメータ設定手段は、
前記画像入力手段により線状体を含む濃淡画像が入力されたとき、この濃淡画像上の前記線状体を指定する操作を行うための指定操作手段と、前記指定操作が行われた複数の濃淡画像に対し、前記検索手段および線分設定手段の各処理におけるパラメータの値を変化させながらこれらの手段を動作させるとともに、前記線分の設定結果に基づき線状体の検出処理を実行する検出制御手段と、前記各濃淡画像毎の検出結果と前記線状体の指定結果とに基づき、最適なパラメータの値の組み合わせを選択する選択手段とを具備して成る画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータにより濃淡画像データを処理する分野に属するもので、特に、線状のキズ、髪の毛、糸くずなどの線状の対象物（この明細書では、「線状体」と総称する。）を検出するための画像処理方法および画像処理装置に関する。
【０００２】
【従来の技術】
従来、直線状の欠陥を検出するための画像処理として、ラインカメラをその撮像素子の並びに直交する方向に走査しながら順に撮像を行い、毎時得られる１ライン分の画像を処理する方法が存在する。この方法では、１ライン分の画像を２値化して濃度が変動する位置を検出したり、ライン毎の濃度和をとって、１ライン分の濃度和を前後のラインでの濃度和と比較するなどの方法により、各ラインに線状の欠陥が含まれているか否かを判別するようにしている。
【０００３】
また出願人は、近年、濃淡画像上に含まれるエッジ画素について、その画素におけるエッジ方向を示す角度データ（エッジコード）を求め、このエッジコードを用いた画像処理により、直線状の輪郭線（エッジ）を高い確度で検出する画像処理方法を開発した。この方法では、エッジコードの値毎に、その値に対応するエッジ画素の度合いを示すヒストグラムを作成し、このヒストグラム上のピークに対応する角度に対応するエッジ画素にそれぞれ前記ピークに固有のラベルを割り当てる。さらにこのラベル付けにより発生したラベル画像において、同じラベルが連続するエッジ画素の集合を線分に相当するものと認定して、各集合にそれぞれ固有のラベルを割り当て、種々の特徴量を算出したり、線分の統合処理を行うなどした後、抽出条件に応じた線分を特定する処理を実行する（特許文献１参照。）。
【０００４】
【特許文献１】
特開２００２−２３０５６２号公報（段落［００４１］〜［００８８］　図２〜図１３）
【０００５】
特に、上記特許文献１の段落［００８６］および図１３には、抽出条件に応じた線分を特定する際の一手法として、平行な線分の組を抽出する方法が開示されている。さらに、この段落［００８６］には、抽出すべき線分間の距離をきわめて小さく設定すれば、パッケージ上に生じた直線キズのような微小な幅の対象物を抽出できる点が示唆されている。
【０００６】
【発明が解決しようとする課題】
上記した１番目の方法のように、ラインカメラにより得た画像を２値化したり、ライン毎の濃度和を比較することで欠陥を検出する場合には、欠陥以外の背景部分の濃度が均一であり、欠陥部分の濃度が背景部分の濃度と大きく異なることが前提となる。したがって、コントラストの低い画像や、汚れや模様などにより背景の濃度が均一でない画像では、欠陥の検出は困難となる。
【０００７】
これに対し、特許文献１に示した方法によれば、画像のコントラストが低くなったり、背景の濃度のばらつきが大きくなっても、検出を行うことができる。しかしながらこの方法では、同じエッジコードが連続する画素の集合体を検出することを基本とするので、直線状の輪郭線しか検出できず、髪の毛，糸くずのように湾曲する線状体を検出するのは困難である。またクラックのように、細かい凹凸がある線状体では、この凹凸部分でエッジコードが頻繁に変動するため、同様に検出が困難となる。
【０００８】
つぎに、特許文献１の方法によれば、コントラストの低い画像において、線状体のエッジを断片的にしか抽出できなかった場合にも、線分の統合処理により抽出できなかった部分を補完することが可能である。しかしながらこの統合処理では、抽出された各線分の特徴量を用いて、各線分が統合可能であるかどうかを順次確認していく必要があるため、制御負担が大きくなり、コンベアを流れる製品を順に撮像して高速で欠陥検査を行うような用途で使用するのは、困難である。
【０００９】
この発明は、上記問題に着目してなされたもので、直線状の線状体のみならず、湾曲した線状体や、凹凸のある線状体であっても、簡単かつ精度良く検出できるようにすることを、目的とする。
加えて、この発明では、線状体のエッジ抽出精度が悪い画像に対しても、線状体を高速かつ精度良く検出できるようにすることを、目的とする。
【００１０】
またこの発明は、線状体の検出処理に使用されるパラメータを設定する際に、その設定値が適切であるかどうかを簡単に判別できるようにして、最適なパラメータを簡単に設定できるようにすることを、目的とする。
【００１１】
さらにこの発明は、所定数の線状体のモデルの画像を用いて、線状体の検出処理に使用されるパラメータを自動的に設定できるようにすることを目的とする。
【００１２】
【課題を解決するための手段】
この発明では、濃淡画像上に含まれるエッジ画素を抽出し、これらエッジ画素のエッジ方向や濃度勾配方向を用いた画像処理を実行する。
エッジ画素とは、濃淡画像において対象物の輪郭線を構成する画素である。このエッジ画素を抽出するには、濃淡画像上の各画素の濃度勾配の大きさ（この明細書では、「エッジ強度」と呼ぶ。）を求めた上で、このエッジ強度が所定の値よりも大きくなる画素をエッジ画素とするのが望ましい。
【００１３】
濃度勾配方向とは、前記エッジ画素を境にして濃度が変化する方向であり、前記エッジ画素およびその周囲近傍の所定数の画素データを用いた微分処理によって求めることができる。エッジ方向は、前記した特許文献１と同じく、濃度勾配方向を＋９０°または−９０°回転させた方向とする。
【００１４】
つぎに、検出対象の線状体が濃淡画像上に少なくとも数画素分の幅を持って現れるものとすると、この濃淡画像に対するエッジ抽出処理により、前記線状体の長手方向にほぼ平行な２本の輪郭線を抽出することができる。これらの輪郭線は、複数のエッジ画素により構成される。
いま上記の２本の輪郭線のいずれか一方に直交する直線を設定すると、各輪郭線の前記直線との交点に相当するエッジ画素では、それぞれその濃度勾配方向が、他方のエッジ画素の濃度勾配方向に対して、ほぼ反対の方向を向くようになる（以下、前記直線の交点に相当する２つのエッジ画素を「対向関係にあるエッジ画素」という。）。この関係は、エッジ方向の関係に置き換えても同様であり、前記一方の輪郭線上の任意の位置におけるエッジ画素のエッジ方向と、他方の輪郭線上で前記エッジ画素と対向関係にあるエッジ画素のエッジ方向とは、ほぼ反対の方向を向く。
【００１５】
この発明では、上記の原理に基づき、濃淡画像上において、直線状の線状体のみならず、湾曲した形状を有したり、輪郭に不規則な凹凸がある線状体をも検出できるようにしている。この発明にかかる一の画像処理方法では、処理対象の濃淡画像に対してエッジ画素を抽出し、前記抽出されたエッジ画素に順次着目しつつ、着目中のエッジ画素におけるエッジ方向に直交する方向に基づく所定の範囲で、前記着目中のエッジ画素とは濃度勾配方向が反対方向になると認定できるエッジ画素を検索するととともに、前記認定条件を満たすエッジ画素が抽出されたとき、抽出されたエッジ画素から前記着目中のエッジ画素に至るまでの所定位置を通り、前記着目中のエッジ画素におけるエッジ方向に平行な線分を設定する。そして着目すべきエッジ画素がなくなったとき、前記線分の設定結果を示す画像を、線状体の検出結果として表示するようにしている。
【００１６】
前記検索処理における検索範囲は、たとえば、着目中のエッジ画素からこのエッジ画素のエッジ方向に直交する方向（以下、「基準の方向」という。）において、検索を開始する画素から検索を終了する画素までの距離により示すことができる。なお、検索を開始する画素は、着目中のエッジ画素に限らず、このエッジ画素から基準の方向に所定距離だけ離れた画素とすることもできる。
【００１７】
前記検索範囲を示す距離は、画素数に置き換えて示すことができる。また着目中のエッジ画素から検索を開始しない場合には、着目中のエッジ画素を基準として、検索を開始する画素までの距離と、検索を終了する画素までの距離とにより、検索範囲を示すことができる。
【００１８】
また前記基準の方向に対し、所定の角度範囲内にある領域を、検索範囲とすることもできる。この場合には、前記した距離のほかに、前記基準の方向に対する角度により、検索範囲を示すことができる。
【００１９】
なお、前記距離の長さは、検出対象の線状体の幅に応じて設定されるのが望ましい。このようにすれば、着目中のエッジ画素が線状体の輪郭線の構成画素である場合には、前記検索の範囲内に、着目中のエッジ画素とは濃度勾配方向が反対方向になると認定できるエッジ画素を抽出することができる。
また、線幅の変化が大きく、前記２本の輪郭線が平行に近いとは言えない状態になる線状体や、曲率の大きい線状体では、着目中のエッジ画素の濃度勾配方向に対し、必ずしも対向関係にあるエッジ画素の濃度勾配方向が反対の方向を向くとは限らず、前記対向関係にあるエッジ画素の近傍に位置するエッジ画素の濃度勾配方向が反対の方向を向く。したがって、処理対象の線状体の状態によって前記基準の方向に対する角度を調整すれば、前記認定条件を満たすエッジ画素を抽出することが可能となる。
【００２０】
さらに、検索処理では、着目中のエッジ画素から検索を開始しても良いが、これに限らず、着目中のエッジ画素から所定距離離れた画素から検索を開始することもできる。
【００２１】
濃度勾配方向が反対方向かどうかの認定は、着目中の画素と検索対象の画素との間での濃度勾配方向の差が、１８０°に対して所定の許容範囲にあるかどうかを判別する処理により行うことができる。この判別処理における許容範囲は、前述の基準の方向に対する角度の調整と同様に、検出したい線状体の状態に応じて任意に設定することができる。
たとえば、ほぼ直線状の線状体だけを検出したい場合には、前記の許容範囲は小さく設定した方が望ましい。これに対し、曲率を有する線状体や、輪郭線に不規則な凹凸が生じたり、前記２本の輪郭線の幅が変化しているような線状体を検出対象とする場合には、前記許容範囲は大きくする方が望ましい。
【００２２】
また前記したように、エッジ方向は濃度勾配方向を基準にして表されるものであるから、前記検索処理では、着目中の画素に対し、エッジ方向が反対になると認定できる画素を検索するようにしてもよい。
【００２３】
線分の設定処理では、前記検索処理により抽出されたエッジ画素から着目中の画素に至るまでの所定位置を通り、着目中のエッジ画素のエッジ方向に平行な線分を設定する。たとえば、この線分は、前記着目中のエッジ画素におけるエッジ方向と同じ方向に伸ばすことができる。
なお、線分の設定処理では、着目中のエッジ画素のエッジ方向とは反対の方向に沿って伸びる線分を設定することもできる。またエッジ方向およびその反対の方向の両方に伸びる線分を設定することもできる。
【００２４】
この発明の画像処理方法によれば、前記検索処理において、線状体の長手方向にほぼ平行な２本の輪郭線を構成するエッジ画素の中で、対向関係にあり、濃度勾配方向が約１８０°異なるエッジ画素の組が抽出される。さらに線分の設定処理により、前記エッジ画素の組毎に、これらエッジ画素におけるエッジ方向に平行な線分が設定されることになる。これら設定された線分が重ね合わせられたり、連結されることによって、線状体の位置、大きさ、傾きなどを精度良く反映した画像が生成されるようになる。したがって、この画像を表示することにより、線状体の検出結果をわかりやすく示すことができる。
【００２５】
またこの方法によれば、背景の濃度分布にばらつきがある場合にも、前記検索処理によって線状体の輪郭を構成するエッジ画素の中で、前記エッジ画素の組を高確度で特定することができるから、背景部分のノイズによって線状体の検出精度が低下する虞がない。また画像のコントラストが低く、画像上の線状体が分断されて出現するような場合でも、前記線分の設定処理において設定する線分の長さを調整することにより、線分を連結させて、線状体の分断された部分を補完することができ、コントラストに左右されずに線状体を安定して検出することができる。
【００２６】
なお、線分の設定処理では、前記検索された画素から着目中の画素に至るまでの任意の位置（たとえば、検索された画素と着目中の画素との中点でも良く、またそれぞれの画素位置でも良い。）に線分を設定することが可能であり、また前記画素間の複数の位置にそれぞれ線分を設定することもできる。
【００２７】
上記画像処理方法の好ましい態様では、前記検索処理における検索範囲の設定条件を示す数値の入力を受け付けるようにしている。さらにより好ましい態様では、前記線分の設定条件を示す数値の入力を受け付けるようにしている。
【００２８】
検索範囲の設定条件は、前記した検索を開始する画素から検索を終了する画素までの距離、および基準の方向に対する角度とすることができる。なお、距離、角度のいずれか一方を固定にして、他方のみを変化させることもできる。特に、線幅に極端な変化が見られない線状体を処理対象とする場合には、角度は０°として、距離のみにより検索範囲を示すことができる。
【００２９】
また前記距離は、エッジ画素を基準にして、検索を開始する画素までの距離（以下、「下限値」という。）と検索を終了する画素までの距離（以下、「上限値」という。）により表すことができる。ただし、必ずしも、上限値と下限値との両方を設定する必要はなく、いずれか一方のみを設定することもできる。たとえば、エッジ画素またはこの画素に隣接する画素から検索を開始することを前提とする場合には、上限値のみを設定すれば良い。
なお、角度についても、同様の趣旨に基づき、検索範囲を詳細に設定することができる。
【００３０】
線分の設定条件には、設定すべき線分の長さのほか、線分の幅、設定する線分の数などを条件にすることができる。線分の長さを長くしたり、線分の幅を広くすることによって、線分の重なり度合いを多くすることができるので、これらの値を調整することによって、検出対象の線状体の特徴を反映する最適な線分の重なり状態を得ることができる。
【００３１】
上記態様のように、検索範囲や線分の設定条件を示す数値を入力できるようにすれば、本格的な検出処理を開始するのに先立ち、モデルの画像を用いて検索範囲や線分にかかる設定値を種々に変更しながら検出処理を実行し、表示された画像から前記設定値が適正であるかどうかを判断することができ、検出処理に適したパラメータを簡単かつ精度良く設定することができる。
【００３２】
さらに上記画像処理方法の他の態様では、線分の設定処理において、設定すべき線分の構成画素の濃度値に着目中のエッジ画素のエッジ強度に応じた数値を加算して、前記線分の設定結果を示す画像を生成するようにしている。
この発明にかかる画像処理方法によれば、線状体の輪郭については、近傍の複数のエッジ画素間においてそれぞれ個別に設定された線分が重なり合う可能性が高い。上記の態様によれば、線分の重なり部分においては、重ね合わせられた各エッジ画素のエッジ強度による重みが加えられるので、線状体の特徴を示す画像をより明瞭に表すことができる。すなわち、エッジ画素のエッジ強度が大きいほど、設定する線分の構成画素の濃度値が大きくなるので、濃度勾配の大きな線状体ほど、より濃度の高い線分を設定することができる。
【００３３】
また、濃度むらなどに起因する濃度勾配の小さいノイズに対しては、仮に線分が設定されて複数の線分が重なり合っても、重み付けは低くなる。よって線状体の検出結果を示す画像では、線状体に対応する線分をノイズと切り分けて明確に示すことが可能となる。
このように、着目中のエッジ画素のエッジ強度に応じて設定する線状体の重みが異なるようにすれば、線状体の検出結果をより明瞭に示すことがきる。
【００３４】
さらに上記態様のより好ましい形態では、線分の設定処理結果を示す画像を所定のしきい値により２値化し、得られた２値画像を前記線状物の検出結果として表示するようにしている。このようにすれば、線分の重なり度合いの大きい部分や、前記エッジ強度による重みの大きい部分のみを抽出して表示することが可能となるから、ノイズ成分を表示対象から除去することができ、線状体の検出結果をより明瞭に示すことができる。
【００３５】
さらに上記画像処理方法の他の態様では、線分の設定処理において、設定すべき線分の長さまたは幅に、着目中のエッジ画素のエッジ強度を反映させるようにしている。たとえば、着目中のエッジ画素のエッジ強度が大きくなるほど、線分の幅を太くしたり、線分の長さを長くすることができる。
この態様によれば、検出対象である線状体に関わる線分を他のノイズなどに起因する線分よりも強調して表示することができるから、線状体の検出結果をより明瞭に示すことができる。
【００３６】
さらに上記画像処理方法の他の好ましい態様では、前記検索処理により前記認定条件を満たすエッジ画素が抽出されたとき、前記線分の設定処理の後に、前記抽出されたエッジ画素を着目済のエッジ画素とするようにしている。
着目済のエッジ画素とは、前記検索処理や線分の設定処理の対象として既に処理されたエッジ画素という意味である。前記抽出された画素を着目済のエッジ画素とする処理としては、この画素のエッジ強度を０とするなど、濃度勾配を示すデータを改変する処理を行うことができる。または、濃度勾配を維持したまま、前記エッジ画素に処理済であることを示すフラグを対応づけてもよい。
【００３７】
上記の態様によれば、２本の輪郭線において、対向関係にあり、かつ濃度勾配方向が約１８０°異なるエッジ画素の組に対する検索処理や線分の設定処理を、１回で済ませることができるから、処理を高速化することができる。なお、このようにする場合、線分の設定処理において、着目中のエッジ画素のエッジ方向およびその反対の方向の両方向に線分を伸ばすようにすれば、抽出されたすべてのエッジ画素を順次処理する場合と同様の状態に線分を設定することができる。
【００３８】
つぎに、この発明にかかる他の画像処理方法では、濃淡画像に対してエッジ画素を抽出し、前記抽出されたエッジ画素に順次着目しつつ、上記と同様の検索処理や線分の設定処理を実行し、着目すべきエッジ画素がなくなったとき、前記線分の設定結果に基づき、濃淡画像上の線状体の位置またはこの線状体の大きさを検出するようにしている。
線状体の位置としては、たとえば前記線分の連結体における重心位置を求めることができる。また線状体の大きさとしては、前記線分の連結体の面積，長さ，周囲長などを求めることができる。
【００３９】
さらにこの発明にかかる画像処理方法では、線状体の画像を含む所定数の濃淡画像を入力するステップと、各濃淡画像について、それぞれその画像上の線状体を指定する操作を受け付けるステップと、入力した各濃淡画像について、それぞれ前記検索処理と線分の設定処理とをそれぞれの処理におけるパラメータの値を変化させながら実行するとともに、前記線分の設定結果に基づき線状体の検出処理を実行するステップと、前記濃淡画像毎の線状体の検出結果と前記線状体の指定結果とに基づき最適なパラメータの値の組み合わせを選択するステップとを、実行するようにしている。
【００４０】
なお、検索処理におけるパラメータは、検索範囲の設定条件を示す数値であり、前記線分の設定処理におけるパラメータは、線分の設定条件を示す数値である。これらのパラメータは、前記したのと同様のものであり、線分の設定処理におけるパラメータとして、検索を開始する画素から検索を終了する画素までの距離や、基準の方向に対する角度を用いることができる。また線分の設定処理におけるパラメータとして、線分の長さ、幅、設定数などを用いることができる。また各パラメータは１つの数値に限らず、前記した上限値と下限値など、複数の数値により表すこともできる。
【００４１】
上記において、濃淡画像上の線状体を指定する処理では、たとえば、濃淡画像上の線状体を構成する画素の座標を設定することができる。しかしながら、必ずしもすべての構成画素を指定する必要はなく、線状体の輪郭線上の画素を指定したり、線状体内部の所定の画像領域を指定し、その指定結果に基づき線状体の各構成画素を導き出すようにしてもよい。なお、この指定操作は、濃淡画像の表示画面上にマウスなどのポインティングデバイスを走査したり、コンソール，キーボードのような入力装置を用いて行うことができる。
【００４２】
上記の方法では、線状体の指定操作が行われた各濃淡画像について、それぞれ検索範囲や線分の設定条件を変更しながら、検索処理や線分の設定処理を実行し、線状体を検出する。この場合の線状体の検出処理では、前記のように、重心位置などの代表点を求めるだけでも良いが、濃度値が所定値以上となる画素、または所定数の線分が重なり合う位置に対応する画素などの複数の画素を、線状体の構成画素として検出するのが望ましい。
【００４３】
最適なパラメータの値の組み合わせを選択する処理では、たとえば、前記線状体の構成画素として検出された画素が前記指定された線状体に含まれる画素であるかどうかを判別し、その判別結果を「１」，「０」のように数値化する。さらにこの判別結果を示す数値の総和を評価値として求める処理を、パラメータの値の組み合わせ毎に実行し、最も高い評価値を得たときのパラメータの値の組み合わせを、最適なものとして選択することができる。なお、前記判別処理は、線状体の構成画素に限らず、背景部分とされた画素に対しても行うことができる。
また線状体の検出処理において、前記線分の重心位置や長さなどの特徴量を求める場合には、パラメータの値の組み合わせ毎に求めた特徴量を指定された線状体の持つ特徴量と比較し、線状体の持つ特徴量に最も近い値が得られたときのパラメータの値の組み合わせを最適なものとして選択してもよい。
【００４４】
上記の方法によれば、検出対象のモデルとなる線状体を含む濃淡画像を所定数入力するとともに、これらの画像において線状体の指定を受け付けることによって、線状体を検出するのに最適なパラメータを自動的に決定することができる。なお、線分の設定結果を２値化して表示する場合には、この２値化処理にかかるしきい値についても、同様の方法で自動設定することができる。
【００４５】
つぎに、この発明にかかる画像処理装置は、処理対象の濃淡画像を入力する画像入力手段と、前記入力された濃淡画像に対する線状体の検出結果を表示するための表示手段と、前記濃淡画像上のエッジ画素を検出するエッジ画素検出手段と、所定のエッジ画素に着目して、このエッジ画素におけるエッジ方向に直交する方向に基づく所定の範囲で、前記着目中のエッジ画素とは濃度勾配方向が反対になると認定できるエッジ画素を検索する検索手段と、前記検索手段により前記認定条件を満たすエッジ画素が抽出されたとき、抽出された画素から前記着目中のエッジ画素に至るまでの所定位置に前記着目中のエッジ画素のエッジ方向に平行な線分を設定する線分設定手段と、前記エッジ画素検出手段により検出されたエッジ画素を順に着目画素として、前記検索手段および線分設定手段を動作させ、着目すべきエッジ画素がなくなったとき、前記線分設定手段による線分の設定結果を示す画像を前記表示手段に表示させる制御手段とを具備する。
【００４６】
前記画像入力手段は、カメラ，スキャナなどの画像生成手段に接続され、これらの手段により生成された濃淡画像を取り込む手段であって、インターフェース回路やＡ／Ｄ変換回路などにより構成される。ただし画像入力手段の構成はこれに限らず、たとえば通信により伝送された画像を受け付ける回路、所定の記憶媒体に保存された画像を読み取る読取り装置などによって構成してもよい。
【００４７】
表示手段は、ＣＲＴ，ＬＣＤなどの画像表示装置やこの装置に対応するインターフェース回路などにより構成することができる。なお、この表示手段には、線状体の検出結果を表示する機能のみならず、前記画像入力手段により入力された画像や、エッジ画素検出手段による検出結果などを表示する機能も付与することができる。
【００４８】
エッジ画素検出手段，検索手段，線分設定手段，制御手段の各手段は、それぞれその手段による処理を実行するためのソフトウェアが組み込まれたコンピュータにより実現することができる。また各手段をＡＳＩＣ（特定用途向けＩＣ）などによる専用回路として構成し、これら専用回路の連携動作をコンピュータにより制御することも可能である。また一部の手段（たとえばエッジ画素検出手段）を専用回路とし、残りの手段をコンピュータおよびソフトウェアにより実現するとともに、このコンピュータに前記専用回路の動作を制御する機能を組み込むようにしてもよい。
【００４９】
加えて、この画像処理装置には、前記画像入力手段により入力された画像、エッジ検出手段による検出処理により生成されるエッジ画像、線分設定手段による線分の設定結果を示す処理結果画像などを、個別に格納するためのメモリを具備させるのが望ましい。
【００５０】
上記の画像処理装置によれば、画像入力手段より入力された濃淡画像に対し、エッジ検出処理が行われた後、検出された各エッジ画素に順に着目しつつ、前記した画像処理方法に基づく処理が行われて、線状体の位置，長さ，形状などに応じた線分の集合体による処理結果画像が生成される。よって、表示手段に表示された画像により、線状体の形状や位置を確認することが可能となる。
【００５１】
好ましい態様の画像処理装置には、線状体の検出処理に使用するパラメータを入力するための入力手段が設けられる。この入力手段は、キーボード，マウス，コンソールなどの入力装置からパラメータの設定値を取り込むためのインターフェース回路として構成することができる。さらに、この入力手段には、必要に応じて、前記表示手段などに設定値入力用のユーザーインターフェースを展開するコンピュータおよびソフトウェアを付加することができる。
この入力手段は、検索手段による検索処理のパラメータとして、検索範囲の設定条件を示す数値を入力するように設定される。より好ましい態様では、前記入力手段は、線分設定手段による線分設定処理のパラメータとして、線分の設定条件を示す数値も入力するように設定される。なお、これらのパラメータの具体例は、この発明にかかる画像処理方法におけるものと同様である。
【００５２】
上記の入力手段によれば、パラメータの値を自由に変更しながら線状体の検出処理を実行することができるので、本格的な検出処理に先立ち、表示手段に表示された処理結果画像を確認しながらパラメータの最適値を決定することができる。また検出対象とする線状体の特徴が変わる都度、パラメータの値を変更するなど、柔軟な対応をとることができ、利便性を大いに高めることができる。
【００５３】
上記画像処理装置の他の態様では、前記制御手段は、着目すべきエッジ画素がなくなったとき、前記線分設定手段によって設定された各線分の構成画素の中から、所定数以上の線分が重ね合わせられた画素を抽出し、これら抽出された画素を他の画素から切り分けた２値画像を生成して前記表示手段に表示するようにしている。
【００５４】
上記の態様によれば、所定数（仮にＮとする。）以上の線分が重なり合う部分を白（黒）とし、全く線分が設定されていない部分や、線分の重なり度合いが前記Ｎより小さい部分を黒（白）とする２値画像を生成して表示することができる。したがって、多数の線分が重なり合う部分にかかる線分の画像が残る一方で、ノイズによる線分など、重なり度合いの小さい線分の画像が消去される。前記したように、線状体については、近傍のエッジ画素間においてそれぞれ設定された線分が重なり合う可能性が高くなるから、この重なり度合いに応じて前記Ｎの値を調整することにより、線状体の検出結果を明確に示すことができる。
【００５５】
上記画像処理装置の他の態様では、線分設定手段は、設定すべき線分の構成画素の濃度値に着目中のエッジ画素のエッジ強度に応じた数値を加算して、前記線分の設定結果を示す画像を生成するように設定される。さらにより好ましい態様の画像処理装置では、制御手段は、着目すべきエッジ画素がなくなったとき、前記線分の設定処理結果を示す画像を所定のしきい値により２値化し、得られた２値画像を前記表示手段に表示するように設定される。
このような構成によれば、背景の濃度むらが大きい画像を処理する場合にも、この背景部分の濃度勾配によるノイズの影響を受けにくくなり、線状体に対応する線分の画像を明確に示すことができる。
【００５６】
上記画像処理装置の他の態様では、前記制御手段は、前記検索手段により前記認定条件を満たすエッジ画素が抽出されたとき、前記線分設定手段による線分の設定処理が終了した後に、前記抽出されたエッジ画素を着目済のエッジ画素とする着目済設定手段を含んでいる。この着目済設定手段は、たとえば、抽出されたエッジ画素のデータを改変して（エッジ強度を０にするなど）、エッジ画素に相当しないものとする。または画素のデータ自体は維持したまま、そのデータに、既に処理が行われていることを示すフラグを付ける手段として設定することもできる。
【００５７】
上記の着目済設定手段によれば、２つの輪郭線の間で対向関係にあり、かつ濃度勾配方向が約１８０°異なるエッジ画素の組に対し、検索処理や線分の設定処理を１回行うだけで良くなり、線状体の検出処理をより高速で行うことができる。
【００５８】
さらに上記画像処理装置には、線分設定手段による線分の設定結果に基づき、前記濃淡画像上の線状体の位置またはこの線状体の大きさを検出する検出手段を含ませることができる。このような手段によれば、線状体の具体的な特徴を数値化して示すことができ、利便性をより向上させることができる。
なお、検出手段による検出結果は、前記線分の設定結果とともに前記表示手段に表示させることができる。
【００５９】
より好ましい画像処理装置では、前記検出結果に基づき線状体の有無を判別する判別手段と、この有無判別結果を出力する出力手段とを具備する。なお、判別手段は、判別処理のためのアルゴリズムが設定されたコンピュータ、または前記検出結果を所定のしきい値と比較するコンパレータなどによって実現することができる。出力手段は、所定の外部機器に対応するインターフェース回路などにより構成することができる。
【００６０】
前記出力手段による出力の対象を、ランプ，ブザーのような装置とする場合には、「線状体有り」という判別結果を得たときに、これらの装置を作動させるように設定することにより、線状の欠陥を対象とする検査に好適な画像処理装置を提供することができる。また有無判別結果の出力の対象を、プログラマブルコントローラ，パーソナルコンピュータのような制御機能を具備する装置とすれば、これらの装置と画像処理装置とにより、線状の欠陥を検出して、その欠陥を除去するなどの処理を行うシステムを構築することができる。
【００６１】
さらに上記画像処理装置には、検索手段の検索処理において検索範囲の設定条件を示す数値、および前記線分設定手段の線分設定処理における線分の設定条件を示す数値の各パラメータについて、それぞれ最適値を設定するパラメータ設定手段を具備させることができる。このパラメータ設定手段は、前記画像入力手段により線状体を含む濃淡画像が入力されたとき、この濃淡画像上の前記線状体を指定する操作を行うための指定操作手段と、前記指定操作が行われた複数の濃淡画像に対し、前記検索手段および線分設定手段の各処理におけるパラメータの値を変化させながらこれらの手段を動作させるとともに、前記線分の設定結果に基づき線状体の検出処理を実行する検出制御手段と、各濃淡画像毎の検出結果と前記線状体の指定結果とに基づき、最適なパラメータの値の組み合わせを選択する選択手段とを具備する。なお、各設定条件にかかる各種のパラメータは、１の数値に限らず、前記した上限値と下限値など、複数の数値により示すこともできる。
【００６２】
上記構成において、指定操作手段は、キーボード，マウス，コンソールなどの入力装置による指定操作を受け付けるインターフェース回路により構成することができ、必要に応じて、前記表示手段などにユーザーインターフェースを設定するための手段を付加することもできる。なお、この指定操作手段のハードウェア部分は、前記入力手段に対応するハードウェアと同一にすることができる。
【００６３】
検出制御手段および選択手段は、多数の濃淡画像を高速で処理する必要上、コンピュータおよびこれらの手段による処理を行うためのソフトウェアにより実現するのが望ましい。
【００６４】
上記の構成によれば、複数の線状体のモデルの画像を入力するとともに、これら画像上の線状体を指定する操作を行うことにより、パラメータの値の最適な組み合わせを自動設定するための画像処理方法が実施されて、線状体の検出に最適なパラメータを自動設定することができる。よってパラメータの設定処理に不慣れなユーザーであっても、線状体の検出に必要な設定処理を簡単に行うことができ、装置の利便性を大いに高めることができる。
【００６５】
上記構成の画像処理装置は、所定の対象物に発生した線状の欠陥を検出するための検査装置として構成することができる。このような検査装置によれば、直線状の欠陥のみならず、湾曲した線状の欠陥や、輪郭線に不規則な凹凸のある線状の欠陥についても、その欠陥の位置や形状を精度良く検出することが可能となり、検出精度を大幅に高めることができる。
【００６６】
【発明の実施の形態】
図１は、この発明の一実施例にかかる画像処理装置の構成を示す。
この画像処理装置１は、工場の検査ラインの近傍位置に配備され、前記検査ラインを搬送される製品を順に撮像して、この画像に線状の欠陥や異物の画像が含まれていないかどうかの検査を行うためのもので、周辺機器として、カメラ２，モニタ３，外部機器４などが接続される。なお、外部機器４は、データ入力用のコンソール，不良品の発生を報知するための警報ランプなど、複数の機器を含むものである。このほか、必要に応じて、プログラマブルコントローラ，パーソナルコンピュータなどを外部機器４として接続することもできる。
【００６７】
前記画像処理装置１は、ＣＰＵ５を制御主体とし、エッジ強度抽出部６，エッジコード抽出部７，画像メモリ８，フラッシュメモリ９，ワークメモリ１０，グラフィックメモリ１１のほか、前記カメラ２，モニタ３，外部機器４のそれぞれに対するインターフェース回路１２，１３，１４（以下、「カメラインターフェース１２」，「モニタインターフェース１３」，「外部機器用インターフェース１４」という。図１では、「インターフェース」を「Ｉ／Ｆ」と示す。）などを含む。
【００６８】
フラッシュメモリ９には、ＣＰＵ５の処理手順を示すプログラムや、各種パラメータのデフォルト値などが格納される。またこのフラッシュメモリ９には、適宜、パラメータの設定値など、ユーザーにより設定されたデータが書き込まれる。
【００６９】
ワークメモリ１０は、ＣＰＵ５が一連の制御を行う間に発生する作業用データの読み書きに用いられる。グラフィックメモリ１１には、画像上に、後記する計測領域２２を示すウィンドウやパラメータの設定画面，カーソルなどを表示するのに必要なデータが格納される。
【００７０】
画像メモリ８は、複数フレーム分の画像を個別に格納可能な容量を具備する。この画像メモリ８は、前記エッジ強度抽出部６およびエッジコード抽出部７からそれぞれ出力される画像データを格納するほか、ＣＰＵバス１５を介して前記画像データをＣＰＵ５に提供する。さらに、ＣＰＵ５は、後記する処理結果画像にかかる画像データを画像メモリ８の所定のメモリ領域内に書き込むように設定される。
【００７１】
前記カメラ２は、アナログ量の静止画像信号を出力するタイプのものである。カメラインターフェース１２には、このカメラ２に対する入力ポートのほか、この入力ポートから取り込んだアナログ画像信号をディジタル変換するＡ／Ｄ変換回路などが含まれる。ディジタル変換後の濃淡画像データは、エッジ強度抽出部６およびエッジコード抽出部７に並列で与えられるほか、モニタインターフェース１３に出力される。
【００７２】
モニタインターフェース１３は、前記モニタ３に対する出力ポートのほかに、Ｄ／Ａ変換回路，画像合成回路，切替回路などを含むもので、画像メモリ８またはグラフィックメモリ１１から出力された画像、またはカメラインターフェース１２からの濃淡画像を、単一で、または２以上の画像を合成してモニタ３に出力する。このモニタインターフェース１３における出力画像の切替えは、コンソールなどからの切替操作を受け付けたＣＰＵ５により制御される。
【００７３】
前記エッジ強度抽出部６およびエッジコード抽出部７は、シフトレジスタ，論理回路，ルックアップテーブルなどを含むチップ部品である。エッジ強度抽出部６は、前記カメラインターフェース１２から入力された濃淡画像の各画素における濃度勾配の大きさ（エッジ強度）を求めるためのものであり、エッジコード抽出部７は、同じ濃淡画像から、各画素におけるエッジの方向を示す角度データ（以下、「エッジコード」という。）を求めるためのものである。
【００７４】
エッジ強度は、着目するエッジ画素におけるｘ，ｙ各軸方向の濃度勾配ベクトル（濃度勾配の方向および大きさを示すベクトル）の合成ベクトルの大きさに相当する。なお、この実施例の濃淡画像データは、白レベル側を高い濃度値により表しており、濃度勾配方向は、濃度の高い側から低い側に向かう方向として設定される。エッジコードは、前記濃度勾配方向を＋９０°または−９０°回転させた方向に相当し、ｘ軸の正方向に沿う方向を基準にした角度として表される。
【００７５】
なお、エッジ強度，エッジコードの詳細な算出方法については、前出の特許文献１を参照されたい。この実施例のエッジ強度抽出部６，エッジコード抽出部７には、この算出式に基づき、所定大きさのマスク領域内の濃度分布に基づいて前記マスクの中央位置の画素におけるエッジ強度やエッジコードを求めるためのルックアップテーブルが設定されている。抽出処理においては、カメラインターフェース１２から出力される各画素の濃度データを順に取り込みながら前記ルックアップテーブルを参照することによって、各画素におけるエッジ強度やエッジ強度が、高速で抽出される。
【００７６】
エッジ強度抽出部６は、各画素の並びに応じてそれぞれのエッジ強度を配列した画像（以下、「エッジ強度画像」という。）を生成し、前記画像メモリ８に出力する。エッジコード抽出部７も、同様に、抽出したエッジコードを画素の並びに応じて配列した画像（以下、「エッジコード画像」という。）を生成し、前記画像メモリ８に出力する。
【００７７】
ＣＰＵ５は、画像メモリ８に格納されたエッジ強度画像およびエッジコード画像を用いて後記する画像処理を実行し、欠陥の検出結果を示す処理結果画像を生成する。またＣＰＵ５は、この処理結果画像に所定の計測処理を実行して、欠陥の有無などを判別し、その判別結果を外部機器用インターフェース１４を介して出力する。
【００７８】
なお、この実施例の画像処理装置１では、画像上に数画素分の幅をもって出現する線状の欠陥を検出することを前提とする。したがって、検出したい欠陥が数画素分の幅を持つ大きさに撮像されるように、前記カメラ２の設置位置や倍率などを調整しておく必要がある。
【００７９】
図２は、上記画像処理装置１による欠陥検出処理の原理を示す。
図２（１）は、処理対象の濃淡画像を示すもので、この画像には、欠陥に相当する線状体の画像２０（以下、単に「線状体２０」という。）が含まれている。図２（２）は、前記濃淡画像上の点線で囲んだ領域２１内の画像にエッジ抽出処理を行って得た結果を拡大して示す、なお、この図２（１）（２）では、線状体２０内の濃度が、背景よりも低くなる場合を示している。
【００８０】
図２（２）のエッジ画像には、前記線状体２０の長手方向の輪郭線に相当する２本のエッジＥ１，Ｅ２が現れている。この線状体２０は、図２（１）に示すように、湾曲した形状を具備するが、その線幅が大きく変わるものでなければ、前記２本のエッジＥ１，Ｅ２は、長手方向にわたってほぼ平行な状態で変化する、と考えることができる。したがって、図２（２）に示すように、一方のエッジＥ１上の任意の点Ｐ１からその点Ｐ１でのエッジの方向に直交する方向Ｂに沿って、他方のエッジＥ２上の対応点Ｐ２を抽出した場合、これら点Ｐ１，Ｐ２におけるエッジは、ほぼ平行である、と考えることができる。
【００８１】
図２の例では、線状体２０の内部の濃度は、背景の濃度よりも低いから、前記点Ｐ１での濃度勾配方向は、前記点Ｐ２に向かう方向Ｂとなる。一方、点Ｐ２における濃度勾配方向は、Ｂとは反対方向になる。このように、２本のエッジＥ１，Ｅ２が平行であれば、これらエッジＥ１，Ｅ２間で対向関係にある２点Ｐ１，Ｐ２の濃度勾配方向は、他方の点の濃度勾配方向に反転する方向を向くことになる。
【００８２】
ところで、前記したように、エッジコードは、濃度勾配方向に直交する方向を示すものであるから、前記点Ｐ１，Ｐ２間の濃度勾配方向の関係は、エッジコードの関係に置き換えることができる。図中、Ａ１は、点Ｐ１のエッジコードにより規定される方向を示すベクトル（以下、「エッジコードベクトル」という。）、Ａ２は、点Ｐ２のエッジコードにより規定されるエッジコードベクトルであり、これらのベクトルＡ１，Ａ２は、他方に対して反対の方向を向く。
【００８３】
なお、図示例の線状体が、背景よりも高い濃度を具備するものであれば、前記点Ｐ１から点Ｐ２を検索する方向Ｂ（以下、「検索方向Ｂ」という。）は、点Ｐ１における濃度勾配方向に反転する方向となる。また各点Ｐ１，Ｐ２におけるエッジコードベクトルＡ１，Ａ２も、それぞれ反対の方向に設定される。
【００８４】
ここで、この実施例の欠陥検出処理を、前記図２（２）を用いて説明する。
この実施例では、画像上の各エッジ画素に順に着目しつつ、着目中のエッジ画素Ｐ１におけるエッジコードに直交する方向（濃度勾配方向またはその反対方向）に沿って、前記エッジ画素から検出対象とする線状体の幅長さＷに相当する範囲において、着目中のエッジ画素Ｐ１とはエッジコードが反転するエッジ画素Ｐ２を検索するようにしている。さらに、この検索条件にあてはまるエッジ画素が抽出された場合には、抽出されたエッジ画素Ｐ２と着目中のエッジ画素Ｐ１との中間点Ｑを起点として、前記着目中のエッジ画素にかかるエッジコードベクトルＡ１に平行な方向Ｃに、所定の長さＬの線分を設定するようにしている。
【００８５】
なお、前記の線分の設定処理では、画像メモリ８内の処理結果画像用のメモリ領域において、設定すべき線分の各構成画素の画素値（初期値は０）に、それぞれ着目中のエッジ画素の持つエッジ強度を加算するようにしている。
この線分の設定処理が、線状体２０のエッジＥ１，Ｅ２を構成する各エッジ画素について行われると、近傍に位置する複数のエッジ画素にかかる線分が重ね合わせられ、また連結されるようになる。ここで各線分の傾きは、対応するエッジ画素におけるエッジ方向に平行になるから、線分の長さが適切であれば、前記線分の重なりや連結による画像（以下、「集合画像」という。）は、前記線状体の傾きや湾曲状態を反映したものとなる。
【００８６】
また、前記集合画像の各構成画素には、複数の線分の重ね合わせによって、これら線分に対応するエッジ画素のエッジ強度の総和分の数値が設定されるので、線状体以外の部分からの切り分けを容易に行うことができる。この実施例では、入力画像上のすべてのエッジ画素に対する処理が終了した時点で、前記処理結果画像を所定のしきい値により２値化し、この２値画像を用いて欠陥の有無判定のための計測を行ったり、前記２値画像をモニタ３に表示するようにしている。
【００８７】
なお、対応点の検索処理においては、着目画素に対するエッジコードが１８０°異なる画素のみならず、１８０°異なる方向から所定の誤差範囲内のエッジコードを持つ画素を抽出するのが望ましい。特に、線幅が変化したり、エッジに不規則な凹凸が発生しているような線状体を検出対象とする場合には、前記の誤差を、ある程度大きく設定するのが望ましい。
このような検索処理によれば、処理対象の濃淡画像に含まれるすべてのエッジ画素の中から、線状体のエッジの構成点となる画素を精度良く絞り込むことができる。
【００８８】
つぎに、図３および図４を用いて、上記した原理に基づく線状の欠陥検査を行うために、前記対応点の検索や線分の設定のためのパラメータを設定する処理について、説明する。
図３は、処理対象の濃淡画像の表示画面であり、この図３中の２２は、ユーザーにより設定された計測領域である。なお、この図３の画像は、図示の都合上、２値画像として表すが、実際は、濃度分布を持つ画像である。（以下、この濃淡画像を「処理対象画像」と呼ぶ。）。図４（ａ）（ｂ）（ｃ）は、前記計測領域２２内における処理結果画像の表示画面であり、画面の余白領域には、使用されたパラメータや、そのパラメータを確定するための確定ボタン２４などが表示されている。なお、この図４の処理結果画像は、図示の都合上、白黒を反転した状態で示している。
【００８９】
図４において、「直線幅」とは、前記対応点の検索処理における検索範囲Ｗを示すパラメータであり、「直線長」とは、前記ベクトルＣに基づき設定する線分の長さＬを示すパラメータである。また「下限値」とは、前記処理結果画像を２値化する際の２値化しきい値である。
【００９０】
図３に示す処理対象画像では、欠陥に対応する線状体２０のほか、その周囲に位置する物体の輪郭部分の画像２３（以下、「輪郭画像２３」という。）などが現れている。
図４（ａ）の処理結果画像では、前記線状体２０および輪郭画像２３について、それぞれ対応する線分の集合画像２０ａ，２３ａが出現している。いずれの集合画像２０ａ，２３ａも、原画像の形状を精度良く反映したものとなっている。
【００９１】
図４（ｂ）の処理結果画像は、前記図４（ａ）の例よりも、直線幅Ｗを小さくして再検出処理を行った結果を示すもので、線幅の太い輪郭画像２３に対応する集合画像２３ａは消失し、線幅の細い線状体２０に対応する集合画像２０ａのみが現れている。
【００９２】
図４（ｃ）の処理結果画像は、前記図４（ａ）の例よりも、直線長Ｌを大きくして再検出処理を行った結果を示すものである。この画像でも、図４（ａ）と同様に、線状体２０および輪郭画像２３に対応する集合画像２０ａ，２３ａが出現しているが、直線長Ｌの設定値が大きすぎるため、原画像の持つ本来の形状から逸脱したノイズ成分が発生している。
【００９３】
このように直線幅Ｗ，直線長Ｌの各設定値は、線状体の検出精度を決める上での重要なパラメータとなる。また図４（ａ）〜（ｃ）では固定しているが、処理結果画像の２値化しきい値である下限値を変更することによって、前記対応点の検索処理により誤抽出されたエッジ画素により出現するノイズの度合いを調整することができる。（以下、この下限値を「下限値Ｓ」と示す。）
【００９４】
この実施例の画像処理では、本格的な検査に入る前の設定モードとして、図４に示したように、直線幅Ｗ，直線長Ｌ，および下限値Ｓの各パラメータの設定値を変更しながら、その設定値に応じた処理結果画像を生成し、これをモニタ３に表示するようにしている。ユーザーは、モニタ３の表示を見ながら、各パラメータの値を調整する処理を行った後、前記確定ボタン２４の操作によって設定値を確定する。この確定操作により、各パラメータの設定値は前記フラッシュメモリ９内に保存され、これらの設定値に基づく欠陥検査が実行されることになる。なお、設定モードでは、つぎの図５のＳＴ１〜１３を実行することによって、表示用の処理結果画像を生成するので、ここではその詳細な手順の説明は省略する。
【００９５】
図５は、上記画像処理装置１における検査時の処理手順を示す。
この検査手順は、前記カメラ２からのアナログ画像信号がカメラインターフェース１２に取り込まれてディジタル変換され、さらにエッジ強度抽出部６，エッジコード抽出部７による抽出処理が終了した時点で開始される。なお、以下の説明および図５では、各ステップを「ＳＴ」として示す。
【００９６】
まずＳＴ１，２において、着目画素の座標位置（ｘ，ｙ）を前記計測領域２２の左上端点の位置（ｘ１，ｙ１）に設定した後、この着目画素が計測領域の右下端点の位置（ｘ２，ｙ２）に到達するまで、以下の処理を繰り返す。
【００９７】
ＳＴ３では、前記エッジ強度画像を用いて、着目画素のエッジ強度Ｅｉ（ｘ，ｙ）をチェックする。ここでエッジ強度Ｅｉ（ｘ，ｙ）が所定のしきい値Ｅｈより大きい場合には、つぎのＳＴ４に進むが、エッジ強度Ｅｉ（ｘ，ｙ）がしきい値Ｅｈ以下である場合には、ＳＴ４以下の処理をスキップしてＳＴ９に進むことにより、着目画素を変更する。
【００９８】
ＳＴ４では、エッジコード画像を用いて、着目画素のエッジコードＥｃ（ｘ，ｙ）を読み出し、このエッジコードＥｃ（ｘ，ｙ）を基準にして、検索方向を設定する。なお、この実施例では、ｘ軸の正方向に沿う方向を０°として、エッジコードや濃度勾配方向を表すようにしており、背景よりも濃度の低い線状体を対象とする場合には、エッジコードＥｃ（ｘ，ｙ）に９０度を加算した方向を検索方向とする。反対に、背景よりも濃度の高い線状体を対象とする場合には、前記エッジコードＥｃ（ｘ，ｙ）から９０度を減算した方向を検索方向とする。
【００９９】
検索方向が決定すると、ＳＴ５では、再び、エッジコード画像を用いて、着目画素より検索方向に向けて１画素ずつ走査し、各走査位置におけるエッジコードを着目画素のエッジコードＥｃ（ｘ，ｙ）と比較する。ここで両エッジコード間の差分値が１８０°に対して前記誤差の範囲内の数値であれば、現在の走査位置が着目画素の対応点であるとみなし、ＳＴ６の判定を「ＹＥＳ」にする。
【０１００】
走査位置のエッジコードが上記の条件にあてはまらない場合には、ＳＴ６が「ＮＯ」となり、前記直線幅Ｗ分のサーチが行われたかどうかをチェックする。この判定が「ＮＯ」であれば、前記検索方向に沿って１画素分の走査を行い、再びＳＴ６の判定処理を実行する。
【０１０１】
このようにして、直線幅Ｗの範囲内で対応点が抽出されると、その時点で走査を終了し、ＳＴ７に進む。このＳＴ７では、前記着目画素と対応点との中間点（前記図２（２）の点Ｑ）を起点として、前記エッジコードＥｃ（ｘ，ｙ）および直線長Ｌに基づき、線分の設定処理を実行する。なお、この線分の設定処理は、前記したように、処理結果画像用のメモリ領域において、線分の構成画素の画素値に前記エッジ強度Ｅｉ（ｘ，ｙ）を加算する処理として行われる。
【０１０２】
以下、同様にして、計測領域２２内でしきい値Ｅｈを上回るエッジ強度を持つエッジ画素について、順に対応点を検索し、さらにこの検索処理により対応点が抽出されたエッジ画素については、線分の設定処理を実行する。計測領域内の処理が終了すると、ＳＴ１２が「ＹＥＳ」となってＳＴ１３に進み、前記処理結果画像の各画素を、前記下限値Ｓに基づき２値化する。
【０１０３】
つぎのＳＴ１４では、前記２値化された処理結果画像において、下限値Ｓを上回り、「１」の値が設定された画素を抽出し、さらにこれら画素が連続する画像領域を切り出して、ラベル付けを行う。さらにＳＴ１５では、ラベル付けされた画像領域の面積を算出する処理を実行する。そしてＳＴ１６では、この算出結果が所定のしきい値Ｓ０を上回るかどうかをチェックし、しきい値Ｓ０を上回るときは、ＳＴ１７に進んで、不良判定を出力する。他方、算出結果がしきい値Ｓ０以下の値であれば、ＳＴ１８に進み、良品判定を出力する。なお、ＳＴ１４でラベル付けされる集合画像は１つに限らず、複数の集合画像が出現する場合もある。この場合には、これらの集合画像のいずれかの面積が前記しきい値Ｓ０を上回ったときに、ＳＴ１６の判定が「ＹＥＳ」となる。
【０１０４】
上記の検査やパラメータの設定を行う前には、計測領域２２の設定処理や、対応点を検索する方向の設定処理などを行う必要がある。ただし、計測領域は、画像全体としてもよい。また対応点の検索方向は一方向に限らず、エッジコードＥｃ（ｘ，ｙ）に９０度を加算した方向、および９０度を減算した方向の両方向を検索方向としてもよい。
【０１０５】
また線分の設定処理では、着目中のエッジ画素とこれに対応するエッジ画素との中間点に限らず、これらの画素を起点とする線分を設定してもよい。またこれらの画素間に複数の線分を設定してもよい。さらに線分を伸ばす方向は、一方向に限らず、起点から両方向に伸びる線分を設定してもよい。
【０１０６】
さらに上記図５の手順のＳＴ６において、着目中のエッジ画素に対する対応点が見つかった場合には、ＳＴ７の処理を実行した後に、この対応点のエッジ強度を前記しきい値Ｅｈまたは０など、エッジ画素として認定されないエッジ強度に書き換えるようにしてもよい。このようにすれば、対向関係にあるエッジ画素の組に対する検索処理や線分の設定処理が重複して行われることがなくなり、処理を高速化することができる。
なお、このように対応点として抽出されたエッジ画素を、以後の処理対象から除外する場合には、ＳＴ７では、起点を中心として両方向に伸びる線分を設定するのが望ましい。
【０１０７】
上記図２〜５に示した手法に基づく欠陥検査によれば、パラメータを適正に設定すれば、前記図４（ｂ）に示したように、線状体の長手方向にかかるエッジの各位置における傾きを反映した線分の集合画像により、前記線状体の形状に近い特徴を持つ画像を生成することができる。したがって、直線状の欠陥のみならず、髪の毛や糸くずのように湾曲した形状の欠陥や、クラックのように凹凸のある欠陥でも、精度良く検出することができる。
【０１０８】
また線分の設定処理においては、着目中のエッジ画素のエッジ強度による重み付けをした線分を設定するので、入力画像のコントラストが低いために、各エッジ画素のエッジ強度が小さくなっても、線分が重なり合うことにより背景に対する集合画像の重みを大きくすることができ、欠陥の形状や大きさを明瞭に示す画像を生成することができる。
【０１０９】
また仮に、エッジの中に、前記しきい値Ｅｈよりエッジ強度が小さくなる欠落部位が生じても、直線長が十分な値に設定されていれば、近傍のエッジ画素にかかる線分の連結によって、前記欠落部位の傾きを補完することができる。よって別途、線分の統合処理を実行しなくとも、通常の検査処理のアルゴリズムによって欠落部位も含めた欠陥の検出を行うことができ、ＣＰＵ５の制御負担を大きくせずに、高精度の検査を実行することが可能となる。
【０１１０】
さらに上記の実施例では、モニタ３の表示を見ながらパラメータの設定値を入力するようにしたが、このパラメータの設定は、図６のような手順を用いて自動的に行うこともできる。
【０１１１】
図６の手順は、いわゆる「山登り法」を使用するものである。この手順を実行するのに先立ち、画像処理装置１内には、欠陥を含むモデルの濃淡画像（以下、この画像を「モデル画像」という。）が複数枚入力され、またこれらのモデル画像について、各画素が欠陥であるかどうかを示す２値画像（以下、この画像を「モデル欠陥画像」という。）が設定される。なお、モデル欠陥画像は、ユーザーがモデル画像上における欠陥の位置を指定する操作に応じて生成される。たとえば、各モデル画像をモニタ３に順に表示しながら、この表示画面上でユーザーに欠陥の輪郭線上の点を複数指定させ、指定された各点を結ぶ画像領域内の画素を「１」とし、領域外の画素を「０」とすることで、前記モデル欠陥画像を生成することができる。（このように輪郭線上の点を指定する際には、画像を拡大表示するとよい。）
【０１１２】
図６では、各ステップ（ＳＴ）を、１０１以降の数字により示す。
前記したモデル画像の入力とモデル欠陥画像の生成処理が終了すると、ＳＴ１０１では、前記直線幅Ｗ，直線長Ｌ，下限値Ｓの各パラメータについての初期値を読み出し、これらの初期値を各パラメータの最適値として仮設定する。なお、各パラメータの初期値には、前記フラッシュメモリ９に保存されるデフォルトのパラメータ値を用いることができる。
【０１１３】
つぎにＳＴ１０２では、前記モデル画像毎に、前記最適値としたパラメータを用いた検査を実行する。各モデル画像に対する検査では、前記した図５と同様の手順を実行した後、欠陥と判断された集合画像（前記面積Ｓ０を上回る大きさの集合画像）の構成画素を「１」、他の画素を「０」とする２値の検査結果画像を生成する。
【０１１４】
こうして検査が終了すると、前記検査における評価値Ｅ０を算出する。なお、この評価値Ｅ０は、各モデル画像の検査結果画像とモデル欠陥画像とを用いて次の（１）式により求められるものである。なお、この（１）式は、後のＳＴ１０５，１０６でも用いられるので、一般式として、評価値をＥとして示す。
【０１１５】
【数１】
2004133811.tif 000003
【０１１６】
上記（１）式において、Ｎはモデル画像の構成画素数、Ｔはモデル画像の枚数である。ＭＴＮは、１モデル画像上における１画素についての判定結果であり、このモデル画像から生成された検査結果画像とモデル欠陥画像との比較により求められる。具体的には、前記検査結果画像とモデル欠陥画像との間の対応する画素に同じ値が設定されている場合には、ＭＴＮ＝＋１とされ、異なる値が設定されている場合には、ＭＴＮ＝−１とされる。
【０１１７】
つぎのＳＴ１０４では、直線幅Ｗ、直線長Ｌ、下限値Ｓのうちのいずれか１種類のパラメータ（たとえばＷ）を選択する。そしてＳＴ１０５では、前記選択したパラメータを最適値から任意の数αだけ増やした値に設定して、前記ＳＴ１０２と同様の方法による検査を実行する。つぎにＳＴ１０６では、前記パラメータを最適値からαだけ減らした値に設定し、同様に検査を実行する。
【０１１８】
つぎのＳＴ１０７では、前記ＳＴ１０５，１０６で実行した検査結果に基づき、それぞれ（１）式による評価値を算出する。これら評価値の少なくとも一方が前記評価値Ｅ０よりも高くなると、ＳＴ１０８からＳＴ１０９に進み、３つの評価値のうちの最大の評価値により、前記Ｅ０の値を書き換える。さらにＳＴ１１０では、書き替えられたＥ０を得たときのパラメータの値により、前記選択したパラメータの最適値を書き換える。
【０１１９】
この後は、ＳＴ１０５に戻り、上記と同様の処理を繰り返し実行する。所定の時点で評価値Ｅ０がＳＴ１０５，１０６の検査結果による評価値よりも高くなると、ＳＴ１０８からＳＴ１１１を介してＳＴ１０４に戻り、２番目のパラメータ（たとえばＬ）を選択する。そしてこのパラメータにつき、同様の処理により評価値Ｅ０の最大値およびパラメータの最適値が求められると、再びＳＴ１０８，ＳＴ１１１を経由してＳＴ１０４に戻り、３番目のパラメータ（たとえばＳ）を選択して同様の処理を実行する。
【０１２０】
こうしてすべてのパラメータが選択されると、ＳＴ１１１が「ＹＥＳ」となり、つぎのＳＴ１１２において、現在の各パラメータの最適値を、１番目のパラメータＷを選択した時点での最適値と比較する。そしてこれらの最適値の組み合わせが異なる場合には、ＳＴ１０４に戻り、１番目のパラメータを再選択する。
以下、同様にして、評価値Ｅ０および各パラメータの最適値が固定されるまでＳＴ１０４〜１１２の処理を繰り返す。評価値Ｅ０および各パラメータの最適値が固定されると、ＳＴ１１２からＳＴ１１３に進み、その時点における各パラメータの最適値を、検査用のパラメータの設定値として確定し、前記フラッシュメモリ９内に保存する。
【０１２１】
【発明の効果】
この発明にかかる画像処理方法および画像処理装置によれば、直線状の線状体のみならず、湾曲した形状の線状体や、細かい凹凸のある線状体でも、簡単かつ精度良く検出することができる。また線状体のエッジ抽出精度が悪い画像に対しても、パラメータの調整により、通常と同様のアルゴリズムによる制御で線状体を精度良く検出することができ、制御負担を重くせずに、線状体の検出処理を高速化することができる。
【図面の簡単な説明】
【図１】この発明の一実施例にかかる画像処理装置の構成を示すブロック図である。
【図２】欠陥検出処理の原理を示す説明図である。
【図３】処理対象画像の一例を示す説明図である。
【図４】図３の処理対象画像に対する処理結果画像の表示例を、パラメータの設定値を変動させて示す説明図である。
【図５】欠陥検査の手順を示すフローチャートである。
【図６】パラメータを自動設定する処理の手順を示すフローチャートである。
【符号の説明】
１　画像処理装置
２　カメラ
３　モニタ
４　外部機器
５　ＣＰＵ
６　エッジ強度抽出部
７　エッジコード抽出部
８　画像メモリ
９　フラッシュメモリ
【図１】
2004133811.tif 000004
【図２】
2004133811.tif 000005
【図３】
2004133811.tif 000006
【図４】
2004133811.tif 000007
【図５】
2004133811.tif 000008
【図６】
2004133811.tif 000009