JP2007286930A - 対象物の重心検出方法 - Google Patents

対象物の重心検出方法 Download PDF

Info

Publication number
JP2007286930A
JP2007286930A JP2006113961A JP2006113961A JP2007286930A JP 2007286930 A JP2007286930 A JP 2007286930A JP 2006113961 A JP2006113961 A JP 2006113961A JP 2006113961 A JP2006113961 A JP 2006113961A JP 2007286930 A JP2007286930 A JP 2007286930A
Authority
JP
Japan
Prior art keywords
pixel
pixels
coordinate
center
gravity
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.)
Granted
Application number
JP2006113961A
Other languages
English (en)
Other versions
JP4707598B2 (ja
Inventor
Chieko Wakabayashi
千恵子 若林
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.)
Juki Corp
Original Assignee
Juki Corp
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 Juki Corp filed Critical Juki Corp
Priority to JP2006113961A priority Critical patent/JP4707598B2/ja
Publication of JP2007286930A publication Critical patent/JP2007286930A/ja
Application granted granted Critical
Publication of JP4707598B2 publication Critical patent/JP4707598B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

【課題】高精度でしかも高速に対象物の重心を求めることが可能な対象物の重心検出方法を提供する。
【解決手段】画素のX方向に沿って画素ラインごとに順次画像データをスキャンし、当該画素ラインでの対象物の画素数とそのラインのY座標位置(y0〜y9)からラインごとにモーメントの総和と対象物の画素数の総和を求めて対象物の重心Y座標を検出する。このX方向スキャン時に、対象物の画素が検出されるごとに、そのX座標位置(x0〜x9)に、最初並びに最後に画素が検出されたラインのY座標を記録し(バッファ41〜44)、その座標値からY方向のラインごとのモーメントの総和と対象物の画素数の総和を求めて重心X座標を検出する。このような構成では、スキャンはX方向にだけ行われるので、重心を求める処理速度が高速になる。
【選択図】図7

Description

