(57)【特許請求の範囲】
【請求項１】
円周状に配置され金型番号をコードで示す突起物を有する壜底における不良を検出する方法であって、壜底を撮影し、得られた画像を処理して不良の有無を判定する壜底検査方法において、
画像処理は、設定した中心から放射状にかつ円周方向に画像を走査して、走査線上で明から暗に変化した走査線の角度を１個の突起物の始点の角度とし、明から暗への変化がなくなった走査線の１つ手前の走査線の角度を１個の突起物の終点の角度とし、３個の突起物それぞれの始点と終点との角度の平均値を求め、および、前記３個の突起物それぞれの前記中心からの距離の最小値または最大値を求め、求めた角度の平均値と距離の最小値または最大値とからなる３点を通る円の中心を計算して求め、
求めた中心から放射状にかつ円周方向に画像を走査して、走査線上で明から暗に変化した走査線の角度を１個の突起物の始点の角度とし、明から暗への変化がなくなった走査線の１つ手前の走査線の角度を１個の突起物の終点の角度とし、１個の突起物の始点と終点との角度の平均値を求め、求めた角度の平均値を起点として指定された角度毎に突起物の有無を探して配列を求め、求めた配列から基準となる突起物の位置を求め、
求めた中心から設定した半径と、求めた基準となる突起物の位置から設定した角度とで特定される突起物のない領域を検査領域とし、この検査領域に暗い部分がある場合に壜底不良であると判定することを特徴とする壜底検査方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ガラス壜の壜底における不良を撮像により自動で検出する方法に関する。
【０００２】
【従来の技術】
ガラス壜の壜底における不良を検出する装置として、壜底下方から照明をして壜口側から撮像し、得られた画像を走査して明るさの違いから不良を検出するものがある。通常、壜底には金型番号をバーコードで示す円周状に配置された突起物があり、また、特定のバーを基準位置として社標や金型番号（数字）を示す突起物がある。画像では突起物はある程度暗く映る。このため、突起物よりも更に暗く映る遮光性異物の検出が不良検出の主たるものになっている。
【０００３】
【発明が解決しようとする課題】
ガラス壜の壜底の不良には遮光性異物の他に気泡のような屈折性欠陥があり、屈折性欠陥を検出したいという要望がある。
本発明者は照明を工夫することにより、屈折性欠陥を明瞭に映るようにしたが、突起物、遮光性異物、屈折性欠陥とも同じく暗く映る画像となった。よって、本発明者は突起物がある領域を除いた領域での不良検出を検討した。このためには、突起物にかからないように検査領域を特定する必要がある。
【０００４】
本発明は、上述の事情に鑑みなされたもので、突起物に影響されないで不良を検出できる壜底検査方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上述の目的を達成するため、本発明は円周状に配置され金型番号をコードで示す突起物を有する壜底における不良を検出する方法であって、壜底を撮影し、得られた画像を処理して不良の有無を判定する壜底検査方法において、画像処理は、設定した中心から放射状にかつ円周方向に画像を走査して、走査線上で明から暗に変化した走査線の角度を１個の突起物の始点の角度とし、明から暗への変化がなくなった走査線の１つ手前の走査線の角度を１個の突起物の終点の角度とし、３個の突起物それぞれの始点と終点との角度の平均値を求め、および、前記３個の突起物それぞれの前記中心からの距離の最小値または最大値を求め、求めた角度の平均値と距離の最小値または最大値とからなる３点を通る円の中心を計算して求め、求めた中心から放射状にかつ円周方向に画像を走査して、走査線上で明から暗に変化した走査線の角度を１個の突起物の始点の角度とし、明から暗への変化がなくなった走査線の１つ手前の走査線の角度を１個の突起物の終点の角度とし、１個の突起物の始点と終点との角度の平均値を求め、求めた角度の平均値を起点として指定された角度毎に突起物の有無を探して配列を求め、求めた配列から基準となる突起物の位置を求め、求めた中心から設定した半径と、求めた基準となる突起物の位置から設定した角度とで特定される突起物のない領域を検査領域とし、この検査領域に暗い部分がある場合に壜底不良であると判定することを特徴とするものである。
【０００６】
本発明によれば、コードを示す突起物の像の位置データからコードの中心位置を直接計算して求め、求めた中心から放射状に画像を走査して突起物の有無を探して配列を求め、求めた配列から基準となる突起物の位置を求めるため、突起物にかからない検査領域を正確に特定でき、よって突起物に影響されないで不良を検出できる。
【０００７】
【発明の実施の形態】
以下、本発明に係る壜底検査方法の実施の形態を図１乃至図１１を参照して説明する。
図１は本発明の壜底検査方法を実施する装置の構成を示す概略正面図である。図１に示すように、壜底検査方法を実施する装置は、ガラス壜１の壜底２の下方に設置された照明３およびフレネルレンズ４と、ガラス壜１の上方に設置されたＣＣＤカメラからなる撮像装置５と、撮像装置５で得られた画像を処理する画像処理装置６とから構成されている。ガラス壜１の軸心と撮像装置５の光軸は概略垂直方向にあり一致している。
【０００８】
上述の構成において、照明３からの光によって、フレネルレンズ４を介してガラス壜１の壜底２が照明されると、一部の照明光は壜底２を透過し壜口部を通して撮像装置５に入射する。撮像装置５によって撮影された画像は画像処理装置６により画像処理される。この画像処理は以下の手順にて行われる。
【０００９】
画像処理は、ステップ１として、撮像装置５で得られた画像から二値画像を得る。図２は、バーコードの一例を示す図であり、撮像装置５で得られた画像を画像処理装置６により明と暗とに二値化した二値画像を示す。ただし、図２ではコード以外の突起物の像を除いてある。図２において、Ｓ，Ｍ，３，４，Ｅ，７，Ｐの位置にあるバー（暗部）がコードを示す突起物の像である。バーコードは円周を１６分割したものである。Ｓ，Ｍ，Ｅの位置のバーは固定である。すなわち、どの金型番号でも必ずこれらのバーがある。Ｐはパリティである。Ｘの位置は固定であり、どの金型番号でもバーはない。Ｓが番号読取りのスタート位置であり、金型番号は０から７までの８ビットの２進数で示される。バーの配列を反時計方向に読み金型番号を特定する。Ｓの位置のバーをスタートバーと呼ぶ。バーの有無を２進数で１，０とすると、図２は、
Ｓ      Ｍ      Ｅ    Ｐ
１０００１１１０１０１１００００
であり、１０進法で１５２を示す。即ち、Ｓ，Ｍ，Ｅ，Ｐにおける１は除外して計算すると、Ｍの次とその次がそれぞれ１で、２３＝８，２４＝１６、Ｅの２つ先が１で、２７＝１２８であり、総計１５２である。
【００１０】
次に、画像処理は、ステップ２として、設定した中心から放射状に画像を走査して、３個の突起物（バー）それぞれの始点と終点との角度の平均値および中心からの距離の最小値を求める。図３は、この段階を示す図であり、以下の手順で行われる。
１）画面中央に設定した中心ＣＴ（ｘＴ，ｙＴ）から放射状（ｒ方向）に反時計方向（θ方向）に画像を走査する。
ＣＴを中心にＲ１，Ｒ２の同心円を設定し、Ｒ１とＲ２との間の部分を走査領域とする。
バーコードの外側にコード以外の突起物がある場合、コード以外のものに影響されないように、走査領域の外周をバーコードの外周よりも小さくして、走査領域の内周をバーコードの内周よりも小さくする。そして、走査線上で内周側から外周側へ画像データ（明，暗）を読み出す。
【００１１】
２）先ず、バーとバーとの隙間をみつける。走査線上で明だけのときが隙間である。図３ではθ＝０°の位置が隙間になっている。
隙間をみつけたら走査を続行し、最初のバー（Ｂ０）を見つける。走査線上で明から暗に変化した走査線の角度が始点の角度（θ０Ｓ）である。
明から暗への変化がなくなった走査線（隙間）の一つ手前の走査線の角度が終点の角度（θ０Ｅ）である。（θ０Ｓ＋θ０Ｅ）／２が始点と終点との角度の平均値（θ０）である。
内周側から外周側へ画像データを読み出すので、走査線上で明から暗に変化したとき、それ迄の明の画素数にＲ１を加えたものが中心ＣＴからバー迄の距離となる。
従って、θ０Ｓからθ０Ｅ迄の間の走査で記憶していた明の画素数の最小値にＲ１  を加えたものが中心ＣＴからの距離の最小値（ｒ０）である。
【００１２】
３）最初のバー（Ｂ０）を見つけた角度（θ０Ｓ）から７０°進んだ角度から画像を走査する。走査を続行し、２番目のバー（Ｂ１）を見つける。Ｂ０の場合と同様にバー（Ｂ１）の始点と終点との角度の平均値（θ１）および中心からの距離の最小値（ｒ１）を求める。
後述するように、３個のバーからなる３点を通る円の中心を求めるためには３個のバーは互いに離れていることが望ましい。
本実施例でのバーの配列は９０°ずつ離れた位置に固定のＳ，Ｍ，Ｅのバーがあり、また、円周を１６分割（１分割＝２２．５°）している。このため、本実施例では７０°（＞２２．５°×３＝６７．５°）進めた位置から次のバーを見つける。
４）２番目のバー（Ｂ１）を見つけた角度（θ１Ｓ）から７０°進んだ角度から画像を走査する。３番目のバー（Ｂ２）を見つける。Ｂ０の場合と同様にバー（Ｂ２）の始点と終点との角度の平均値（θ２）および中心からの距離の最小値（ｒ２）を求める。
【００１３】
バーコードの内側にコード以外の突起物がある場合には、画像処理は、ステップ２として、設定した中心から放射状に画像を走査して、３個の突起物（バー）それぞれの始点と終点との角度の平均値および中心からの距離の最大値を求める。図４はこの段階を示す図であり、以下の手順で行われる。
１）画面中央に設定した中心ＣＴ（ｘＴ，ｙＴ）から放射状に反時計方向に画像を走査する。
ＣＴを中心にＲ１，Ｒ２の同心円を設定し、Ｒ１とＲ２との間の部分を走査領域とする。
バーコードの内側にコード以外の突起物がある場合、コード以外のものに影響されないように、走査領域の外周をバーコードの外周よりも大きくし、走査領域の内周をバーコードの内周よりも大きくする。そして、走査線上で外周側から内周側へ画像データ（明，暗）を読み出す。
【００１４】
２）角度の平均値を求めるのは図３に示す最小値を求める場合と同じである。但し、走査領域の内周はバーコードの内周よりも大きいので、バーの始点と終点は走査領域の内周がバーと交叉する点となる。
外周側から内周側へ画像データを読み出すので、走査線上で明から暗に変化したとき、それ迄の明の画素数をＲ２から引いたものが中心からバー迄の距離となる。従って、θ′０Ｓからθ′０Ｅまでの間の走査線で明の画素数の最小値をＲ２から引いたものが中心からの距離の最大値（ｒ′０）である。
【００１５】
次に、画像処理は、ステップ３として、３個の突起物（バー）それぞれの角度の平均値と距離の最小値または最大値とからなる３点を通る円の中心を計算して求める。図５乃至図７は、この段階を示す図であり、以下の手順で行われる。
１）Ｂ０，Ｂ１，Ｂ２の３点は設定した中心ＣＴ  に対して極座標表示で図５のようになる。
２）Ｂ０，Ｂ１，Ｂ２の３点を
ｘ＝ｒ・ｃｏｓθ＋ｘＴ，ｙ＝−ｒ・ｓｉｎθ＋ｙＴにより、画面の直交座標に置換すると図６に示すようになる。すなわち、Ｂ０はＰ０（ｘ０，ｙ０）、Ｂ１はＰ１（ｘ１，ｙ１）、Ｂ２はＰ２（ｘ２，ｙ２）にそれぞれ置換される。
【００１６】
３）図７（ａ）において、直線Ｐ０Ｐ１を、ｙ＝ａ１ｘ＋ｂ１とすると、
垂直二等分線はｙ＝（−１／ａ１）ｘ＋ｍ１となる。
直線Ｐ１Ｐ２を、ｙ＝ａ２ｘ＋ｂ２とすると、
垂直二等分線はｙ＝（−１／ａ２）ｘ＋ｍ２となる。ａ，ｂ，ｍはＰ０，Ｐ１，Ｐ２の座標から求まる数値である。
２個の垂直二等分線の交点が、求める中心ＣＣ（ｘＣ，ｙＣ）となる。
なお、図７（ｂ）に示すように、ｙ０  とｙ１との差が極めて小さいとき、即ち、直線Ｐ０Ｐ１の勾配が極めて小さいときは、垂直二等分線の勾配が極めて大きくなるので、直線Ｐ０Ｐ１の替わりに直線Ｐ０Ｐ２を用いる。図７（ｃ）に示すように、ｙ１とｙ２との差が極めて小さいときは、直線Ｐ１Ｐ２の替わりに直線Ｐ０Ｐ２を用いる。
【００１７】
次に、画像処理は、ステップ４として、ステップ３により求めた中心から放射状に画像を走査して、１個の突起物（バー）の始点と終点との角度の平均値を求め、求めた角度の平均値を起点として指定された角度毎にバーの有無を探して配列を求め、求めた配列から基準となる突起物の位置を求める。図８乃至図１０はこの段階を示す図であり、以下の手順で行われる。
１）求めた中心ＣＣ（ｘＣ，ｙＣ）から放射状に反時計方向に画像を走査する。
走査領域，走査線上での画像データの読み出し方向、および、バーの始点と終点との角度の平均値を求めるのは、設定した中心から画像を走査したときと同じである。
【００１８】
２）画像を走査して最初のバーをみつける。
最初に見つけた１個のバーの角度の平均値（θ０）を求め、θ０を起点として２２．５°毎にバーの有無を探す。
本実施例のバーコードは１６分割なので、指定された角度は３６０゜／１６＝２２．５°となる。８分割では４５°毎にバーの有無を探すこととなる。
バーの有無を探すには角度毎に前後に数本の走査線を読み有無を確実に知る。
図９では、バーの配列は、
１０００  １１１０  １０１１  ００００
である。
図１０では、バーの配列は、
１０１１  ００００  １０００  １１１０
である。
【００１９】
３）求めた配列から基準となる突起物（バー）の位置を求める。基準となるバーはスタートバーＳであり、位置は角度である。スタートバーの前には０が４個あるので、配列から００００１となる１の順番（Ｎ）を読む。配列の先頭を０番目とする。スタートバーの位置（角度θＳ）は、θＳ＝θ０＋Ｎ×２２．５゜となる。
図９では、
１０００  １１１０  １０１１  ００００  から、００００１となる１の順番は１６番目であるから、Ｎ＝１６
図９において、θ０＝８５゜のときは、
θＳ＝８５゜＋１６×２２．５゜
＝８５゜＋３６０゜  →  ８５゜  となる。
図１０では、
１０１１  ００００  １０００  １１１０  から、００００１となる１の順番は８番目であるから、Ｎ＝８
図１０において、θ０＝２０゜のときは、
θＳ＝２０゜＋８×２２．５゜
＝２０゜＋１８０゜  →  ２００゜  となる。
【００２０】
次に、画像処理は、ステップ５として、求めた中心ＣＣから設定した半径と、求めた位置から設定した角度とで特定される領域を検査領域とする。図１１はこの段階を示す図であり、以下の手順で行われる。求めた中心（ＣＣ）から設定した半径は、ｔ１，ｔ２，ｔ３である。求めた位置とは上記ステップ４で求めたスタートバーの角度θＳである。
求めた位置から設定した角度は、半径ｔ２〜ｔ３の範囲で突起物が存在しない角度であるα１Ｓ，α１Ｅ，α２Ｓ，α２Ｅである。
検査領域は突起物のない領域ｗ１（半径ｔ１の内側），ｗ２（半径ｔ２〜ｔ３の範囲で角度α２Ｓからα２Ｅまで），ｗ３（半径ｔ２〜ｔ３の範囲で角度α１Ｓからα１Ｅまで）である。
検査領域ｗ１，ｗ２，ｗ３を放射状または円周状に走査して、暗の部分があると、不良があると判定する。
【００２１】
【発明の効果】
以上説明したように、本発明によれば、コードを示す突起物がなす円の中心と、社標等の突起物が配置される基準位置とを画像から計算して求めるので、突起物にかからない検査領域を正確に特定できる。よって、突起物に影響されないで不良を検出できる。
【図面の簡単な説明】
【図１】本発明の壜底検査方法を実施する装置の構成を示す概略正面図である。
【図２】バーコードの一例を示す図であり、撮像装置で得られた画像を画像処理装置により明と暗とに二値化した二値画像を示す。
【図３】設定した中心から放射状に画像を走査して、３個の突起物（バー）それぞれの始点と終点との角度の平均値および中心からの距離の最小値を求める方法を示す図である。
【図４】設定した中心から放射状に画像を走査して、３個の突起物（バー）それぞれの始点と終点との角度の平均値および中心からの距離の最大値を求める方法を示す図である。
【図５】３個の突起物（バー）それぞれの角度の平均値と距離の最小値または最大値とからなる３点を通る円の中心を計算して求める方法を示す図である。
【図６】３個の突起物（バー）それぞれの角度の平均値と距離の最小値または最大値とからなる３点を通る円の中心を計算して求める方法を示す図である。
【図７】３個の突起物（バー）それぞれの角度の平均値と距離の最小値または最大値とからなる３点を通る円の中心を計算して求める方法を示す図である。
【図８】求めた中心から放射状に画像を走査して、１個の突起物（バー）の始点と終点との角度の平均値を求め、求めた角度の平均値を起点として指定された角度毎にバーの有無を探して配列を求め、求めた配列から基準となる突起物の位置を求める方法を示す図である。
【図９】求めた中心から放射状に画像を走査して、１個の突起物（バー）の始点と終点との角度の平均値を求め、求めた角度の平均値を起点として指定された角度毎にバーの有無を探して配列を求め、求めた配列から基準となる突起物の位置を求める方法を示す図である。
【図１０】求めた中心から放射状に画像を走査して、１個の突起物（バー）の始点と終点との角度の平均値を求め、求めた角度の平均値を起点として指定された角度毎にバーの有無を探して配列を求め、求めた配列から基準となる突起物の位置を求める方法を示す図である。
【図１１】求めた中心から設定した半径と、求めた位置から設定した角度とで特定される領域を求める方法を示す図である。
【符号の説明】
１    ガラス壜
２    壜底
３    照明
４    フレネルレンズ
５    撮像装置
６    画像処理装置
【図１】
0004253742.tif 000002
【図２】
0004253742.tif 000003
【図３】
0004253742.tif 000004
【図４】
0004253742.tif 000005
【図５】
0004253742.tif 000006
【図６】
0004253742.tif 000007
【図７】
0004253742.tif 000008
【図８】
0004253742.tif 000009
【図９】
0004253742.tif 000010
【図１０】
0004253742.tif 000011
【図１１】
0004253742.tif 000012