JP3715683B2 - 画像処理装置及びその画像処理方法 - Google Patents

画像処理装置及びその画像処理方法 Download PDF

Info

Publication number
JP3715683B2
JP3715683B2 JP16766295A JP16766295A JP3715683B2 JP 3715683 B2 JP3715683 B2 JP 3715683B2 JP 16766295 A JP16766295 A JP 16766295A JP 16766295 A JP16766295 A JP 16766295A JP 3715683 B2 JP3715683 B2 JP 3715683B2
Authority
JP
Japan
Prior art keywords
image data
value
image
angle
binarizing
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 - Fee Related
Application number
JP16766295A
Other languages
English (en)
Other versions
JPH08315153A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP16766295A priority Critical patent/JP3715683B2/ja
Publication of JPH08315153A publication Critical patent/JPH08315153A/ja
Application granted granted Critical
Publication of JP3715683B2 publication Critical patent/JP3715683B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理を用いて物体の位置および角度を自動で検出する物***置検出装置及びその検出方法に関するものである。
【0002】
【従来の技術】
近年、画像処理技術の応用による物体の自動認識技術は、生産ラインにおける自動検査や自動組立等に広く応用されつつある。その場合、まず認識対象である物体と背景とを分離する方法として、撮像した多値画像データを明るさの違いにより、0と1のデータにする二値化の手法がある。ただしこの場合、分離の基準となる二値化レベルの値が問題となる。認識対象である物体の明るさが一定であれば二値化レベルの値はあらかじめ固定値とすれば良いが、実際にはロット及び周囲の環境により認識対象の明るさは変動する。こういった変動に対して、あらかじめ用意された複数の二値化レベル値を選択するようにした装置が、特公平2−30064等に開示されている。
【0003】
【発明が解決しようとする課題】
しかしながら、このような従来技術によれば、認識対象である物体自身に明るさのむらがある場合、また一部が汚れている場合には、正確な形での背景からの物体の分離、位置や角度の検出が困難であるという問題がある。
【0004】
そこで本発明は、物体の表面の一部が汚れていたり、光の反射の仕方にむらがあるような物体でも、その画像データから位置及び角度を安定して検出することができる装置およびその検出方法を提供することを目的とする。
【0005】
【課題を解決するための手段】
前述の課題を解決するための構成として、本発明に係る画像処理装置は、物体を撮像して得られる多値画像データを二値化する際に、二値画像データの中の像域の特徴値が、予め設定した所定の値となるよう二値化しきい値を設定して前記多値画像データを二値化する設定手段と、前記設定手段によって二値化される二値画像データから前記特徴値に対応する領域を抽出する抽出手段と、前記抽出手段において抽出される領域の重心と角度とを検出する検出手段と、新たに設定された二値化しきい値を変化させて前記多値画像データを二値化して抽出された特定パターンの画像に基づき、前記多値画像データを強調する強調手段と、を有し、前記強調手段によって強調された多値画像データを、前記設定手段によって二値化する処理を繰り返すことにより、前記抽出手段によって抽出される領域の重心と角度とを前記検出手段によって検出することを特徴とする。
【0006】
これにより、多値画像データを最適な二値化しきい値で二値化できるため、反射率の違う物体や汚れのある物体でも安定して、物体の位置・角度を検出できる。
【0033】
同課題の解決のための本発明の他の構成としての画像処理方法は、物体を撮像して得られる多値画像データを二値化する際に、二値画像データの中の像域の特徴値が、予め設定した所定の値となるよう二値化しきい値を設定して前記多値画像データを二値化する設定ステップと、前記設定ステップにおいて二値化される二値画像データから前記特徴値に対応する領域を抽出する抽出ステップと、前記抽出ステップにおいて抽出される領域の重心と角度とを検出する検出ステップと、新たに設定された二値化しきい値を変化させて前記多値画像データを二値化して抽出された特定パターンの画像に基づき、前記多値画像データを強調する強調ステップと、を有し、前記強調ステップにおいて強調された多値画像データを、前記設定ステップにおいて二値化する処理を繰り返すことにより、前記抽出ステップにおいて抽出される領域の重心と角度とを前記検出ステップにおいて検出することを特徴とする。
【0034】
これにより、多値画像データを最適な二値化しきい値で二値化できるため、反射率の違う物体や汚れのある物体でも安定して、物体の位置・角度を検出できる。
【0061】
【発明の実施の形態】
以下に本発明の一実施形態として、ワークである箱の取り置きを行うパレタイズロボットへの適用例を説明する。
【0062】
まず本発明を適用した装置のシステム構成を図1を参照して説明する。
【0063】
図1は、本発明を適用したパレタイズロボットのシステム概略図である。
【0064】
図中、撮像装置2はCCDエリアセンサ等の受光素子(光電変換素子)を有し、面光源である照明1で照明されたワーク(箱)3を撮像する。尚、ワーク3は、図1に示すようにパレット9の上に1段に4つを2段積みした構成とする。撮影された画像は、電気信号に変換されて画像処理装置4に送られる。また画像処理装置4は、ロボット制御装置5と通信手段を介して接続され、画像データ等の通信を行なう。ロボット制御装置5は、ロボットアーム7の先端にロボットハンド8を備えたロボット6を制御する。
尚、4つの撮像装置2は各ワーク3の像がそれぞれ撮像エリアの中心部に位置するように配置され、ロボット6の動きに連動して、次に移動させるワーク(箱)3の全体像を撮像できるように順次切り替える機構を有している。
【0065】
以上の構成により、図2〜図16を参照して動作の詳細に説明する。
【0066】
まず撮像装置2により撮像された撮像範囲の画像処理装置4での作像例を示す。但し図2は汚れ等がない理想的な状態である。
【0067】
図2は、本発明の一実施形態としての撮像範囲の理想的な撮像例である。
【0068】
図中、20は撮像装置の撮像範囲である。21はワーク3を載せているパレット9の画像である。22が位置、角度を求めるべきワーク3の蓋の画像である。蓋は外縁部に比べ内側の高さが低くなっており、外縁部と内側との境界部に照明光によって薄い影ができる。この薄い影の内側の領域を本発明の手法により抽出し、位置及び角度を検出する。
【0069】
4つ並んだワーク3のうちの一つを、それに対応する撮像装置2が撮像し、その撮像データを画像処理装置4に送る。画像処理装置4は本発明の方法によりワーク3の正確な位置と角度を撮像データから検出し、ロボット6に送る。ロボット制御装置5は画像処理装置4から送られたワーク3の位置、角度のデータによりロボット6の姿勢を制御し、ワーク3をロボットハンド8で把持し、別の位置にある他のパレット上に移動させる。またロボット制御装置5は、画像処理装置4に撮像装置2の切換タイミングを通信するので、この間に次に把持すべきワーク3をそれに対応する撮像装置2により撮像し、撮像データが画像処理装置4へと送られる。そして、ロボット6が別パレットに先のワーク3の移動を完了し、ロボットハンド8を初期位置に戻すまでに、画像処理装置4は次のワーク3の位置、角度データをロボット6に送る。ロボット制御装置5は、次のワーク3の位置、角度データを入手しているため、ロボットハンド8を戻した瞬間にすぐに次のワーク3の把持動作に入ることができる。これらの動作を繰り返すことで、連続して合計8つのワーク3を順次把持し、他のパレットに移動させることが可能となる。
【0070】
次に画像処理装置4が本発明の方法によりワーク3の位置、角度を求める処理手順を具体的に説明する。
【0071】
図3に処理手順の概要を示す。
【0072】
図3は、本発明の一実施形態としての処理手順の概要を示すフローチャートである。
【0073】
図中、ステップS1は、各パラメータのリセットや画像処理装置4の初期化を行う初期設定部である。ステップS2は、ワーク3の位置、角度を検出するのに最適な多値データの二値化のためのしきい値の設定を行う最適二値化設定部である。ステップS3は、ステップS2で設定した二値化しきい値で二値化した画像データから有効な部分だけ抽出する注目ラベル抽出部である。ステップS4は、ステップS3で抽出、作成された画像データにおいて汚れ等でデータの欠落した部分を補正し、位置を表す重心、角度を計算する重心・角度計算部である。更にステップS5の線強調処理部において、所定の条件に合う直線パターンだけを抽出して取り込み、画像に書き込む。そしてこの画像データを基に、再びステップS2〜S4の処理を行ない、重心と角度を求める。
【0074】
次に、上述の各ステップにおける処理について詳細に説明する。
【0075】
[初期設定部]
図4は、本発明の一実施形態としての初期設定部の処理を示すフローチャートである。
【0076】
図中、まずステップS100において、変数の初期値を設定する(変数counter とagein を0、変数histmenseki を100000)。画像処理装置4の初期化もここで行う。ステップS101において、各種パラメータに値を設定する。本実施形態では、ここでワーク3の蓋22の面積に近似した理想面積、その理想面積との許容差、所定の重心エリア座標、ソフトウェア処理の最大ループ回数、及び強調ループ回数lloop 、そしてフィレ(Fere)座標、すなわちラベル付けされた画像を水平方向、及び垂直方向に投影した場合の水平軸、及び垂直軸上のそれぞれの長さ(以下、水平幅、垂直幅)を設定する。次に、ステップS102において、撮像装置2から送られてくる映像信号を画像データとしてメモリに取り込み、この取り込み画像をPとする。この時の画像の一例を図11に示す。
【0077】
図11は、本発明の一実施形態としての撮像範囲の取り込み画像例である。
【0078】
次に、ステップS103において、メモリ中の画像Pのデータから二値化しきい値の初期値を求め、変数slvlにその値を代入する。本実施形態では、重心エリア内の画素の多値データの平均を取り、二値化しきい値の初期値としている。
【0079】
[最適二値化設定部]
図5A及び図5Bは、本発明の一実施形態としての最適二値化設定部の処理を示すフローチャートである。
【0080】
図中、ステップS200において、変数lvlに二値化のしきい値の初期値であるslvlを代入し、ステップS201〜ステップS225の二値化しきい値算出ルーチンを開始する。ステップS201において、ループカウンタ(counter )を+1する。ステップS202では、二値化しきい値をlvlとしてメモリ中の画像Pのデータの二値化を行なう。ここで得られた二値化画像は、隣接するワーク3の蓋22の境界がつながってしまう場合が多い。そこで境界を明確にするために、この二値化データに対し8近傍ANDフィルタを2回適用した画像データを求める。ステップS203では、ステップS202で求めた画像データにおいて白画素(本実施形態では値が1の画素)のみラベル付けし、更に各ラベルのモーメント量を求めるため、モーメント演算を実行する。この演算結果に基づき、ステップS204では、所定の設定値以上の面積を持つラベル(以下、有効ラベル)の面積および重心座標を求め、これを保存するとともに、有効ラベルの数をカウントし、変数Kに代入する。ステップS205ではKが0かどうか判別する。
【0081】
Kが0であればステップS206に処理が移行する。ステップS206では変数lvlの値を10減少させ、ステップS201へ処理を戻す。Kが0でなければステップS207に処理を移す。ステップS207では有効ラベルのうち、重心が重心エリア内にあり、かつその水平幅、垂直幅が設定値内のものがあるかを判別し、条件に合うラベルがあればこれを注目ラベルとする。実際にはこの注目ラベルが、ロボット6が次に移動させるべき目的の蓋22に対応する。ステップS208において、そのラベルの面積を変数maxに代入する。次のステップS209で、黒画素および白画素の両方についてラベル付けし直し、注目ラベルを面積により判別し、その番号を求める。そして各ラベルについてフィレ座標を求める。更に求めた水平幅、垂直幅より注目ラベルと注目ラベル以外の全てのラベルとの間の内包関係を調べる。例えば、Aというラベルのフィレ座標値が全てBというラベルのフィレ座標値より小さければ、AはBに含まれる。よって、任意のラベルが注目ラベルに含まれるかどうかをフィレ座標だけで判別できる。ステップS210では、注目ラベルに内包されるラベルの面積をmaxに加算する。ステップS211では注目ラベルのラベル番号を変数tmpmaxに代入し、そしてステップS215に処理を移す。
【0082】
ステップS207で条件に合うラベルがなければ、ステップS212に処理を移す。ステップS212では、ステップS202で求めた二値化画像の黒画素、白画素両方に再度ラベル付けし、モーメント演算を行う。そしてステップS213で、重心エリア内の各画素について、その所属するラベルの番号を求め、ステップS214で重心エリア中で最も大きな面積を持つ白画素のラベルを求め、この面積値をmax に代入し、ラベルの番号をtmpmaxに代入する。実際にはこの白画素が、ロボット6が次に移動させるべき目的の蓋22に対応する。そしてステップS215に処理を移す。
【0083】
ステップS215において、現在の二値化しきい値による面積maxと前回までの二値化しきい値による面積histmensekiの比較により理想面積との差が最小になる場合を求めるため、|理想面積−max |<|理想面積−histmenseki |が真か偽かを判定する。真であれば現在の二値化しきい値による面積maxのほうが理想面積との差が小さいので、maxの値をhistmensekiに代入する。更にこの時の2値画像をメモリに保存し、この時のlvl の値を変数bestlvl に代入する。偽であれば、前回までの二値化しきい値による面積histmensekiのままでステップS217に処理を移す。
【0084】
ステップS217〜ステップS224では、現在のしきい値lvlに基づき次の二値化しきい値の算出を行なう。ステップS217では、|理想面積−max |>許容差、が真か偽かを判別する。偽であれば、最適な二値化しきい値が求まったことになり、ステップS218に処理を移してagein に1をセットし、ステップS225に処理を移す。真なら、ステップS219に処理を移して変数dtmpに(max −理想面積)×0.0004を代入する。そして次のステップS220でdtmpの絶対値の値が3.0より大きいか否かを判定し、大きい場合はステップS222へ移行してlvl にdtmpの値を加え、ステップS225に処理を移す。一方、3.0以下の場合はステップS221に処理を移す。ステップS221ではdtmpが0.0より大きいか否かを判定し、大きければ、ステップS223でlvl を+1し、ステップS225へ処理を移す。ステップS221でdumpが0.0以下ならば、ステップS224でlvl を−1し、ステップS225に処理を移す。ステップS225ではagein が0でかつ、counter <最大ループ数、という条件が真であればステップS201に処理を移し、新しいしきい値lvlにより前述の処理を継続する。条件が偽であれば最適二値化設定を終了する。
【0085】
[注目ラベル抽出部]
図6は、本発明の一実施形態としての注目ラベル抽出部の処理を示すフローチャートである。
【0086】
図中、ステップS300でagein が0かどうか判別する。0でなければ、ステップS306に処理を移す。0であれば、次のステップS301に処理を移す。
【0087】
ステップS301ではmax にhistmenseki の値を代入する。そして、ステップS302において、最適二値化設定処理において最後にステップS216で保存された2値画像を処理メモリに戻し、ステップS303でこの画像データにおける白画素についてラベル付けを行ない、更にモーメント演算を行なう。ステップS304では、許容差の5倍の値を変数MTMPに代入し、tmpmaxに−1をセットする。ステップS305では重心が重心エリア内にあり、かつその面積とhistmenseki との差の絶対値がMTMPよリ小さいものの中で最小の値をとるラベルを求め、そのラベル番号をtmpmaxに入れる。ステップS306では、tmpmaxの値を判別し、tmpmaxが0より小さければ、エラーを表示して終了する。0以上なら次のステップS307へ処理を移す。ステップS307では、tmpmax番目のラベルのみを抽出しその画像を作成し、注目ラベル抽出処理を終了する。
【0088】
[重心・角度計算部]
図7は、本発明の一実施形態としての重心・角度計算部の処理を示すフローチャートである。
【0089】
図中、ステップS400において、ステップS307で作成した画像データに対し8近傍ORフィルタを各画素について4回適用することにより膨張処理を行ない、欠損部の補正を行なう。取り込み画像Pについてここまでの処理を行った画像を図12に示す。
【0090】
図12は、本発明の一実施形態としての中間処理画像例である。
【0091】
次のステップS401では、ステップS400で得られた二値化画像の白、黒両画素にラベル付けし、モーメント演算を行ない、更にステップS402において背景以外のラベルの面積と1次モーメントを加算する。ステップS403では、ステップS402で求めた値に基づいて重心計算を行なうことにより重心座標を求める。この座標が求めるワーク3の位置を表す。ステップS404では、改めて白画素のみにラベル付けとモーメント演算を行ない、各ラベルの面積及び2次モーメント量を求める。ステップS405では、ステップS404でラベル付けしたラベルの中で最大の面積を持つラベルについて、外接四角形を求める。更にその外接四角形の頂点座標から中心を求める。そして、ステップS404で求めた2次モーメント量から慣性主軸とそれに直交する副軸の比を求め、変数zikuhiに代入する。この中心座標とzikuhiは検出結果のNG判定に用いる。中心座標と先に求めた重心位置とは、この場合、抽出領域は長方形なので、抽出が正確になされていれば、二つの座標は一致するはずである。zikuhiの方は、予め汚れのないきれいな蓋22を用いて算出した場合の値を記録しておき、その値と比較することでNG判定を行なう。なお、この時求めた慣性主軸の傾きをワーク3の角度としても良いが、より正確な値を求めるため、次の処理を行なう。すなわちステップS406では、未だ蓋22の形を完全には再現していない図12のような画像データに8近傍エッジ抽出フィルタをかけて輪郭を求める。更に得られた輪郭線の水平部分を求めるために、水平2近傍ANDフィルタを2回、その上で8近傍ORフィルタを2回かける。こうしてできた画像に対し、ステップS407で再び、白画素についてラベル付けし、モーメント演算を行なう。そして次のステップS408において水平方向で長さの様々な各ラベルにおいて、一番長い物を基準に角度を求めるため、慣性主軸まわりの2次モーメントを副軸まわりの2次モーメントで割った値を求め、ステップS409においてステップS408で求めた値が最大である(水平方向で一番長い)ラベルの2次モーメントからその角度を求める。これがワーク3の角度を表す。
【0092】
更にワーク3の角度を安定、かつ確実に算出するため、以下の線強調処理を説明する。従って上述の処理だけでワーク3の角度が実用的に求まるならば線強調処理は行なわなくてもよい。
【0093】
[線強調処理]
図8は、本発明の一実施形態としての線強調処理部の全体の処理を示すフローチャートである。
【0094】
図中、ステップS500において、lloopの値を判定し、2ならばステップS501へ、2より小さければステップS508へ処理を移す。ステップS501でmlimitを100に、counter を0に、glvl にbestlvl +10の値をそれぞれ設定する。ステップS502で画像メモリの多値画像データを別のメモリ領域にコピーする。元の多値画像データの存在する領域をメモリ領域0、コピーした先の領域をメモリ領域1と呼ぶことにする。ステップS503〜ステップS506が、線抽出・書込みルーチンであり、ステップS503でcounter を+1し、ステップS504で線抽出・書込み処理を行なう。ステップS505でglvl の値を−2する。そして次のステップS506でcounter が20以下か否かを判定し、20以下の場合には、再びS503に処理を戻す。counter が20より大きければ、ステップS507に処理を進める。ステップS507では、slvlにbestlvlの値をセットする。ステップS508でlloop の値を−1する。そしてステップS509においてlloop の値が0より大きいか否かを判定し、大きければ、再び最適二値化設定処理へ移行し、ステップS2〜S4の処理を行ない、位置と角度を再計算する。11oop の値が0以下であれば処理を終了し、先の重心・角度計算処理で求めた位置と角度を物体の位置と角度とする。この時の画像の例を図16に示す。
【0095】
図16は、本発明の一実施形態としての線強調処理後の画像例である。
【0096】
前述のステップS2〜S4の処理結果である図12の場合と比較すると、汚れや明るさのムラによる欠損部がなくなり、目的とする蓋22の内部領域の輪郭にほぼ等しい画像が得られていることがわかる。
【0097】
次にステップS504の線抽出・書込み処理の詳細を説明する。
【0098】
図9は、本発明の一実施形態としての線抽出・書込み処理を示すフローチャートである。
【0099】
図中、ステップS600では、ステップS502においてメモリ領域1に保存しておいた多値画像データを、しきい値glvlで反転二値化し、これを8近傍エッジ抽出フィルタと反転フィルタを通し、更に水平ORフィルタを2回通す。こうして加工された二値化画像に対し、更にステップS601において水平ANDフィルタを4回通し、その結果を格納する。この時の画像の例を図13に示す。
【0100】
図13は、本発明の一実施形態としての水平方向の線抽出後の画像例である。
【0101】
図中、K番目の二値化レベルにより作られた画像をMKとする。ステップS602では、この二値化画像の黒画素についてラベル付け及びモーメント演算を行なう。ここで得られた水平方向の画像を、ステップS603においてメモリ領域0の多値画像に書き込む。次に、ステップS604において、ステップS502でメモリ領域1に保存しておいた多値画像データを再びしきい値glvlで反転二値化し、これをに8近傍エッジ抽出フィルタと反転フィルタを通し、更に垂直ORフィルタを2回通す。こうして加工された二値化画像に対し、ステップS605において垂直ANDフィルタを4回通し、その結果を格納する。この時の画像の例を図14に示す。
【0102】
図14は、本発明の一実施形態としての垂直方向の線抽出後の画像例である。
【0103】
図中、K番目の二値化レベルにより作られた画像をNKとする。ステップS606において、この2値画像の黒画素についてラベル付け及びモーメント演算を行なう。ここで得られた垂直方向の画像を、ステップS607においてメモリ領域0の水平方向の線書き込み済みの多値画像に書き込み、線抽出・書込み処理は終了する。
【0104】
ここで前述の線書込み処理の詳細を図10を参照して説明する。
【0105】
図10は、本発明の一実施形態としての線書込み処理を示すフローチャートであり、ステップS603の水平方向の線書込み処理とS607の垂直方向の線書込み処理である。
【0106】
図中、ステップS700において変数iに0を設定し初期化する。次のステップS701ではiの値を判別し、ラベルの総数以上であれば処理を終了し、ラベルの総数より少なければ次のステップS702へ処理を移す。ステップS702では、i番目のラベルの面積が定数mlimitより大きいか否かを判定し、小さいか等しければ、ステップS706に進み、iの値を+1し、再びステップS701へ処理を進める。もし、大きければ、ステップS703へ進む。ステップS703では、先に求めたモーメント量からラベルの慣性主軸と副軸の長さの比を求める。次のステップS704でこの比が定数lvalueより小さいか否かを判別する。小さくなければステップS706に進み、iの値を+1して、再びステップS701へ処理を進める。小さければ、ステップS705に処理を進める。ステップS705では、i番目のラベルの画像をメモリ領域0の多値画像に書込み、ステップS706に進む。
【0107】
次に、線抽出・書込み処理終了後の画像データの一例を図15に示す。
【0108】
図15は、本発明の一実施形態としての線抽出・書込み処理後の画像例である。
【0109】
最初の取込み時の画像をP、K番目の二値化レベルにより作られた水平・垂直方向の抽出線画像をそれぞれMK、NKとし、線書込み処理後の画像データをQとすると、Qは数1で表される。
【0110】
【数1】
Figure 0003715683
【0111】
尚、本実施形態では、後述する強調処理の対象として線パターンを使っているが、ワーク3の形状により、他のパターンを使用しても良い。
【0112】
尚、1段に配置されたワークの数に応じて撮像装置を配置すれば、本発明を適用できることは言うまでもない。
【0113】
更に本発明は、複数の機器から構成されるシステムに適用しても、1つの機器から成る装置に適用しても良い。また、本発明はシステム或は装置にプログラムを供給することによって達成される場合にも適用できることは言うまでもない。この場合、本発明に係るプログラムを格納した記憶媒体が、本発明を構成する事になる。そして、該記憶媒体からそのプログラムをシステムあるいは装置に読み出すことによって、そのシステムあるいは装置が、予め定められたし方で動作する。
<実施形態の効果>
(1)撮像装置2の数を、パレットに載せたワーク3の1段の数(4つ)にし、撮像装置2の撮像エリアを1つのワーク3とその近傍にしたため、画像処理のソフトウェアをシンプルに構築できた。
(2)最適二値化設定部において、まず8近傍ANDフィルタ(2回)により二値化画像を収縮したことにより、目的とするワーク3の蓋22と隣接するワーク3の蓋22の境界を明確にすることができた。
(3)最適二値化設定部において、有効ラベルの中から注目ラベルを選択できない(ステップS207)場合、すなわち目的とするワーク3の蓋22の明るさのムラや汚れが激しく、二値化画像の中から目的とするワーク3の蓋22にあたる有効ラベルを見つけられない場でも、そのラベルの中で一番大きい物を目的とするワーク3の蓋22と判断したことにより、二値化画像の状態がかなり悪い場合でも後段の補正処理を継続することができた。
(4)最適二値化設定部において、所定の理想面積と注目ラベル、または有効ラベルの中で一番大きいラベルの面積を比較し、その差を基に多値画像データの二値化しきい値を大きく、又は小さく変化させ、最小に絞り込むことにより、迅速に最適な二値化しきい値を求めることができた。
(5)重心・角度計算部において、8近傍ORフィルタ(4回)により膨張処理を行ったため、目的とするワーク3の蓋22にあたる二値化画像の小さな欠損部の補正をこの時点で完了することができた。
(6)重心・角度計算部において、8近傍エッジ抽出フィルタで輪郭を求め、水平2近傍ANDフィルタ(2回)、8近傍ORフィルタ(2回)を行なうことにより、得られた輪郭線の水平部分だけを求め、モーメント演算を行なうことにより抽出領域(長方形)の形状を有効に利用して、目的とするワーク3の蓋22角度を安定して算出することができた。
(7)線強調処理を行ない、多値画像に輪郭線を書き込むことにより、目的とするワーク3の蓋22の明るさのムラや汚れが激しく、二値化画像の状態がかなり悪い場合でも重心・角度計算を更に安定して行なうことができた。
(8)線強調処理部において、多値画像データを、しきい値glvlで反転二値化し、8近傍エッジ抽出フィルタ、反転フィルタ、水平(または垂直)ORフィルタ(2回)、更に水平(または垂直)ANDフィルタ(4回)、モーメント演算を行い最大の物を求めることにより、目的とするワーク3の蓋22の輪郭を確実に捉えることができた。
【0114】
【発明の効果】
以上説明したように、本発明によれば、物体の表面の一部が汚れていたり、光の反射の仕方にむらがあるような物体でも、その画像データから位置及び角度を安定して検出することができる装置およびその検出方法を提供することができる。また線強調処理を併せて行なうことにより更に安定して位置及び角度を検出することができる。
【0115】
【図面の簡単な説明】
【図1】本発明を適用したパレタイズロボットのシステム概略図である。
【図2】本発明の一実施形態としての撮像範囲の理想的な撮像例である。
【図3】本発明の一実施形態としての処理手順の概要を示すフローチャートである。
【図4】本発明の一実施形態としての初期設定部の処理を示すフローチャートである。
【図5A】本発明の一実施形態としての最適二値化設定部の処理を示すフローチャートである。
【図5B】本発明の一実施形態としての最適二値化設定部の処理を示すフローチャートである。
【図6】本発明の一実施形態としての注目ラベル抽出部の処理を示すフローチャートである。
【図7】本発明の一実施形態としての重心・角度計算部の処理を示すフローチャートである。
【図8】本発明の一実施形態としての線強調処理部の全体の処理を示すフローチャートである。
【図9】本発明の一実施形態としての線抽出・書込み処理を示すフローチャートである。
【図10】本発明の一実施形態としての線書込み処理を示すフローチャートである。
【図11】本発明の一実施形態としての撮像範囲の取り込み画像例である。
【図12】本発明の一実施形態としての中間処理画像例である。
【図13】本発明の一実施形態としての水平方向の線抽出後の画像例である。
【図14】本発明の一実施形態としての垂直方向の線抽出後の画像例である。
【図15】本発明の一実施形態としての線抽出・書込み処理後の画像例である。
【図16】本発明の一実施形態としての線強調処理後の画像例である。
【符号の説明】
1 拡散板つき照明
2 ワーク
3 撮像装置
4 画像処理装置
5 ロボット制御装置
6 ロボット
7 ロボットアーム
8 ロボットハンド
9 パレット
20 撮像エリア
21 パレットの画像
22 ワーク3の蓋の画像

