JPH0718816B2 - びん等の欠点検査方法及び装置 - Google Patents

びん等の欠点検査方法及び装置

Info

Publication number
JPH0718816B2
JPH0718816B2 JP16523891A JP16523891A JPH0718816B2 JP H0718816 B2 JPH0718816 B2 JP H0718816B2 JP 16523891 A JP16523891 A JP 16523891A JP 16523891 A JP16523891 A JP 16523891A JP H0718816 B2 JPH0718816 B2 JP H0718816B2
Authority
JP
Japan
Prior art keywords
data
bright
dark
light
defect
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP16523891A
Other languages
English (en)
Other versions
JPH04364453A (ja
Inventor
宣洋 湊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyo Glass Co Ltd
Original Assignee
Toyo Glass Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyo Glass Co Ltd filed Critical Toyo Glass Co Ltd
Priority to JP16523891A priority Critical patent/JPH0718816B2/ja
Publication of JPH04364453A publication Critical patent/JPH04364453A/ja
Publication of JPH0718816B2 publication Critical patent/JPH0718816B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、びん等に生ずる汚れや
傷等の遮光性又は反射性或いは屈折性の欠点の有無を検
査する方法及び装置に関する。
【0002】
【従来の技術】従来、びんの欠点の有無を自動的に検査
する方法及び装置としては種々のものが提供されている
が、びん表面に付着したカーボン汚れ等の、形状がラン
ダムでしかも大小様々な汚れが散在する欠点に対して
は、適切なものがなく、びんに拡散光を照射して表面に
現れる影を視覚判断する人為的な確認に頼らざるを得な
かった。
【0003】
【発明が解決しようとする課題】本発明の目的は、上記
のような変化に富んだ欠点の有無を、コンピュータを使
用した画像処理により目標とする判断基準に適合するよ
うに適切に検査できる方法及び装置を提供することにあ
る。
【0004】
【課題を解決するための手段】本発明の検査方法では、
びん等の検査対象物に光を照射して回転又は移動させな
がら、その検査対象部分を透過又は反射してくる光を、
多数の受光素子を配列したイメージセンサで受光してそ
の各受光素子による画素データをメモリに記憶し、輝度
がある規定値以上の連続した画素群を輝点、又は規定値
以下の連続した画素群を暗点として弁別した後、隣接す
る輝点又は暗点の間の距離を画素数をもって算出し、そ
の距離が所定以下のときは、リンクして輝点集合又は暗
点集合としてその面積を画素数から算出し、その面積の
大小により欠点の有無を判定する。
【0005】又、前記集合の縦横の長さの比を算出し、
その比の大小も欠点有無の判定基準とすると良く、更
に、各集合の面積に、その最高の輝度レベルと最低の輝
度レベルとの差を掛算することにより、輝点集合の場合
は輝光量、暗点集合の場合には遮光量を求め、その輝光
量又は遮光量の大小により欠点の有無を判定すると一層
良い。
【0006】前記検査対象物の回転又は移動方向に複数
の検査領域に分け、各検査領域毎のCPUで別々に欠点
の有無を判定すれば、同時並列処理によりスピードアッ
プが図れる。
【0007】本発明による欠点検査装置は、図1にその
概念を示すように、びん等の検査対象物Aを回転させる
回転手段Bと、該検査対象物に光を照射する光源Cと、
該検査対象物の検査対象部分からの透過光又は反射光を
受光する多数の受光素子を配列したイメージセンサD
と、該イメージセンサの各受光素子からの出力をデジタ
ル変換するA/DコンバータEと、デジタル変換された
画素データを記憶するメモリFと、該メモリに記憶され
た画素データの輝度レベルを上記イメージセンサの受光
素子の配列方向に順次比較して所定以上の画素群を輝
点、所定以下の画素群を暗点として検出する輝点及び暗
点検出手段G1 ・G2 と、輝点及び暗点それぞれが上記
回転方向に所定距離範囲内で連続しているかどうかを判
定する輝点及び暗点連続判定手段H1 ・H2 と、連続し
ていた場合、輝点同士をリンクして輝点集合、暗点同士
をリンクして暗点集合とするデータリンク手段I1 ・I
2 と、その輝点集合又は暗点集合の面積を画素数から算
出する面積算出手段J1 ・J2と、その求めた面積の大
小から欠点の有無を判定する欠点有無判定手段Kとから
なる。
【0008】
【作用】本発明の手法は、イメージセンサで撮影してメ
モリに記憶した画像のうちから、連続した明るく光る部
分(輝点)と連続した暗い影の部分(暗点)とを検出す
る。この後、明るく光る部分同士の間の距離、及び暗い
影の部分同士の距離を調べ、その距離が所定以下のとき
は、データリンク、つまり包括して一つの集合した明る
く光る部分又は暗い影の部分であるとする。これは、人
間の目で見れば、一つの大きな汚れや傷に見える欠点で
も、実際には多数の小さい欠点が近接して存在している
場合が多く、イメージセンサによる微細な画素データを
そのまま処理したのでは、近接して散在する小さい欠点
を、独立した個々の欠点として判断することになるた
め、良否判断をできるだけ人間が見た場合の判断に合わ
せようとするためである。
【0009】例えば、びんの場合には、小さい泡は実用
上ほとんど問題とならないので欠点としては無視するた
め、良否判断の大きさに一定の限界面積を設定すると、
個々の汚れの大きさがその限界面積以下であれば、汚れ
の集合体としては不良品とすべき場合であっても、良品
と判断してしまうことになる。このような不都合をなく
すため、近接した汚れは一つの汚れとして集合して扱お
うとするのが、データリンクの考えである。なお、拡大
・縮小のフィルタリング画像処理によって小さい欠点を
除去する方法が考えられるが、それによると扱うデータ
量が膨大になり、処理速度が遅くなる。本発明による
と、扱うデータ数を少なくできるので、画像処理のスピ
ードアップが図れる。
【0010】
【実施例】以下、本発明の実施例について詳細に説明す
る。図2に本発明による検査方法の一実施態様を示す。
検査対象のびん1はびん搬送装置により検査位置へ垂直
に送られ、スターホイール等の回転駆動手段2により回
転されながら、検査対象部分、例えば図の例ではびん口
部に投光器3から拡散光を照射される。びん1を挟んで
投光器3とは反対側に、イメージセンサ(CCDライン
センサ)4を用いた2台のカメラ5,6が上下に配置さ
れている。イメージセンサ4の多数の受光素子は上下に
一列に配列している。
【0011】上側のカメラ5は、びん口部の内面を検査
するため斜め下向きになっており、びん口部の外方から
内方へ透過する光をイメージセンサ4で受光するのに対
し、下側のカメラ6は、びん口部の外面を検査するため
斜め上向きになっており、びん口部の内方から外方へ透
過する光をイメージセンサ4で受光する。
【0012】従って、上側のカメラ5のイメージセンサ
4の受光素子群の出力を走査してアナログ/デジタル変
換すると、その1回の走査につきびん口部の内面を上下
に細分化した画素データが得られる。又、下側のカメラ
6のイメージセンサ4の受光素子群の出力を走査してア
シナログ/デジタル変換すると、その1回の走査につき
びん口部の外面を上下に細分化した画素データが得られ
る。そして、びん1が回転すると、上側のカメラ5につ
いては、びん口部の内面を円周方向に展開した画像デー
タ、下側のカメラ6については、びん口部の外面を円周
方向に展開した画像データが得られることになる。
【0013】図3に本発明による欠点検査装置の一例の
基本構成を示す。上記2台のカメラ5,6は、それぞれ
に対応するカメラインターフェース7,8を介して共通
の1個のメインCPU9に接続されていると共に、それ
ぞれ複数(1番からn番まで)の画像データ処理用CP
U10,11に接続され、これら画像データ処理用CP
UはメインCPU9により管理される。複数の画像デー
タ処理用CPU10は、上側のカメラ5の撮影に係るび
ん口部内面の画像データを、円周方向に複数の検査領域
に区分して各領域毎に分けて同時に並列処理するもので
あり、又、複数の画像データ処理用CPU11は、下側
のカメラ5の撮影に係るびん口部外面の画像データを、
同様に円周方向に複数の検査領域に区分して各領域毎に
分けて同時に並列処理するものである。
【0014】複数の画像データ処理用CPU10で処理
された画像データ、及び複数の画像データ処理用CPU
11で処理された画像データは、それぞれ合成されてビ
デオインターフェース12,13を介してモニタテレビ
ジョン14,15へ送られ、処理画像として再生され
る。メインCPU9には、上記のようにびん1を検査位
置へ回転させると共に不良と判定されたびんを排除する
びん搬送及び排除装置16から、びん検知信号及び回転
同期信号が入力され、又、メインCPU9からびん搬送
及び排除装置16へ排除信号等が出力される。メインC
PU9にはまたコンソール17が接続されている。
【0015】次に、データ処理の流れについて説明す
る。先ず、画像データ処理用CPU10, 11の割り当
て処理の流れは図4から図6に示すように次の通りであ
る。 ステップ1・・・検査スピード、つまりびん搬送及び排
除装置16からの回転同期信号により、検査対象のびん
1本当たりの処理時間を算出する。 ステップ2・・・CPU1個当たりのフレームメモリの
サイズを設定する。すなわち、1個のCPUが単位時間
内に処理できるデータ量(メモリサイズ)が決まってい
るため、ステップ1で求めた処理時間からサイズ設定す
る。 ステップ3・・・検査に必要な全データ量を、イメージ
センサ4の走査ピッチとびん口部の直径と検査領域幅と
から計算して設定する。 ステップ4・・・全データ量をCPU1個当たりの処理
データ量で割り、必要とするCPUの個数を計算する。
【0016】ステップ5・・・計算上で必要とするCP
Uの数より当該検査装置に実装されているCPUの数が
少ないかどうか判断する。もし少なければ、ステップ6
でエラーとし、ステップ7で警報を出力する。 ステップ8・・・CPU1個当たりのデータ量を各検査
領域幅で割り、CPU1個当たりのイメージセンサ4の
走査回数、つまりライン数を算出する。
【0017】ステップ9・・・処理に必要とする画像デ
ータ処理用CPUの数をメインCPU9のカウンタにセ
ットする。 ステップ10・・・データ取り込みの際の最初のライン
ナンバーをセットする。画像データ処理用CPUがデー
タを取り込むときは、カメラから送られてくるデータを
ライン単位でカウントし、指定されているスタートナン
バーのラインからデータを取り込み、エンドナンバーで
取り込みを終了する。その指定は、以下のステップ11
から19に示すように、各CPU毎のスタートナンバー
とエンドナンバーで行う。
【0018】ステップ11・・・第1番目の画像データ
処理用CPUのスタートラインナンバーをセットする。 ステップ12・・・同CPUのエンドラインナンバーを
セットする。 ステップ13・・・CPUナンバーをセットする。 ステップ14・・・現在セットされているCPUナンバ
ーに対応するCPUに対して、スタートラインナンバー
及びエンドラインナンバーを指定する。 ステップ15・・・現在指定されているCPUナンバー
に1を加える。 ステップ16・・・現在設定されているスタートライン
ナンバーにCPU1個当たりのライン数を加える。 ステップ17・・・現在設定されているエンドラインナ
ンバーにCPU1個当たりのライン数を加える。 ステップ18・・・CPUカウンタを1つ減算する。 ステップ19・・・結果が0か判断する。
【0019】次に、各画像データ処理用CPU10,1
1によるデータ処理の流れについて説明する。先ず、各
CPUのメモリに記憶された画素データ(受光素子1個
当たりの各画素の輝度、つまり画素の明るさを表す)を
イメージセンサ4の1走査毎、つまり1ライン毎に調
べ、次のように輝点(明るいスポット)と暗点(暗いス
ポット)を検出する。
【0020】図7において、 ステップ21・・・検査するライン数を設定するライン
カウンタをセットする。このカウンタの値は画像の横方
向(びん口部の円周方向)の画素数を表すことになる。 ステップ22・・・第1アドレスポインタをセットす
る。 ステップ23・・・第2アドレスポインタをセットす
る。これら第1及び第2アドレスポインタは、メモリの
指定したアドレスの画素データをアクセスするためのポ
インタで、第1アドレスポインタには、最初は画素デー
タのトップアドレス(画像の横方向と縦方向の座標をそ
れぞれX,Yとすると、X=0、Y=0のアドレス)が
セットされ、第2アドレスポインタには、トップアドレ
スに所定の素数分を加えたアドレスがセットされる。 ステップ24・・・画素カウンタをセットする。このカ
ウンタの値は、画像の縦方向(Y方向)、つまりイメー
ジセンサ(ラインセンサ)4の受光素子の配列方向に沿
った画素数を表す。 ステップ25・・・上記ラインカウンタ、画素カウン
タ、第1アドレスポインタ及び第2アドレスポインタの
値をセーブする。
【0021】ステップ26・・・図13に示すように第
2アドレスポインタで指定されたアドレスの画素データ
(以下、第2データと言う)から、第1アドレスポイン
タで指定されたアドレスの画素データ(以下、第1デー
タと言う)を減算する。つまり輝度差を求める。 ステップ27・・・減算した結果がプラスがどうか判断
する。ここでマイナスであれば、画像が明るくなりつつ
あるということで、ステップ28へ進む。又、プラスで
あれば、暗くなりつつあるということで、ステップ29
へ進む。 ステップ28・・・減算結果の絶対値が、予め設定した
規定値を越えているかどうか判断し、越えていれば輝点
であるとして図8のステップ33へジャンプする。 ステップ29・・・減算結果をそのまま規定値と比較
し、越えていれば暗点であるとして図10のステップ5
2へジャンプする。
【0022】ステップ30・・・ステップ28及び29
で規定値を越えていないときは、第1アドレスポインタ
及び第2アドレスポインタにそれぞれ1つ加算する。 ステップ31・・・画素カウンタを1つ減算する。 ステップ32・・・画素カウンタが0かどうか判断す
る。0でなければ、ステップ26に戻り、上記のような
減算を繰り返す。0であれば、1ライン分の処理が終了
したので図10のステップ52へジャンプする。
【0023】上記減算結果がマイナスで、その絶対値が
規定値を越えている場合、つまり輝点の場合には上記ス
テップ28からステップ33へ進む。 ステップ33・・・第1データの最小値(MINデー
タ)と第2データの最高値(MAXデータ)をセットす
る。MAXデータとは、輝点とした画素のうちの最も明
るい画素のデータのこと、又、MINデータとは、暗点
とした画素のうちの最も暗いデータのことである。今の
場合、MINデータは最初の輝点の明るさとなる。
【0024】ステップ34・・・第2データから第1デ
ータを減算する。 ステップ35・・・結果がプラスかどうか判断する。 ステップ36・・・結果がマイナスであれば、次の演算
を行う。なお、ここでは第1データを指す。 {MAXデータ−(MAXデータ−MINデータ)/2} ステップ37・・・演算結果が第2データより小さいか
どうか判断し、第2データが小さくなったら図9のステ
ップ44へジャンプする。この処理は、輝点とした画素
の明るさが最大を越えて暗くなり始めたことを検出する
ものである。従って、輝点とした画素がライン方向(Y
方向)に明るくなりつつある間は、このループに留ま
る。
【0025】ステップ38・・・ステップ35での演算
結果がプラスであった場合、第2データとMAXデータ
とを比較し、第2データが大きければその第2データ
をMAXデータに代入する。 ステップ39・・・第1及び第2アドレスポインタにそ
れぞれ1を加える。 ステップ40・・・画素カウンタを1つ減算する。 ステップ41・・・画素カウンタが0かどうか判断し、
0でなければステップ34に戻る。0であれば、1ライ
ン分の処理が終了したので次のステップ42へ進む。
【0026】ステップ42・・・データリンクを実行
する。データリンクとは、上記のようにライン毎に検出
した輝点又は暗点が、他のラインで検出した輝点又は暗
点と、ある範囲内(リンクマージン)の近接状態にある
か、つまり連続しているかどうか判断し、連続している
場合には、包含して1つの集合した輝点又は暗点として
認識する処理である。この処理については後ほど詳述す
る。 ステップ43・・・データリンクを実行後、画素カウ
ンタが0かどうか判断し、0であれば図12へ進み、0
でなければ図7のステップ26へ戻る。
【0027】図9は、次のように輝点の終了点を検出す
る処理を示す。 ステップ44・・・上記ステップ37で第2データが小
さいとき、その第2データを仮のMINデータとす
る。MINデータは、上記のように画素の明るさの最小
値のことであるが、輝点検出の場合には、輝点の開始点
の明るさと終了点の明るさを表し、MINデータが開
始点、MINデータが終了点となる。 ステップ45・・・第1データから第2データを減算す
る。 ステップ46・・・減算結果がプラスかどうか判断す
る。減算結果がプラスであれば、輝点の終了点なので図
8のステップ42、つまりデータリンクの処理へ進
む。 ステップ47・・・減算結果がマイナスである場合、そ
の絶対値が規定値を越えているかどうか判断する。規定
値未満であれば、輝点の終了であるため、同様に図8の
ステップ42へ進む。
【0028】ステップ48・・・上記の条件を満たさな
い場合には輝点が続いているため、ループに留まり、第
2データをMINデータに代入する。 ステップ49・・・第1及び第2アドレスポインタにそ
れぞれ1を加える。 ステップ50・・・画素カウンタを1つ減算する。 ステップ51・・・画素カウンタが0かどうか判断す
る。0でなければ、ステップ45に戻って上記の処理を
繰り返し、0であれば1ライン分の処理が終了したの
で、図8のステップ42へ進む。
【0029】図10は図7のステップ29で規定値を越
えていた場合、つまり暗点の場合の処理である。 ステップ52・・・第1データの最大値(MAXデー
タ)と第2データの最小値(MINデータ)をセットす
る。今の場合、MAXデータは最初の暗点の明るさとな
る。
【0030】ステップ53・・・第1データから第2デ
ータを減算する。 ステップ54・・・結果がマイナスかどうか判断する。 ステップ55・・・結果がプラスであれば、次の演算を
行う。 {MAXデータ+(MAXデータ−MINデータ)/2} ステップ56・・・演算結果が第2データより大きいか
どうか判断し、第2データが大きいならば図11のステ
ップ61へジャンプする。この処理は、暗点とした画素
の明るさが最小を越えて明るくなり始めたことを検出す
るものである。従って、暗点とした画素がライン方向
(Y方向)に暗くなりつつある間は、このループに留ま
る。
【0031】ステップ57・・・ステップ54での演算
結果がマイナスであった場合、第2データとMINデー
タとを比較し、第2データが小さければその第2デー
タをMINデータに代入する。 ステップ58・・・第1アドレスポインタ及び第2アド
レスポインタをそれぞれ1つ加算する。 ステップ59・・・画素カウンタを1つ減算する。 ステップ60・・・画素カウンタが0かどうか判断し、
0でなければステップ53に戻る。0であれば、1ライ
ン分の処理が終了したので、図8のステップ42へ進
む。
【0032】図11は、次のように暗点の終了点を検出
する処理を示す。 ステップ61・・・上記ステップ56で第2データが大
きいとき、その第2データを仮のMAXデータとす
る。MAXデータは、上記のように画素の明るさの最大
値のことであるが、暗点検出の場合には、暗点の開始点
の明るさと終了点の明るさを表し、MAXデータが開
始点、MAXデータが終了点となる。 ステップ62・・・第1データから第2データを減算す
る。 ステップ63・・・減算結果がマイナスかどうか判断す
る。減算結果がマイナスであれば、暗点の終了点なので
図8のステップ42、つまりデータリンクの処理へ進
む。 ステップ64・・・減算結果がプラスである場合、その
絶対値が規定値を越えているかどうか判断する。規定値
未満であれば、暗点の終了であるため、同様に図8のス
テップ42へ進む。
【0033】ステップ65・・・上記の条件を満たさな
い場合には暗点が続いているため、ループに留まり、第
2データをMAXデータに代入する。 ステップ66・・・第1アドレスポインタ及び第2アド
レスポインタをそれぞれ1つ加算する。 ステップ67・・・画素カウンタを1つ減算する。 ステップ68・・・画素カウンタが0かどうか判断す
る。0でなければ、ステップ62に戻って上記の処理を
繰り返し、0であれば1ライン分の処理が終了したの
で、図8のステップ42へ進む。
【0034】図12はデータリンク処理後の良否判定を
行う流れを示す。 ステップ69・・・データリンクの処理を実行する。
この処理についは後述する。 ステップ70・・・画素カウンタが0かどうか判断す
る。ここで0でなければ、まだ1ライン分の全データ処
理が終了していないので、図7のステップ26に戻る。
0であれば、1ライン分のデータ処理が終了したので、
次のステップ71に進む。 ステップ71・・・画素カウンタと第1アドレスポイン
タ及び第2アドレスポインタのデータを復帰する。 ステップ72・・・ラインカウンタを1つ減算する。 ステップ73・・・ラインカウンタが0かどうか判断す
る。ここで0でなければ、まだ処理すべきラインが残っ
ているので、次のステップ74を経て図7のステップ2
4に戻る。 ステップ74・・・第1アドレスポインタ及び第2アド
レスポインタに1ラインサイズ分の値を加え、次のライ
ンにポインタを移す。
【0035】ステップ75・・・ラインカウンタが0で
あれば、全ラインのデータ処理が終了したので、データ
リンク処理後の各輝点集合及び各暗点集合について、そ
のX方向(横方向)の画素数で決まる横長さXと、Y方
向(縦方向)の画素数で決まる縦長さYの比、X/Y及
びY/Xを算出する。 ステップ76・・・X/Y及びY/Xが規定値を越えて
いるかどうか判断する。越えていれば次のステップ77
に進む。 ステップ77・・・輝点集合及び暗点集合の面積は、デ
ータリンク処理において各集合毎に画素数から既に求め
られているので、それぞれの面積が規定値を越えている
かどうか判断する。
【0036】ステップ78・・・面積が規定値を越えて
いた場合、その越えていた輝点集合については輝光量、
暗点集合については遮光量を次のように算出する。 輝光量=面積×{(MAXデータ)−(MINデータ)} 遮光量=面積×{(MAXデータ)−(MINデータ)} ここで、MAXデータは各集合において輝度が最大の画
素データ、MINデータは最小の画素データである。 ステップ79・・・輝光量又は遮光量がそれぞれの規定
値を越えているかどうか判断する。 ステップ80・・・輝光量又は遮光量が規定値を越えて
いた場合、不良品であり搬送ラインから排除すべきであ
るとして、メインCPU9からびん搬送及び排除装置1
6へ排除命令を出力する。 ステップ81・・・上記ステップ76、77、79のそ
れぞれにおいて規定値を越えていなければ、良品である
として本欠点検査装置による検査から次の処理へ移行す
る。
【0037】次に、データリンク処理について説明す
る。この処理は、1ライン毎に上記のように検出した輝
点又は暗点が、他のラインの輝点又は暗点と連続してい
るどうか判断し、連続していた場合にデータリンクする
もので、1ライン毎に実行される。なお、以下の説明で
は便宜上、データリンク処理された輝点集合又は暗点集
合(連続していて実際にリンクされたものばかりでな
く、分離した独立のものも含む)をリンク済データ、こ
れに対して新たにリンクすべきかどうかの対象となる輝
点又は暗点を新データと称する。そして、図14に示す
ように、リンク済(登録済)データ及び新データ(輝点
又は暗点)のX方向及びY方向それぞれの先端点と終点
を、Xトップポジション、Xエンドポジション、Yトッ
プポジション、Yエンドポジションと言う。なお、リン
ク済データの各ポジションの値には、新データとリンク
する前の値と、リンク処理中の仮の値と、更新した後の
値とがある。
【0038】図15において、 ステップ82・・・リンク済データの有無を判断する。 ステップ83・・・リンク済データが有る場合、そのデ
ータのトップアドレスをアドレスポインタにセットす
る。 ステップ84・・・リンクデータカウンタをセット、す
なわちリンク対象のデータ数をセットする。 ステップ85a ・・・新データのXエンドポジションと
リンク済データのXトップポジションとの間隔が、X方
向のリンクマージン内にあるかどうか判断するため、次
の計算をする。(新データのXエンドポジション)−
{(リンク済データのXトップポジション)+(X方向
リンクマージン)}
【0039】ステップ86a ・・・計算の結果がプラス
かどうか、つまりX方向リンクマージンを越えているか
どうか判断する。マイナス又は0であれば、リンクする
可能性があるので、次のステップ85b に進む。 ステップ85b ・・・リンク済データのXエンドポジシ
ョンと新データのXトップポジションとの間隔が、X方
向のリンクマージン内にあるかどうか判断するため、次
の計算をする。 (リンク済データのXエンドポジション)−{(新デー
タのXトップポジション)+(X方向リンクマージ
ン)} ステップ86b ・・・計算の結果がプラスかどうか、つ
まりX方向リンクマージンを越えているかどうか判断す
る。マイナス又は0であれば、リンクする可能性がある
ので、次のチェックのための図16のステップ91へ進
む。 ステップ87・・・ステップ86a ・86b での計算の
結果がプラス、つまりX方向リンクマージンを越えてい
れば、リンクの可能性無しとしてアドレスポインタにデ
ータサイズに相当する値を加える。 ステップ88・・・データリンクしないため、リンクデ
ータカウンタを1つ減算する。 ステップ89・・・リンクデータカウンタが0かどうか
判断する。ここで0でなければ、まだチェックすべきデ
ータが残っているのでステップ85に戻る。0であれ
ば、リンクすべき対象が無い、つまり独立した輝点又は
暗点であるので次のステップ90へ進む。
【0040】ステップ90・・・上記ステップ82にお
いてリンク済データが無ければ、現在のデータをリンク
済データとして登録し、リンクデータカウンタを1つ加
算してデータリンク処理を終了する。又、上記ステップ
89において0であれば、独立した輝点又は暗点である
ため、そのデータを新たなリンク済データとして登録
し、同様にリンクデータカウンタを1つ加算しデータリ
ンク処理を終了する。
【0041】図15に続く図16では、リンク済データ
に対する新データのY方向の離れをチェックする。 ステップ91・・・新データのYエンドポジションとリ
ンク済データのYトップポジションとのY方向の距離
(画素数)を計算(減算)する。 ステップ92・・・減算結果がマイナスかどうか判断す
る。マイナスでなければ、図14においてリンク済デー
タに対し新データがaで示す位置関係にあるので、Y方
向のリンクマージン内にあるかどうかを確認するため次
のステップ93へ進む。マイナスであれば、図14のb
又はcの位置関係にある。
【0042】ステップ93・・・ステップ91で計算し
た距離からY方向リンクマージンを減算する。 ステップ94・・・減算した結果がプラスかどうか判断
する。プラス、つまりY方向リンクマージンを越えてい
れば、リンクの可能性無しとして図15のステップ85
に戻る。プラスでない、つまりY方向リンクマージン内
であれば、図15でのX方向に加えてY方向も満たされ
たことになるため、図17に示すリンク実行処理に移
る。
【0043】ステップ95・・・上記ステップ92でマ
イナスであれば、新データが図14のb又はcのいずれ
にあるかを確認するため、リンク済データのYエンドポ
ジションに対する新データのYトップポジションの離れ
を計算(減算)する。 ステップ96・・・減算結果がマイナスかどうか確認す
る。マイナスであればbに示す位置であるため、図17
のリンク実行処理に移る。マイナスであればc位置であ
るため、Y方向の離れを確認するため次のステップ97
に進む。
【0044】ステップ97・・・ステップ95で計算し
た距離からY方向リンクマージンを減算する。 ステップ98・・・減算結果がプラスかどうか判断す
る。プラス、つまりY方向リンクマージンを越えていれ
ば、リンクの可能性無しとして図15のステップ85に
戻る。プラスでない、つまりY方向リンクマージン内で
あれば、図17に示すリンク実行処理に移る。
【0045】図17は、図15でX方向、図16でY方
向のリンク条件が満たされた後、リンク実行してデータ
更新する処理を示す。 ステップ99・・・リンク済データのXエンドポジショ
ンより新データのXエンドポジションの方が必ず大きい
ので、新データのXエンドポジションをリンク済データ
のXエンドポジションに代入する。 ステップ100・・・リンク済データの仮のYトップポ
ジションが0かどうか判断する。これが0であれば、そ
のときのラインでまだリンク処理が行われていないとい
うことである。0でなければ、リンクが実行されて仮の
Yトップポジションがストアされているため、次のステ
ップ101へ進む。
【0046】ステップ101・・・新データのYトップ
ポジションがリンク済データの仮のYトップポジション
より小さいかどうか判断する。小さければ、リンク済デ
ータ更新のため次のステップ102へ進み、小さくなけ
ればステップ107へジャンプする。 ステップ102・・・新データのYトップポジションを
リンク済データの仮のYトップポジションとしてストア
する。
【0047】ステップ103・・・新データのYエンド
ポジションがリンク済データの仮のYエンドポジション
より大きいかどうか判断する。大きければ、更新のため
次のステップ104へ進み、大きくなければステップ1
07へジャンプする。 ステップ104・・・新データのYエンドポジションを
リンク済データの仮のYエンドポジションとしてストア
する。
【0048】上記ステップ100で0であれば、そのラ
インでのデータリンクがまだ一度も行われていないた
め、次のステップ105及び106の処理をしてからス
テップ107へ至る。 ステップ105・・・新データのYトップポジションを
リンク済データの仮のYトップポジションとする。 ステップ106・・・新データのYエンドポジションを
リンク済データの仮のYエンドポジションとする。
【0049】上記ステップ102でのYトップポジショ
ンの更新、更にステップ104でのYエンドポジション
の更新を行った後、次のステップ107の処理をして終
える。又、その更新をしない場合は、ステップ101又
はステップ103からステップ105へ進む。更に、上
記ステップ105及び106の処理をした後も、このス
テップ107の処理をして終える。 ステップ105・・・リンクしたデータについて、つま
り連続していると判断して集合した輝点集合又は暗点集
合について、その面積を画素数から算出更新すると共
に、その他ポジションデータ等を更新登録する。
【0050】図18に示すデータリンクの処理は、1
ライン分の処理が終了するたびに、次のラインのデータ
処理の準備のために行われる。 ステップ108・・・リンク済データの有無を確認す
る。無ければ、処理の必要が無いため終了する。 ステップ109・・・リンク済データのトップアドレス
をセットする。 ステップ110・・・現在のリンク済データの数をセッ
トする。 ステップ111・・・リンク済データの仮のYトップポ
ジションが0かどうか判断する。これが0であれば、そ
のときのラインでデータリンクが一度も行われなかった
ことを示す。データリンクの処理は、上記データリン
クの処理が実行されたデータに対してのみ行う。
【0051】ステップ112・・・データリンクが行わ
れていて、リンク済データの仮のYトップポジションが
0で無ければ、それを当該ラインのYトップポジション
として代入する。 ステップ113・・・リンク済データの仮のYエンドポ
ジションを当該ラインのYトップポジションとして代入
する。 ステップ114・・・リンク済データの仮のYトップポ
ジションをクリアする。
【0052】ステップ115・・・アドレスポインタの
値に、リンク済データのサイズに相当する値を加算する
と共に、リンクデータカウンタを1つ減算する。 ステップ116・・・リンクデータカウンタが0かどう
か判断する。0でなければ、ステップ111に戻り同じ
ことを繰り返す。0であれば、全てのリンク済データの
処理を終えたことになるので、データリンクの処理を
終了する。
【0053】以上、本発明を、びん口部の欠点の有無を
検査する場合に適用した実施例について説明したが、本
発明は口部以外の部分、更にびん以外のものの検査にも
適用できること言うまでもない。又、上記ではイメージ
センサとしてラインセンサを使用したが、受光素子をマ
トリックス配列したエリアセンサを使用しても構わな
い。更に、欠点がある方向に集中しているような検査対
象物の場合は、それを水平移動してカメラの視野を通過
させるだけでも検査は可能である。又、実施例では、輝
点と暗点の両方を検出し、その双方について欠点の有無
を検査したが、輝点又は暗点のいずれか一方に限った検
査で良い場合もある。
【0054】
【発明の効果】以上詳述したように、本発明によれば、
びん表面に付着したカーボン汚れ等の、形状がランダム
でしかも大小様々な汚れが散在するような欠点の有無
を、コンピュータを使用した画像処理により、目標とす
る判断基準に適合するように適切に検査できる。マタ、
画像処理で扱うデータ数を少なくできるので、そのスピ
ードアップが図れる。
【0055】輝点集合又は暗点集合の縦横の長さの比
や、輝光量又は遮光量も欠点の有無の判断基準とすれ
ば、更に適切な良否判定を行える。
【0056】複数の検査領域に分け、各検査領域毎のC
PUで別々に欠点の有無を判定すれば、同時並列処理に
よりスピードアップが図れる。
【図面の簡単な説明】
【図1】本発明による欠点検査装置の概念構成を示すブ
ロック図である。
【図2】本発明による欠点検査方法の一例の概念図であ
る。
【図3】本発明による欠点検査装置の一例の基本構成を
示すブロック図である。
【図4】図3に示した構成における画像データ処理用C
PUの使用の割り当ての手法を示すフローチャートであ
る。
【図5】図4に続くフローチャートである。
【図6】図5に続くフローチャートである。
【図7】図3に示したCPUによるデータ処理の流れを
示すフローチャートである。
【図8】図7に続くフローチャートである。
【図9】図8に続くフローチャートである。
【図10】図7に続くフローチャートである。
【図11】図10に続くフローチャートである。
【図12】図8に続くフローチャートである。
【図13】図7で示す輝点及び暗点の検出処理を説明す
るため図である。
【図14】リンク済データと、これとリンクするかどう
か判断される新データとの関係を説明する模式図であ
る。
【図15】データリンクの手順を示すフローチャートで
ある。
【図16】図15に続くフローチャートである。
【図17】図16に続くフローチャートである。
【図18】データリンクの前処理のフローチャートであ
る。
【符号の説明】
A 検査対象物 B 回転手段 C 投光器 D イメージセンサ E A/Dコンバータ F メモリ G1 輝点検出手段 G2 暗点検出手段 H1 輝点連続判定手段 H2 暗点連続判定手段 I1 データリンク手段 I2 データリンク手段 J1 面積算出手段 J2 面積算出手段 K 欠点有無判定手段 9 メインCPU 10 画像データ処理用CPU 11 画像データ処理用CPU

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】びん等の検査対象物に光を照射して回転又
    は移動させながら、その検査対象部分を透過又は反射し
    てくる光を、多数の受光素子を配列したイメージセンサ
    で受光してその各受光素子による画素データをメモリに
    記憶し、輝度がある規定値以上の連続した画素群を輝
    点、又は規定値以下の連続した画素群を暗点として弁別
    した後、隣接する輝点又は暗点の間の距離を画素数をも
    って算出し、その距離が所定以下のときは、リンクして
    輝点集合又は暗点集合としてその面積を画素数から算出
    し、その面積の大小により欠点の有無を判定することを
    特徴とするびん等の欠点検査方法。
  2. 【請求項2】前記集合の縦横の長さの比を算出し、その
    比の大小も欠点有無の判定基準とすることを特徴とする
    請求項1に記載のびん等の欠点検査方法。
  3. 【請求項3】前記各集合の面積に、その最高の輝度レベ
    ルと最低の輝度レベルとの差を掛算することにより、輝
    点集合の場合は輝光量、暗点集合の場合には遮光量を求
    め、その輝光量又は遮光量の大小により欠点の有無を判
    定することを特徴とする請求項1に記載のびん等の欠点
    検査方法。
  4. 【請求項4】前記検査対象物の回転又は移動方向に複数
    の検査領域に分け、各検査領域毎のCPUで別々に欠点
    の有無を判定することを特徴とする請求項1に記載のび
    ん等の欠点検査方法。
  5. 【請求項5】びん等の検査対象物Aを回転させる回転手
    段Bと、該検査対象物に光を照射する光源Cと、該検査
    対象物の検査対象部分からの透過光又は反射光を受光す
    る多数の受光素子を配列したイメージセンサDと、該イ
    メージセンサの各受光素子からの出力をデジタル変換す
    るA/DコンバータEと、デジタル変換された画素デー
    タを記憶するメモリFと、該メモリに記憶された画素デ
    ータの輝度レベルを上記イメージセンサの受光素子の配
    列方向に順次比較して所定以上の画素群を輝点、所定以
    下の画素群を暗点として検出する輝点及び暗点検出手段
    G1 ・G2 と、輝点及び暗点それぞれが上記回転方向に
    所定距離範囲内で連続しているかどうかを判定する輝点
    及び暗点連続判定手段H1 ・H2 と、連続していた場
    合、輝点同士をリンクして輝点集合、暗点同士をリンク
    して暗点集合とするデータリンク手段I1 ・I2 と、そ
    の輝点集合又は暗点集合の面積を画素数から算出する面
    積算出手段J1 ・J2 と、その求めた面積の大小から欠
    点の有無を判定する欠点有無判定手段Kとからなること
    を特徴とするびん等の欠点検査装置。
JP16523891A 1991-06-11 1991-06-11 びん等の欠点検査方法及び装置 Expired - Lifetime JPH0718816B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16523891A JPH0718816B2 (ja) 1991-06-11 1991-06-11 びん等の欠点検査方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16523891A JPH0718816B2 (ja) 1991-06-11 1991-06-11 びん等の欠点検査方法及び装置

Publications (2)

Publication Number Publication Date
JPH04364453A JPH04364453A (ja) 1992-12-16
JPH0718816B2 true JPH0718816B2 (ja) 1995-03-06

Family

ID=15808493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16523891A Expired - Lifetime JPH0718816B2 (ja) 1991-06-11 1991-06-11 びん等の欠点検査方法及び装置

Country Status (1)

Country Link
JP (1) JPH0718816B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002344113A1 (en) * 2002-10-18 2004-05-04 Kirin Techno-System Corporation Glass bottle mouth part inspection device
JP2007271487A (ja) * 2006-03-31 2007-10-18 Nok Corp 画像による欠陥検出方法
FR3005354B1 (fr) * 2013-05-03 2015-05-15 Msc & Sgcc Procede et dispositif d'observation et d'analyse de singularites optiques portees par des recipients en verre
JP2015169442A (ja) * 2014-03-04 2015-09-28 東洋ガラス機械株式会社 ガラスびんの口部検査装置

Also Published As

Publication number Publication date
JPH04364453A (ja) 1992-12-16

Similar Documents

Publication Publication Date Title
CA2053176C (en) Method of and apparatus for inspecting bottle or the like
US5309486A (en) Non-contact flaw detection for cylindrical nuclear fuel pellets
JPH04220551A (ja) 透明物体の欠陥検査方法とその装置
JPH08101915A (ja) 不良検査方法およびその装置
JPH0718816B2 (ja) びん等の欠点検査方法及び装置
JP3332208B2 (ja) 網入りガラスの欠陥検出方法および装置
JPH0739999B2 (ja) 欠陥検出方法
JP3216439B2 (ja) 円形容器の内面検査装置
JPH0658733A (ja) ガラスびんの偏肉検査方法
JP3127598B2 (ja) 画像中の濃度変動構成画素抽出方法および濃度変動塊判定方法
JPH06118026A (ja) 容器内面検査方法
JP3055322B2 (ja) 円形容器内面検査装置
JPH06102199A (ja) 自動検反方法および自動検反装置
JPH06160289A (ja) 円形容器内面検査装置
JPH09161056A (ja) 円形容器内面検査方法
JPH03113352A (ja) ゴム製品などのワークの傷検査方法
JP3055323B2 (ja) 円形容器内面検査装置
JP2941107B2 (ja) ワーク表面検査方法
JP3202330B2 (ja) 欠陥検査装置
JPH043820B2 (ja)
JPS61187637A (ja) 外観検査装置
JP3216767B2 (ja) レベル変動補正可能な画像処理装置
JPH03158709A (ja) 立体形状認識装置
JPH08101916A (ja) 不良検査方法およびその装置
JP2874121B2 (ja) 管体の製品検査方法