本発明は、対象物の重心検出方法、さらに詳細には、指定ウィンドウ領域内の画像データを処理し画素ラインごとのモーメントの総和と対象物の画素数の総和を求めて対象物の重心を検出する重心検出方法に関する。
従来から、電子部品実装機においては、部品供給装置で吸着された電子部品をCCDカメラで撮像し、その画像を処理することにより、電子部品の重心(部品中心)を求め、吸着姿勢を補正して電子部品を回路基板に搭載することが行われている。
ここで、電子部品などの対象物を撮像して、その画像パターン(図形)の重心位置を検出する方法は、例えば特許文献1などで知られており、重心座標(p,q)は画像の各画素の濃度値を重みとして(二値画像の場合重みを1とする)、モーメントを用いて以下の式で表現できる。
p=M(1,0)/M(0,0),q=M(0,1)/M(0,0)
M(0,0):図形の面積
M(1,0):Y軸に対するモーメント,M(0,1):X軸に対するモーメント
従来の電子部品実装機は、機械、基板、部品の位置決めを行う際に重心を検出する場合、撮像された多値画像データを、指定されたしきい値を境目に二値化し、フィルタ処理をしてノイズを除去した画像データを背景と対象物に分けて、対象物の最初と最後の座標(エッジ)を抽出し、そのエッジ間のモーメント(画素数×座標値)総和/ピクセル(画素数)総和から重心を求めていた。
さらに、精度よくするためにサブピクセル単位で重心を検出することが必要となる場合があり、それは撮像された多値画像データから判別分析法などにより2種類のしきい値を決定し、その2種類のしきい値の間の濃度値を持つ位置をエッジ近辺としてサブピクセル単位での演算を行う処理を、従来の重心演算と組み合わせて、実施している。
特公平7−113975
しかしながら、従来の対象物の重心の検出は、重心のX座標を取得する場合にはY方向(垂直方向)への画像データのスキャン、重心のY座標を取得する場合には、X方向(水平方向)への画像データのスキャンをそれぞれ行っており、特に、Y方向(垂直方向)へのスキャンについては、ハードウェアの仕様によっては、処理速度がかなり遅くなるという問題点があった。
本発明は、このような問題点を解決するためになされたもので、高精度でしかも高速に対象物の重心を求めることが可能な対象物の重心検出方法を提供することを課題とする。
本発明は、
指定ウィンドウ領域内の画像データを処理し対象物の重心を検出する重心検出方法であって、
指定ウィンドウ領域内で画素の行あるいは列に沿った一方の並び方向を第1方向、前記並び方向と直交する方向を第2方向として、第1方向に沿って画素ラインごとに順次画像データをスキャンし、
前記スキャンにより検出される当該画素ラインでの対象物の画素数と当該画素ラインの第2方向座標位置から第1の方向に沿った画素ラインごとにモーメントの総和と対象物の画素数の総和を求めて対象物の第2方向重心位置を検出し、
前記第1方向の画素ラインごとのスキャン時に、対象物の画素が検出されるごとに、検出画素の第1方向座標位置に、最初に画素が検出された画素ラインと最後に画素が検出された画素ラインの第2方向座標位置をそれぞれ記録し、
第1方向のすべての画素ラインスキャンが終了したとき、前記記録した最初と最後の画素ラインの第2方向座標位置から第2方向に沿った画素ラインごとのモーメントの総和と対象物の画素数の総和を求めて対象物の第1方向重心位置を検出することを特徴とする。
また、本発明では、対象物のエッジ部以外の各画素に対しては1画素を第1の数値に、またエッジ部の画素に対しては1画素を第1の数値より小さな値で0より大きな第2の数値に設定して画素数が求められる。
本発明によれば、画素ラインのスキャンは、第1方向にだけ行われ、第1方向でのラインスキャン時に、第1方向重心位置を求めるための第2方向座標値が記録されるので、第2方向へのウィンドウ領域全体のスキャン動作がなくなり、重心を求める処理速度が高速になる。
また、本発明では、対象物のエッジ部の画素数に対しては、1画素に相当する画素数よりも小さな値に設定するので、エッジ部ないしエッジ付近のモーメントを1画素の分解能より細かな単位(サブピクセル単位)で演算することができ、対象物の形状、あるいは対象物の撮像条件に影響されることなく、対象物の重心を正確に求めることができる。
以下、電子部品実装機において基板に実装される部品あるいは基板に形成されたマークを対象物として、その対象物の重心を検出する実施例に基づいて本発明を詳細に説明する。
図1は、本発明に使用される電子部品実装機20と、撮像された電子部品の画像を処理する画像処理装置12の構成を概略示している。
同図において、吸着ノズル1は、マシン制御装置13により制御されてX、Y軸方向に移動して部品供給装置(不図示)から供給される電子部品2を吸着する。マシン制御装置13は、電子部品2を吸着した吸着ノズル1を、撮像位置へ移動させ、そこで、照明装置3により照明された電子部品2が、電子部品の種類に応じて標準のCCDカメラ4あるいは高解像度のCCDカメラ5のいずれかにより撮像される。
撮像された電子部品の画像は、後述するように、画像処理装置12において画像処理され、部品認識が行われ、部品中心(重心)や吸着角度が演算されて部品の吸着姿勢が検出される。その後、電子部品2は、マシン制御装置13により基板14の位置に移動され、吸着姿勢が補正されて回路基板14の所定位置に搭載される。
基板14には、基板マークが形成されており、この基板マークは、吸着ノズル1を設けたヘッドに取り付けられる基板認識カメラ15により撮影され、そのマーク画像が画像処理装置12で処理され、基板位置が検出される。基板14に位置ずれがある場合には、その位置ずれが補正されるので、電子部品2は、高精度で基板14上に搭載される。
画像処理装置12は、カメラ4、5、15からの画像をデジタル値に変換するA/Dコンバータ6と、デジタル画像に変換された電子部品2や基板マークなどの対象物の画像を格納する画像メモリ7、作業用メモリ(RAM)8、重心検出プログラム9、CPU10、インターフェース11から構成されており、撮像された電子部品2や基板14のマークの画像は、画像メモリ7に格納される。CPU10は、重心検出プログラム9を読み込んでそれを実行し、画像メモリ7に格納されている電子部品2あるいは基板マークなどの対象物の画像を含む所定の大きさのウィンドウを指定し、その指定されたウィンドウ領域内の画像を処理して、対象物の重心を検出する。
重心位置が正常に検出されれば、モニタ16に重心位置を表示し、インタフェース11を介し、マシン制御装置13にその結果を返答する。正常に検出されなかった場合、エラーであったことを返答する。マシン制御装置13は、正常に重心位置の結果を受け取った場合、その情報に従って上記吸着姿勢、あるいは基板位置を補正する補正量を演算して、その補正量に従って吸着ノズル1の移動量を制御し、上述したように、電子部品2を基板14の所定位置に搭載する。
次に、重心を検出するための画像処理の流れを、図2〜図9に従って説明する。
まず、画像処理装置12は、指定されたカメラ4又は5又は15を制御し、電子部品2や基板14に形成されたマークなどの対象物の画像を撮像し(ステップs1)、それをA/Dコンバータ6でデジタル化し、画像メモリ7に多値画像データとして記憶し、その画像をモニタ16に表示する。この指定ウィンドウ領域内の多値画像データの一例が、図6(A)に、10×10画素の画像データとして図示されている。同図から、各画素の座標位置(x0〜x9、y0〜y9)での濃度データが画像データ「0」〜「255」として多値化されていることが分かる。
続いて、重心検出プログラム9は、画像メモリ7のデータについて、指定されたウィンドウ領域内のヒストグラムを作成する。そして、判別分析法により、対象物と背景部を区別するしきい値を算出する(ステップs2)。
この算出方法が、図3に示されており、同図には、ウィンドウ領域の画像の各濃度値に対してその濃度を有する画素がいくつあるか(頻度)を示したヒストグラムが図示されている。Minは画像の最小濃度値、Maxはその最大濃度値であり、対象物とその背景部を区切るしきい値をThrとすると、そのしきい値Thr以上で最大濃度値Maxまでの濃度値が対象物M2の濃度値であり、しきい値Thr未満で最小濃度値Minまでの濃度値が背景部M1の濃度値である。
ここで、しきい値Thrを最小濃度値Minから最大濃度値Maxまで変化させ、各しきい値Thrでの背景部M1の平均濃度値に相当する下限しきい値ThrMinと対象物M2の平均濃度値に相当する上限しきい値ThrMaxを求め、背景部M1の画素数をPMin、対象物M2の画素数をPMaxとして、背景部M1と対象物M2間の分散D、
D=PMin×PMax×{(ThrMin−ThrMax)の2乗}
を求め、その分散が最大になるようなしきい値Thrを求める。
図3には、このようにして分散が最大になるときのしきい値Thr、上限しきい値ThrMax、下限しきい値ThrMinが示されている。
本実施例では、重心の検出にしきい値Thrと上限しきい値ThrMaxを使用しているが、対象物のエッジ部の濃度値がしきい値に近い場合等、対象物の特性や撮像条件等によっては、下限しきい値ThrMinとしきい値Thrの中間値や3/4の値を使用する等の調整も可能である。
次に、ステップs3において、しきい値の取得判定を行い、指定ウィンドウ領域内の最大濃度値が、重心検出処理の実行が指示された時に情報として渡されていたしきい値の参考値よりも低い場合、指定ウィンドウ領域内には背景しかないと判断し、判別分析法によるしきい値の取得を行わないで、重心検出プログラム9はインタフェース11を介してマシン制御装置13にエラーを通知して(ステップs9)処理を終了する。
また、画像データに対してフィルタ処理を行い(ステップs4)、指定ウィンドウ領域内にノイズがあった場合のために、ステップs2で取得したしきい値で多値画像データを二値化し、AND−ORフィルタをかけたデータを作成し、作業用メモリ8に格納しておく。この二値化したデータが図6(B)に示されており、ここでは、しきい値を「100」として、図6(A)の画像データで「100」より小さいデータを「0」(背景)、それ以上のデータを「255」(対象物)として二値化している。
また、フィルタ処理により、図6(C)に示したように、図6(B)の画素位置(x0,y1)のデータが背景データ「0」に、また「255」のデータの周囲位置(斜線で示した画素)のデータが、対象物のデータ「255」に、変換されている。
続いて、ステップs5において、図6の画像データを有効ウィンドウ領域内で画素の行あるいは列方向に画素ラインに沿って順次スキャンして画素データを読み出し、重心演算が行われる。本発明では、1画素より細かなサブピクセル単位の画素数で重心を演算するために、画素データ(濃度値)に対して以下のような分類値を付与する。
この分類は、注目する画素位置の濃度値をNとして、
N < Thrならば、「0」
ThrMax ≦ N ならば「1」
Thr ≦ N < ThrMaxならば「2」
と分類して、分類値を画素に付与する。
いま、しきい値Thrを「100」、上限しきい値を「120」とすると、しきい値100未満の画素データに対しては分類「0」が、しきい値100以上、上限しきい値120未満の画素データには分類「2」が、上限しきい値120以上には分類「1」が与えられる。この付与された分類値は、各ラインy0〜y9ごとに分類バッファ30(図7〜図9)に記録される。
また、本発明では、y0〜y9のラインの各画素データに対する分類付与時、重心のX座標を取得するために必要なY方向(垂直方向)のエッジ情報を保存する領域を、スキャンするX方向(水平方向)1ライン分の画素数分、つまり、図6の例では、x0〜x9の10画素分設け、これを、分類「1」と分類「2」のそれぞれ先頭Y座標と最終Y座標用に計4個用意する。これが、図7〜図9の右側に、それぞれバッファ41〜44として図示されており、各バッファ41〜44は、最初たとえば「−1」の値で初期化される(図4のステップs10)。
次に、y0〜y9の各ラインに対して、X方向(水平方向)にスキャンして、スキャンごとにX座標位置x0〜x9の各画素データに対して分類値を付与し、その分類値を分類バッファ30にセットする。
1ライン分の処理が図4のステップs11〜s31に図示されており、まず、分類バッファ30をすべて分類「0」にセットし(ステップs11)、そのラインのX座標位置の画素の濃度値が上限しきい値以上でしかもノイズでないときは分類「1」に、濃度値がしきい値以上上限しきい値未満でしかもノイズでないときは分類「2」をセットする(ステップs12〜s15)。
また、該当X座標位置の画素が分類「1」の時には、分類「1」の最終Y座標用エッジ情報保存バッファ43のX座標と同じ位置に、その時のY座標の値を保存し(ステップs20)、分類「1」の先頭Y座標用エッジ情報保存バッファ42のX座標と同じ位置の値が初期化時の状態の場合には、ここにもその時のY座標の値を保存する(s16、s18)。該当位置が分類「2」の場合も同様に、分類「2」の最終Y座標用エッジ情報保存バッファ44のX座標と同じ位置に、その時のY座標の値を保存し(ステップs21)、この時、もし分類「2」の先頭Y座標用エッジ情報保存バッファ41のX座標と同じ位置の値が初期化時の状態の場合には、ここにもその時のY座標の値を保存する(ステップs17、s19)。
これを、x0〜x9のX座標位置の画素について行い(ステップs22)、x9の座標位置の画素の処理を終えたら(ステップs23)、1ライン分の処理が終了する。
次に、1ライン分のデータが作成できたら、分類「1」の先頭位置と最終位置で挟まれた内部を、全て分類「1」に置き換える(ステップs24)。これは、対象物の内部に濃度値が低い部分があった場合、内部を対象物として扱うためである。
続いて、当該1ライン分の対象物の画素数(ピクセル数)をカウントし、モーメント(画素数×当該ラインのY座標値)をカウントするカウンタ(CPU10内に設けられる)を初期化する(ステップs25)。
次に、X方向1ライン分のデータをX座標位置x0〜x9について順次見て、分類「1」であるか、分類「2」であるかが判断される(ステップs26、s27)。分類「1」の場合、画素数を「1」とし、又、分類「2」の場合対象物のエッジ近辺であるとして、以下の式により、1画素より細かなサブピクセル単位の画素数(P)を求める。
この分類「2」の場合の画素数は、
P=(N−(Thr−1))/(ThrMax−(Thr−1))
の式にしたがって求められ、この時算出される値は、0.0 < P < 1.0となる。
ここで、画素数「1」は、その画素位置での画素の数を1(1画素)とするものであり、画素数「0」は画素なしとするものである。また、画素数が「0.0」と「1.0」の間にある場合には、その画素数は、1画素をその値に応じて細分化して得られるサブピクセルの数に相当する。言葉を変えると、画素数は、重心を演算する場合の当該画素位置にある画素の重みを示しており、対象物のエッジ部以外の画素に対しては、その画素の重みを「1」にし、また背景の画素に対してはその重みを「0」とし、エッジ部の画素に対しては、「0.0」と「1.0」の間の重みを付与していることになる。
次に、M=P×C(C:当該ラインの座標値)の式でその位置のモーメント(M)を求め、分類バッファの最後(x9の座標位置)まで、モーメントとピクセルを累積し、X方向1ライン分のモーメントの合計(総和)と、画素数(ピクセル)の合計(総和)を求める(ステップs28〜s31)。
このような1ライン分の処理を、Y座標が最大値(y9)となるまで、つまりy9のラインまで繰り返す(ステップs32、s33)。そして、y0〜y9の各ラインについてモーメント総和とピクセルの総和を求め、全ラインy0〜y9のモーメント総和MSumとピクセルPSumを求め、G=MSum/PSumの式により対象物の重心GのY座標を求める(s34)。
以上の処理で、図6に図示した画像データに対して、分類付与の例を示すと、ラインy0〜y9の各画素データに対して、図7〜図9の左側に図示したような分類が付与される。たとえば、ラインy2の画素データは、図6(A)からy2「27、56、68、78、121、139、119、83、63、35」であるので、このラインy2に対しては、分類バッファ30の内容は、図7の3段目に示したように、y2「0、0、0、0、1、1、2、0、0、0」となる。なお、この分類付与で、フィルタ処理後背景(0)とされる画素データでは、濃度値に無関係に「0」の分類が付される。この例がy1のラインに示されており、(x0、y1)の画素は、濃度値が「101」で本来分類「2」が付与されるべきであるが、フィルタ処理で背景とされるので、分類「0」が付与されている。
また、対象物のエッジ近辺の画素をサブピクセル化してモーメントとピクセル数を求める例を、y5のラインについて説明すると、ラインy5の各X座標x0〜x9の画素濃度値(図6(A))から、y5のラインのX方向スキャン時には、分類バッファ30の値は、図8の2段目に示したように、「0、0、1、2、1、1、1、1、2、0」となる。分類「1」と「1」の間のデータは「1」とされるので、分類バッファは、「0、0、1、1、1、1、1、1、2、0」(ステップs24)となる。(x8、y5)の画素に対しては、分類「2」が付与されるので、該画素は、サブピクセル化され、画素数Pは、N=114、Thr=100、ThrMax=120から、P=0.714.....となる。したがって、このラインのピクセルの総和は、1+1+1+1+1+1+0.714.....=6.714.....で、モーメントの総和は、(y5の座標値)×6.714....となる。
このように、対象物のエッジ部の画素数に対しては、1画素に相当する画素数よりも小さな値に設定するので、エッジ部ないしエッジ付近のモーメントを1画素の分解能より細かな単位(サブピクセル単位)で演算することができ、対象物の形状、あるいは対象物の撮像条件に影響されることなく、対象物の重心を正確に求めることができる。
このようにして、y0〜y9の各ラインについてモーメント総和とピクセルの総和を求め、これらの総和から重心のY座標を求めたら、重心のX座標を演算する。本発明では、重心のX座標は、重心Y座標を求めるときのように、画像をY方向ラインに沿ってスキャンするのでなく、重心のY座標を求めたとき、バッファ41〜44に記録された値を利用して、求めるようにしており、これにより重心X座標の演算の高速化を図っている。以下に、図5を参照して、重心X座標の演算処理を説明する。
図4のステップs18〜s21により、X方向1ライン処理中にX座標位置の画素が分類「1」あるいは「2」が検出されると、それぞれバッファ41〜44の同じX座標位置に当該ラインのY座標値が記録される。例えば、y1のラインの処理では、X座標x5の画素が分類「2」であるので、バッファ41と44のX座標x5の位置にそのラインのY座標「y1」が記録され(図7の2段目)、y2のラインの処理では、X座標x4、x5の画素が分類「1」であり、X座標x6の画素が分類「2」であるので、バッファ42と43のX座標x4、x5の位置にそのラインのY座標「y2」が記録され、バッファ41と44のX座標x6の位置にY座標「y2」が記録される(図7の3段目)。
しかし、バッファ41と42は、X座標位置にY座標値が一旦記録されると、以降のライン処理で同じX座標位置の新たなY座標値が検出されても更新されることはないが、バッファ43、44は、同じX座標位置に新たなY座標値が検出されるごとに更新されるので(図7〜図9には、更新される部分が矩形太線で示されている)、図9の2段目に示したように、y9のライン処理が終了したときには、バッファ41〜44には、それぞれX座標x0〜x9に対して分類「2」の先頭Y座標、分類「1」の先頭Y座標、分類「1」の最終Y座標、分類「2」の最終Y座標が記録されることになる。
そこで、ピクセル数などをカウントするカウンタを初期化したあと(ステップs35)、分類「1」の先頭Y座標を1S、分類「1」の最終Y座標を1E、分類「2」の先頭Y座標を2S、分類「2」の最終Y座標を2Eとする(ステップs36)。
1Sと2Sが両方とも初期値「−1」の場合、次のX座標のエッジ情報(ライン)に進む(s46)。又、1S或いは1Eが、Y座標の最小値又は、最大値の場合、対象物がウィンドウ内に収まっていないと判断してエラーにする。
次に、1Sが初期値以外の場合、1Sから1Eまでを画素数1としてY方向のモーメントとピクセルを求める(ステップs37、s39)。
さらに、2Sが初期値以外の場合には、2Sから2Eまでをサブピクセル単位でY方向のモーメントとピクセルを求める(ステップs38、s40)。このとき、1S、2S、1E、2Eの大小関係を調べ(ステップs41、s42)、以下の範囲(1)〜(4)で、該当する位置の多値画像データ(図6(A))の値からサブピクセル単位の画素数(P)を算出し、モーメントとピクセルを求める。この時、フィルタをかけたデータ(図6(C))を参照して、「0」(ノイズ)と判断された場合は演算を行わないようにする。
1)1S<2Sでさらに、2E<1Eの場合、次のラインへ
2)1S<2Sでさらに、1E<2Eの場合、1E+1〜2Eの範囲(ステップs43)
3)2S<1Sでさらに、2E<1Eの場合、2S〜1S−1の範囲(ステップs44)
4)2S<1Sでさらに、1E<2Eの場合、2S〜1S−1と1E+1〜2Eの範囲(ステップs45)
このようにして、Y方向1ライン分のモーメント総和とピクセル総和を取得する。
例えば、X座標x4でのY方向ライン処理では、図9の2段目のバッファ41〜44の内容から、Y座標値y2からy6まで分類「1」の画素が続き、y7で分類「2」の画素となるので、分類「2」の画素に対してサブピクセル化が行われ、ピクセル総和は、1+1+1+1+1+0.190.....=5.190.....、モーメント総和は(x4の座標値)×5.190....となる。
このようにして、X座標x9までY方向1ライン分のモーメント総和とピクセル総和を取得したら(ステップs46、47)、指定ウィンドウ領域の全ラインの合計(総和)を求め、X座標の重心(G)を求める(ステップs48)。
このように、重心のX座標は、画像をY方向ラインに沿ってスキャンするのでなく、重心のY座標を求めたとき、バッファ41〜44に格納された値を利用して、求めるようにしているので、重心X座標の演算が高速化される。また、重心X座標を求めるときも、重心Y座標を求めるときと同様に、対象物のエッジ部の画素数に対しては、1画素に相当する画素数よりも小さな値に設定するので、対象物の重心X座標を正確に求めることができる。
尚、重心の演算(X、Y座標)について、画素の濃度値がしきい値や上限しきい値と一致した場合について、例えば以下のような条件にすることもできる。
N ≦ Thrに対しては分類「0」
ThrMax ≦ Nに対しては分類「1」
Thr < N < ThrMaxに対しては、分類「2」
を付与する。この場合、分類「2」の画素数は以下のようになる。
P=(N−Thr)/(ThrMax−Thr)
このように、条件によって、画素数を求める式を変えることにより、濃度値がしきい値と一致した場合にどう扱っているか(背景側として扱っているか対象物側として扱っているか)等、その時々の画像処理の仕様に合わせることができる。
さらに、現状では、X方向(水平方向)のスキャンよりもY方向(垂直方向)のスキャンの方が、処理時間がかかると考えるのが一般的であるが、もし、Y方向のスキャンの方が処理時間がかからない場合には、本実施例のX方向とY方向を逆にすれば良く、この場合には、Y方向スキャンを先に行って、バッファ41、44に分類「2」の画素の先頭X座標、最終X座標を、また、バッファ42、43に分類「1」の画素の先頭X座標、最終X座標を記録し、重心X座標を求めた後、重心Y座標を求めるようにすることもできる。
このようにして、重心検出が終了すると、図2のステップs6の処理に移り、重心検出判定を行う。ここで、対象物がウィンドウ内に収まっていない場合や、指定ウィンドウ領域が1画素しかなかった場合等、重心の検出が不可能な場合には、重心検出プログラム9はインタフェース11を介してマシン制御装置13にエラーを通知し(ステップs9)、処理を終了する。
また、重心の検出が成功した場合、モニタ16に表示されている画像上に重心位置を表示し、重心検出プログラム9はインタフェース11を介してマシン制御装置13に重心位置を通知し(ステップs8)、処理を終了する。
本発明に用いられる部品実装機と画像処理装置の構成を示したブロック図である。 対象物の重心を求める流れを示したフローチャートである。 判別分析法によりしきい値を求める方法を示した説明図である。 対象物の重心Y座標値を求める流れを示したフローチャートである。 対象物の重心X座標値を求める流れを示したフローチャートである。 撮像した対象物の画像データの説明図である。 画素データのX方向スキャンによる画素の分類と、各分類の画素のY座標値を格納するバッファを示した説明図である。 画素データのX方向スキャンによる画素の分類と、各分類の画素のY座標値を格納するバッファを示した説明図である。 画素データのX方向スキャンによる画素の分類と、各分類の画素のY座標値を格納するバッファを示した説明図である。
符号の説明
1 吸着ノズル
2 電子部品
7 画像メモリ
9 重心検出プログラム
12 画像処理装置
13 マシン制御装置
14 基板