Claims (2)

  1. 物体を撮像して得られる多値画像データを二値化する際に、二値画像データの中の像域の特徴値が、予め設定した所定の値となるよう二値化しきい値を設定して前記多値画像データを二値化する設定手段と、
    前記設定手段によって二値化される二値画像データから前記特徴値に対応する領域を抽出する抽出手段と、
    前記抽出手段において抽出される領域の重心と角度とを検出する検出手段と、
    新たに設定された二値化しきい値を変化させて前記多値画像データを二値化して抽出された特定パターンの画像に基づき、前記多値画像データを強調する強調手段と、を有し、
    前記強調手段によって強調された多値画像データを、前記設定手段によって二値化する処理を繰り返すことにより、前記抽出手段によって抽出される領域の重心と角度とを前記検出手段によって検出することを特徴とする画像処理装置。
  2. 物体を撮像して得られる多値画像データを二値化する際に、二値画像データの中の像域の特徴値が、予め設定した所定の値となるよう二値化しきい値を設定して前記多値画像データを二値化する設定ステップと、
    前記設定ステップにおいて二値化される二値画像データから前記特徴値に対応する領域を抽出する抽出ステップと、
    前記抽出ステップにおいて抽出される領域の重心と角度とを検出する検出ステップと、
    新たに設定された二値化しきい値を変化させて前記多値画像データを二値化して抽出された特定パターンの画像に基づき、前記多値画像データを強調する強調ステップと、を有し、
    前記強調ステップにおいて強調された多値画像データを、前記設定ステップにおいて二値化する処理を繰り返すことにより、前記抽出ステップにおいて抽出される領域の重心と角度とを前記検出ステップにおいて検出することを特徴とする画像処理方法。
