(57)【特許請求の範囲】
【請求項１】
対象物表面の像を光学的に入力し、デジタル画像とし、各画素の明度情報を画像メモリに記憶させ、全画素から順に取った任意の画素を注目画素Ｄj として、注目画素Ｄj からｋ個離れた正方形に並ぶ画素集合を輪郭画素Ｎｋとし、明度情報から輪郭画素Ｎｋのうち最大又は最小の明度を持つ画素Ｍ１を求め、その画素Ｍ１の周辺ｕ画素分を除いた残りの輪郭画素Ｎｋのうち最大又は最小の明度を持つ画素Ｍ２を求め、注目画素からＭ１、Ｍ２に引いたふたつの半直線の角度の差Θがπ−α≦Θ≦π＋α（０＜α≦π／３）である場合にその画素が筋状欠陥の候補点Ｆj と判断し、結果画像メモリの注目画素Ｄj に一定の得点Ｃ１を加算しΘがそうでないときは加算しない処理を輪郭画素ＮｋをＮｓからＮｅまで変えて複数回行い、注目画素Ｄj から注目画素Ｍ１へ引いた半直線の方向として注目画素の筋方向Ｌj を求め筋方向収容メモリのＤj の位置に収容し、同じ操作を原画像の全ての画素｛Ｄj ｝に対して行い、候補得点｛Ｆj ｝と筋方向｛Ｌj ｝を求め、再び全画素から順に取った任意の画素を注目画素Ｄj とし、その周囲にＷ×Ｗの正方形に含まれる近傍画素のうち筋方向が注目画素を向いている求心画素Ｄk を求め求心画素Ｄk の候補得点Ｆk を注目画素の候補得点Ｆj に加え、結果画像メモリに格納し、同じ操作を全ての画素について行い、相加された候補得点｛Ｆj ｝を得て、ある閾値Ｑによって画素を二値化し、Ｆj ≧Ｑである画素の集合である筋状欠陥領域Ｇｍを求めることを特徴とする筋状欠陥の検査方法。
【請求項２】
輪郭Ｎｋの開始輪郭Ｎｓのｓの値を２以上の整数として、注目画素から離隔した輪郭Ｎｋについて最大明度点或いは最小明度点Ｍ１、次点明度点Ｍ２を取ることによって、斑点のように長さの短いものの像を排除できるようにした事を特徴とする請求項１に記載の筋状欠陥の検査方法。
【請求項３】
筋状欠陥領域から孤立点を除去し、筋状欠陥の面積Ｓ（ｍ）を測定し、許容面積Ｓ0 と比較してそれより大きい場合はその製品が不良品であると判断するようにしたことを特徴とする請求項１に記載の筋状欠陥の検査方法。
【請求項４】
対象物表面の像を光学的に入力し明度分布を持つ像を画素に分解するカメラと、各画素の明度情報をアナログ値からデジタル値に変換するＡ／Ｄ変換器と、原画像の各画素の明度値をデジタル値として記憶する原画像メモリと、原画像メモリと同じ寸法をもち各画素が筋状欠陥である可能性を表す得点を格納する結果画像メモリと、原画像メモリと同じ寸法を持ち各画素において明度最大画素（又は最小画素）Ｍ１へ引いた半直線の方向をその画素の筋方向として記憶する筋方向メモリと、全画素から順に取った任意の画素を注目画素Ｄｊとして、注目画素Ｄｊからｋ個離れた正方形に並ぶ画素集合を輪郭画素Ｎｋとし、明度情報から輪郭画素Ｎｋのうち最大又は最小の明度を持つ画素Ｍ１を求め、その画素Ｍ１の周辺ｕ画素分を除いた残りの輪郭画素Ｎｋのうち最大又は最小の明度を持つ画素Ｍ２を求め、注目画素からＭ１、Ｍ２に引いたふたつの半直線の角度の差Θがπ−α≦Θ≦π＋α（０＜α≦π／３）である場合にその画素が筋状欠陥の候補点Ｆｊと判断し、結果画像メモリの注目画素Ｄｊに一定の得点Ｃ１を加算しΘがそうでないときは加算しない処理を輪郭画素ＮｋをＮｓからＮｅまで変えて複数回行い、注目画素Ｄｊから注目画素Ｍ１へ引いた半直線の方向として注目画素の筋方向Ｌｊを求め筋方向収容メモリのＤｊの位置に収容し、同じ操作を原画像の全ての画素｛Ｄｊ｝に対して行い、候補得点｛Ｆｊ｝と筋方向｛Ｌｊ｝を求め、再び全画素から順に取った任意の画素を注目画素Ｄｊとし、その周囲にＷ×Ｗの正方形に含まれる近傍画素のうち筋方向が注目画素を向いている求心画素Ｄｋを求め求心画素Ｄｋの候補得点Ｆｋを注目画素の候補得点Ｆｊに加え、結果画像メモリに格納し、同じ操作を全ての画素について行い、相加された候補得点｛Ｆｊ｝を得て、ある閾値Ｑによって画素を二値化し、Ｆｊ≧Ｑである画素の集合である筋状欠陥領域Ｇｍを求める演算処理部と、Ｆｊ≧Ｑである画素からなる画像を記憶する２値画像メモリと、原画像メモリ、結果画像メモリ、筋方向収納メモリ、２値画像メモリに収容される画素明度、方向の情報をデジタル値からアナログ値に変換するＤ／Ａ変換器と、デジタル／アナログ変換された値を用いて原画像メモリ、結果画像メモリ、筋方向収容メモリ、２値画像メモリの内容を表示するモニタと、筋状欠陥の大きさ、位置、などを出力する出力装置とを含むことを特徴とする筋状欠陥の検査装置。
【請求項５】
演算処理部は、さらに筋状欠陥領域Ｇｍから孤立点を除去し、筋状欠陥の面積Ｓ（ｍ）を測定し、許容面積Ｓ0 と比較してそれより大きい場合はその製品が不良品であると判断し、不良品であることを外部に出力するようにしたことを特徴とする請求項４に記載の筋状欠陥の検査装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は物体面の上に存在する筋状の欠陥の検出方法に関する。筋状の欠陥であるから一方に長くてそれと直交する方向には短いという異方性のある欠陥である。線状欠陥と言う事もできる。長く細い連続した欠陥である。直線とは限らない。曲線である事もある。その場合もある程度曲率半径が大きいものを意味する。欠陥は画面上に１本とは限らず、複数本存在することもある。また交差する線状の欠陥であることもある。ここではそれら連続した線状の欠陥を筋状欠陥と呼ぶ。
【０００２】
局在した丸型、角型欠陥、幅広の欠陥などは筋状欠陥には含まれない。柔らかい素材が凹凸ある物体に接触して擦れると筋状の欠陥が発生する。例えばファイバ端面の線状の傷、プラスチック板に付いた線状の傷などがここで言う筋状の欠陥である。平滑であるべき面に、偶然にできた連続線状の傷、これの検出をここでは問題にする。
【０００３】
【従来の技術】
▲１▼  特開平８−２４７９５７号「液晶基板またはＩＣウエハの外観検査用の欠陥検出方法及び欠陥検出装置」は、配線パターンやデバイス格子状に設けたＳｉウエハやガラス基板の様々な欠陥を光学的に検出する装置に関する。これはデバイスを作成したウエハや基板には様々な欠陥がある、という。そして光学的に欠陥を検出するのであるが、種類の異なる欠陥を検出するには光の当て方も異なる。ショットズレという欠陥の検出には斜めから回折光線を照射する必要があるという。ぴんとズレの場合は、斜めからの散乱光を当てる必要があると述べている。膜厚のムラや飛び散りのような欠陥の場合は直角上方から干渉光を当てる必要がある、という。３種類の欠陥検出のために３方向から光を当てて画像処理するのが良いのであるが、それでは時間がかかり過ぎる。
【０００４】
そこで３種類の光を同時にウエハ、基板に当てて回折光、散乱光、干渉光の全部を画像として得てこれから各種の欠陥を求めようというのである。検査時間を短縮するのが目的である。画像処理の詳細については述べていない。３種類の光線が必要で同時に当てるという工夫について述べているだけである。縦横の格子配線の方向が決まっておりこれに直交する方向に回折光を照射すると述べている。平坦な鏡面に偶然生じた傷などの検出を目的にしていない。筋状欠陥のようなものは分からない。
【０００５】
▲２▼  川島純彦「シリーズ：話題の製品と技術  汎用画像処理装置について」画像ラボ  １９９５年６月号（Ｐ７５）は、汎用画像処理装置には様々の機能のものがあり、２値化関数、エッジ抽出、中心線検出、膨張関数、収縮関数、穴埋め、孤立点除去、細線化、輪郭点抽出、特徴点抽出関数、面積計測関数、重心測定関数などがあると述べている。これはそのうち２値化関数が最も重要であると述べ現状の２値化関数の問題を述べている。二値化をすると多くの特徴が除かれてしまい、欲しい情報が消えてしまう。これが問題であると言っている。単純にコントラストを強調して二値化しても効果はないといっている。筆者は画素によって異なる閾値を用いて二値化することによって人間の目で見たのと同じような画像認識ができるといっている。しかしこれも筋状欠陥のような連続細線の欠陥の認識については述べるところがない。
【０００６】
▲３▼  特開平６−１０５１５７号「２値画像生成方法およびその装置」は、原画像と、これを１画素分ずらした画像との差画像を求め、差画像のプラス側とマイナス側の和を各々求め、その値をエッジ値とし、ある閾値より小さいエッジ値は落とし、残りのエッジ値を積分し、さらにある閾値によって二値化する。１画素ずらした画像と原画増の差分の画像は、濃淡の変化があるところで値を持つ。これの和を求めると濃淡の連続変化を急峻な非連続階段変化に変える。変化分（微分）のうち小さいものを捨てる。これでノイズやシェーディングなどの淡い濃淡変化は捨象することができる。その後積分すると、矩形状の原画像に似たものが再生される。これはノイズを落とすだけでなく、波形整形回路も兼ねている。さらに閾値と比較して二値化するので、淡いノイズなどのない二値化画像を生成できる。しかし、斑点や、濃いノイズがある場合において傷の検出にはこれは用いることができない。結局ノイズの濃度変化は淡いものであるという前提に立っているといえる。濃い斑点の場合はそのような操作で落とす事はできない。淡い傷は消えてしまう。
【０００７】
▲４▼  特開平７−３０７５３号「２値化処理方法および装置」は原画像と、これを１画素以上ずらした画像との差分画像を求め、差分画像の濃度をある閾値によって二値化するが、その閾値を順次変えてゆく。そうしてノイズをカットして二値化できるとしている。微分して二値化するのは、▲３▼と同じ思想に基づいている。これもシェーディングやノイズの明暗変化が小さいとしてノイズなどを除去している。傷の検出については述べるところがない。まして傷とその他の欠陥に明暗変化の差がないときには両者を相互に区別することができない。上記の▲１▼〜▲４▼のいずれによっても筋状欠陥（線状の傷）を検出することはできない。
【０００８】
【発明が解決しようとする課題】
例えば樹脂製のバルブシートを問題にする。温水と冷水が同じ蛇口から出る水道栓は内部で温水管と冷水管から水を合体させて出口管に送り出すようになっている。温水管、冷水管からの流入量Ｈ、Ｃを調整するために回転する弁体（バルブシート）を用いる。これは摺動特性に優れた樹脂シートを使う。例えば柔軟な樹脂層の表裏を硬質被膜によって被覆した材料を適当な形状に裁断したものをバルブシートとする。バルブシートは円周状に設けられた温水入口、冷水入口、出口の３つの開口の上を滑るので耐摩耗性が良いものでないといけない。さらに長寿命であることが要求される。表面に傷があっては破損、破断の原因になる。
【０００９】
そこで樹脂性のバルブシートは平坦平滑で無傷でなくてはならない。製造工程において表面に直線状の傷が付く事がある。傷付いたものは検査して排除する必要がある。従来は目視検査によっていた。１枚１枚検査者が目で見て傷の有無を検査する。しかし人手による目視検査は人によってばらつきがある。同じ人でも体調により時刻により合否の判断が変わる。さらに検査コストが嵩むという難点があった。目視に頼らず自動的に傷検査できる技術が望まれる。
【００１０】
あるいはまた光ファイバの端面にも筋状の欠陥が生じることがある。長い光ファイバを刃物で切って適当な長さにし研磨するので、端面に傷が付く事もある。端面の傷は光を散乱させる可能性があり好ましくない。そこで検査者が顕微鏡で観察して傷のあるものは除くことになっている。これも人によってばらつきがある。光ファイバ端面の検査も自動化することが望ましい。
【００１１】
このような要望に応え、物体表面の筋状の欠陥を的確に検出できる方法を提供することが、本発明の第１の目的である。斑点状の孤立した欠陥は無視して筋状の欠陥だけの検出できる方法を提供することが本発明の第２の目的である。浅くて凹凸の差が小さい筋状欠陥でも過たず検出できる方法を提供する事が本発明の第３の目的である。筋状欠陥をもつ製品の欠陥の度合いを評価して不良品を自動的に排除できるようにすることが本発明の第４の目的である。
【００１２】
【課題を解決するための手段】
本発明の筋状欠陥の検出方法は、対象物表面の像を光学的に入力し、デジタル画像とし、各画素の明度情報を画像メモリに記憶させ、全画素から順に取った任意の画素を注目画素Ｄj として、注目画素Ｄj からｋ個離れた正方形に並ぶ画素集合を輪郭画素Ｎｋとし、明度情報から輪郭画素Ｎｋのうち最大又は最小の明度を持つ画素Ｍ１を求め、その画素Ｍ１の周辺ｕ画素分を除いた残りの輪郭画素Ｎｋのうち最大又は最小の明度を持つ画素Ｍ２を求め、注目画素からＭ１、Ｍ２に引いたふたつの半直線の角度の差Θがπ−α≦Θ≦π＋α（０＜α≦π／３）である場合にその画素が筋状欠陥の候補点Ｆj と判断し、結果画像メモリの注目画素Ｄj に一定の得点Ｃ１をプラスする処理を輪郭画素Ｎｋを変えて複数回行い、注目画素Ｄj から注目画素Ｍ１へ引いた半直線の方向として注目画素の筋方向Ｌj を求め筋方向収容メモリのＤj の位置に収容し、同じ操作を原画像の全ての画素｛Ｄj ｝に対して行い、候補得点｛Ｆj ｝と筋方向｛Ｌj ｝を求め、再び全画素から順に取った任意の画素を注目画素Ｄj とし、その周囲にＷ×Ｗの正方形に含まれる近傍画素のうち筋方向が注目画素を向いている求心画素Ｄk を求め求心画素Ｄk の候補得点Ｆk を注目画素の候補得点Ｆj に加え、結果画像メモリに格納し、同じ操作を全ての画素について行い、相加された候補得点｛Ｆj ｝を得て、ある閾値Ｑによって画素を二値化し、Ｆj ≧Ｑである画素の集合である筋状欠陥領域Ｇｍを求める。
【００１３】
さらに、筋状欠陥領域から孤立点を除去し、孤立点のない筋状欠陥を求める。筋状欠陥の面積Ｓ（ｍ）を測定し、許容面積Ｓ0 と比較してそれより大きい場合はその製品が不良品であると判断する。
【００１４】
【発明の実施の形態】
本発明は検査対象物についた筋状の欠陥（傷）を画像処理によって自動的に検出する手段を提供する。対象物の像をカメラによって撮像し、画像を画素に分解し画素には明度をデータとして与え、画素ごとにそれが筋状欠陥候補であるからどうかを判断する操作をおこなう。筋状欠陥という言葉は長いので以後単純に傷と表現することもある。以下にそれぞれの手順の詳細について説明する。
【００１５】
１．光学的画像入力…対象物に光を当ててＴＶカメラで撮像する。対象物からの反射光がＴＶカメラの画像になる。画像は例えば５１２×５１２の縦横の画素に分割される。画素はＤj によって以後表現する。ｊが画素の番号である。ｘ方向ｙ方向のふたつのサフィックスを纏めてｊと書いている。それぞれの画素は明るさつまり明度の諧調をもつ。諧調は例えば２５６段階である。色彩は不要である。明度情報だけでよい。明度というのは画素の明るさである。濃淡ともいうし、濃度とも諧調ともいう。ここでは明度という言葉を使う。画素データは画像メモリに蓄積される。
【００１６】
２．注目画素の設定…画像の画素ひとつ一つについて以下に述べる同じ操作を行う。現在その操作を行っている画素を注目画素Ｄj と呼ぶことにする。ラスター順に操作対象の画素つまり注目画素を変えてゆく。最上行の最左列の画素から左向きに１行の画素の処理を行い、２行目の最左画素に移りその行の画素の処理をする。このように行毎に同じ操作をして最下段の右画素にいたる。
【００１７】
３．輪郭の設定…注目画素Ｄj を中心とする正方形の辺上に並ぶ画素列を輪郭Ｎと呼ぶ。輪郭の大きさは整数ｋによって表現する。注目画素から縦横斜めにｋ離れた画素を含む正方形よりなる群をＮｋとする。つまり１辺が（２ｋ＋１）の正方形の大きさの輪郭をｋという。図６に輪郭の定義を示す。Ｎ１というのは注目画素Ｄj のすぐ周りの（３×３）正方形の８画素である。Ｎ２はその次の（５×５）正方形の１６画素である。一般にＮｋは８ｋ個の画素の集合である。Ｎｋは注目画素Ｄj において一つ決まる。注目画素Ｄj が異なればＮｋも違う。いわばＮｋ（Ｄj ）と書くべきものであるが、簡単のためにＮｋと書く。
【００１８】
通常の画像処理において輪郭線というのは、二値画像の黒画素の最外周の画素列をいう。不定型で物体の像の外殻線を意味する。アウトラインともいうこのような輪郭線と、本発明の輪郭は截然と違う。本発明は、注目画素の周りに（２ｋ＋１）の大きさの正方形を想定しこれを輪郭といっているのである。従来の輪郭線と混同してはいけない。
【００１９】
連続する複数の輪郭Ｎｋ（ｋ＝ｓ〜ｅ）に対して同じ処理を繰り返し行う。Ｎｓは最小の輪郭、Ｎｅは最大の輪郭である。梨地模様などがある場合は、ｋ＝１、２と言った注目画素に隣接する画素は処理に含めない。小さく丸い斑点などを落とすためにｋをある程度大きく取るのである。たとえばｓ＝６、ｅ＝９のようにする。層でない場合はｓ＝１から始めることもできる。最小（開始）輪郭Ｎｓ、最大（終了）輪郭Ｎｅのｓ，ｅは自由に設定できるパラメータとなりうる。
【００２０】
４．最大（最小）明度点Ｍ１の決定…注目画素Ｄj のある輪郭Ｎｋ（ｓ≦ｋ≦ｅ）の８ｋ個の画素の内で最大（或いは最小）明度を持つ画素を求める。最大明度を求めるか最小明度を求めるかというのは、対象物と筋状欠陥の性質による。対象物に比較して傷（筋状欠陥）が明るい場合は最大明度の画素を、暗い場合は最小明度の画素を選ぶ。最大（或いは最小）というのは不便であるから以後、最大明度ということにする。
【００２１】
図３にＮ２の離隔から最大明度点を求める場合を例示する。全ての画素の明度Ｌj が既に画像メモリに入っているので、輪郭Ｎｋ上の最大明度点はすぐに見つかる。これを最大明度点Ｍ１とよぶ。これは筋状欠陥の一部である可能性のある画素である。最大明度点Ｍ１というのは、あくまで注目画素Ｄj と輪郭Ｎｋの関数である。Ｄj とＮｋを決めると一つの最大明度点Ｍ１が決まる。いわばＭ１（Ｄj 、Ｎｋ）と書くべきものである。Ｍ１は全画像中で最大の明度を持つ点という意味ではない。誤解してはいけない。
【００２２】
５．次点明度点Ｍ２の決定…同じ注目画素Ｄj 、輪郭Ｎｋにおいて最大明度点Ｍ１とその近傍ｕ画素を除いた輪郭Ｎｋにおいて、最大又は最小の明度を持つ画素を求める。欠陥が明るい場合は明度の高いものを、欠陥が暗い場合は明度の低いものを探索する。区別すると煩雑になるから、最大明度点につぐ明度（又は暗度）のものを次点明度点Ｍ２という。これもＤj 、Ｎｋが決まって初めて決まるものである。図４に輪郭Ｎ２の場合の次点明度点の決定を示す。最大明度点Ｍ１と次点明度点Ｍ２は同じ輪郭Ｎｋ上の最大の明度の点と、次点の明度を持つ点である。
【００２３】
但しＭ１に隣接する画素が次点の場合は意味がないので、Ｍ１と離れた次点明度点を探す必要がある。そのためにＭ１とその近傍ｕ画素（例えば前後１〜２画素分）を除いた（８ｋ−１−２ｕ）点から、次点明度点を探す。前後１画素を除く場合は、８ｋ−３画素から、前後２画素を除く場合は８ｋ−５画素から次点明度点Ｍ２を探すことになる。次点明度点Ｍ２も筋状欠陥の一部になる可能性のある点である。こうしてＤj の輪郭Ｎｋ上にふたつの傷の一部である可能性ある点が抽出されたことになる。
【００２４】
６．Ｍ１、Ｍ２の方向差計測…注目画素Ｄj から最大明度点Ｍ１、次点明度点Ｍ２へ引いたふたつの半直線のなす角度Θがπに十分に近いかどうかを調べる。これは注目画素Ｄj が傷（筋状欠陥）の一部であるかどうかを評価する手順である。最大明度点、次点明度点が傷の一部である可能性は高い。しかし注目画素を中心として枠（輪郭）を設定して明度を調べているのは、枠上の画素が傷の一部であるかどうかと調べるのではなく、注目画素が傷の一部かどうかを調べる為である。傷（筋状欠陥）が注目画素を通っていれば最大明度点、注目画素、次点明度点がほぼ一直線に並ぶはずである。もしも直線上にあれば、注目画素から最大明度点、次点明度点に引いた半直線のなす角度はπである。
【００２５】
そのような理由でΘがπに近いかどうかを調べる。図４にその手順を示す。Ｍ１とＭ２が注目画素に関して点対称であればΘがπである。しかし完全に点対称でなくてもそれからのずれが僅かであれば注目画素が傷の一部でありうる。ずれのマージンをαとして、角度差Θがπ±αであれば、注目画素が傷（筋状欠陥）の一部である可能性が強いと判断する。筋状欠陥の一部である可能性のある点を「筋状欠陥候補」あるいは単に「候補」と呼ぶ。つまり
π−α＜Θ＜π＋α        （１）
である場合、注目画素を筋状欠陥の候補とする。αはπ／３以下の定数である（０＜α≦π／３）。
【００２６】
画素は点であるから候補点と言うべきであるが簡単のため候補という。図５に示すように、原画像の原画像メモリに対応して結果収容画像メモリというものを作成する。これは原画像メモリと同じ寸法をもち画素が１：１対応している。結果収容画像は各画素が筋状欠陥の一部である可能性を示す筋得点Ｆj を蓄積すべき画像である。はじめ全ての画素はＦj ＝０にリセットされていて、筋状欠陥である可能性を候補得点Ｆj にして加点してゆく。もし、注目画素Ｄj が（１）を満たすならこれは候補である。その場合結果収容画像の注目画素Ｄj に対応する箇所にＣ１の得点を加える。（１）を満たさない場合は加点しない。
【００２７】
７．輪郭を変えて繰り返し…一つの輪郭Ｎｓについて前述のような最大明度点、次点明度点、角度差を求めて注目画素が傷の候補であることを示す得点を計算した。同じ注目画素Ｄj について、同じことを複数の輪郭について行う。どうして複数の輪郭について同じ事を繰り返すのか？図４で輪郭Ｎ２について最大明度点、次点明度点を求めているが注目画素については明度を調べていない。直接注目画素が傷中の画素であるということは確認されていない。だからこの段階で、傷中の画素である可能性がある画素は注目画素を中心としてふたつしか見つかっていないのである。これでは不十分である。たまたま孤立した傷がＮ２の上に存在下という事も有り得る。もしも最大明度点や次点明度点が本当に傷の上の点であるとすれば、ふたつの点を結んだ直線の延長上にも傷上の点があるはずである。筋状欠陥であるから欠陥点が直線上に並んでいなくてはならない。
【００２８】
であるから一つの輪郭上だけでなく、それを囲む複数の輪郭においても最大明度点、次点明度点を求めてゆかなくてはならないのである。そこでＮｓの次に、Ｎｓ＋１の輪郭について同じように最大明度点Ｍ１、次点明度点Ｍ２、角度差Θを求める。これは先ほどのＮｓのＭ１、Ｍ２とはもちろん違う。ただし注目画素Ｄj は同じ点である。輪郭Ｎｋは同じ注目画素について同心上のものを想定するからである。そしてΘが（１）式を満たすと、結果収容画像の同じＤj に得点Ｃ１を加点する。（１）を満たさない場合は加点しない。
【００２９】
このように輪郭Ｎｋ（ｋ＝ｓ、…、ｅ）について同じ操作を行う。（ｅ−ｓ＋１）回同様のことを実行する。繰り返しの数ｍ＝（ｅ−ｓ＋１）は、２以上であるが、目的の画像の性質などによって適当に決める。注目画素Ｄj はｍ回の操作によって、０〜ｍＣの得点Ｆj を得る。これは図５の結果収容画像のＤj の欄に記憶される。得点Ｆj が高いほど、注目画素が傷の一部である可能性が高い。注目画素自体の明度を全く問題にしないで輪郭の明度から中心にある注目画素の傷である確率を与えるものである。また輪郭相互の連関は全く考慮していない。
【００３０】
Ｎｓ〜Ｎｅについて同じことを繰り返すが隣接輪郭で最大明度点、次点明度点がどのように分布するか？ということは問題にしていない。それぞれの輪郭における最大明度点や次点明度点も直線上に並ぶはずである。しかし隣接輪郭間での最大明度点、次点明度点相互の配置の連関については調べていない。つねに注目画素Ｄj とこれらＭ１、Ｍ２のなす角度がπ近くであるかどうかだけを問題にしている。これは計算を複雑にしないためである。隣接輪郭間で最大明度点、次点明度点の分布の相関を入れるとさらに確度の高い計算ができるであろう。
【００３１】
８．筋方向の賦与…注目画素Ｄj の方向というものを定義しこれをＤj に賦与する。画素は一つの点で、点は本来方向のないものである。であるから画素に方向があると言うのはいかにも変である。いかにも変であるがそれにもかかわらず本発明は注目画素に方向というものを想定する。この点が本発明の重要な特徴のひとつである。それ以外にも幾つも方向が出てくるので、画素に付ける方向をここでは「筋方向」（Ｌ）と呼ぶ。ｊ画素の筋方向をＬj によって表すことにする。これは筋状欠陥（傷）の上に注目画素が存在するとして傷の方向を表すために定義するものである。
【００３２】
傷方向を示すものとして筋方向は幾何学的な意味をもつ。本来画素は点に過ぎない。しかし傷の上にあるとすれば傷の方向によって画素自体も方向づけられるという思想である。注目画素が傷の上にない場合も筋方向Ｌを定義する。この段階で、注目画素が傷の上にあるかないか分からないのであるから、傷（筋状欠陥）上にない注目画素についても方向Ｌは定義されるわけである。その場合、方向は傷の方向であるという明確な幾何学的意味を持たない。
【００３３】
方向といっても連続量では扱い難いので、縦横斜めの８方向だけに類別する。つまり注目画素の周りの空間を、ｘ軸となす角度が、３３７．５゜、２２．５゜、６７．５゜、１１２．５゜、１５７．５゜、２０２．５゜、２４７．５゜、２９２．５゜の半直線によって分割し、８方向ａ、ｂ、ｃ、ｄ、−ａ、−ｂ、−ｃ、−ｄに分類する。図１９に８方向の分類を示す。実際には正負は問わないので、４方向ａ、ｂ、ｃ、ｄに縮約される。図２０に正負の区別を捨象した４方向の分類を示す。筋方向Ｌは４つの値を取る変数である。
【００３４】
それでは画素Ｄj の筋方向Ｌj をどのようにすれば最も的確に与える事ができるか？これが問題である。
（ｉ）注目画素Ｄj からｍ個の輪郭に対するｍ個の最大明度点Ｍ１に半直線を引く。その半直線がｍ個とも４方向分類の範囲で合致すれば合致した方向をＤj の筋方向とする。注目画素から最大明度点Ｍ１に引いた半直線をＭ１半直線と簡単に呼ぶことにする。上の規則はｍ個のＭ１半直線が共に４分類のひとつに入る場合はその方向をＤj の筋方向とするということである。
【００３５】
（ｉｉ）ｍ個のＭ１半直線が合致しない場合はＤj の筋方向を決めるためのいくつかの方法がある。
（ｉｉａ）最多法：ｍ個のＭ１半直線の４方向分類において最も多い方向を筋方向Ｌとして採用するという方法である。ｍ個のＭ１半直線の方向が全部一致しないとしても過半数はひとつの分類に入ることであろう。
（ｉｉｂ）コントラスト法：Ｍ１半直線に直交する方向と、Ｍ１半直線の方向で明度の差が最も大きくなるようなＭ１の方向を筋方向Ｌとして採用するという方法である。傷が伸びる方向と、直角方向では明度がクッキリと相違するはずだからである。
（ｉｉｃ）平均法：ｍ個のＭ１半直線の角度の平均値を求めて平均値の方向を筋方向Ｌとして採用するという方法である。
【００３６】
全てのＭ１半直線方向が合致しないときは上記の３つのどの方法によって、Ｄj の筋方向を決めても良い。ただし、これが一致しないときはＤj が傷上の点でない可能性が高い。筋方向Ｌj はＤj が傷の上にある時に初めて傷の方向を暗示するという意味がある。Ｄj が傷上にない場合は筋方向Ｌj はそもそも意味がない。意味がないのでその決定が多少の誤差を含んでも良いわけである。であるから（ｉｉａ）〜（ｉｉｃ）のどの方法で決めても大差がない。
【００３７】
９．注目画素を変えた２〜７の操作の繰り返し…以上のステップによって、ひとつの注目画素Ｄj について最大明度点Ｍ１、次点明度点Ｍ２、方向差Θの抽出、候補としての得点Ｆj の計算、筋方向Ｌj の賦与などが実行できた。Ｄj についてのデータとして候補得点Ｆj と筋方向Ｌj が得られている。そのようなことを画像の中の全ての画素について順に行う。例えば１．で述べたようにラスター順に同じ操作を繰り返す。
【００３８】
画素の数をＲとし、画素に０、１、２、…、Ｒ−１の番号を付す。Ｒは画素の総数で、横の画素数と縦の画素数の積である。ｊ＝０、１、…、Ｒ−１と進めて行き、全画素｛Ｄj ｝についての得点｛Ｆj ｝、筋方向｛Ｌj ｝などを求める。これらは前記の結果収容画像メモリに記憶される。得点Ｆj が大きい画素は筋状欠陥上の画素である確率が高い。つまり得点は欠陥上の画素である確率を示す指標と考えることができる。しかしこれが高いというだけでその画素が傷の一部と判断するのは早計である。高得点の画素同士が連続的に線状に並んでいるということを確認する必要がある。以下のステップは連続性を筋状欠陥の属性として調べるためのものである。
【００３９】
１０．求心画素の点数を追加（連結処理）…注目画素Ｄj というものを再び想定する。前回のＦj とＬj と求める時と同じように、ラスター順にひとつひとつ同じような操作を繰り返すようになっている。注目画素Ｄj を中心としてサイズがＷ×Ｗの正方形Ｔｊを考える。Ｗは３、５、７などの奇数である。それが含む画素の数はＷ2 −１である。これらの画素群Ｔｊは先述の輪郭ではない。輪郭と区別するためこの正方形は注目画素Ｄj の”近傍”Ｔｊということにする。その要素を｛Ｄk ｝とする。近傍の画素Ｄk には筋方向Ｌk と得点Ｆk がすでに付けられている。
【００４０】
近傍画素Ｄk のうち筋方向Ｌk が中心の注目画素Ｄj の得点Ｆk の合計ΣＦk を注目画素の得点に加える。これがここにおけるステップの操作である。分かりにくい操作であるから順に詳しく説明する。
【００４１】
近傍画素Ｗ2 −１のうち、筋方向Ｌk が注目画素Ｄj を向くものだけを選ぶ。図８にこれを示す。これはＷ＝３の最小の近傍の場合であるが、それ以上の寸法の近傍でも同様である。筋方向は正負の区別がないので４方向の区別しかない。矢印の向きはどちらでも良いのである。８つの近傍画素を８０〜８７とする。近傍画素８０の筋方向はｙ（上下）方向であり中心のＤj を向いていない。画素８１の筋方向はｘ（水平）方向でありＤj を向いていない。８３もＤj を向いていない。８４もＤj を向かない。８６も斜めを向いておりＤj を向かない。８７も横を向いておりＤj を向かない。これらのＤj を向かない近傍画素は捨てる。このような画素は散漫画素と名付ける。
【００４２】
８２はＤj の方向を向いている。８５もＤj の方向を向いている。Ｄj の方向を向く筋方向を持つ画素を求心画素と呼ぶことにする。８２、８５のような筋方向が注目画素を向く画素（求心画素）をもつという事は、注目画素が筋状欠陥の一部である可能性が高いということである。筋方向はＭ１の方向でありＭ１は筋状欠陥の一部である可能性があるので、近傍画素が注目画素に向かう筋方向を持てば、注目画素が筋状欠陥である可能性が高いということになる。このように本発明は注目画素の性質を、その周りの画素の性質によって明らかにするという遠近法的な手法を採用する。そのような立場から、注目画素を向く筋方向を持つ画素８２、８５を選択し、これら求心画素の点数Ｃ82、Ｃ85の和を、注目画素の点数Ｆj に加える。つまり前回に求めた注目画素のＦj に、求心画素の点数の和ΣＦk を加えたものを新たに、注目画素の点数とする。Ｆj ＋ΣＦk →Ｆj とするのである。
【００４３】
以上の例は、Ｗ＝３の８近傍だけを問題にする場合である。しかしＷ＝４の１５近傍、Ｗ＝５の２４近傍でもおなじようなことができる。ただしその場合は４方向に量子化された筋方向が注目画素を絶対に向かないという画素が発生する。これらの近傍画素は初めから散漫画素であるということになる。
【００４４】
求心画素をもつ注目画素は筋状欠陥の一部である可能性が強いが、それなら求心画素ひとつについてある一定点を加えるということもありうる。しかしここでは求心画素の得点を加える。それも意味のあることである。注目画素が求心画素を持つとして、求心画素自体の値の大きい方が、注目画素が筋状欠陥である確率が大きい訳である。それで求心画素の得点を、注目画素の候補得点に加えているのである。そのような操作を、全ての画素｛Ｄj ｝について付け加える。筋状欠陥上にある画素は相互に点数を加え合うので傷（筋状欠陥）を強く浮かび上がらせることができる。これを連結処理と呼ぶ。
【００４５】
候補得点の多い画素は筋状欠陥の上の点である可能性が高い。そしてある得点Ｑ（閾値）以上の画素を選び出す。Ｆj ≧Ｑを満たすもののみが傷を形成するものとするのである。しかし図９のように連続する画素を必ず選ぶとは限らない。得点の高い画素が近傍画素として相互に得点を加え合った結果、高得点を得たのであるから、それらの画素は縦横斜めに連結している可能性が高いはずである。これも本発明の極めて精緻な工夫を凝らした点である。分かりにくい操作であるから、詳しく述べた。
【００４６】
１１．連結処理画像の二値化処理……Ｆj ≧Ｑを満足する画素を筋状欠陥を構成する候補として抽出したが、これを白に、そうでないところ（Ｆj ＜Ｑ）は黒というふうに二値化する。これまでは２５６諧調というふうになっていたがここで二値化して２諧調にする。多くの場合面積を持つ領域が選び出される。この領域は筋状欠陥の候補領域Ｇｍということにする。ｍは領域番号である。筋状欠陥の候補とそうでないものに截然と分けられる。筋状欠陥であるものが初めて線状の連続体として現れる。二値化によって筋状欠陥を検出できたことになる。傷検出ということであれば以上のステップで終わりである。以下に述べるのは、筋状欠陥検出の結果を使って不良品検査を行い、不良品を除去する検査工程を示す。
【００４７】
１２．孤立点除去…前段での処理は連結処理とは言うものの連続性そのものを抽出していないので孤立点なども含まれる恐れがある。そこで候補領域から孤立点を探してこれを排除する。孤立点というのは、ひとつの白画素が孤立して存在することである。これは各画素Ｄj の８近傍を調べることによってなされる。孤立点を排除すると、少なくとも白画素は２画素以上の群をなすことになる。
【００４８】
１３．筋状欠陥の面積計測…筋状欠陥が多すぎると不良品、筋状欠陥があってもある程度Ｓ0 以下なら良品であるとする。筋状欠陥の全面積をＳ（ｍ）してその面積を測定する。そこでＳ（ｍ）＜Ｓ0 ならばこれは良品と判断する。Ｓ（ｍ）≧Ｓ0 ならこのように広い筋状欠陥をもつ品物は不良品と判断する。そして、不良品は自動的に除去する。これによって良否検査の自動化が可能になる。
【００４９】
【実施例】
図１によって本発明の筋状欠陥検出の手順を再び説明する。プログラムの開始２０に続いて、光学的に画像入力２１を行う。デジタル画像になるので、画素毎の明度（暗度）の情報が得られる。次に画素ごとに筋状欠陥の候補を検出２２する。これはすでに述べているように、注目画素の周りに輪郭Ｎｋを定義し、輪郭上で最大明度点Ｍ１と次点明度点Ｍ２を求め、注目画素からＭ１、Ｍ２に引いた半直線のなす角度Θがπに近いかどうか調べ、πに近いと、処理結果画像に＋Ｃを加える。
【００５０】
その部分の詳細は図２に描いてある。出発輪郭Ｎｓを適当に選び、処理を開始する。処理輪郭の選択は斑点や照明ムラその他のノイズの性質によって決まる。斑点を落とすためには、ｓを５或いは６というようにし、注目画素と輪郭が離隔するようにする。初期輪郭Ｎｓから最終輪郭Ｎｅにいたるまで同じ操作３４〜４０を繰り返す。初めはＮ＝Ｎｓとして初期輪郭から始める。
【００５１】
一般に輪郭Ｎｋ（ｋ＝ｓ、…、ｅ）について説明する。その輪郭上で明度の最大値をとる画素Ｍ１を求める。これは明るい傷の場合である。暗い傷の場合は明度の最小値をとる画素をＭ１とする。ふたつの場合にいちいち言及するのは煩雑であるから、明るい傷を対象とし、明度最大点をＭ１とする。Ｍ１の周辺をマスクして、次に明度の高い画素Ｍ２を探す。周辺ｕ画素をマスクするのは、Ｍ１の近くに次点の画素が存在する確率は高いがそれはＭ１に釣られて明度が高くなっているだけで、筋上の２点として抽出するには不適当だからである。Ｍ１とは離れたところにある次点明度の点Ｍ２を求めることができたので、注目画素からＭ１、Ｍ２に半直線を引きその挟角をΘとする。これを方向差と表現している。
【００５２】
方向差Θが、π−α＜Θ＜π＋αであるかどうかを調べる。つまり、Ｍ１、Ｍ２が注目画素を挟んで反対方向にあるかどうかを調べているのである。Ｍ１、Ｍ２ともに明度が高いので筋状欠陥上の点である確率が高い。これが注目画素の反対側にあれば注目画素自体が筋状欠陥の上にある確率が高いということになる。それで上記の不等式によって反対側にあるかどうかを調べる。αは余裕度であるが、π／３以下の正の値である。もしもΘがほぼπであれば注目画素が筋状欠陥候補点であるから、処理結果画像メモリの注目画素の欄に、Ｃ１を加える。Ｃ１は予め決めた定数である。Θがπでない場合は、Ｃ１を加えない。処理結果画像の値Ｆj は初め０にリセットしてある。
【００５３】
ある輪郭についてこのような事をしたあとは、Ｎ＝Ｎ＋１とし、その次の輪郭について同様なステップ３４〜３９を行う。ＮがＮｅになるまで同じことを繰り返す。注目画素には最大でＦ＝Ｃ（ｅ−ｓ＋１）の得点が与えられる。同時に注目画素からＭ１の方向を筋方向Ｌとして注目画素に与える。
【００５４】
図１のステップ「全画素完了」２４に戻る。以上のような得点Ｆj の計算と筋方向Ｌj の計算は全ての注目画素に対して行う。全画素終了２４というのは、同様の計算を全ての画素（ｊ＝０、１、２…、Ｒ−１）について行ったという事を意味する。ここまでで全画素｛Ｄj ｝について、候補得点｛Ｆj ｝、筋方向｛Ｌj ｝のデータが得られている。
【００５５】
次に筋状欠陥候補の連結処理２５というステップをおこなう。これはたびたび説明したが画素群を直接に連結するわけではない。Ｗ×Ｗの近傍画素のうち筋方向が中心を向く画素の得点を、中央の注目画素の得点に加えて筋方向が向かい合うような画素の筋状欠陥候補としての得点を増強する操作である。詳細なステップは図７に示される。開始４３から始まる。全画素をラスター順にひとつひとつ同じ処理をする。処理の対象になっている画素を注目画素とここでも呼ぶことにする。注目画素Ｄj の周囲にＷ×Ｗの正方形である近傍というものを想定する。近傍画素Ｄk の筋方向Ｌj を調べる。近傍画素Ｄk の筋方向Ｌk が、中心にある注目画素Ｄj を向いているもの（求心画素）を（正負は考えない）選択する。これがステップ４５である。
【００５６】
ついで求心画素Ｄk の候補得点Ｆk の和ΣＦk を計算する。これが「該当画素の結果収納画像のデータ総和計算」４６の意味するところである。求心画素の得点の合計ΣＦk を、中心の注目画素の得点Ｆj にくわえ、それを新たな得点Ｆj とする。Ｆj ＋ΣＦk →Ｆj とするのである。これがステップ４６「総和データ加算」である。連結処理というが直接に連結操作しているのではなく、つながりあう画素に得点を加算しているのである。注目画素Ｄj を変え全ての画素について同様の加算を行う。ここで図１のステップ２６の「全画素完了」に戻る。
【００５７】
筋状欠陥候補の画素はすでに高得点を得ている。そうでない画素は０点かあるいはそれに近い低得点しか持たない。ここである閾値Ｆｔと得点Ｆj を比較し全画素を二値化する。Ｆj ≧Ｆｔなら筋状欠陥画素とする。Ｆj ＜Ｆｔならば筋状欠陥でないとするのである。これが連結処理画像の２値化２７である。
【００５８】
次に孤立点除去２８をおこなう。筋状欠陥として意味のない小さい面積の孤立点を排除する。残ったものは筋状欠陥（傷）である。斑点やシェーディングのようなものはすでに落ちている。ここまでで筋状欠陥の検出は完了している。検出はこれまでの操作によって完全に行われる。
【００５９】
以下は、自動的に不良品を選別排除するための手順である。筋状欠陥Ｇｍの面積Ｓ（ｍ）を測定する。これがステップ２９である。それらの総面積を一定値Ｓ0 と比較する。総面積Ｓ（ｍ）がＳ0 以下であればその程度の欠陥があっても良品と判断する。筋状欠陥総面積Ｓ（ｍ）がＳ0 以上（Ｓ（ｍ）≧Ｓ0 ）であればこのような長い筋状欠陥を持つものは不良品と判断する。不良品と判断されたものは排除する。これがステップ３０である。ここまでくると良品だけが残る。
【００６０】
［実施例１（アクリル板上の傷）］
白色アクリル板に付いた傷を本発明の方法によって検出した。原画像は図１１に示すものである。白色のアクリル板に筋状に傷が入ると周りよりも暗い線になる。そのほかに照明むら（シェーディング）９１が存在する。これは暗い線で図示したが実際は連続的に明度が変化しているもので画像中央付近では明るく、画像外周に行くに従い順次暗くなって行くものである。背景（バックグラウンド）よりも傷が暗いので、暗度を計測対象とすべきである。Ｍ１は最小明度点を、Ｍ２は最次点明度点というべきである。しかしこれまでＭ１は最大明度点、Ｍ２は次点明度点と言ってきたので、対応して明度を暗度と置き換えて同じような言い方をするべきである。Ｍ１は最大暗度点、Ｍ２は次点暗度点というべきであるが、これまでの用語に慣れているので、ここでは明度という言葉を使い、Ｍ１は最大明度点、Ｍ２は次点明度点という言い方をする。
【００６１】
図１０にテストに用いたシステムの構成を示す。被検査物であるアクリル板１に光源２からの検査光を照射する。検査光はハーフミラー３によって反射して被検査物１に当てる。被検査物（アクリル板）１から反射光が出て、ＣＣＤカメラ４に入射する。これはレンズによって被検査物の像を結像するが、画像情報が、二次元ＣＣＤにより２次元画素に分解される。これがＡ／Ｄ変換器５によってデジタル信号に変換される。明度（暗度）信号が各画素毎にデジタル信号として原画像メモリ６に収納される。演算処理部７は先述の操作を全ての画素について実行する。
【００６２】
パラメータはＣ１＝４、Ｎｓ＝１、Ｎｅ＝６、Ｗ＝１３、α＝π／４とした。輪郭のスタートをｓ＝１としている。これは注目画素に隣接するところの輪郭から始めるということである。斑点のようなものがないのでそのようなものを落とす必要がない。
【００６３】
まず原画像メモリ６の画素毎のデータをもとにして、ラスター順に注目画素Ｄj を取って行く。ある注目画素Ｄj について輪郭Ｎｋに於ける、最大明度点Ｍ１、次点明度点Ｍ２、角度差Θを求める。３π／４≦Θ≦５π／４であれば注目画素に候補得点４点を加える。６つの輪郭全てについてΘがその範囲にあれば２４点の得点を得る。このように全ての画素について、筋状欠陥としての候補点Ｆj を計算し、これを結果画像メモリ８（図５の結果収納画像のメモリ）に収容する。これは順に全ての画素｛Ｄj ｝について行う。全ての画素について得点｛Ｆj ｝が結果画像メモリ８に蓄積される。
【００６４】
最大明度点Ｍ１の方向から各画素Ｄj についての筋方向Ｌj も同時に決まるからこれも全画素｛Ｄj ｝について、全筋方向｛Ｌj ｝を求め筋方向メモリ９に収容する。
【００６５】
全画素から、再び任意の注目画素Ｄj を取る。Ｄj の周りに１３×１３の近傍画素（１６８個）Ｄk を想定する。筋方向Ｌk が注目画素Ｄj を向いている求心画素の候補得点を全部合計（ΣＦk ）して、注目画素の得点Ｆj に加える（Ｆj ＋ΣＦk →Ｆj ）。その操作を全部の画素｛Ｄj ｝について行う。相加された得点｛Ｆj ｝を得る。得点Ｆj を閾値Ｑと比較してこれより得点が大きいものと小さいものに二値化する。得点が大きいものは連結した筋状欠陥領域になる。二値化データは二値化画像メモリ１０に格納する。
【００６６】
その結果として得られた筋状欠陥の画像をＤ／Ａ変換してモニタ１３に画像処理の結果を表示する。その結果を図１２に示す。シェーディング９１が除かれ、傷（筋状欠陥）９０のみを抽出した結果になっている。本発明の優れた点を表している。筋状欠陥検出は以上で終わりである。
【００６７】
傷のみを抽出した結果から筋状欠陥を持つ不良品の検査を自動化することができる。二値化して生じた、筋状欠陥領域から孤立点除去を行い、さらに面積計算して、欠陥の面積Ｓ（ｍ）を許容面積Ｓ0 と比較し、Ｓ（ｍ）≧Ｓ0 ならこれは大きすぎる筋状欠陥を持つ品物ということになるから、不良品として排除する。面積計測によって判定された結果はデジタル入出力１１（図１０）によって外部に信号として出力されるので、外部の制御装置を用いて自動的に不良品を除くことができる。
【００６８】
同じ被検査物を従来の単純二値化法によって処理した結果を図１３と図１４に示す。図１３のものはシェーディングを排除するのに成功している。これは閾値を高くした為である。閾値が高いと弱い暗領域であるシェーディング９１は消える。しかしそのかわり傷の一部が消えてしまい、不連続な傷９２になってしまっている。一部の筋状欠陥を見逃すおそれが強い。図１４のものは閾値を下げて傷９２が消えないようにしている。しかしそのかわりにシェーディング９１の部分が全て影になってしまい著しい誤動作を引き起こしている。単純二値化法に基づく図１３、１４のいずれも傷のみを綺麗に抽出することができない。
【００６９】
［実施例２（焼結部品の傷）］
アルミナの焼結部材の表面の傷を本発明の方法によって検出した。焼結部材をＣＣＤカメラで撮像した原画を図１５に示す。長い傷９４が存在する。焼結部材であるから良好品であっても表面に細かい斑点９５がある。これは傷９４ではなく焼結体の表面にはつきものである。斑点９５は不良品である印ではない。であるから傷抽出において斑点が抽出されないようにしなければならない。従来の二値化法ではいかにしても斑点が最終結果に残り、傷抽出ができなかった。本発明はそのような場合に顕著な効果を発揮する。傷は明るいので、この例では明度の大きい点を傷候補として検出する。最大明度点、次点明度点というのは文字どおり明度が最大、次点ということである。
【００７０】
パラメータは、Ｃ１＝４、Ｎｓ＝６、Ｎｅ＝９、Ｗ＝９、α＝π／４である。輪郭のうち、注目画素に近いＮ１〜Ｎ５を省くのは斑点のような短い丸い欠陥を排除する為である。斑点の最大のものの直径が５画素分よりも小さいのでＮ６以上に遠いものを使えば斑点を検出しないようにできる。それでＮ６〜Ｎ９の４重の輪郭で最大明度点Ｍ１、次点明度点Ｍ２、角度差Θを求める。ある輪郭Ｎｋ上で最大明度点Ｍ１を求める。
【００７１】
この近くのｕ個の画素をマスクして次点明度点Ｍ２を求める。さらに角度差Θを計算し、これが３π／４〜５π／４であれば注目画素の候補得点Ｆj に４を加える。４重の輪郭の全部でΘがその範囲にあれば得点１６を得る事になる。またＭ１の方向から筋方向Ｌj を求める。そのような操作を全部の画素に対して行い、候補得点｛Ｆj ｝、筋方向｛Ｌj ｝の集合を得る。
【００７２】
さらに注目画素を新たに設定し、９×９の近傍画素（８０画素）のうち、注目画素を向く筋方向Ｌk をもつ求心画素の得点Ｆk を、注目画素の得点に加える。こうして全ての画素について連結操作を行う。ついで二値化して傷上の点の集合である領域と、傷でない背景に分ける。その結果を図１６に示す。傷の像９６が正しく得られている。斑点は消えて背景９７と区別がつかないようになっている。斑点が消去される理由は、輪郭Ｎｓ〜Ｎｅが注目画素から離れたところに設定されているからである。
【００７３】
単純二値化する従来法では図１７、図１８のようになる。図１７は斑点を薄くするために二値化の閾値を高く取った例である。斑点９５の像９９は微弱になっているが出現している。閾値を高くして斑点を消去しようとしているが失敗している。それのみならず傷９４の像９８が途切れてしまっている。閾値が高いので筋状欠陥の細い部分が切れてしまうのである。これではいけない。図１８の実施例では、傷の像が途切れないように閾値を低くしている。傷の像１００は途切れないが、斑点の像１０１がかえって強調される。これもいけない。単純二値化では傷のみを上手く抽出することができない。本発明の面目躍如たるところである。
【００７４】
以上の操作によって筋状欠陥が抽出されたのである。さらに筋状欠陥から孤立点を除去し、筋状欠陥の面積Ｓ（ｍ）を計測し、許容面積Ｓ0 と比較し、Ｓ（ｍ）≧Ｓ0 であればこれは不良品であると判断する。筋状欠陥が大きすぎるものは、不良品であるが、本発明によれば自動的に判定して不良品を弁別排除することができる。
【００７５】
【発明の効果】
本発明は、注目画素に輪郭というものを想定し、輪郭上で最大明度点Ｍ１、次点明度点Ｍ２を探しその角度差Θがπに近いときに、注目画素に得点Ｃ１を加え、さらに、注目画素の周りにＷ×Ｗの近傍画素を想定しその中で注目画素を向く筋方向を持つ求心画素の得点を、注目画素の得点に加え、得点によって画素を二値化して、孤立点除去し、面積測定して小面積のものを削除して、筋状欠陥の像を得るようになっている。単純な二値化と違って、筋状欠陥の上にある画素の得点を増やすような方策が施されているので、斑点やシェーディングなどを除去できる。筋状欠陥を的確に自動的に検出できる。バルブのシートなどの傷、光ファイバ端面の傷の検出などに用いることができる。
【００７６】
例えば３０ｍｍφのバルブシートの場合、縦横５１２×５１２画素の画面によって画像処理するとして、一画素当たりの対象物長さは、３０ｍｍ／５１２＝６０μｍとなる。傷の幅は６０μｍより大きいものも小さいものもあるが本発明の方法によって誤りなく筋状欠陥を抽出することができる。例えば２５０μｍφの光ファイバの端面の場合、縦横５１２×５１２画素の画面によって画像処理すると、一画素当たりの長さは２５０μｍ／５１２＝０．５μｍとなる。
【図面の簡単な説明】
【図１】本発明の筋状欠陥の検出方法の主要な部分の手順を示すフローチャート。
【図２】本発明の筋状欠陥の検出方法のうちＭ１とＭ２から注目画素が筋状欠陥の一部であるかどうかを評価するための部分のフローチャート。
【図３】注目画素の周りに正方形状の輪郭Ｎ１、Ｎ２、…を定義し、その中で最大または最小の明度をもつ画素Ｍ１を検出する操作を説明するための輪郭の図。
【図４】注目画素の周りに定義した輪郭Ｎ１、Ｎ２…において、最大又は最小明度の画素Ｍ１とその付近ｕ画素分をマスクして、残りの画素から最も明度が高いか、或いは明度が低い画素Ｍ２（次点明度点）を検出する操作を説明するための輪郭の図。
【図５】対象物をカメラで撮って、画素毎の情報に分解して、画素ごとに明度情報を格納したデジタル原画像と、任意の注目画素の輪郭上のＭ１とＭ２の角度Θがπに近いときに注目画素のＣ１を加算しこれを記憶させるための結果収容画像との図。
【図６】注目画素の周りに定義される輪郭の例を示す図。注目画素からｋ個離れた画素を含む正方形が輪郭Ｎｋである。
【図７】本発明の筋状欠陥の検出方法のうちＷ×Ｗの近傍画素のなかで注目画素を向く筋方向をもつ画素の得点を、注目画素の得点に加える操作を説明するフローチャート。
【図８】注目画素の周りにＷ×Ｗの正方形の近傍を定義し近傍画素のなかで注目画素を向く筋方向をもつ画素を求心画素とし、注目画素を向かない筋方向を持つ画素を散漫画素として、求心画素の点数を、注目画素の候補点数に加える操作を説明するためのＷ＝３の場合の図。
【図９】近傍画素のうち、筋方向が注目画素を向く画素、つまり求心画素として選択された画素を説明するための図。
【図１０】本発明の筋状欠陥の検出方法を実行するための装置の概略構成図。
【図１１】傷のあるアクリル板を被検査物として本発明の筋状欠陥検出をする場合の原画像。
【図１２】図１１の傷のあるアクリル板を被検査物として、本発明の方法によって筋状欠陥を検出した結果の画像。
【図１３】シェーディングを除去するため閾値を高くした従来の単純二値化法による欠陥検出の結果を示す画像。傷が半ば消滅してしまう。
【図１４】傷がとぎれないように閾値を低くした従来の単純二値化法による欠陥検出の結果を示す画像。傷は保存されるがシェーディングが肥大して大きく広い欠陥像となる。
【図１５】焼結部材の傷検出に本発明の方法を実施する場合の原画像。
【図１６】図１５の原画像に対して本発明の方法を実施した結果を示す処理画像。
【図１７】図１５の原画像に対して、斑点を除くために閾値を高くした従来の単純二値化法による欠陥検出の結果を示す画像。斑点は減っているが傷が途切れてしまっている。
【図１８】図１５の原画像に対して、傷が途切れないように閾値を低くして単純二値化した従来法の結果を示す画像。傷は途切れないが斑点が強調されて肥大化している。
【図１９】筋方向を８方向に量子化するために、全方位を４５度ずつ８方位ａ、ｂ、ｃ，ｄ、−ａ、−ｂ、−ｃ、−ｄに分割したことを説明する図。
【図２０】筋方向は正負を考慮しないので、８方向であったものを４方向に量子化するために、全方位を４５度ずつ８方位ａ、ｂ、ｃ、ｄに分割し、反対向きの方位は同じ記号を付して同方向とみなすようにしていることを説明する図。
【符号の説明】
１  アクリル板
２  光源
３  ハーフミラー
４  ＣＣＤカメラ
５  Ａ／Ｄ変換器
６  原画像メモリ
７  演算処理部
８  結果画像メモリ
９  筋方向メモリ
１０  二値画像メモリ
１１  デジタル出力
１２  Ｄ／Ａ変換器
１３  モニタ
【図１】
0003855360.tif 000002
【図２】
0003855360.tif 000003
【図３】
0003855360.tif 000004
【図４】
0003855360.tif 000005
【図５】
0003855360.tif 000006
【図６】
0003855360.tif 000007
【図７】
0003855360.tif 000008
【図８】
0003855360.tif 000009
【図９】
0003855360.tif 000010
【図１０】
0003855360.tif 000011
【図１１】
0003855360.tif 000012
【図１２】
0003855360.tif 000013
【図１３】
0003855360.tif 000014
【図１４】
0003855360.tif 000015
【図１５】
0003855360.tif 000016
【図１６】
0003855360.tif 000017
【図１７】
0003855360.tif 000018
【図１８】
0003855360.tif 000019
【図１９】
0003855360.tif 000020
【図２０】
0003855360.tif 000021