Claims (2)

  1. 指定ウィンドウ領域内の画像データを処理し対象物の重心を検出する重心検出方法であって、
    指定ウィンドウ領域内で画素の行あるいは列に沿った一方の並び方向を第1方向、前記並び方向と直交する方向を第2方向として、第1方向に沿って画素ラインごとに順次画像データをスキャンし、
    前記スキャンにより検出される当該画素ラインでの対象物の画素数と当該画素ラインの第2方向座標位置から第1の方向に沿った画素ラインごとにモーメントの総和と対象物の画素数の総和を求めて対象物の第2方向重心位置を検出し、
    前記第1方向の画素ラインごとのスキャン時に、対象物の画素が検出されるごとに、検出画素の第1方向座標位置に、最初に画素が検出された画素ラインと最後に画素が検出された画素ラインの第2方向座標位置をそれぞれ記録し、
    第1方向のすべての画素ラインスキャンが終了したとき、前記記録した最初と最後の画素ラインの第2方向座標位置から第2方向に沿った画素ラインごとのモーメントの総和と対象物の画素数の総和を求めて対象物の第1方向重心位置を検出することを特徴とする対象物の重心検出方法。
  2. 対象物のエッジ部以外の各画素に対しては1画素を第1の数値に、またエッジ部の画素に対しては1画素を第1の数値より小さな値で0より大きな第2の数値に設定して画素数を求めることを特徴とする請求項1に記載の対象物の重心検出方法。