JP16766295A 1995-03-13 1995-07-03 画像処理装置及びその画像処理方法 Expired - Fee Related JP3715683B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16766295A JP3715683B2 (ja) 1995-03-13 1995-07-03 画像処理装置及びその画像処理方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7929695 1995-03-13
JP7-79296 1995-03-13
JP16766295A JP3715683B2 (ja) 1995-03-13 1995-07-03 画像処理装置及びその画像処理方法

Publications (2)

Publication Number Publication Date
JPH08315153A JPH08315153A (ja) 1996-11-29
JP3715683B2 true JP3715683B2 (ja) 2005-11-09

Family

ID=26420326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16766295A Expired - Fee Related JP3715683B2 (ja) 1995-03-13 1995-07-03 画像処理装置及びその画像処理方法

Country Status (1)

Country Link
JP (1) JP3715683B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6896307B1 (ja) * 2020-07-28 2021-06-30 株式会社サイバーウェア 画像判定方法および画像判定装置

Also Published As

Publication number Publication date
JPH08315153A (ja) 1996-11-29

Similar Documents

Publication Publication Date Title
EP2045772B1 (en) Apparatus for picking up objects
KR100823549B1 (ko) 조선소 소조립 용접부재 위치 인식 방법
JP2004050390A (ja) ワーク取出し装置
JP2019192022A (ja) 画像処理装置、画像処理方法及びプログラム
US6690819B1 (en) Method and apparatus for recognizing components
JPH09251544A (ja) ワークエッジ検出画像処理装置
CN112338898B (zh) 物体分选***的图像处理方法、装置及物体分选***
JP3715683B2 (ja) 画像処理装置及びその画像処理方法
JPH08315152A (ja) 画像認識装置
Chan et al. Automating laser scanning of 3D surfaces for reverse engineering
JPH0953915A (ja) 重なり状態認識方法
JPH10118975A (ja) ハンドリング位置認識方法および認識装置
US5881167A (en) Method for position recognition
JP2000194861A (ja) 画像認識方法及び装置
JPH1196378A (ja) 積荷位置姿勢認識装置
JP2001291105A (ja) パターン認識方法および装置
JP2710685B2 (ja) 外観検査による欠陥検出方法
JP3375242B2 (ja) ロボットの物体認識方法及びその装置
JP3552419B2 (ja) 物体の認識方法
JP2745763B2 (ja) 配線パターン検査装置
JPH05113315A (ja) 円形画像データの中心位置検出方法
JP2000294612A (ja) チップレイアウト生成方法およびその装置
JPH041282B2 (ja)
JP2002230564A (ja) 輪郭抽出装置、方法および輪郭抽出プログラム
JP3550273B2 (ja) 物体認識装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050706

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: 20050805

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050826

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100902

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120902

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees