JPH011076A - 実時間重心位置検出用画像処理装置 - Google Patents
実時間重心位置検出用画像処理装置Info
- Publication number
- JPH011076A JPH011076A JP62-156947A JP15694787A JPH011076A JP H011076 A JPH011076 A JP H011076A JP 15694787 A JP15694787 A JP 15694787A JP H011076 A JPH011076 A JP H011076A
- Authority
- JP
- Japan
- Prior art keywords
- area
- label
- partial
- coordinate
- storage device
- 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.)
- Pending
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〈産業上の利用分野〉
本発明は実時間重心位置検出用画像処理装置に関し、例
えば組立ロボットにおいてワークの把持に際してパター
ン認識によるワークの重心位置の検出に用いられるもの
である。
えば組立ロボットにおいてワークの把持に際してパター
ン認識によるワークの重心位置の検出に用いられるもの
である。
〈従来の技術〉
パターン認識により物体の重心位置を検出する従来の方
法として、次の2種類がある。
法として、次の2種類がある。
i)テレビカメラからの画像情報を一旦画像メモリーに
格納し、しかる後、ソフトウェアにより連結領域を判定
した後、各連結領域について有意画素のX座標とY座標
を累積し、この累積値を該当する連結領域の面積で割る
。
格納し、しかる後、ソフトウェアにより連結領域を判定
した後、各連結領域について有意画素のX座標とY座標
を累積し、この累積値を該当する連結領域の面積で割る
。
ii)テレビカメラからの画像情報に対して、専用回路
により有意画素のX座標とY座標の累積値及びパターン
の面積(有意画素数)を求め、映像信号の垂直同期期間
内に座標累積値を面積で割るソフトウェア処理によって
重心位置をビデオレートで求める。
により有意画素のX座標とY座標の累積値及びパターン
の面積(有意画素数)を求め、映像信号の垂直同期期間
内に座標累積値を面積で割るソフトウェア処理によって
重心位置をビデオレートで求める。
〈発明が解決しようとする問題点〉
上述のi)の方法においでは、パターン面積が増加する
と一処理されるべきデータが飛躍的に増大するため、実
行速度が低下し、計算処理に長時間を要するようになる
。これは、例えば組立ロボソトにおいて製造ライン上を
流れるワークの把持には、致命的である。
と一処理されるべきデータが飛躍的に増大するため、実
行速度が低下し、計算処理に長時間を要するようになる
。これは、例えば組立ロボソトにおいて製造ライン上を
流れるワークの把持には、致命的である。
また、ii)の方法においては、視野内に2つ以上の独
立したパターンが存在する場合、全てのパターンをまと
めて総合的なひとつの重心位置を求めるので、複数のワ
ーク相互の相対的な位置関係を求めることは不可能であ
る。
立したパターンが存在する場合、全てのパターンをまと
めて総合的なひとつの重心位置を求めるので、複数のワ
ーク相互の相対的な位置関係を求めることは不可能であ
る。
〈問題点を解決するための手段〉
本発明に係る実時間重心位置検出用画像処理装置は、画
像平面が所定数の画素ごとに分割された部分領域におい
て各部分領域毎に有意画素のX座標とY座標並びに有意
画素数を累積加算する第1の演算手段と、有意画素の面
積が所定値以上である部分領域で互いに連結した部分領
域と連結しない部分領域とを区別するラベルを部分領域
に付すラベリング手段と、このラベルに基づいて連結し
た部分領域の集合体毎に第1の演算手段の累積加算値か
ら重心位置を計算する第2の演算手段とを備える。
像平面が所定数の画素ごとに分割された部分領域におい
て各部分領域毎に有意画素のX座標とY座標並びに有意
画素数を累積加算する第1の演算手段と、有意画素の面
積が所定値以上である部分領域で互いに連結した部分領
域と連結しない部分領域とを区別するラベルを部分領域
に付すラベリング手段と、このラベルに基づいて連結し
た部分領域の集合体毎に第1の演算手段の累積加算値か
ら重心位置を計算する第2の演算手段とを備える。
〈作用〉
本発明に係る実時間重心位置検出用画像処理装置は、有
意画素のX座標、Y座標並びに有意画素数の累積加算を
部分領域毎に行なうとともに、有意画素の面積が所定値
以上である部分領域が連続するかしないかを区別するラ
ベリング処理を各部分領域に施し、各ラベルに基づいて
有意画素の面積が所定値以上である部分領域の集合体ご
とに累積加算値から重心位置を計算する。
意画素のX座標、Y座標並びに有意画素数の累積加算を
部分領域毎に行なうとともに、有意画素の面積が所定値
以上である部分領域が連続するかしないかを区別するラ
ベリング処理を各部分領域に施し、各ラベルに基づいて
有意画素の面積が所定値以上である部分領域の集合体ご
とに累積加算値から重心位置を計算する。
〈実施例〉
本実施例の重心位置検出用画像処理装置は、入力画像を
第2図に示すような256 X 256画素の平面内に
捉え、この平面内で分割された8×8画素の部分領域B
(M、 N)において有意画素のX座標とY座標の各
々の累積値並びに有意画素の数を求め、計測結果を記憶
装置に格納する。部分領域内においては、画像に対する
走査点P (x、 y)が部分領域B (M、N)を
通過する期間に、有意画素のX座標とY座標の累積並び
に有意画素の計数の処理を実行する。さらに、1024
(= 32 X 32)個の部分領域からなる1フレ
ームの処理完了を待たずに、処理の完了した部分領域か
ら逐次部分領域情報を処理し、ビデオレートで複数のパ
ターン個々について重心位置を求める。
第2図に示すような256 X 256画素の平面内に
捉え、この平面内で分割された8×8画素の部分領域B
(M、 N)において有意画素のX座標とY座標の各
々の累積値並びに有意画素の数を求め、計測結果を記憶
装置に格納する。部分領域内においては、画像に対する
走査点P (x、 y)が部分領域B (M、N)を
通過する期間に、有意画素のX座標とY座標の累積並び
に有意画素の計数の処理を実行する。さらに、1024
(= 32 X 32)個の部分領域からなる1フレ
ームの処理完了を待たずに、処理の完了した部分領域か
ら逐次部分領域情報を処理し、ビデオレートで複数のパ
ターン個々について重心位置を求める。
第1図は本実施例の構成を示し、図中、1はテレビカメ
ラ、2.3は重心位置を求める対象となる物体、4は同
期分離回路、5は2値化回路、7はSカウンタ、8はY
カウンタ、9はXカウンタ。
ラ、2.3は重心位置を求める対象となる物体、4は同
期分離回路、5は2値化回路、7はSカウンタ、8はY
カウンタ、9はXカウンタ。
12.16.20は全加算器、24は同期制御回路、2
5は記憶装置、26はCPU、27はROM。
5は記憶装置、26はCPU、27はROM。
28はRAM、29は上位システムである。
テレビカメラ1は、静止あるいは移動中の2個の物体2
,3の一部または全体を視野の中に捉え、同期信号を混
合した映像信号を同期分離回路4へ送出する。第1図は
一例として2個の対象物の場合を図示したが、対象物の
大きさや形状の複雑・単純の程度に応じて、さらに多数
の対象物が同−視野内に存在しても、本実施例では個々
の対象物の重心位置を実時間(ビデオレート)で計測し
得る。
,3の一部または全体を視野の中に捉え、同期信号を混
合した映像信号を同期分離回路4へ送出する。第1図は
一例として2個の対象物の場合を図示したが、対象物の
大きさや形状の複雑・単純の程度に応じて、さらに多数
の対象物が同−視野内に存在しても、本実施例では個々
の対象物の重心位置を実時間(ビデオレート)で計測し
得る。
同期分離回路4は、入力した映像信号から水平同期信号
HD、垂直同期信号VD並びにクロック信号φ。を分離
し、ビデオ信号を2値化回路5へ送出する。2値化回路
5は、このビデオ信号に対して予め設定された固定闇値
もしくは浮動闇値等の適切な闇値によって白黒に2値化
した2値情報系列VDATを実時間で生成する。
HD、垂直同期信号VD並びにクロック信号φ。を分離
し、ビデオ信号を2値化回路5へ送出する。2値化回路
5は、このビデオ信号に対して予め設定された固定闇値
もしくは浮動闇値等の適切な闇値によって白黒に2値化
した2値情報系列VDATを実時間で生成する。
Sカウンタ7は、画素を同定するクロックをアンドゲー
ト6により2値情報系列VDATでマスクして得られた
クロックVCKを計数することにより、有意画素数を計
数する。Xカウンタ8は、水平同期信号HDを計数する
ことにより、点PのY座標yを同定する。Xカウンタ9
は、クロック信号φ。を計数することにより、点PのX
座標Xを同定する。全加算器12は、Xカウンタ8の出
力をフリップフロップ13に蓄えられたそれまでのY座
標の累積値に加算する。この加算値はフリップフロップ
13に蓄えられる。全加算器16は、Xカウンタ9の出
力をフリップフロップ17に蓄えられたそれまでのX座
標の累積値に加算する。
ト6により2値情報系列VDATでマスクして得られた
クロックVCKを計数することにより、有意画素数を計
数する。Xカウンタ8は、水平同期信号HDを計数する
ことにより、点PのY座標yを同定する。Xカウンタ9
は、クロック信号φ。を計数することにより、点PのX
座標Xを同定する。全加算器12は、Xカウンタ8の出
力をフリップフロップ13に蓄えられたそれまでのY座
標の累積値に加算する。この加算値はフリップフロップ
13に蓄えられる。全加算器16は、Xカウンタ9の出
力をフリップフロップ17に蓄えられたそれまでのX座
標の累積値に加算する。
この加算値はフリップフロップ17に蓄えられる。
全加算器20は、記憶装置25が記憶している有意画素
数、Y座標の累積値並びにX座標の累積値に、フリップ
フロップ10に蓄えられた有意画素数、フリ、7プフロ
ツプ14に蓄えられたY座標の累積値並びにフリップフ
ロップ18に蓄えられたX座標の累積値を夫々加算する
。これらの加算値は、記憶装置25に各々格納される。
数、Y座標の累積値並びにX座標の累積値に、フリップ
フロップ10に蓄えられた有意画素数、フリ、7プフロ
ツプ14に蓄えられたY座標の累積値並びにフリップフ
ロップ18に蓄えられたX座標の累積値を夫々加算する
。これらの加算値は、記憶装置25に各々格納される。
同期制御回路24は、垂直同期信号VDと水平同期信号
HDに同期して動作し、記憶装置25のアドレス信号並
びに各処理において必要な制御信号を生成する。記憶装
置25は、2ボ一トRAMで構成され、有意画素数、有
意画素のX座標累積加算値並びにY座標累積加算値を夫
々記憶する。
HDに同期して動作し、記憶装置25のアドレス信号並
びに各処理において必要な制御信号を生成する。記憶装
置25は、2ボ一トRAMで構成され、有意画素数、有
意画素のX座標累積加算値並びにY座標累積加算値を夫
々記憶する。
CPU26は、後述するラベリング処理や重心位置演算
並びに上位システム29とのデータ送受を含むシステム
全体の制御を実行する。
並びに上位システム29とのデータ送受を含むシステム
全体の制御を実行する。
以下、処理の手順について説明する。
i)有意画素数の計数
Sカウンタ7にクロックVCKを入力することにより、
走査域8M≦X≦8M+7における有意画素数すなわち
有意画素の面積を計数する。この計数結果は、クロック
CKIによってフリップフロップ10に格納される。そ
の後、Sカウンタ7は、クリアパルスCL1によって0
に初期化され、次の部分領域B (M+1.N)内の有
意画素数の計数に備える。
走査域8M≦X≦8M+7における有意画素数すなわち
有意画素の面積を計数する。この計数結果は、クロック
CKIによってフリップフロップ10に格納される。そ
の後、Sカウンタ7は、クリアパルスCL1によって0
に初期化され、次の部分領域B (M+1.N)内の有
意画素数の計数に備える。
フリップフロップ10に格納されたデータは、走査域が
8M+8≦X≦8M+15の期間に、記憶装置25が保
持する部分領域B (M、N)の有意画素の面積データ
に加算される。そして、この加算結果は、記憶装置25
の同じ領域に格納される。すなわち、クロックCKIO
によってパスバッファ22がディスエーブル状態になり
、同期制御回路24から記憶装置25に対して部分領域
B(M、N)の面積データが格納された領域のアドレス
が印加され、さらに記憶装置25に出力イネーブル信号
が印加される。これによって記憶装置25が出力した面
積データは、クロックCK9によってフリップフロップ
21に格納される。この処理と並行して、クロックCK
4によりパスバッファ11を介してフリップフロップ1
0が保持する面積データが全加算器20に入力される。
8M+8≦X≦8M+15の期間に、記憶装置25が保
持する部分領域B (M、N)の有意画素の面積データ
に加算される。そして、この加算結果は、記憶装置25
の同じ領域に格納される。すなわち、クロックCKIO
によってパスバッファ22がディスエーブル状態になり
、同期制御回路24から記憶装置25に対して部分領域
B(M、N)の面積データが格納された領域のアドレス
が印加され、さらに記憶装置25に出力イネーブル信号
が印加される。これによって記憶装置25が出力した面
積データは、クロックCK9によってフリップフロップ
21に格納される。この処理と並行して、クロックCK
4によりパスバッファ11を介してフリップフロップ1
0が保持する面積データが全加算器20に入力される。
ただし、このときにはパスバッファ15.19はディス
エーブル状態である。次に、同期制御回路24により、
記憶装置25がデータ入力状態にされ且つパスバッファ
22がイネーブル状態にされる。
エーブル状態である。次に、同期制御回路24により、
記憶装置25がデータ入力状態にされ且つパスバッファ
22がイネーブル状態にされる。
そして、全加算器20の加算結果は、記憶装置25の部
分領域B (M、N)の面積データを保持する領域に格
納される。
分領域B (M、N)の面積データを保持する領域に格
納される。
1i)Y座標の累積加算
Yカウンタ8は、垂直同期信号VDによって0に初期化
さた後、水平同期信号HDを計数することによって点P
のY座標yを同定する。フリップフロップ13は、部分
領域B (M、N)内の計測に先立って、クリアパルス
CL2によってOに初期化される。走査域が8M≦X≦
8M+7の期間、Yカウンタ8の出力Yは全加算器12
において有意画素の度数だけ累積加算され、この加算結
果がクロックCK2によりフリップフロップ13に格納
される。このフリップフロップ13の内容は、クロック
CK5によってフリップフロップ14に格納される。そ
の後、フリップフロップ13は、クリアパルスCL2に
よって0に初期化され、次の部分領域B (M+1.N
)における有意画素のY座標の累積加算に備える。
さた後、水平同期信号HDを計数することによって点P
のY座標yを同定する。フリップフロップ13は、部分
領域B (M、N)内の計測に先立って、クリアパルス
CL2によってOに初期化される。走査域が8M≦X≦
8M+7の期間、Yカウンタ8の出力Yは全加算器12
において有意画素の度数だけ累積加算され、この加算結
果がクロックCK2によりフリップフロップ13に格納
される。このフリップフロップ13の内容は、クロック
CK5によってフリップフロップ14に格納される。そ
の後、フリップフロップ13は、クリアパルスCL2に
よって0に初期化され、次の部分領域B (M+1.N
)における有意画素のY座標の累積加算に備える。
フリップフロップ14に格納されたデータは、走査域が
8M+8≦X≦8M+15の間に、記憶装置25が保持
する部分領域B (M、 N)のY座標の累積加算デー
タに加算され、この加算結果は記憶装置25の同じ領域
に格納される。すなわち、クロックCKIOによってパ
スバッファ22がディスエーブル状態になり、同期制御
回路24から記憶装置25に対して部分領域B (M、
N)のY座標の累積データが格納された領域のアドレ
スが印加され、さらに記憶装置25に出力イネーブル信
号が印加される。これによって記憶装置25が出力した
Y座標累積データは、クロックCK9によってフリップ
フロップ21に格納される。この処理と並行して、クロ
ックCK7によりパスバッファ15を介してフリップフ
ロップ14が保持するY座標の累積データが全加算器2
0に入力される。ただし、このときはパスバッファ11
.19はディスエーブル状態である。次に、同期制御回
路24により、記憶装置25がデータ入力状態にされ且
つパスバッファ22がイネーブル状態にされる。そして
、全加算器20の加算結果は、記憶装置25の部分領域
B (M、 N)のY座標の累積データを保持する領域
に格納される。
8M+8≦X≦8M+15の間に、記憶装置25が保持
する部分領域B (M、 N)のY座標の累積加算デー
タに加算され、この加算結果は記憶装置25の同じ領域
に格納される。すなわち、クロックCKIOによってパ
スバッファ22がディスエーブル状態になり、同期制御
回路24から記憶装置25に対して部分領域B (M、
N)のY座標の累積データが格納された領域のアドレ
スが印加され、さらに記憶装置25に出力イネーブル信
号が印加される。これによって記憶装置25が出力した
Y座標累積データは、クロックCK9によってフリップ
フロップ21に格納される。この処理と並行して、クロ
ックCK7によりパスバッファ15を介してフリップフ
ロップ14が保持するY座標の累積データが全加算器2
0に入力される。ただし、このときはパスバッファ11
.19はディスエーブル状態である。次に、同期制御回
路24により、記憶装置25がデータ入力状態にされ且
つパスバッファ22がイネーブル状態にされる。そして
、全加算器20の加算結果は、記憶装置25の部分領域
B (M、 N)のY座標の累積データを保持する領域
に格納される。
1ii)X座標の累積加算
Xカウンタ9は、水平同期信号HDによってOに初期化
された後、クロック信号φ。を計数することによって点
PのXyi標Xを同定する。フリップフロップ17は、
部分領域B (M、N)内の計測に先立って、クリアパ
ルスCL3によってOに初期化される。走査域が8M≦
X≦8M+7の期間、Xカウンタ9の出力Xは点P (
x、 y)が有意画素のときに全加算器16において
累積加算され、この加算結果がクロックCK3によりフ
リップフロップ17に格納される。このフリップフロッ
プ17の内容は、クロックCK6によってフリップフロ
ップ18に格納さる。その後、フリップフロップ17は
、クリアパルスCL3によって0に初期化され、次の部
分領域B (M+1.N)における有意画素のX座標の
累積加算に備える。
された後、クロック信号φ。を計数することによって点
PのXyi標Xを同定する。フリップフロップ17は、
部分領域B (M、N)内の計測に先立って、クリアパ
ルスCL3によってOに初期化される。走査域が8M≦
X≦8M+7の期間、Xカウンタ9の出力Xは点P (
x、 y)が有意画素のときに全加算器16において
累積加算され、この加算結果がクロックCK3によりフ
リップフロップ17に格納される。このフリップフロッ
プ17の内容は、クロックCK6によってフリップフロ
ップ18に格納さる。その後、フリップフロップ17は
、クリアパルスCL3によって0に初期化され、次の部
分領域B (M+1.N)における有意画素のX座標の
累積加算に備える。
フリップフロップ18に格納されたデータは、走査域が
8M+8≦X≦8M+15の期間に、記憶装置25が保
持する部分領域B (M、N)のX座標の累積加算デー
タに加算され、この加算結果は記憶装置25の同じ領域
に格納される。すなわち、クロックCKIOによってパ
スバッファ22がディスエーブル状態になり、同期制御
回路24から記憶装置25に対して部分領域B (M、
N)のX座標の累積加算データが格納された領域のアド
レスが印加され、さらに記憶装置25に出力イネーブル
信号が印加される。これによって記憶装置25が出力し
たX座標累積データは、クロックCK9によってフリッ
プフロップ21に格納される。この処理と並行して、ク
ロックCK8によりパスバッファ19を介してフリップ
フロップ18が保持するX座標累積データが全加算器2
0に入力される。ただし、このときはパスバッファ11
・15はディスエーブル状態である。次に、同期制御回
路24により、記憶装置25がデータ入力状態にされ且
つパスバッファ22がイネーブル状態にされる。そして
、全加算器20の加算結果は、記憶装置25の部分領域
B (M、N)のX座標累積データを保持する領域に格
納される。
8M+8≦X≦8M+15の期間に、記憶装置25が保
持する部分領域B (M、N)のX座標の累積加算デー
タに加算され、この加算結果は記憶装置25の同じ領域
に格納される。すなわち、クロックCKIOによってパ
スバッファ22がディスエーブル状態になり、同期制御
回路24から記憶装置25に対して部分領域B (M、
N)のX座標の累積加算データが格納された領域のアド
レスが印加され、さらに記憶装置25に出力イネーブル
信号が印加される。これによって記憶装置25が出力し
たX座標累積データは、クロックCK9によってフリッ
プフロップ21に格納される。この処理と並行して、ク
ロックCK8によりパスバッファ19を介してフリップ
フロップ18が保持するX座標累積データが全加算器2
0に入力される。ただし、このときはパスバッファ11
・15はディスエーブル状態である。次に、同期制御回
路24により、記憶装置25がデータ入力状態にされ且
つパスバッファ22がイネーブル状態にされる。そして
、全加算器20の加算結果は、記憶装置25の部分領域
B (M、N)のX座標累積データを保持する領域に格
納される。
以上のi )+ iiL iii )の処理を1フレー
ムの全体にわたって実行し、記憶装置25内の部分領域
の累積加算データ格納領域において、次式のデータが逐
次格納されていく。
ムの全体にわたって実行し、記憶装置25内の部分領域
の累積加算データ格納領域において、次式のデータが逐
次格納されていく。
X (M、N)= Σ Σ X ’ C(X* y
) ;yxHXIIM X座標累積加算値 Y (M、N)= Σ Σ y−C(x、y);y+
N XIIM Y座標累積加算値 S (M、 N) = Σ Σ C(x、 y)
; 面積ymW xmH ただし、C(x、y)は点P (x、 y)における
2値画像データを表わし、 とする。
) ;yxHXIIM X座標累積加算値 Y (M、N)= Σ Σ y−C(x、y);y+
N XIIM Y座標累積加算値 S (M、 N) = Σ Σ C(x、 y)
; 面積ymW xmH ただし、C(x、y)は点P (x、 y)における
2値画像データを表わし、 とする。
同期制御回路24は、記憶装置25のアドレスと各種制
御パルスを次のように生成する。すなわち、Yカウンタ
8の出力中上位5桁とXカウンタ9の出力中上位7桁を
第4図に示す書式で合成して記憶装置25のアドレスを
生成する。この場合、ADRII、ADRIOによって
部分領域内面積格納部、部分領域内X座標累積加算値格
納部並びに部分領域内Y座標累積加算値格納部を各々同
定し、ADRO−ADR4によって部分領域B (M。
御パルスを次のように生成する。すなわち、Yカウンタ
8の出力中上位5桁とXカウンタ9の出力中上位7桁を
第4図に示す書式で合成して記憶装置25のアドレスを
生成する。この場合、ADRII、ADRIOによって
部分領域内面積格納部、部分領域内X座標累積加算値格
納部並びに部分領域内Y座標累積加算値格納部を各々同
定し、ADRO−ADR4によって部分領域B (M。
N)のX座標0≦M≦31を同定し、ADR5〜ADR
9によって部分領域B (M、N)のY座標0≦N≦3
1を同定し、さらに、クロックパルス及びクリアパルス
を第3図に示すタイミングで生成する。
9によって部分領域B (M、N)のY座標0≦N≦3
1を同定し、さらに、クロックパルス及びクリアパルス
を第3図に示すタイミングで生成する。
CPU26は、画像入力時に生じるノイズによる影響を
除くため、面積情報に対する閾値Thを用いて次に説明
する処理を実行し、重心位置を計算する。第6図はこの
処理手順を示し、以下この流れ図にしたがって説明する
。
除くため、面積情報に対する閾値Thを用いて次に説明
する処理を実行し、重心位置を計算する。第6図はこの
処理手順を示し、以下この流れ図にしたがって説明する
。
同期制御回路24にスタート信号を送出しくステップ#
1)、続いて、後述するラベル関係対応表とラベル領域
データ表を初期化する(#2)。
1)、続いて、後述するラベル関係対応表とラベル領域
データ表を初期化する(#2)。
パスバッファ23をクロックCKIIによってイネーブ
ル状態にしてYカウンタ8の計数値の上位5ビツトを読
み込み、現在処理中の部分領域B(M、 N)について
Y座標Nを読み込む(#3)。
ル状態にしてYカウンタ8の計数値の上位5ビツトを読
み込み、現在処理中の部分領域B(M、 N)について
Y座標Nを読み込む(#3)。
CPO26が処理を完了した部分領域のY座標をCNと
すると、N−1≦CNのとき、記憶装置25内でのアド
レスの競合を避けるためにステップ#3に戻り、Nの値
の監視を続ける。N−1>CNのときは、CN=N−1
とし、CPU26が処理を開始する部分領域のX座標0
Mを−lとする(#5)。
すると、N−1≦CNのとき、記憶装置25内でのアド
レスの競合を避けるためにステップ#3に戻り、Nの値
の監視を続ける。N−1>CNのときは、CN=N−1
とし、CPU26が処理を開始する部分領域のX座標0
Mを−lとする(#5)。
CM=CM+1の操作を施しく#6)、記憶装置25か
ら部分領域B (CM、CN)における有意画素の面積
S (CM、CN)を読み出しく#7)、S (CM、
CN)<Thの場合にはステップ付1フヘジヤンプして
新たな部分領域行の処理へ移行する。
ら部分領域B (CM、CN)における有意画素の面積
S (CM、CN)を読み出しく#7)、S (CM、
CN)<Thの場合にはステップ付1フヘジヤンプして
新たな部分領域行の処理へ移行する。
S (CM、CN)≧Thの場合には、部分領域B(M
、N)に隣接した部分領域の面積S(CM−1゜CN−
1)、S (CM−1,CN)、S (CM。
、N)に隣接した部分領域の面積S(CM−1゜CN−
1)、S (CM−1,CN)、S (CM。
CN−1)、S (0M+1.CN−1)(7)すべて
が閾値Thより小さいときすなわち8近傍連結でないと
きは、−ステップ#13へ移行する。ただし、CM−1
<OまたはCN−1<0(7)場合、S(CM−1,C
N−1)=0またはS (CM−1゜CN)=0または
S(CM、CN−1)=0またはS(CM+l、CN−
1)=Oとする。
が閾値Thより小さいときすなわち8近傍連結でないと
きは、−ステップ#13へ移行する。ただし、CM−1
<OまたはCN−1<0(7)場合、S(CM−1,C
N−1)=0またはS (CM−1゜CN)=0または
S(CM、CN−1)=0またはS(CM+l、CN−
1)=Oとする。
S (CM−1,CN−1)、S (CM−1,CN)
。
。
S (CM、CN−1)、S (0M+1.CN−1)
の少なくとも一つが閾値Thより小さくないときは、注
目する部分領域B (CM、CN)の8近傍連結部分領
域内に既に後述するラベル付けがなされた部分領域が存
在するため、次の式に従ってB(CM、CN)(Dラベ
)LL (CM、CN)を決定する(#10)、この
ラベルL (CM 、 CN )は、1〜256の整
数とし、■から順に採用され、初期状態において全ての
部分領域のラベルは零とする。
の少なくとも一つが閾値Thより小さくないときは、注
目する部分領域B (CM、CN)の8近傍連結部分領
域内に既に後述するラベル付けがなされた部分領域が存
在するため、次の式に従ってB(CM、CN)(Dラベ
)LL (CM、CN)を決定する(#10)、この
ラベルL (CM 、 CN )は、1〜256の整
数とし、■から順に採用され、初期状態において全ての
部分領域のラベルは零とする。
L (CM、CN)=MAX (L (CM−1,C
N)。
N)。
L (CM−1,CN−1)、L (CM、CN−1)
。
。
L (0M+1.CN−1))
即ち、注目する正方部分領域をB (M、N)として、
第5図に示す部分領域の連結集合体において各部分領域
に付けられたラベルの中で最大のものを注目する部分領
域のラベルとする。
第5図に示す部分領域の連結集合体において各部分領域
に付けられたラベルの中で最大のものを注目する部分領
域のラベルとする。
次に、第5図に示す部分領域の連結集合体において、ラ
ベルの連結状態を調査する。即ち、この部分領域の連結
集合体において、各部分領域のラベルが全て同じである
ときは、ステップ#16以降へ移行する。この連結集合
体において、L(CM。
ベルの連結状態を調査する。即ち、この部分領域の連結
集合体において、各部分領域のラベルが全て同じである
ときは、ステップ#16以降へ移行する。この連結集合
体において、L(CM。
CN)と異なるラベルL (k、A)が存在するときは
、第7図に示すようなラベル関係対応表を作成する(#
12)。この後、ステップ#16以降へ移行する。
、第7図に示すようなラベル関係対応表を作成する(#
12)。この後、ステップ#16以降へ移行する。
第7図のラベル関係対応表は、−例としてラベルL(C
M、CN)によって同定される連結部分領域とラベルL
(k、 l)によって同定される連結部分領域は8
近傍連結であることを示すものである。
M、CN)によって同定される連結部分領域とラベルL
(k、 l)によって同定される連結部分領域は8
近傍連結であることを示すものである。
このラベル関係対応表は、さらに、ラベルL (k、l
)によって同定される連結部分領域とラベルL(i、j
)によって同定される連結部分領域は8近傍連結であり
、また、ラベルL (p、q)によって同定される連結
部分領域とラベルL(i、j)によって同定される連結
部分領域はラベルL (k、Gによって同定される連結
部分領域を介して8近傍連結であることを示している。
)によって同定される連結部分領域とラベルL(i、j
)によって同定される連結部分領域は8近傍連結であり
、また、ラベルL (p、q)によって同定される連結
部分領域とラベルL(i、j)によって同定される連結
部分領域はラベルL (k、Gによって同定される連結
部分領域を介して8近傍連結であることを示している。
第7図中、下位ラベルは新たに調査された部分領域のラ
ベルを表し、上位ラベルは調査の結果新たに連結状態が
確認された既存のラベル、を表す。
ベルを表し、上位ラベルは調査の結果新たに連結状態が
確認された既存のラベル、を表す。
注目する部分領域が既に処理が完了した部分領域のいず
れとも8近傍で連結していないと、次式にしたがって部
分領域B (CM、CN)に新たなラベルL (CM、
CN)を付ける(#13)。。
れとも8近傍で連結していないと、次式にしたがって部
分領域B (CM、CN)に新たなラベルL (CM、
CN)を付ける(#13)。。
L (CM、CN)=MAX (L (p、 q))
+まただし、p=o〜CM、q=1〜CMである。
+まただし、p=o〜CM、q=1〜CMである。
続いて、ラベル関係対応表の下位ラベル欄に新規ラベル
を登録する(#14)。このときの上位うベルはOであ
る。次に、連結部分領域内のデータの累積加算処理のた
めに、第8図に示すラベル領域データ表の1欄の最後部
にラベルL(CM、CN)を追加登録する(#15)。
を登録する(#14)。このときの上位うベルはOであ
る。次に、連結部分領域内のデータの累積加算処理のた
めに、第8図に示すラベル領域データ表の1欄の最後部
にラベルL(CM、CN)を追加登録する(#15)。
ステップ#16では、X座標、Y座標1面積Sの各累積
加算値を更にラベル別に累積加算し、ラベル値lについ
て各々の累積加算値をLX(ff)。
加算値を更にラベル別に累積加算し、ラベル値lについ
て各々の累積加算値をLX(ff)。
LY (f)、Ls (Il)とする。そして、同一の
ラベルによって同定される正方部分頌域連結集合体のX
座標累積加算処理、Y座標累積加算処理並びに面積累積
加算処理を次式に従って実施し、ラベル領域データ表を
作成する。
ラベルによって同定される正方部分頌域連結集合体のX
座標累積加算処理、Y座標累積加算処理並びに面積累積
加算処理を次式に従って実施し、ラベル領域データ表を
作成する。
LX (L (CM、CN))=LX (L (CM、
CN))+X (CM、CN) LY (L (CM、CN))=LY (L (CM、
CN))+Y (CM、CN) LS (L (CM、CN))=LS (L (CM、
CN))+S (CM、CN) (CM、 CN) <(31,31)の場合、ステップ
#6または#3に戻り、新たな部分領域行の処理を実施
する。(CM、 CN) =(31,31)の場合、
各連結ラベル領域の重心位置を計算するため、ステップ
#19へ移行する。
CN))+X (CM、CN) LY (L (CM、CN))=LY (L (CM、
CN))+Y (CM、CN) LS (L (CM、CN))=LS (L (CM、
CN))+S (CM、CN) (CM、 CN) <(31,31)の場合、ステップ
#6または#3に戻り、新たな部分領域行の処理を実施
する。(CM、 CN) =(31,31)の場合、
各連結ラベル領域の重心位置を計算するため、ステップ
#19へ移行する。
ステップ#19では、CPU26はラベル関係対応表(
第7図)を逆に辿って、最も若いラベル値inを得る。
第7図)を逆に辿って、最も若いラベル値inを得る。
そして、このラベル値inを用いてLX (in)、L
Y (ln)、LS (/n)をラベル領域データ表(
第8図)より読み出す。次に、ラベル関係対応表からラ
ベル値lnの上位ラベル値1mを得る。このラベル値1
mによって示されるラベル領域の各データL X(j!
m)、 L Y(1m)。
Y (ln)、LS (/n)をラベル領域データ表(
第8図)より読み出す。次に、ラベル関係対応表からラ
ベル値lnの上位ラベル値1mを得る。このラベル値1
mによって示されるラベル領域の各データL X(j!
m)、 L Y(1m)。
LS (1m)にラベル値lnによって示されるラベル
領域名データを累積加算し、且つ、ラベル関係対応表よ
りラベル(lffJnを削除する。以上のラベルデータ
の累積加算処理を、ラベル関係対応表において上位ラベ
ルが見出せなくなるまで繰り返す。
領域名データを累積加算し、且つ、ラベル関係対応表よ
りラベル(lffJnを削除する。以上のラベルデータ
の累積加算処理を、ラベル関係対応表において上位ラベ
ルが見出せなくなるまで繰り返す。
次に、ステップ#20において連結ラベル領域別に重心
位置を計算する。ステップ#19の処理の結果、ラベル
関係対応表に残されたラベルを1゜l z、−、l i
(iは入カバターンの個数)とする。
位置を計算する。ステップ#19の処理の結果、ラベル
関係対応表に残されたラベルを1゜l z、−、l i
(iは入カバターンの個数)とする。
このとき、各パターンの重心位置をGXi、GYiとし
て、 なる計算処理を施すことにより、複数の入カバターンの
各々の重心位置が得られる。
て、 なる計算処理を施すことにより、複数の入カバターンの
各々の重心位置が得られる。
なお、上述の実施例においては、記憶装置25を時分割
方式で用いたが、面積、X座標、Y座標の各情報につい
てそれぞれ専用の記憶装置を備えたものは、原理的に本
発明と同様である。また、実施例においては、部分領域
の大きさとして一辺が8画素の正方形を採用したが、C
PUの待ち時間を削減し且つ処理速度を向上させるため
、数画素が連結した部分領域について前処理を施して重
心位置を求める方式は、本発明の部分領域の形状を変化
させた例である。
方式で用いたが、面積、X座標、Y座標の各情報につい
てそれぞれ専用の記憶装置を備えたものは、原理的に本
発明と同様である。また、実施例においては、部分領域
の大きさとして一辺が8画素の正方形を採用したが、C
PUの待ち時間を削減し且つ処理速度を向上させるため
、数画素が連結した部分領域について前処理を施して重
心位置を求める方式は、本発明の部分領域の形状を変化
させた例である。
〈発明の効果〉
以上詳述したように本発明においては、入力画像を捉え
る平面を所定数の画素からなる部分領域に分割し、各部
分領域毎に有意画素のX座標、Y座標並びに画素数を累
積加算するとともに、部分領域のラベリングにより、有
意画素が連続した部分領域と連続しない部分領域との区
別を行い、各ラベル毎の累積加算値から重心位置を計算
するようにしたので、複数の入カバターンについて各々
の重心位置を実時間で同時並列処理により計算すること
ができる。
る平面を所定数の画素からなる部分領域に分割し、各部
分領域毎に有意画素のX座標、Y座標並びに画素数を累
積加算するとともに、部分領域のラベリングにより、有
意画素が連続した部分領域と連続しない部分領域との区
別を行い、各ラベル毎の累積加算値から重心位置を計算
するようにしたので、複数の入カバターンについて各々
の重心位置を実時間で同時並列処理により計算すること
ができる。
本発明は、ビデオレートで複数の物体の重心位置を検出
し得るため、製造ライン上でロボットによる物体の把持
、製品検査、高速移動物体の位置計測等に応用可能であ
る。また、ラベリング処理を実施しているので、視野内
対象物の個数の計数もビデオレートで実行できる。さら
に、パターン別の面積計測をも実施しているので、製品
検査における欠けやキズの検査を数個について同時並列
にビデオレートで処理し得る。これらの各機能は高速(
ビデオレート)で作用し得るため、各種製品の出荷時に
おける調整作業を自動化する際の視覚フィードバックに
おいて、核技術となり得るものである。また、複数のカ
メラをCPUの制御によって切り換える装置を付加する
ことにより、本発明の処理の高速性を生かして、本発明
の一つのシステムで複数の生産ラインに対処することが
できる。
し得るため、製造ライン上でロボットによる物体の把持
、製品検査、高速移動物体の位置計測等に応用可能であ
る。また、ラベリング処理を実施しているので、視野内
対象物の個数の計数もビデオレートで実行できる。さら
に、パターン別の面積計測をも実施しているので、製品
検査における欠けやキズの検査を数個について同時並列
にビデオレートで処理し得る。これらの各機能は高速(
ビデオレート)で作用し得るため、各種製品の出荷時に
おける調整作業を自動化する際の視覚フィードバックに
おいて、核技術となり得るものである。また、複数のカ
メラをCPUの制御によって切り換える装置を付加する
ことにより、本発明の処理の高速性を生かして、本発明
の一つのシステムで複数の生産ラインに対処することが
できる。
第1図は本発明実施例の構成を示すブロック図、第2図
は本発明実施例の画像解析平面の構成を示す図、 第3図は本発明実施例の信号のタイミングチャート、 第4図は本発明実施例の同期制御回路におけるアドレス
生成書式を示す図、 第5図は本発明実施例の部分領域の連結集合体を示す図
、 第6図は本発明実施例の処理手順を示すフローチャート
、 第7図は本発明実施例のラベル関係対応表を示す図、 第8図は本発明実施例のラベル領域データ表を示す図で
ある。 1・・・テレビカメラ 2.3・・・物体 4・・・同期分離回路 5・・・2値化回路 7・・・Sカウンタ 8・・・Yカウンタ 9・・・Xカウンタ 10.13,14.17,18.21 ・・・フリソプ
フロフブ 12.113.20・・・全加算器 24・・・同期制御回路 25・・・記憶装置 26・・・CPU 27・・・ROM 28・・・RAM 特許出願人 シャープ株式会社 代 理 人 弁理士 西1)新 第4図 第5父
は本発明実施例の画像解析平面の構成を示す図、 第3図は本発明実施例の信号のタイミングチャート、 第4図は本発明実施例の同期制御回路におけるアドレス
生成書式を示す図、 第5図は本発明実施例の部分領域の連結集合体を示す図
、 第6図は本発明実施例の処理手順を示すフローチャート
、 第7図は本発明実施例のラベル関係対応表を示す図、 第8図は本発明実施例のラベル領域データ表を示す図で
ある。 1・・・テレビカメラ 2.3・・・物体 4・・・同期分離回路 5・・・2値化回路 7・・・Sカウンタ 8・・・Yカウンタ 9・・・Xカウンタ 10.13,14.17,18.21 ・・・フリソプ
フロフブ 12.113.20・・・全加算器 24・・・同期制御回路 25・・・記憶装置 26・・・CPU 27・・・ROM 28・・・RAM 特許出願人 シャープ株式会社 代 理 人 弁理士 西1)新 第4図 第5父
Claims (1)
- 画像平面が所定数の画素ごとに分割された部分領域にお
いて各部分領域毎に有意画素のX座標とY座標並びに有
意画素数を累積加算する第1の演算手段と、有意画素の
面積が所定値以上である部分領域で互いに連結した部分
領域と連結しない部分領域を区別するラベルを部分領域
に付すラベリング手段と、このラベルに基づいて連結し
た部分領域の集合体毎に第1の演算手段の累積加算値か
ら重心位置を計算する第2の演算手段とを備えたことを
特徴とする実時間重心位置検出用画像処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62156947A JPS641076A (en) | 1987-06-24 | 1987-06-24 | Picture processor for detecting real time center of gravity position |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62156947A JPS641076A (en) | 1987-06-24 | 1987-06-24 | Picture processor for detecting real time center of gravity position |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH011076A true JPH011076A (ja) | 1989-01-05 |
| JPS641076A JPS641076A (en) | 1989-01-05 |
Family
ID=15638817
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62156947A Pending JPS641076A (en) | 1987-06-24 | 1987-06-24 | Picture processor for detecting real time center of gravity position |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS641076A (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0431975A (ja) * | 1990-05-28 | 1992-02-04 | Seikosha Co Ltd | 画像監視方法 |
| US7321687B2 (en) | 2002-03-07 | 2008-01-22 | Canon Kabushiki Kaisha | Apparatus and method for image processing to label an object in a binary image |
| ES2197016B1 (es) * | 2002-06-11 | 2005-02-01 | Creaciones E Investigaciones Electronicas, S.L. | Medios de reconocimiento de imagenes. |
-
1987
- 1987-06-24 JP JP62156947A patent/JPS641076A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO1997039419A1 (en) | Omnidirectional barcode locator | |
| JPH011076A (ja) | 実時間重心位置検出用画像処理装置 | |
| JPH04147045A (ja) | 表面検査装置 | |
| Wang et al. | Surface defect detection of sanitary ceramic product utilizing high-resolution image on two different scales | |
| JPH02125375A (ja) | 位置検出装置 | |
| JPH065545B2 (ja) | 図形認識装置 | |
| JPH0139651B2 (ja) | ||
| JPH0259976A (ja) | ブロック統合処理方式 | |
| JPH04169987A (ja) | 文字列検出方法、文字列検出装置、文字列読取方法及び文字列読取装置 | |
| JPH0514892A (ja) | 画像監視装置 | |
| JPS5830624B2 (ja) | 端点検出方式 | |
| JPH01173270A (ja) | 画像処理装置 | |
| JPH1097634A (ja) | 物体の認識方法 | |
| JPS61286704A (ja) | 画像の境界線検出方法 | |
| JPS5846475A (ja) | 図形記録装置 | |
| JPS6314281A (ja) | 画像処理システム | |
| JP2959017B2 (ja) | 円形画像判別方法 | |
| JPS6365347A (ja) | 画像処理による特異点検出方法 | |
| JPS61161582A (ja) | パタ−ン認識装置 | |
| JPH01180075A (ja) | パターン認識のための特徴点コーナーの位置計測方法 | |
| JPH05113315A (ja) | 円形画像データの中心位置検出方法 | |
| JPH0129643Y2 (ja) | ||
| JPH0385681A (ja) | 画像処理装置 | |
| JPH03280173A (ja) | 画像処理方法 | |
| JPS61161583A (ja) | パタ−ン認識装置 |