JP2006113961A 2006-04-18 2006-04-18 対象物の重心検出方法 Active JP4707598B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006113961A JP4707598B2 (ja) 2006-04-18 2006-04-18 対象物の重心検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006113961A JP4707598B2 (ja) 2006-04-18 2006-04-18 対象物の重心検出方法

Publications (2)

Publication Number Publication Date
JP2007286930A true JP2007286930A (ja) 2007-11-01
JP4707598B2 JP4707598B2 (ja) 2011-06-22

Family

ID=38758639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006113961A Active JP4707598B2 (ja) 2006-04-18 2006-04-18 対象物の重心検出方法

Country Status (1)

Country Link
JP (1) JP4707598B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011227080A (ja) * 2010-04-16 2011-11-10 Koh Young Technology Inc オブジェクト領域とグラウンド領域とを区別する方法及び3次元形状測定方法。
JP2012233879A (ja) * 2011-04-18 2012-11-29 Lixil Corp 人体検知センサ及び自動水栓
JP2014090076A (ja) * 2012-10-30 2014-05-15 Juki Corp 画像処理装置及び電子部品実装装置
KR101528604B1 (ko) * 2013-06-24 2015-06-12 주식회사 내비오닉스코리아 이미지 처리 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02199590A (ja) * 1989-01-27 1990-08-07 Omron Tateisi Electron Co 画像処理装置
JPH0397079A (ja) * 1989-09-11 1991-04-23 Juki Corp 重心検出装置
JPH0490078A (ja) * 1990-08-02 1992-03-24 Juki Corp 重心検出装置
JP2006155248A (ja) * 2004-11-30 2006-06-15 Juki Corp 対象物の重心検出方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02199590A (ja) * 1989-01-27 1990-08-07 Omron Tateisi Electron Co 画像処理装置
JPH0397079A (ja) * 1989-09-11 1991-04-23 Juki Corp 重心検出装置
JPH0490078A (ja) * 1990-08-02 1992-03-24 Juki Corp 重心検出装置
JP2006155248A (ja) * 2004-11-30 2006-06-15 Juki Corp 対象物の重心検出方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011227080A (ja) * 2010-04-16 2011-11-10 Koh Young Technology Inc オブジェクト領域とグラウンド領域とを区別する方法及び3次元形状測定方法。
US8855403B2 (en) 2010-04-16 2014-10-07 Koh Young Technology Inc. Method of discriminating between an object region and a ground region and method of measuring three dimensional shape by using the same
JP2012233879A (ja) * 2011-04-18 2012-11-29 Lixil Corp 人体検知センサ及び自動水栓
JP2014090076A (ja) * 2012-10-30 2014-05-15 Juki Corp 画像処理装置及び電子部品実装装置
KR101528604B1 (ko) * 2013-06-24 2015-06-12 주식회사 내비오닉스코리아 이미지 처리 방법 및 장치

Also Published As

Publication number Publication date
JP4707598B2 (ja) 2011-06-22

Similar Documents

Publication Publication Date Title
CN109213090B (zh) 位置控制***、位置检测装置及记录介质
JP6177541B2 (ja) 文字認識装置、文字認識方法及びプログラム
JP4707598B2 (ja) 対象物の重心検出方法
KR100647750B1 (ko) 화상 처리 장치
JP4707249B2 (ja) 部品位置検出方法及び装置
JPH08136235A (ja) パターン検出方法
JP4890904B2 (ja) 部品位置検出方法及び装置
JP4707423B2 (ja) 部品位置検出方法及び装置
JP4614746B2 (ja) 対象物の重心検出方法
JP2007132868A (ja) グラビア版セル形状測定装置および測定方法
CN111091513B (zh) 图像处理方法、装置、计算机可读存储介质及电子设备
JP4566686B2 (ja) 対象物の形状判別方法及び装置
JP3922608B2 (ja) 高さ測定方法及び装置
CN112833806A (zh) 缝针检查装置
JP4380864B2 (ja) 部品検出方法及び装置
JP4660205B2 (ja) 部品認識方法及び装置
JP4823782B2 (ja) 部品位置決め方法及び装置
JP2004325146A (ja) 部品認識方法及び装置
JP2974794B2 (ja) 多角形部品の多視野認識方法
JP2006234793A (ja) 部品位置検出方法および装置
JP7523840B1 (ja) プログラム、コンピュータ、検査システムおよび検査方法
JP4160192B2 (ja) 対象物の形状認識方法及びその装置
JPH0674714A (ja) 基板位置検出方法
JP3658137B2 (ja) 移動体認識方法
JP3478173B2 (ja) ビデオ式伸び計

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110315

R150 Certificate of patent or registration of utility model

Ref document number: 4707598

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150