JP3016687B2 - 画像処理装置 - Google Patents
画像処理装置Info
- Publication number
- JP3016687B2 JP3016687B2 JP6091277A JP9127794A JP3016687B2 JP 3016687 B2 JP3016687 B2 JP 3016687B2 JP 6091277 A JP6091277 A JP 6091277A JP 9127794 A JP9127794 A JP 9127794A JP 3016687 B2 JP3016687 B2 JP 3016687B2
- Authority
- JP
- Japan
- Prior art keywords
- run
- image
- length code
- inspected
- reference image
- 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
Links
Landscapes
- Image Analysis (AREA)
Description
【0001】
【産業上の利用分野】本発明は、パターンマッチングに
係る画像処理装置に関し、特に、ランレングスコードを
用いた画像のパターンマッチングに係る画像処理装置に
関する。
係る画像処理装置に関し、特に、ランレングスコードを
用いた画像のパターンマッチングに係る画像処理装置に
関する。
【0002】
【従来の技術】一般に、パターンマッチングとは、予め
登録された参照画像と似た画像の被検査画像中の存在有
無の検査と存在場所の検索とを行う機能を示している。
従来、パターンマッチングは、被検査画像と参照画像と
の間で相関を取ることにより実現していた(「ディジタ
ル画像処理」Rosenfeld-Kak pp.305 1978 参照)。
登録された参照画像と似た画像の被検査画像中の存在有
無の検査と存在場所の検索とを行う機能を示している。
従来、パターンマッチングは、被検査画像と参照画像と
の間で相関を取ることにより実現していた(「ディジタ
ル画像処理」Rosenfeld-Kak pp.305 1978 参照)。
【0003】一般には、被検査画像の画素の明るさをA
ij、参照画像の画素の明るさをBij、参照画像の画素の
総数をM×Nとすると、各々の画像のダイナミックレン
ジで規格化した正規化相関Sは数1で与えられる。
ij、参照画像の画素の明るさをBij、参照画像の画素の
総数をM×Nとすると、各々の画像のダイナミックレン
ジで規格化した正規化相関Sは数1で与えられる。
【0004】
【数1】
【0005】また、明るさ等を考慮して数2に示す正規
化相関Cも提案されている。
化相関Cも提案されている。
【0006】
【数2】
【0007】数2は、明るさに対して普遍的なため、主
に被検査画像の照明の変動に起因する画像全体の明るさ
の均一な変化をキャンセルしたい時において有効であ
る。
に被検査画像の照明の変動に起因する画像全体の明るさ
の均一な変化をキャンセルしたい時において有効であ
る。
【0008】一方、対象とする画像が白地に黒の文字や
作画と言った分野では、記号または図形情報の一致を見
るために、2つの画像を移動して重ねあわせ、一致する
部分の面積の大きさを基準とする方法が、数多く提案さ
れている。図形を2値画像と見た場合は、重ねあわせた
図形の一致した部分は相互相関に相当するので、これら
の手法は2値画像のパターンマッチングと解釈できる。
2値画像は、ランレングスコードが利用できるが、該コ
ードは情報量が少ないので、デジタル処理に適している
(特開昭62ー249293参照)。
作画と言った分野では、記号または図形情報の一致を見
るために、2つの画像を移動して重ねあわせ、一致する
部分の面積の大きさを基準とする方法が、数多く提案さ
れている。図形を2値画像と見た場合は、重ねあわせた
図形の一致した部分は相互相関に相当するので、これら
の手法は2値画像のパターンマッチングと解釈できる。
2値画像は、ランレングスコードが利用できるが、該コ
ードは情報量が少ないので、デジタル処理に適している
(特開昭62ー249293参照)。
【0009】ただし、一般的な工業計測の分野では、相
互相関では相関の基準とならない場合が多い。画像の品
質を考慮して、登録画像の面積情報を用いてキャリブレ
ートして使用する例も見られる(特開昭61−1821
79)。
互相関では相関の基準とならない場合が多い。画像の品
質を考慮して、登録画像の面積情報を用いてキャリブレ
ートして使用する例も見られる(特開昭61−1821
79)。
【0010】
【発明が解決しようとする課題】パターンマッチングで
は、参照画像を被検査画像の全域にわたって移動させ、
正規化相関Sあるいは正規化相関Cを移動毎に求め、求
められた相関の中で最大値を示した場所を決定するこに
よって、参照画像と似た画像の被検査画像中の存在有無
の検査と存在場所の検索とを行うものである。しかし、
数1や数2を用いる演算は、画素数に応じて計算回数が
増大し、高速化が不可能であった。そこで、粗い分解能
で大雑把に相関値の高い位置を求め、この周辺について
詳細にパターンマッチングを行うという、段階的にパタ
ーンマッチングを行う手法が考案され、高速化が計らて
いるが、あまり分解能を落とすと高い相関を持つ位置を
見落とす率が高くなるため、むやみに分解能を落とせず
演算回数を少なくするための決定的な改善にはなってい
ない。
は、参照画像を被検査画像の全域にわたって移動させ、
正規化相関Sあるいは正規化相関Cを移動毎に求め、求
められた相関の中で最大値を示した場所を決定するこに
よって、参照画像と似た画像の被検査画像中の存在有無
の検査と存在場所の検索とを行うものである。しかし、
数1や数2を用いる演算は、画素数に応じて計算回数が
増大し、高速化が不可能であった。そこで、粗い分解能
で大雑把に相関値の高い位置を求め、この周辺について
詳細にパターンマッチングを行うという、段階的にパタ
ーンマッチングを行う手法が考案され、高速化が計らて
いるが、あまり分解能を落とすと高い相関を持つ位置を
見落とす率が高くなるため、むやみに分解能を落とせず
演算回数を少なくするための決定的な改善にはなってい
ない。
【0011】2値画像を用い、ランレングスコードによ
り図形情報になおした後、登録図形を画面内で移動さ
せ、重ならない部分の面積の最小値を求めるという方法
では、面積等を求める画素毎の加算が、ランレングスコ
ード間の減算となり、計算量はかなり減少する。(特開
昭62ー249293)。しかしながらこれらの方法を
もってしても計算数量は大きく、充分な高速化は実現で
きていない。しかも、単一しきい値で2値化できない情
報は、相関に用いることができない。
り図形情報になおした後、登録図形を画面内で移動さ
せ、重ならない部分の面積の最小値を求めるという方法
では、面積等を求める画素毎の加算が、ランレングスコ
ード間の減算となり、計算量はかなり減少する。(特開
昭62ー249293)。しかしながらこれらの方法を
もってしても計算数量は大きく、充分な高速化は実現で
きていない。しかも、単一しきい値で2値化できない情
報は、相関に用いることができない。
【0012】本発明の目的は、パターンマッチングを高
速に行う画像処理装置を提供することである。
速に行う画像処理装置を提供することである。
【0013】
【課題を解決するための手段】本発明の画像処理装置
は、被検査画像と参照画像とのパターンマッチングを行
う画像処理装置において、前記被検査画像と参照画像
を、一端から他端に水平方向にアドレスを設定し、白黒
(黒白)変化点の位置を記録した、複数列からなる参照
画像・ランレングスコードと複数列からなる被検査画像
・ランレングスコードとに記録し、被検査画像・ランレ
ングスコードと参照画像・ランレングスコードとを相対
的に平行移動する平行移動手段と、前記被検査画像・ラ
ンレングスコードと参照画像・ランレングスコードの各
列ごとに、2つの画像のランレングスコードを論理積演
算するAND手段と、ランレングスコードから面積を計
測する面積計測手段と、面積から相関を算出する相関演
算手段を有する画像処理装置であって、前記平行移動手
段は、水平方向の移動は、参照画像・ランレングスコー
ドに水平方向の移動量を加算することにより、参照画像
・ランレングスコードを移動させ、縦方向の移動は前記
被検査画像を含む・ランレングスコードより、参照画像
に対応する、列を読み替えることにより、被検査画像・
ランレングスコードを縦方向に移動し、前記2つのラン
レングスコードを論理演算するAND手段は、前記ラン
レングスコードの、黒から白に変わるアドレスを左ラン
とし、白から黒に変わるアドレスを右ランとすると、各
ランレングスコードの奇数番目が左ランであり、偶数番
目が右ランであり、参照画像と被検査画像の2つのラン
レングスコードについて、各列ごとにランレングスコー
ドを1つのデータとして扱い、前記データをアドレスの
小さい順に並べ直し、参照画像と被検査画像との排他的
論理和画像・ランレングスコードを形成し、前記排他的
論理和画像・ランレングスコードの右ランのうち、参照
画像・ラン レングスコードと被検査画像・ランレングス
コードとの左ランと一致するものと、前記排他的論理和
画像・ランレングスコードの左ランのうち、参照画像ラ
ンレングスコードと被検査画像・ランレングスコードと
の右ランと一致するものとを残して論理積画像・ランレ
ングスコードを得る画像処理装置である。
は、被検査画像と参照画像とのパターンマッチングを行
う画像処理装置において、前記被検査画像と参照画像
を、一端から他端に水平方向にアドレスを設定し、白黒
(黒白)変化点の位置を記録した、複数列からなる参照
画像・ランレングスコードと複数列からなる被検査画像
・ランレングスコードとに記録し、被検査画像・ランレ
ングスコードと参照画像・ランレングスコードとを相対
的に平行移動する平行移動手段と、前記被検査画像・ラ
ンレングスコードと参照画像・ランレングスコードの各
列ごとに、2つの画像のランレングスコードを論理積演
算するAND手段と、ランレングスコードから面積を計
測する面積計測手段と、面積から相関を算出する相関演
算手段を有する画像処理装置であって、前記平行移動手
段は、水平方向の移動は、参照画像・ランレングスコー
ドに水平方向の移動量を加算することにより、参照画像
・ランレングスコードを移動させ、縦方向の移動は前記
被検査画像を含む・ランレングスコードより、参照画像
に対応する、列を読み替えることにより、被検査画像・
ランレングスコードを縦方向に移動し、前記2つのラン
レングスコードを論理演算するAND手段は、前記ラン
レングスコードの、黒から白に変わるアドレスを左ラン
とし、白から黒に変わるアドレスを右ランとすると、各
ランレングスコードの奇数番目が左ランであり、偶数番
目が右ランであり、参照画像と被検査画像の2つのラン
レングスコードについて、各列ごとにランレングスコー
ドを1つのデータとして扱い、前記データをアドレスの
小さい順に並べ直し、参照画像と被検査画像との排他的
論理和画像・ランレングスコードを形成し、前記排他的
論理和画像・ランレングスコードの右ランのうち、参照
画像・ラン レングスコードと被検査画像・ランレングス
コードとの左ランと一致するものと、前記排他的論理和
画像・ランレングスコードの左ランのうち、参照画像ラ
ンレングスコードと被検査画像・ランレングスコードと
の右ランと一致するものとを残して論理積画像・ランレ
ングスコードを得る画像処理装置である。
【0014】
【0015】
【0016】
【0017】
【0018】
【0019】
【0020】
【0021】
【0022】
【0023】
【0024】
【0025】
【0026】
【0027】
【0028】
【0029】
【0030】
【0031】
【0032】
【0033】
<実施例1> 〔〔画像処理装置の概要〕〕(図1、図2参照) 以下、本発明を図面に基づいて説明する。図1は本発明
の画像処理装置の一実施例を示す構成図である。図1に
於て、1はカメラ、2は1で取り込んだ画像から二値画
像を発生する二値化回路、12は二値画像から膨張二値
画像を発生する二値画像膨張手段、3は二値画像から二
値画像に復元可能な白黒境界だけのデータに圧縮するラ
ンレングスコード発生回路、4はランレングスコードか
らノイズを除去するノイズ除去手段、5は被検査画像の
ランレングスコードを記憶する被検査画像メモリ、6は
参照画像のランレングスコードを記憶する参照画像メモ
リ、7は参照画像を膨張して発生したマスク画像のラン
レングスコードを記憶するマスク画像メモリ、8は参照
画像とマスク画像を移動させる画像移動手段、9は被検
査画像と移動した参照画像とマスク画像から論理積演算
をするAND手段、10はランレングスコードから面積
を測定する面積計測手段、11は2つの面積からパター
ンマッチングに必要な相関計算を行う相関演算手段を示
している。
の画像処理装置の一実施例を示す構成図である。図1に
於て、1はカメラ、2は1で取り込んだ画像から二値画
像を発生する二値化回路、12は二値画像から膨張二値
画像を発生する二値画像膨張手段、3は二値画像から二
値画像に復元可能な白黒境界だけのデータに圧縮するラ
ンレングスコード発生回路、4はランレングスコードか
らノイズを除去するノイズ除去手段、5は被検査画像の
ランレングスコードを記憶する被検査画像メモリ、6は
参照画像のランレングスコードを記憶する参照画像メモ
リ、7は参照画像を膨張して発生したマスク画像のラン
レングスコードを記憶するマスク画像メモリ、8は参照
画像とマスク画像を移動させる画像移動手段、9は被検
査画像と移動した参照画像とマスク画像から論理積演算
をするAND手段、10はランレングスコードから面積
を測定する面積計測手段、11は2つの面積からパター
ンマッチングに必要な相関計算を行う相関演算手段を示
している。
【0034】本実施例では、図1に示した画像処理装置
を用いて、図2に示すような、T字型の形状の対象Rと
対象Rの背景(図2の斜線部)とを含んだ矩形状の領域
を参照画像として登録し、図3に示すような被検査画像
から対象Rとほぼ同じ形状、ほぼ同じ大きさ、ほぼ同じ
向きの対象を検出するまでの手順を説明する。
を用いて、図2に示すような、T字型の形状の対象Rと
対象Rの背景(図2の斜線部)とを含んだ矩形状の領域
を参照画像として登録し、図3に示すような被検査画像
から対象Rとほぼ同じ形状、ほぼ同じ大きさ、ほぼ同じ
向きの対象を検出するまでの手順を説明する。
【0035】本実施例では、説明の都合上、参照画像の
画素数を縦20画素・横20画素(以下、縦方向の画素
の並びを行、横方向の画素の並びを列として扱う)とす
るが、ロボット等による製造組立ライン等に用いられる
画像処理では参照画像として通常500×500画素程
度の画素の集合を扱っている。
画素数を縦20画素・横20画素(以下、縦方向の画素
の並びを行、横方向の画素の並びを列として扱う)とす
るが、ロボット等による製造組立ライン等に用いられる
画像処理では参照画像として通常500×500画素程
度の画素の集合を扱っている。
【0036】〔〔参照画像及びマスク画像の登録〕〕
(図2参照) 本実施例では、図2に示す参照画像とマスク画像及び図
3に示す被検査画像とをそれぞれ参照画像メモリ6(図
1参照)とマスク画像メモリ7と被検査画像メモリ5
(図1参照)とに記憶する。そこでまず、参照画像を参
照画像メモリ6に記憶し、マスク画像をマスク画像メモ
リ7に記憶するまでの手順を説明する。
(図2参照) 本実施例では、図2に示す参照画像とマスク画像及び図
3に示す被検査画像とをそれぞれ参照画像メモリ6(図
1参照)とマスク画像メモリ7と被検査画像メモリ5
(図1参照)とに記憶する。そこでまず、参照画像を参
照画像メモリ6に記憶し、マスク画像をマスク画像メモ
リ7に記憶するまでの手順を説明する。
【0037】〔カメラからの画像の取り込み〕(図2参
照) 図2に示す画像を、カメラ1(図1参照)により取り込
み、取り込んだアナログビデオ信号を同じくカメラ1に
よりA/D変換し、デジタル信号を二値化回路2(図1
参照)へ送出する。実際にはもっと大きな領域で画像を
取り込み、矩形とのAND手段等で図2に示すような領
域に切り出して使用するが、説明の都合上省略する。
照) 図2に示す画像を、カメラ1(図1参照)により取り込
み、取り込んだアナログビデオ信号を同じくカメラ1に
よりA/D変換し、デジタル信号を二値化回路2(図1
参照)へ送出する。実際にはもっと大きな領域で画像を
取り込み、矩形とのAND手段等で図2に示すような領
域に切り出して使用するが、説明の都合上省略する。
【0038】〔二値化処理〕(図6参照) カメラ1(図1参照)から送られてきたデジタル信号を
二値化回路2(図1参照)により20×20の画素とし
て二値化する。二値化した参照画像をコードとして表現
すると図6のようになる。図6において、最上段の0か
ら9の数字は、目安として付記したもので特別な意味は
ない。また、左の第1行目の1から20の数字は画素の
列を表し、以後、図6の上段から下段に従って順番に1
列、2列・・・と表記する。さらに、本実施例では、パ
ターンマッチングすべき対象Rを白、背景を黒とし、黒
を0、白を1として画像処理装置のメモリ上では扱って
いる。このような、20×20画素全部のコードをRA
M等のメモリに一時的に保持しておいても良いし、一走
査分だけのコードをRAM等のメモリに一時的に保持
し、一走査分(本実施例では20画素分)を後述するラ
ンレングスコード発生回路3(図1参照)によりランレ
ングスコード処理するという操作を繰り返し用いても良
い(その場合、本実施例では20回繰り返すことにな
る)。本実施例では20×20画素全部のコードをRA
Mに一時的に保持している。
二値化回路2(図1参照)により20×20の画素とし
て二値化する。二値化した参照画像をコードとして表現
すると図6のようになる。図6において、最上段の0か
ら9の数字は、目安として付記したもので特別な意味は
ない。また、左の第1行目の1から20の数字は画素の
列を表し、以後、図6の上段から下段に従って順番に1
列、2列・・・と表記する。さらに、本実施例では、パ
ターンマッチングすべき対象Rを白、背景を黒とし、黒
を0、白を1として画像処理装置のメモリ上では扱って
いる。このような、20×20画素全部のコードをRA
M等のメモリに一時的に保持しておいても良いし、一走
査分だけのコードをRAM等のメモリに一時的に保持
し、一走査分(本実施例では20画素分)を後述するラ
ンレングスコード発生回路3(図1参照)によりランレ
ングスコード処理するという操作を繰り返し用いても良
い(その場合、本実施例では20回繰り返すことにな
る)。本実施例では20×20画素全部のコードをRA
Mに一時的に保持している。
【0039】〔二値画像膨張処理〕(図12参照) 図6において、1つの画素に着目する。図12aに示す
ように、1つの画素は上下左右斜め上下合計8つの画素
で囲まれている。もし着目した画素の値が1の場合、該
画素を囲む8つの画素の値が全て1となるような処理
を、全ての画素について行うと、結果は図12bとなる
(説明の都合膨張結果は1のかわりに2と記す)。図1
2bに示される二値画像は、図6に示される二値画像の
周辺を1画素太らせた二値画像となっている。この処理
を二値画像の膨張処理とよぶ。膨張後の二値画像に同じ
処理を何回か繰り返し施す事により、任意の膨張二値画
像を発生させる事ができる。膨張二値画像は、膨張前の
二値画像の輪郭からほぼ等距離の領域を示す輪郭をもた
らす。本実施例では膨張二値画像そのものを参照画像の
相関領域として利用する。説明の都合上本実施令では相
関領域を示すマスク画像としては、図12bに示す1回
の膨張処理を行った膨張二値画像を用いる。
ように、1つの画素は上下左右斜め上下合計8つの画素
で囲まれている。もし着目した画素の値が1の場合、該
画素を囲む8つの画素の値が全て1となるような処理
を、全ての画素について行うと、結果は図12bとなる
(説明の都合膨張結果は1のかわりに2と記す)。図1
2bに示される二値画像は、図6に示される二値画像の
周辺を1画素太らせた二値画像となっている。この処理
を二値画像の膨張処理とよぶ。膨張後の二値画像に同じ
処理を何回か繰り返し施す事により、任意の膨張二値画
像を発生させる事ができる。膨張二値画像は、膨張前の
二値画像の輪郭からほぼ等距離の領域を示す輪郭をもた
らす。本実施例では膨張二値画像そのものを参照画像の
相関領域として利用する。説明の都合上本実施令では相
関領域を示すマスク画像としては、図12bに示す1回
の膨張処理を行った膨張二値画像を用いる。
【0040】〔ランレングスコードの発生〕(図7、図
8、図9参照) 前述したRAMに保持されている20×20画素のコー
ドから、ランレングスコード発生回路3によりランレン
グスコードが発生する。
8、図9参照) 前述したRAMに保持されている20×20画素のコー
ドから、ランレングスコード発生回路3によりランレン
グスコードが発生する。
【0041】本実施例ではランレングスコードを以下の
ように説明する。
ように説明する。
【0042】本実施例で用いるランレングスコードと
は、画面の左端から水平方向(図6横方向)にみた場合
の、黒白(白黒)変化点の位置(左ラン、右ラン)であ
る。ここで、黒(背景)から白(対象)に変わる位置を
左ランと表現し、白(対象)から黒(背景)に変わるラ
ンレングスコードを右ランと表現する。そうすると、画
面の左端から水平方向(図6横方向)にみているので、
左ランと右ランとの間が対象(白)となり、右ランと左
ランとの間が背景(黒)となる。
は、画面の左端から水平方向(図6横方向)にみた場合
の、黒白(白黒)変化点の位置(左ラン、右ラン)であ
る。ここで、黒(背景)から白(対象)に変わる位置を
左ランと表現し、白(対象)から黒(背景)に変わるラ
ンレングスコードを右ランと表現する。そうすると、画
面の左端から水平方向(図6横方向)にみているので、
左ランと右ランとの間が対象(白)となり、右ランと左
ランとの間が背景(黒)となる。
【0043】以上、ランレングスコードの定義に基づい
て、本実施例における参照画像である20×20の画素
のコードを左端から水平方向にランレングスコード処理
していくと図7のようになる。図7の左の第1行目の1
から20の数字は画素の列を表し、ランレングスコード
は図7の第2行目以降に表示している。
て、本実施例における参照画像である20×20の画素
のコードを左端から水平方向にランレングスコード処理
していくと図7のようになる。図7の左の第1行目の1
から20の数字は画素の列を表し、ランレングスコード
は図7の第2行目以降に表示している。
【0044】図2に示す参照画像から、あるいは図6に
示す二値化したコードから分かるように、対象Rの左側
(図2参照)は背景であり、ランレングスコードは、各
列において、背景、対象R、背景、対象R・・・の順に
並んだランレングスコードということになる(前述した
定義によれば、左ラン、右ラン、左ラン・・・の順に並
ぶ)。同じく、対象Rの右側(図2参照)も背景である
ので、各列における最後のランレングスコードは背景の
ランレングスコード(左ラン)であり、本実施例では一
列20画素であるので各列における最後のランレングス
コードは全て20(左ラン)となる。このような理由か
ら各列最後のランレングスコードはあえてメモリ上に記
憶する必要がないが、本実施例では、説明の都合によ
り、各列最後のランレングスコードもメモリに記憶す
る。
示す二値化したコードから分かるように、対象Rの左側
(図2参照)は背景であり、ランレングスコードは、各
列において、背景、対象R、背景、対象R・・・の順に
並んだランレングスコードということになる(前述した
定義によれば、左ラン、右ラン、左ラン・・・の順に並
ぶ)。同じく、対象Rの右側(図2参照)も背景である
ので、各列における最後のランレングスコードは背景の
ランレングスコード(左ラン)であり、本実施例では一
列20画素であるので各列における最後のランレングス
コードは全て20(左ラン)となる。このような理由か
ら各列最後のランレングスコードはあえてメモリ上に記
憶する必要がないが、本実施例では、説明の都合によ
り、各列最後のランレングスコードもメモリに記憶す
る。
【0045】ランレングスコードを画像処理装置のメモ
リ上に保持する際、図7に示すような形式でランレング
スコードを保持するわけではなく、実際には、一次元の
配列としてメモリ上に保持し、ランレングスコードを記
憶しているメモリをアクセスする際は、ランレングスコ
ードを記憶しているメモリ上の物理的なアドレスを用い
てアクセスすることになる。図8は、ランレングスコー
ドを記憶しているメモリの内容を模式的に表現したもの
であり、上段がメモリ上のアドレスであり、下段が上段
のアドレスに対応するランレングスコードである。
リ上に保持する際、図7に示すような形式でランレング
スコードを保持するわけではなく、実際には、一次元の
配列としてメモリ上に保持し、ランレングスコードを記
憶しているメモリをアクセスする際は、ランレングスコ
ードを記憶しているメモリ上の物理的なアドレスを用い
てアクセスすることになる。図8は、ランレングスコー
ドを記憶しているメモリの内容を模式的に表現したもの
であり、上段がメモリ上のアドレスであり、下段が上段
のアドレスに対応するランレングスコードである。
【0046】図8に示すようなランレングスコードのア
クセスの高速化のために、本実施例では、各列の最初
(左端)のランレングスコードのアドレスを各列単位に
テーブルに記憶する。図9は、列と列に対応する最初
(左端)のランレングスコードとの対応を示すテーブル
である。例えば、3列目のランレングスコードをアクセ
スする際は、図9に示す第3列に対応するアドレスが4
であるから、メモリ上のアドレスが4(図8参照)であ
るところをアクセスし、順次、アドレス=5、アドレス
=6の示す場所をアクセスすれば良い。
クセスの高速化のために、本実施例では、各列の最初
(左端)のランレングスコードのアドレスを各列単位に
テーブルに記憶する。図9は、列と列に対応する最初
(左端)のランレングスコードとの対応を示すテーブル
である。例えば、3列目のランレングスコードをアクセ
スする際は、図9に示す第3列に対応するアドレスが4
であるから、メモリ上のアドレスが4(図8参照)であ
るところをアクセスし、順次、アドレス=5、アドレス
=6の示す場所をアクセスすれば良い。
【0047】〔ノイズの除去〕(図4参照) 最初にランレングスコードを発生させた状態では、参照
画像の大きさに対して充分小さな対象が数多く存在す
る。これらは、ほとんどがデジタルノイズであり、特
に、1画素程度のデジタルノイズは良く存在する。これ
らデジタルノイズをノイズ除去手段4(図1参照)によ
り整理する。
画像の大きさに対して充分小さな対象が数多く存在す
る。これらは、ほとんどがデジタルノイズであり、特
に、1画素程度のデジタルノイズは良く存在する。これ
らデジタルノイズをノイズ除去手段4(図1参照)によ
り整理する。
【0048】図4は、ノイズ除去手段4の処理を視覚的
に表現したものであり、図4(a)はノイズ除去を行う
前を示し、二値化回路2(図1参照)により二値化され
た画像の一走査分の画像(図6の二値化表現された画像
の一列に相当)を凸部と凹部とにより表現したものであ
る。図4において、凸部は対象(白;図6では1)を示
し、凹部は背景(黒;図6では0)を示している。
に表現したものであり、図4(a)はノイズ除去を行う
前を示し、二値化回路2(図1参照)により二値化され
た画像の一走査分の画像(図6の二値化表現された画像
の一列に相当)を凸部と凹部とにより表現したものであ
る。図4において、凸部は対象(白;図6では1)を示
し、凹部は背景(黒;図6では0)を示している。
【0049】本発明の画像処理はほとんどの処理におい
てランレングスコードを用いている。このため、前述し
たように凸部の左端を左ランとして、凸部の右端を右ラ
ンとして扱い、右ランから左ラン(図4の左から見て、
その右ランのひとつ手前の左ラン)を差し引いて対象の
幅を算出し、算出された対象の幅が予め指定しておいた
指定ノイズ幅Lよりも小さい場合、その対象をノイズと
見なし除去する。対象がノイズであると見なされた場
合、左ラン及び右ランを対で消去する。具体的には、図
8に示すランレングスコードの対応する部分を消去し、
その後に記憶されているランレングスコードを前に詰め
ていくという作業を行うことになる。従って、図9に示
すアドレスのテーブルも更新される。
てランレングスコードを用いている。このため、前述し
たように凸部の左端を左ランとして、凸部の右端を右ラ
ンとして扱い、右ランから左ラン(図4の左から見て、
その右ランのひとつ手前の左ラン)を差し引いて対象の
幅を算出し、算出された対象の幅が予め指定しておいた
指定ノイズ幅Lよりも小さい場合、その対象をノイズと
見なし除去する。対象がノイズであると見なされた場
合、左ラン及び右ランを対で消去する。具体的には、図
8に示すランレングスコードの対応する部分を消去し、
その後に記憶されているランレングスコードを前に詰め
ていくという作業を行うことになる。従って、図9に示
すアドレスのテーブルも更新される。
【0050】別途背景に対しても同じことを行う。この
時、指定ノイズ幅L’は、通常、対象に対して用いた指
定ノイズ幅Lと同じでも良いが、実際には、取り扱う画
像の性質により、LとL’の値を変えると便利なことも
多い。さらに、強制的に対象を結合させたり引き離した
りする目的で、背景のノイズを除去した後に対象のノイ
ズを除去したり、対象及び背景のノイズ除去を交互に何
回も実行することにより、ノイズ除去の効果を高めるこ
ともできる。
時、指定ノイズ幅L’は、通常、対象に対して用いた指
定ノイズ幅Lと同じでも良いが、実際には、取り扱う画
像の性質により、LとL’の値を変えると便利なことも
多い。さらに、強制的に対象を結合させたり引き離した
りする目的で、背景のノイズを除去した後に対象のノイ
ズを除去したり、対象及び背景のノイズ除去を交互に何
回も実行することにより、ノイズ除去の効果を高めるこ
ともできる。
【0051】図4(b)は図4(a)に示した一走査分
の画像をノイズ除去手段4によりノイズ除去した結果を
表現している。
の画像をノイズ除去手段4によりノイズ除去した結果を
表現している。
【0052】ノイズ除去という作業を行わなくとも本発
明の目的であるパターンマッチングは可能である。しか
し、ノイズが多いにも係わらずそのまま処理を続ける
と、ノイズはランレングスコードとして存在し、そのた
め必要以上にメモリを使ってしまい、さらに、存在する
ランレングスコードの数に応じて後述する相関演算を意
味もなく繰り返すため時間的ロスが生じてしまう。この
ような理由から、パターンマッチング、特に画像処理装
置を取りまく環境が理想的とは言い難い製造組立ライン
等に用いられるパターンマッチングにおいて、メモリの
節約、処理の高速化にノイズ除去は有効な手段となって
いる。また、本発明のノイズ除去は、図6に示すような
二値画像を用いてノイズ除去を行うのではなく、ランレ
ングスコードを用いて行っているため、計算の処理回数
が少なくてすみ、一層の高速処理を実現している。例え
ば、図6に示す二値画像(この画像にはノイズは無い
が)から画像処理で良く用いられている8連結孤立点除
去オペレーションにより(対象に対する)ノイズ除去を
行うとすれば8(近傍点)×105(図6中の1の個
数)=840回もの1か0かの比較計算をする必要があ
るのに対し、図8及び図9に示すランレングスコードと
アドレスとを用いれば18(=ランレングスコードの数
/2)回の右ランから左ランの減算とLに対する大小比
較ですむ。このような傾向は、取り扱う画素数が増大す
るのに従って顕著に現れる。通常、製造組立ライン等で
は500×500画素を扱うが、そのような場合、(画
像の性質にもよるが)1000〜100分の1程度の処
理ですむ。
明の目的であるパターンマッチングは可能である。しか
し、ノイズが多いにも係わらずそのまま処理を続ける
と、ノイズはランレングスコードとして存在し、そのた
め必要以上にメモリを使ってしまい、さらに、存在する
ランレングスコードの数に応じて後述する相関演算を意
味もなく繰り返すため時間的ロスが生じてしまう。この
ような理由から、パターンマッチング、特に画像処理装
置を取りまく環境が理想的とは言い難い製造組立ライン
等に用いられるパターンマッチングにおいて、メモリの
節約、処理の高速化にノイズ除去は有効な手段となって
いる。また、本発明のノイズ除去は、図6に示すような
二値画像を用いてノイズ除去を行うのではなく、ランレ
ングスコードを用いて行っているため、計算の処理回数
が少なくてすみ、一層の高速処理を実現している。例え
ば、図6に示す二値画像(この画像にはノイズは無い
が)から画像処理で良く用いられている8連結孤立点除
去オペレーションにより(対象に対する)ノイズ除去を
行うとすれば8(近傍点)×105(図6中の1の個
数)=840回もの1か0かの比較計算をする必要があ
るのに対し、図8及び図9に示すランレングスコードと
アドレスとを用いれば18(=ランレングスコードの数
/2)回の右ランから左ランの減算とLに対する大小比
較ですむ。このような傾向は、取り扱う画素数が増大す
るのに従って顕著に現れる。通常、製造組立ライン等で
は500×500画素を扱うが、そのような場合、(画
像の性質にもよるが)1000〜100分の1程度の処
理ですむ。
【0053】指定ノイズ幅は、参照画像の画素数や背景
・対象の鮮明度等に応じて作業者が適当に指定する。本
実施例の参照画像の画素数は20×20画素と極めて小
さく、ノイズ除去手段4を用いると、登録すべき対象の
情報を正確に登録できなくなる。このため、本実施例に
おいては、ノイズ除去手段は用いないこととする(もし
くは、指定ノイズ幅=0とする)。
・対象の鮮明度等に応じて作業者が適当に指定する。本
実施例の参照画像の画素数は20×20画素と極めて小
さく、ノイズ除去手段4を用いると、登録すべき対象の
情報を正確に登録できなくなる。このため、本実施例に
おいては、ノイズ除去手段は用いないこととする(もし
くは、指定ノイズ幅=0とする)。
【0054】〔参照画像メモリ及びマスク画像メモリへ
の登録〕ノイズ除去後、図8に示すランレングスコード
と図9に示す各列の最初(左端)のランレングスコード
のアドレスのテーブルとを参照画像メモリ6(図1参
照)に登録する。マスク画像についても参照画像と同様
の手続きによりマスク画像メモリ7へ登録する。
の登録〕ノイズ除去後、図8に示すランレングスコード
と図9に示す各列の最初(左端)のランレングスコード
のアドレスのテーブルとを参照画像メモリ6(図1参
照)に登録する。マスク画像についても参照画像と同様
の手続きによりマスク画像メモリ7へ登録する。
【0055】〔〔被検査画像の登録〕〕(図1、図3参
照) 以上、参照画像の登録処理の手順を示してきた。続い
て、図3に示す被検査画像の登録処理を行う。
照) 以上、参照画像の登録処理の手順を示してきた。続い
て、図3に示す被検査画像の登録処理を行う。
【0056】被検査画像の登録も参照画像の登録と同
様、カメラ1により被検査画像を取り込み、取り込んだ
アナログビデオ信号を同じくカメラ1によりA/D変換
し、デジタル信号を二値化回路2(図1参照)により二
値化する。本実施例で扱う被検査画像の二値画像は30
×30の画素である。二値化した被検査画像をコードと
して表現すると図10のようになる。図6同様、図10
において、最上段の0から9の数字は、目安として付記
したもので特別な意味はなく、また、左の第1行目の1
から30の数字は画素の列を表している。
様、カメラ1により被検査画像を取り込み、取り込んだ
アナログビデオ信号を同じくカメラ1によりA/D変換
し、デジタル信号を二値化回路2(図1参照)により二
値化する。本実施例で扱う被検査画像の二値画像は30
×30の画素である。二値化した被検査画像をコードと
して表現すると図10のようになる。図6同様、図10
において、最上段の0から9の数字は、目安として付記
したもので特別な意味はなく、また、左の第1行目の1
から30の数字は画素の列を表している。
【0057】続いて、二値画像をランレングスコード発
生回路3によりランレングスコード化し、さらに、ノイ
ズ除去手段4によりノイズ除去後、被検査画像メモリ5
に登録する。被検査画像についても、図8に示すランレ
ングスコードと図9に示す各列の最初(左端)のランレ
ングスコードのアドレスのテーブルとを登録する。
生回路3によりランレングスコード化し、さらに、ノイ
ズ除去手段4によりノイズ除去後、被検査画像メモリ5
に登録する。被検査画像についても、図8に示すランレ
ングスコードと図9に示す各列の最初(左端)のランレ
ングスコードのアドレスのテーブルとを登録する。
【0058】〔〔基準点の設定〕〕(図2参照) 参照画像の左ランと右ランとの中から図2に示すように
任意に基準点Pn (n=1,2,3,・・・ )を数点抽出する。1
点ではなく数点抽出しておく理由は、被検査画像が何ら
かの欠損を受け、参照画像と比較する場合、被検査画像
上の一致するはずの基準点に対応する部分が欠落して、
パターンマッチングが行えないという事態を防ぐためで
ある。このような理由から、複数の基準点は参照画像の
白黒境界の中でお互いに離れた位置を採るべきである。
劣悪な検査条件の中で登録物体の位置や類似度を検出す
る様な場合は複数点を用いるが、画像の欠陥の有無だけ
を調べる場合は、基準点は1つでも構わない。
任意に基準点Pn (n=1,2,3,・・・ )を数点抽出する。1
点ではなく数点抽出しておく理由は、被検査画像が何ら
かの欠損を受け、参照画像と比較する場合、被検査画像
上の一致するはずの基準点に対応する部分が欠落して、
パターンマッチングが行えないという事態を防ぐためで
ある。このような理由から、複数の基準点は参照画像の
白黒境界の中でお互いに離れた位置を採るべきである。
劣悪な検査条件の中で登録物体の位置や類似度を検出す
る様な場合は複数点を用いるが、画像の欠陥の有無だけ
を調べる場合は、基準点は1つでも構わない。
【0059】〔〔参照画像とマスク画像の被検査画像上
の移動〕〕(図3参照) 本発明では、相関演算を用いてパターンマッチングを行
っている。相関とは、後述するように参照画像と被検査
画像との一致度の指標である。この相関演算を行うため
には、被検査画像上の適当な場所に参照画像を重ね合わ
せる必要がある。この重ね合わせは被検査画像全体(実
際には、参照画像は被検査画像に含まれる一部分である
から、被検査画像から参照画像の大きさを引いた領域)
に対して行う。つまり、重ね合わせる場所を移動し、そ
の都度相関演算を行い、最も大きな相関が得られた場所
の決定をしてパターンマッチングが完了するわけであ
る。この重ね合わせの前手続きを、参照画像の被検査画
像上の移動と呼んでいる(ここでは詳述しないが、後述
の相関演算の必要から、マスク画像も参照画像と一緒に
移動しなければならない)。参照画像の移動の最も単純
な方法として、被検査画像上を一画素づつ参照画像を移
動するという方法があるが、この方法では、被検査画像
の画素数に応じて計算量が増大するためあまり効率的な
方法ではない。
の移動〕〕(図3参照) 本発明では、相関演算を用いてパターンマッチングを行
っている。相関とは、後述するように参照画像と被検査
画像との一致度の指標である。この相関演算を行うため
には、被検査画像上の適当な場所に参照画像を重ね合わ
せる必要がある。この重ね合わせは被検査画像全体(実
際には、参照画像は被検査画像に含まれる一部分である
から、被検査画像から参照画像の大きさを引いた領域)
に対して行う。つまり、重ね合わせる場所を移動し、そ
の都度相関演算を行い、最も大きな相関が得られた場所
の決定をしてパターンマッチングが完了するわけであ
る。この重ね合わせの前手続きを、参照画像の被検査画
像上の移動と呼んでいる(ここでは詳述しないが、後述
の相関演算の必要から、マスク画像も参照画像と一緒に
移動しなければならない)。参照画像の移動の最も単純
な方法として、被検査画像上を一画素づつ参照画像を移
動するという方法があるが、この方法では、被検査画像
の画素数に応じて計算量が増大するためあまり効率的な
方法ではない。
【0060】このため、本実施例では、最初に前述した
参照画像のランレングスコード上の基準点Pn (n=1,2,
3,・・・ )と被検査画像のランレングスコードとを用いて
参照画像を移動する事によって処理の高速化を実現して
いる。さらに検出した高い相関を示す位置周辺を、全体
からは無視し得る範囲で画素単位で検索することによっ
て、画素以上の精度を確保することもできる。
参照画像のランレングスコード上の基準点Pn (n=1,2,
3,・・・ )と被検査画像のランレングスコードとを用いて
参照画像を移動する事によって処理の高速化を実現して
いる。さらに検出した高い相関を示す位置周辺を、全体
からは無視し得る範囲で画素単位で検索することによっ
て、画素以上の精度を確保することもできる。
【0061】具体的には、基準点Pn が左ランであれば
被検査画像の左ランのみに一致させ、基準点Pn が右ラ
ンであれば被検査画像の右ランのみに一致させる。この
操作は基準点の数だけ行う。横方向の画像の移動は、参
照画像上の基準点Pn が一致した被検査画像の左ラン
(もしくは右ラン)から参照画像の基準点の左ラン(も
しくは右ラン)を差し引いた値を移動量とし、参照画像
の各々のランレングスコードに移動量を加算することに
より実現できる。また、縦方向の移動は、参照画像に対
応する被検査画像のランレングスコードの列を読み替え
ることにより実現できる。
被検査画像の左ランのみに一致させ、基準点Pn が右ラ
ンであれば被検査画像の右ランのみに一致させる。この
操作は基準点の数だけ行う。横方向の画像の移動は、参
照画像上の基準点Pn が一致した被検査画像の左ラン
(もしくは右ラン)から参照画像の基準点の左ラン(も
しくは右ラン)を差し引いた値を移動量とし、参照画像
の各々のランレングスコードに移動量を加算することに
より実現できる。また、縦方向の移動は、参照画像に対
応する被検査画像のランレングスコードの列を読み替え
ることにより実現できる。
【0062】例えば、参照画像の基準点P1 は右ランで
あるので、メモリに保持している被検査画像の右ランを
順にアクセスする。図3および図10に示す被検査画像
において、最初に右ランが現れるのは点Q1 であるの
で、まず基準点P1 を点Q1 に一致させる。基準点P1
は図6における第3列であり、基準点P1 の右ランは1
2(図7参照)である。それに対し、点Q1 の右ランが
22(図10参照)であるとし、点Q1 が第7列にある
とすれば、水平方向(横方向)移動量は、22−12=
10であり、被検査画像の相関演算の対象となる列は、
P1 が参照画像の2列目にあることを考慮すると、図1
0の第5列目(対象の存在する領域ではなく、参照画像
の登録領域)からである。したがって、参照画像の全て
のランレングスコードに水平方向移動量を加算し、被検
査画像の第5列目から、参照画像の大きさを考慮して第
24列目までのランレングスコードを取り出して、加算
した参照画像のランレングスコードと取り出した被検査
画像のランレングスコードとを用いて以後説明する手順
に従い相関演算を行う。
あるので、メモリに保持している被検査画像の右ランを
順にアクセスする。図3および図10に示す被検査画像
において、最初に右ランが現れるのは点Q1 であるの
で、まず基準点P1 を点Q1 に一致させる。基準点P1
は図6における第3列であり、基準点P1 の右ランは1
2(図7参照)である。それに対し、点Q1 の右ランが
22(図10参照)であるとし、点Q1 が第7列にある
とすれば、水平方向(横方向)移動量は、22−12=
10であり、被検査画像の相関演算の対象となる列は、
P1 が参照画像の2列目にあることを考慮すると、図1
0の第5列目(対象の存在する領域ではなく、参照画像
の登録領域)からである。したがって、参照画像の全て
のランレングスコードに水平方向移動量を加算し、被検
査画像の第5列目から、参照画像の大きさを考慮して第
24列目までのランレングスコードを取り出して、加算
した参照画像のランレングスコードと取り出した被検査
画像のランレングスコードとを用いて以後説明する手順
に従い相関演算を行う。
【0063】以上が、参照画像の被検査画像上の移動で
あり、このような処理は画像移動手段8(図1参照)に
より行われ、続いて、後述するAND処理、面積計測、
相関演算の順で処理がなされ、その後、再びこの画像移
動手段8は参照画像を移動する。例えば、基準点P1 は
右ランであるので、被検査画像の最後の右ランまで移動
と相関演算とを繰り返す。また、被検査画像上の一致す
るはずの基準点P1 に対応する部分が欠落していて、あ
まり良い相関が得られない場合がある。このため、本発
明では、基準点は一点だけではなく複数用意する。例え
ば、本実施例では、基準点P1 と被検査画像の最後の右
ランとを一致させ相関演算した後、基準点を基準点P2
に換えて再度繰り返す。このような処理は、最後の基準
点まで繰り返される。
あり、このような処理は画像移動手段8(図1参照)に
より行われ、続いて、後述するAND処理、面積計測、
相関演算の順で処理がなされ、その後、再びこの画像移
動手段8は参照画像を移動する。例えば、基準点P1 は
右ランであるので、被検査画像の最後の右ランまで移動
と相関演算とを繰り返す。また、被検査画像上の一致す
るはずの基準点P1 に対応する部分が欠落していて、あ
まり良い相関が得られない場合がある。このため、本発
明では、基準点は一点だけではなく複数用意する。例え
ば、本実施例では、基準点P1 と被検査画像の最後の右
ランとを一致させ相関演算した後、基準点を基準点P2
に換えて再度繰り返す。このような処理は、最後の基準
点まで繰り返される。
【0064】以上、本発明の移動方法は、一つの基準点
に関して言えば、どんなに多くとも、基準点が右ランで
あれば、被検査画像の右ランの個数だけ繰り返せば良
く、従来の画素単位の移動と比較しても、圧倒的に高速
な移動を実現し得るものである。
に関して言えば、どんなに多くとも、基準点が右ランで
あれば、被検査画像の右ランの個数だけ繰り返せば良
く、従来の画素単位の移動と比較しても、圧倒的に高速
な移動を実現し得るものである。
【0065】〔〔AND処理〕〕(図5参照) 被検査画像から取り出したランレングスコードと移動し
た(移動量だけ加算してある)参照画像のランレングス
コードとから、AND手段9(図1参照)により、論理
積演算を行い共通領域を示す論理積ランレングスコード
を算出する。また、被検査画像から取り出したランレン
グスコードと、参照画像と一緒に移動したマスク画像の
ランレングスコードとから、AND手段9(図1参照)
により、論理積演算を行い相関領域を示す論理積ランレ
ングスコードを算出する。
た(移動量だけ加算してある)参照画像のランレングス
コードとから、AND手段9(図1参照)により、論理
積演算を行い共通領域を示す論理積ランレングスコード
を算出する。また、被検査画像から取り出したランレン
グスコードと、参照画像と一緒に移動したマスク画像の
ランレングスコードとから、AND手段9(図1参照)
により、論理積演算を行い相関領域を示す論理積ランレ
ングスコードを算出する。
【0066】図5を用いてAND処理の概念を説明す
る。図5に示すαとβとは、一列のランレングスコード
に対応する2値画像である。図5においても、図4と同
様、凹部が背景、凸部が対象である。2値画像γは、
α、βのランレングスコードを、本発明のAND手段9
にて処理した結果を、図5に示すように2値画像で表し
たものが、2値画像γである。図5に示すように、2値
画像α、βどちらについても凸部であったところのみが
2値画像γでは凸部となり、2値画像α、βどちらか一
方が凸部であったり、2値画像α、βどちらとも凹部で
あったところは2値画像γでは凹部となる。
る。図5に示すαとβとは、一列のランレングスコード
に対応する2値画像である。図5においても、図4と同
様、凹部が背景、凸部が対象である。2値画像γは、
α、βのランレングスコードを、本発明のAND手段9
にて処理した結果を、図5に示すように2値画像で表し
たものが、2値画像γである。図5に示すように、2値
画像α、βどちらについても凸部であったところのみが
2値画像γでは凸部となり、2値画像α、βどちらか一
方が凸部であったり、2値画像α、βどちらとも凹部で
あったところは2値画像γでは凹部となる。
【0067】この操作は、以下のように行う。まず2値
画像αとβのランレングスコードデータを1つのデータ
と見て、座標値の小さい順に左から並べ直し、1つのラ
ンレングスコードとし、αとβの排他的論理和画像・ラ
ンレングスコードを得る。 図5において、2値画像αと
βの排他的論理和を示してあり、ここにおいて、各ラン
レングスコードの奇数番目が左ランであり、偶数番目が
右ランである。 以下説明のために、図5に示す2値画像
にて概念を説明する。次に排他的論理和の右ランを、も
との2値画像αとβの左ランと比較し、一致する物を残
す。さらに、排他的論理和の左ランを、もとの画像αと
βの右ランと比較し、一致する物を残す。この結果AN
D画像が得られる。(同様に、排他的論理和の左ランを
もとの画像αとβの左ランと比較し、一致する物を残
し、排他的論理和の右ランを、もとの画像αとβの右ラ
ンと比較し、一致する物を残すことにより、OR(論理
和)画像を得る事もできる。)
画像αとβのランレングスコードデータを1つのデータ
と見て、座標値の小さい順に左から並べ直し、1つのラ
ンレングスコードとし、αとβの排他的論理和画像・ラ
ンレングスコードを得る。 図5において、2値画像αと
βの排他的論理和を示してあり、ここにおいて、各ラン
レングスコードの奇数番目が左ランであり、偶数番目が
右ランである。 以下説明のために、図5に示す2値画像
にて概念を説明する。次に排他的論理和の右ランを、も
との2値画像αとβの左ランと比較し、一致する物を残
す。さらに、排他的論理和の左ランを、もとの画像αと
βの右ランと比較し、一致する物を残す。この結果AN
D画像が得られる。(同様に、排他的論理和の左ランを
もとの画像αとβの左ランと比較し、一致する物を残
し、排他的論理和の右ランを、もとの画像αとβの右ラ
ンと比較し、一致する物を残すことにより、OR(論理
和)画像を得る事もできる。)
【0068】つまり、2値画像γが、α及びβの共通領
域を示す論理積であり、このような処理を被検査画像か
ら取り出したランレングスコードと移動した(移動量だ
け加算してある)参照画像のランレングスコードとで行
う。AND処理は各列毎に行う。本実施例では、参照画
像の列の数が20列であるので、AND処理は、前述し
た一回の移動について20回行う。ランレングスコード
を用いると、図6と図10に示すような、各々の画面に
ランレングスコードのペアが1個程度しかない場合は、
ソートの為に座標値を一行あたり2回程度比較すること
でAND処理を実現できるし、ランレングスコードの数
が変わらなければ画素数が増えても比較回数は変わらな
い。これに対し画素ごとのAND処理を施した場合、図
6の大きさで1行あたり20回、500×500画素の
画像では500回を要する。
域を示す論理積であり、このような処理を被検査画像か
ら取り出したランレングスコードと移動した(移動量だ
け加算してある)参照画像のランレングスコードとで行
う。AND処理は各列毎に行う。本実施例では、参照画
像の列の数が20列であるので、AND処理は、前述し
た一回の移動について20回行う。ランレングスコード
を用いると、図6と図10に示すような、各々の画面に
ランレングスコードのペアが1個程度しかない場合は、
ソートの為に座標値を一行あたり2回程度比較すること
でAND処理を実現できるし、ランレングスコードの数
が変わらなければ画素数が増えても比較回数は変わらな
い。これに対し画素ごとのAND処理を施した場合、図
6の大きさで1行あたり20回、500×500画素の
画像では500回を要する。
【0069】〔〔面積計測〕〕後述する相関演算に必要
なパラメータとして参照画像の面積、参照画像と被検査
画像との論理積ランレングスコードの面積、移動したマ
スク画像領域内の被検査画像の面積をそれぞれ求めてお
く必要がある。これらの面積計測は面積計測手段10
(図1参照)により行う。本発明では、面積計測につい
てもランレングスコードを用いている。このため、本発
明の面積計測によれば、二値画像の画素を数えて面積を
計測する方法に比べて処理回数を激減でき高速処理が実
現できる。例えば、本実施例では、一回の移動につい
て、従来の方法であれば20×20×2=800回の計
算が必要となるが、本発明による面積計測では20×2
=40回程度の計算で済む。このような傾向は、画像処
理装置が扱う画素数に応じて顕著になり、製造組立ライ
ン等に用いられる画像処理では通常500×500程度
の画素を扱うため、本実施例の画像をそのまま高分解能
化したと想定すると、250分の1程度に処理回数が激
減できる。
なパラメータとして参照画像の面積、参照画像と被検査
画像との論理積ランレングスコードの面積、移動したマ
スク画像領域内の被検査画像の面積をそれぞれ求めてお
く必要がある。これらの面積計測は面積計測手段10
(図1参照)により行う。本発明では、面積計測につい
てもランレングスコードを用いている。このため、本発
明の面積計測によれば、二値画像の画素を数えて面積を
計測する方法に比べて処理回数を激減でき高速処理が実
現できる。例えば、本実施例では、一回の移動につい
て、従来の方法であれば20×20×2=800回の計
算が必要となるが、本発明による面積計測では20×2
=40回程度の計算で済む。このような傾向は、画像処
理装置が扱う画素数に応じて顕著になり、製造組立ライ
ン等に用いられる画像処理では通常500×500程度
の画素を扱うため、本実施例の画像をそのまま高分解能
化したと想定すると、250分の1程度に処理回数が激
減できる。
【0070】〔参照画像とマスク画像の面積計測〕参照
画像のランレングスコードの凸部(対象)の総和を求め
ることにより、参照画像の面積を得る。凸部の総和は、
右ランから右ランと対の左ランを差し引くことによって
凸部の長さを求め、この凸部の長さを全ての列について
累積することによって求める。同様にマスク画像の面積
を得る。参照画像とマスク画像の面積は、一度求めてお
けば良く、移動の度に求める必要はない。
画像のランレングスコードの凸部(対象)の総和を求め
ることにより、参照画像の面積を得る。凸部の総和は、
右ランから右ランと対の左ランを差し引くことによって
凸部の長さを求め、この凸部の長さを全ての列について
累積することによって求める。同様にマスク画像の面積
を得る。参照画像とマスク画像の面積は、一度求めてお
けば良く、移動の度に求める必要はない。
【0071】〔マスク画像領域内の被検査画像の面積計
測〕マスク画像と被検査画像のAND処理された論理積
ランレングスコードの凸部(対象)の総和を求めること
により、被検査画像の面積を得る。凸部の総和は、右ラ
ンから右ランと対の左ランを差し引くことによって凸部
の長さを求め、この凸部の長さを全ての列について累積
することによって求める。
測〕マスク画像と被検査画像のAND処理された論理積
ランレングスコードの凸部(対象)の総和を求めること
により、被検査画像の面積を得る。凸部の総和は、右ラ
ンから右ランと対の左ランを差し引くことによって凸部
の長さを求め、この凸部の長さを全ての列について累積
することによって求める。
【0072】〔参照画像と被検査画像との論理積ランレ
ングスコードの面積計測〕参照画像と被検査画像のAN
D処理された論理積ランレングスコードの凸部の総和を
求めることにより、共通領域の面積を得る。凸部の総和
は、右ランから右ランと対の左ランを差し引くことによ
って共通領域の長さを求め、これを対になっている全て
のランレングスコードについて行い、各共通領域の長さ
を累積することによって求める。
ングスコードの面積計測〕参照画像と被検査画像のAN
D処理された論理積ランレングスコードの凸部の総和を
求めることにより、共通領域の面積を得る。凸部の総和
は、右ランから右ランと対の左ランを差し引くことによ
って共通領域の長さを求め、これを対になっている全て
のランレングスコードについて行い、各共通領域の長さ
を累積することによって求める。
【0073】〔〔相関演算〕〕(数3参照) 参照画像の面積をA、参照画像と被検査画像との論理積
ランレングスコードの面積をT、マスク画像内の被検査
画像の面積をBとすると、正規化相関SBは数3を用い
て算出される。これは相関演算手段11により計算され
る。
ランレングスコードの面積をT、マスク画像内の被検査
画像の面積をBとすると、正規化相関SBは数3を用い
て算出される。これは相関演算手段11により計算され
る。
【0074】
【数3】
【0075】ここで、本来ならば、正規化相関C(数
2)に対応する正規化相関CB(数4)を用いた方が、
より正確に相関値を求められるが、説明の容易さを考慮
して、ここでは数3を求める手順を説明することとす
る。
2)に対応する正規化相関CB(数4)を用いた方が、
より正確に相関値を求められるが、説明の容易さを考慮
して、ここでは数3を求める手順を説明することとす
る。
【0076】
【数4】
【0077】〔〔最大値検索〕〕参照画像の全移動およ
び全基準点について相関演算を行い、その結果として得
られた最も大きな正規化相関SBを算出したところの参
照画像の位置の検出をもってしてパターンマッチングが
完了する。つまり、正規化相関SBの最大値検索を行う
ことによりパターンマッチングが行える。正規化相関S
Bは参照画像と被検査画像との一致度を示し、最大値が
得られる座標は被検査画像中の参照画像に最も近いパタ
ーンの存在する位置を示している。
び全基準点について相関演算を行い、その結果として得
られた最も大きな正規化相関SBを算出したところの参
照画像の位置の検出をもってしてパターンマッチングが
完了する。つまり、正規化相関SBの最大値検索を行う
ことによりパターンマッチングが行える。正規化相関S
Bは参照画像と被検査画像との一致度を示し、最大値が
得られる座標は被検査画像中の参照画像に最も近いパタ
ーンの存在する位置を示している。
【0078】しかしながら、被検査画像中に参照画像中
の対象と一致する対象がそもそも存在しない場合もあ
る。この場合、最大値の正規化相関SBであってその最
大値を示す参照画像の位置が正しいとは言えない。この
ため、本発明では、正規化相関にしきい値を設定してお
き、予め設定しておいたしきい値に正規化相関の最大値
が満たない場合は、被検査画像中にそもそも参照画像の
対象が存在しなかったという判断をする。また、これよ
り大きな別のしきい値を用いて、ひとつの基準点での正
規化相関の最大値がそのしきい値をクリアすればパター
ンマッチングは完了とする事により、各々の基準点で重
複した作業を繰り返すのを避けることもできる。
の対象と一致する対象がそもそも存在しない場合もあ
る。この場合、最大値の正規化相関SBであってその最
大値を示す参照画像の位置が正しいとは言えない。この
ため、本発明では、正規化相関にしきい値を設定してお
き、予め設定しておいたしきい値に正規化相関の最大値
が満たない場合は、被検査画像中にそもそも参照画像の
対象が存在しなかったという判断をする。また、これよ
り大きな別のしきい値を用いて、ひとつの基準点での正
規化相関の最大値がそのしきい値をクリアすればパター
ンマッチングは完了とする事により、各々の基準点で重
複した作業を繰り返すのを避けることもできる。
【0079】このように、正規化相関SBは、数3に示
すように単純な計算で求められ、各面積を計測しておけ
ば一度の計算で求めることができるため、正規化相関S
Bの計算は高速に行うことができる。例えば本実施例で
は、数1や数2に示した従来の計算方法を用いて相関演
算すれば、30×30画素の被検査画像に対応する8ビ
ット程度で表される濃淡画像領域を、20×20画素の
参照画像に対応する8ビット程度で表される濃淡画像が
移動することになるので、正規化相関Sは、参照画像の
自己相関項(ΣAij2)を予め求めてあるとしても、2
0×20×2回の積和算を必要とし、(一方の画像の移
動は読みだしアドレスを変更して対処するとし、ここで
は考慮しない。)正規化相関Sは100回求めることに
なるので、全体で8万回の積和算が必要である。本実施
例によれば、一回の正規化相関SBの算出に、移動に対
して40×2回の加算、AND処理に対する比較40×
2回、面積計測に対して、減算と累加算20×2=40
回程度、即ち200回程度の整数計算ですむ。これは2
値画像とランレングスコードの性質を利用した効果であ
るが、画素単位で移動して検索する方法の場合は、10
0回の移動が必要であり、全体として2万回程度の整数
計算が必要である。一方本実施例の基準点を用いて移動
する場合では、基準点1個当たりの移動回数は10回程
度なので、全体として2000回程度の計算ですむ。全
体として非常に高速にパターンマッチングが実現でき
る。このような傾向は、画像処理装置が扱う画素数に応
じて顕著になり、製造組立ライン等に用いられる画像処
理では通常500×500程度の画素を扱うため、計算
回数は激増する。ここで同じ画像で被検査画像の30×
30画素を500×500画素と置き換え、参照画像の
20×20画素を300×300画素と置き換えると、
従来の方法では、正規化相関Sは300×300×2回
の積和算が必要であり、それを200×200回行わね
ばならない。従って72憶回の積和算を必要とする。2
値画像とランレングスコードを用いたとしても、正規化
相関SBは1200+1200+600=3000回の
整数計算が必要であり、移動回数は、200×200回
なので、3000×200×200=1億2千万回の整
数計算が必要である。これに対し本発明によれば、基準
点1個当たりの移動回数は200回なので、全体として
3000×200=60万回の整数計算で求められる。
従って濃淡画像で従来行っていた場合に比べ1万分の1
以下,また2値画像とランレングスコードを組み合わせ
た従来の方法と比べても、200分の1程度に処理回数
が激減できる。さらに従来技術で述べた分解能を落とす
方法を本発明の方法と組み合わせて使用することもでき
る。
すように単純な計算で求められ、各面積を計測しておけ
ば一度の計算で求めることができるため、正規化相関S
Bの計算は高速に行うことができる。例えば本実施例で
は、数1や数2に示した従来の計算方法を用いて相関演
算すれば、30×30画素の被検査画像に対応する8ビ
ット程度で表される濃淡画像領域を、20×20画素の
参照画像に対応する8ビット程度で表される濃淡画像が
移動することになるので、正規化相関Sは、参照画像の
自己相関項(ΣAij2)を予め求めてあるとしても、2
0×20×2回の積和算を必要とし、(一方の画像の移
動は読みだしアドレスを変更して対処するとし、ここで
は考慮しない。)正規化相関Sは100回求めることに
なるので、全体で8万回の積和算が必要である。本実施
例によれば、一回の正規化相関SBの算出に、移動に対
して40×2回の加算、AND処理に対する比較40×
2回、面積計測に対して、減算と累加算20×2=40
回程度、即ち200回程度の整数計算ですむ。これは2
値画像とランレングスコードの性質を利用した効果であ
るが、画素単位で移動して検索する方法の場合は、10
0回の移動が必要であり、全体として2万回程度の整数
計算が必要である。一方本実施例の基準点を用いて移動
する場合では、基準点1個当たりの移動回数は10回程
度なので、全体として2000回程度の計算ですむ。全
体として非常に高速にパターンマッチングが実現でき
る。このような傾向は、画像処理装置が扱う画素数に応
じて顕著になり、製造組立ライン等に用いられる画像処
理では通常500×500程度の画素を扱うため、計算
回数は激増する。ここで同じ画像で被検査画像の30×
30画素を500×500画素と置き換え、参照画像の
20×20画素を300×300画素と置き換えると、
従来の方法では、正規化相関Sは300×300×2回
の積和算が必要であり、それを200×200回行わね
ばならない。従って72憶回の積和算を必要とする。2
値画像とランレングスコードを用いたとしても、正規化
相関SBは1200+1200+600=3000回の
整数計算が必要であり、移動回数は、200×200回
なので、3000×200×200=1億2千万回の整
数計算が必要である。これに対し本発明によれば、基準
点1個当たりの移動回数は200回なので、全体として
3000×200=60万回の整数計算で求められる。
従って濃淡画像で従来行っていた場合に比べ1万分の1
以下,また2値画像とランレングスコードを組み合わせ
た従来の方法と比べても、200分の1程度に処理回数
が激減できる。さらに従来技術で述べた分解能を落とす
方法を本発明の方法と組み合わせて使用することもでき
る。
【0080】通常は、高い相関を示す位置を検索する為
に1画素ごとに画像を移動して相関を求めるが、この方
法では計算回数が膨大になり、非常に時間がかかる。登
録画像の左ランまたは右ラン上の1点に着目し、この点
を被検査画像の左ランまたは右ラン上を移動させること
により、最初に相関値の高い領域を絞り込む本発明の方
法によれば、計算回数が激減し、非常に高速にパターン
マッチングを行うことができる。さらに二値画像の特徴
を生かし、参照画像の輪郭を膨張する事により、対象の
存在する領域を理想的に限定する相関領域を自動的に発
生する事により、背景画像の変化に強いパターンマッチ
ングが行える。
に1画素ごとに画像を移動して相関を求めるが、この方
法では計算回数が膨大になり、非常に時間がかかる。登
録画像の左ランまたは右ラン上の1点に着目し、この点
を被検査画像の左ランまたは右ラン上を移動させること
により、最初に相関値の高い領域を絞り込む本発明の方
法によれば、計算回数が激減し、非常に高速にパターン
マッチングを行うことができる。さらに二値画像の特徴
を生かし、参照画像の輪郭を膨張する事により、対象の
存在する領域を理想的に限定する相関領域を自動的に発
生する事により、背景画像の変化に強いパターンマッチ
ングが行える。
【0081】〔〔処理の流れ〕〕最後に、パターンマッ
チングの処理の手順を図11に示すフローチャートを用
いて説明する。
チングの処理の手順を図11に示すフローチャートを用
いて説明する。
【0082】STEP1 参照画像の登録、マスク画
像の登録、被検査画像の登録、参照画像の面積計測、マ
スク画像の面積計測及び基準点の設置を行う。前述した
ように、登録とは、カメラからの画像の取り込み、二値
化処理、二値画像膨張処理、ランレングスコードの発
生、ノイズ除去、メモリへの登録を意味する。ここで、
参照画像の面積計測とマスク画像の面積計測は、STE
P1で行わなくても後述する相関演算(STEP6)以
前であればいつでも良いが、参照画像の面積とマスク画
像の面積は一度求めておけば良いのでSTEP1で求め
ておくことが望ましい。 STEP2 参照画像とマスク画像の被検査画像上の
移動を行う。 STEP3 AND処理を行う。 STEP4 マスク画像と被検査画像との論理積ラン
レングスコードの面積計測を行う。 STEP5 参照画像と被検査画像との論理積ランレ
ングスコードの面積計測を行う。 STEP6 相関演算を行う。 STEP7 ひとつの基準点に関して、参照画像の被
検査画像上の移動が完了しているか(参照画像が被検査
画像全域を移動したか)を判断する。完了していればS
TEP8へ進む。まだ完了していない場合はSTEP2
へ戻る。 STEP8 参照画像の被検査画像上の移動に用いた
基準点がSTEP1で設定した最後の基準点かを判断す
る。最後の基準点であればSTEP10へ進む。最後の
基準点ではない場合はSTEP9へ進む。 STEP9 基準点を次の基準点に換えてSTEP2
へ戻る。 STEP10 相関値の最大値検索を行う。
像の登録、被検査画像の登録、参照画像の面積計測、マ
スク画像の面積計測及び基準点の設置を行う。前述した
ように、登録とは、カメラからの画像の取り込み、二値
化処理、二値画像膨張処理、ランレングスコードの発
生、ノイズ除去、メモリへの登録を意味する。ここで、
参照画像の面積計測とマスク画像の面積計測は、STE
P1で行わなくても後述する相関演算(STEP6)以
前であればいつでも良いが、参照画像の面積とマスク画
像の面積は一度求めておけば良いのでSTEP1で求め
ておくことが望ましい。 STEP2 参照画像とマスク画像の被検査画像上の
移動を行う。 STEP3 AND処理を行う。 STEP4 マスク画像と被検査画像との論理積ラン
レングスコードの面積計測を行う。 STEP5 参照画像と被検査画像との論理積ランレ
ングスコードの面積計測を行う。 STEP6 相関演算を行う。 STEP7 ひとつの基準点に関して、参照画像の被
検査画像上の移動が完了しているか(参照画像が被検査
画像全域を移動したか)を判断する。完了していればS
TEP8へ進む。まだ完了していない場合はSTEP2
へ戻る。 STEP8 参照画像の被検査画像上の移動に用いた
基準点がSTEP1で設定した最後の基準点かを判断す
る。最後の基準点であればSTEP10へ進む。最後の
基準点ではない場合はSTEP9へ進む。 STEP9 基準点を次の基準点に換えてSTEP2
へ戻る。 STEP10 相関値の最大値検索を行う。
【0083】STEP1からSTEP10までが本発明
の一実施例である画像処理方法の手順であるが、パター
ンマッチングの完了は必ずしもこの手順通りで行う必要
はない。例えば、前述したように、相関値の最大値検索
(STEP10)をSTEP7とSTEP8との間で行
い、ひとつの基準点での正規化相関の最大値が予め設定
したしきい値をクリアしているかの判断を行い、クリア
していれば処理を完了するような手順としても良いし、
相関演算後ただちに、予め設定したしきい値をクリアし
ているかの判断を行いクリアしていれば処理を完了する
ような手順としても良い。どこで相関値の最大値検索を
行うかは、画像処理を行う環境や目的によって判断され
るものである。
の一実施例である画像処理方法の手順であるが、パター
ンマッチングの完了は必ずしもこの手順通りで行う必要
はない。例えば、前述したように、相関値の最大値検索
(STEP10)をSTEP7とSTEP8との間で行
い、ひとつの基準点での正規化相関の最大値が予め設定
したしきい値をクリアしているかの判断を行い、クリア
していれば処理を完了するような手順としても良いし、
相関演算後ただちに、予め設定したしきい値をクリアし
ているかの判断を行いクリアしていれば処理を完了する
ような手順としても良い。どこで相関値の最大値検索を
行うかは、画像処理を行う環境や目的によって判断され
るものである。
【0084】<実施例2>2値画像の代わりに微分エッ
ジを用いる場合について、図面を用いて説明する。2値
画像は、画像のコントラストの大きな部分のみの情報を
用いるため、比較的画質の変化に強く、安定したエッジ
情報が得られるが、単一のしきい値で2値化できる情報
しか用いることができない。これに対し、微分エッジは
コントラストの大きな全ての情報を相関に用いることが
できる利点がある。微分エッジは画質の変化に対して不
安定なので、取扱いが難しいが、本実施例では比較的安
定した微分エッジが得られる縦,横方向の1次元微分か
ら2次元の微分エッジを合成する装置について説明す
る。本実施例におけるパターンマッチングは、該装置を
実施例1に於いて図1のカメラ入力後のA/D変換直後
に挿入することにより実現される。実施例1と本実施例
は画質を考慮して使い分けるとよい。
ジを用いる場合について、図面を用いて説明する。2値
画像は、画像のコントラストの大きな部分のみの情報を
用いるため、比較的画質の変化に強く、安定したエッジ
情報が得られるが、単一のしきい値で2値化できる情報
しか用いることができない。これに対し、微分エッジは
コントラストの大きな全ての情報を相関に用いることが
できる利点がある。微分エッジは画質の変化に対して不
安定なので、取扱いが難しいが、本実施例では比較的安
定した微分エッジが得られる縦,横方向の1次元微分か
ら2次元の微分エッジを合成する装置について説明す
る。本実施例におけるパターンマッチングは、該装置を
実施例1に於いて図1のカメラ入力後のA/D変換直後
に挿入することにより実現される。実施例1と本実施例
は画質を考慮して使い分けるとよい。
【0085】図13は本実施例の微分回路を示すブロッ
ク図である。該回路の入力は図1に示したカメラからの
アナログビデオ信号をA/D変換したデジタル入力信号
である。13は、該デジタル入力信号を走査線横方向に
画素単位で遅延させるための横方向遅延回路であり、フ
ァーストインファーストアウトメモリで構成される。1
4は、前記デジタル入力信号を走査線縦方向に画素単位
で遅延させるための縦方向遅延回路であり、ファースト
インファーストアウトメモリで構成される。15は、デ
ジタル入力信号と横方向遅延回路の出力信号の間の差を
求める横微分回路であり、ROMまたはRAMを用いた
ルックアップテーブルで構成される。16は、デジタル
入力信号と縦方向遅延回路の出力信号の間の差を求める
縦微分回路であり、ROMまたはRAMを用いたルック
アップテーブルで構成される。17は、横微分回路の出
力と縦微分回路の出力から2次元の微分画像を発生する
合成回路であり、ROMまたはRAMを用いたルックア
ップテーブルで構成される。
ク図である。該回路の入力は図1に示したカメラからの
アナログビデオ信号をA/D変換したデジタル入力信号
である。13は、該デジタル入力信号を走査線横方向に
画素単位で遅延させるための横方向遅延回路であり、フ
ァーストインファーストアウトメモリで構成される。1
4は、前記デジタル入力信号を走査線縦方向に画素単位
で遅延させるための縦方向遅延回路であり、ファースト
インファーストアウトメモリで構成される。15は、デ
ジタル入力信号と横方向遅延回路の出力信号の間の差を
求める横微分回路であり、ROMまたはRAMを用いた
ルックアップテーブルで構成される。16は、デジタル
入力信号と縦方向遅延回路の出力信号の間の差を求める
縦微分回路であり、ROMまたはRAMを用いたルック
アップテーブルで構成される。17は、横微分回路の出
力と縦微分回路の出力から2次元の微分画像を発生する
合成回路であり、ROMまたはRAMを用いたルックア
ップテーブルで構成される。
【0086】入力デジタル信号は、遅延回路13,14
により縦,横各々の方向に遅延されると、各々の方向に
ずらした画像となり、微分回路15,16により原画像
とこれら各々の遅延画像の差をとると図14の様に階調
差を輝度で表現した微分画像となる。微分回路15,1
6では、さらに該微分画像は取扱いが容易な絶対値にし
ておく。遅延の量を小さくとると(最少は1画素)小さ
な領域の変化を捕らえられるが、微分エッジが細くなり
消失し易くなる。反対に遅延の量を大きくすると、エッ
ジは安定して得られるが、小さな変化を捕らえることが
できない。本実施例では、4画素程度の遅延量を適当と
する。本実施例の構成では、遅延回路13,14を用い
ることにより、遅延量を4画素を中心に幅2画素程度で
可変にすることができ、画質に応じた制御を行える。
縦,横方向の微分画像は、合成回路17により射影の逆
操作を行い、2次元の微分画像に合成される。
により縦,横各々の方向に遅延されると、各々の方向に
ずらした画像となり、微分回路15,16により原画像
とこれら各々の遅延画像の差をとると図14の様に階調
差を輝度で表現した微分画像となる。微分回路15,1
6では、さらに該微分画像は取扱いが容易な絶対値にし
ておく。遅延の量を小さくとると(最少は1画素)小さ
な領域の変化を捕らえられるが、微分エッジが細くなり
消失し易くなる。反対に遅延の量を大きくすると、エッ
ジは安定して得られるが、小さな変化を捕らえることが
できない。本実施例では、4画素程度の遅延量を適当と
する。本実施例の構成では、遅延回路13,14を用い
ることにより、遅延量を4画素を中心に幅2画素程度で
可変にすることができ、画質に応じた制御を行える。
縦,横方向の微分画像は、合成回路17により射影の逆
操作を行い、2次元の微分画像に合成される。
【0087】以下、各々の回路の構成と働きにつき個別
に説明する。
に説明する。
【0088】〔ルックアップテーブル〕ルックアップテ
ーブルは、ランダムアクセスできるメモリーを用い、予
めあるデータの変換結果を、そのデータに対応するアド
レスを指定して書き込んでおき、アドレスにデータを入
力することにより変換データを得るものであるが、入力
データから出力データへの変換は、メモリーの読みだし
時間だけで完結するので、大変高速な変換器となる。ま
たデータの変換の為の計算は予めメモリーに書き込んで
おくので、該変換に非常に時間のかかる計算を要したと
しても、計算時間に関わり無く、変換時間はメモリーの
読み出し速度で行われる。
ーブルは、ランダムアクセスできるメモリーを用い、予
めあるデータの変換結果を、そのデータに対応するアド
レスを指定して書き込んでおき、アドレスにデータを入
力することにより変換データを得るものであるが、入力
データから出力データへの変換は、メモリーの読みだし
時間だけで完結するので、大変高速な変換器となる。ま
たデータの変換の為の計算は予めメモリーに書き込んで
おくので、該変換に非常に時間のかかる計算を要したと
しても、計算時間に関わり無く、変換時間はメモリーの
読み出し速度で行われる。
【0089】〔縦,横微分回路〕上記ルックアップテー
ブルに、アドレス線16本,データ線8本のランダムア
クセスできるメモリーを使用し、16本のアドレス線中
8本に前記デジタル入力信号を入力し、残りの8本に縦
または横遅延回路の出力を入力する。入力デジタル信号
と縦または横遅延回路の出力の差の絶対値を予め該メモ
リーに入力しておき、該メモリーの8本のデータ線から
出力する。
ブルに、アドレス線16本,データ線8本のランダムア
クセスできるメモリーを使用し、16本のアドレス線中
8本に前記デジタル入力信号を入力し、残りの8本に縦
または横遅延回路の出力を入力する。入力デジタル信号
と縦または横遅延回路の出力の差の絶対値を予め該メモ
リーに入力しておき、該メモリーの8本のデータ線から
出力する。
【0090】〔合成回路〕上記ルックアップテーブル
に、アドレス線16本,データ線8本のランダムアクセ
スできるメモリーを使用し、16本のアドレス線中8本
に横微分回路の出力を入力し、残りの8本に縦微分回路
の出力を入力する。横微分回路の出力と縦微分回路の出
力の自乗和の平方根を予め該メモリーに入力しておき、
該メモリーの8本のデータ線から出力する。
に、アドレス線16本,データ線8本のランダムアクセ
スできるメモリーを使用し、16本のアドレス線中8本
に横微分回路の出力を入力し、残りの8本に縦微分回路
の出力を入力する。横微分回路の出力と縦微分回路の出
力の自乗和の平方根を予め該メモリーに入力しておき、
該メモリーの8本のデータ線から出力する。
【0091】上記微分回路をもって微分した画像は、指
定した幅を持つ微分エッジの絶対値の濃淡画像である。
本実施例は、本実施例で述べた微分回路を、図1のカメ
ラ入力の後A/D変換と2値化回路の間に挿入すること
により、実施例1で述べた2値画像を対象とする装置を
微分画像を用いたパターンマッチング装置に変更するも
のである。実施例1は2値画像のエッジを用いたパター
ンマッチングであるのに対し、本実施例では幅を持たせ
た微分エッジを2値化した、微分エッジ画像を対象とし
たパターンマッチングとなる。
定した幅を持つ微分エッジの絶対値の濃淡画像である。
本実施例は、本実施例で述べた微分回路を、図1のカメ
ラ入力の後A/D変換と2値化回路の間に挿入すること
により、実施例1で述べた2値画像を対象とする装置を
微分画像を用いたパターンマッチング装置に変更するも
のである。実施例1は2値画像のエッジを用いたパター
ンマッチングであるのに対し、本実施例では幅を持たせ
た微分エッジを2値化した、微分エッジ画像を対象とし
たパターンマッチングとなる。
【0092】上記微分エッジは4画素程度の幅を持たせ
るように指定してあるので、消失すること無く、比較的
安定して得られる。また幅を持たせたことにより、画像
の回転変化に対し急激に一致度が落ちることを防いでい
る。本実施例と実施例1は、上記微分回路を実施例1の
構成の前処理として挿入するか否かにより、選択するこ
とができる。実施例1と本実施例をエッジの安定性や2
値化情報のとり方といった画像の性質により使い分ける
ことで、さらにパターンマッチングの適用範囲を広げる
ことができる。
るように指定してあるので、消失すること無く、比較的
安定して得られる。また幅を持たせたことにより、画像
の回転変化に対し急激に一致度が落ちることを防いでい
る。本実施例と実施例1は、上記微分回路を実施例1の
構成の前処理として挿入するか否かにより、選択するこ
とができる。実施例1と本実施例をエッジの安定性や2
値化情報のとり方といった画像の性質により使い分ける
ことで、さらにパターンマッチングの適用範囲を広げる
ことができる。
【0093】
【発明の効果】本発明の画像処理装置によれば、パター
ンマッチングを高速に行うことができる。
ンマッチングを高速に行うことができる。
【0094】
【0095】
【0096】
【0097】
【0098】
【0099】
【0100】
【0101】
【0102】
【図1】本発明の一実施例である画像処理装置を示す構
成図である。
成図である。
【図2】実施例1で説明する参照画像の一例を示す図で
ある。
ある。
【図3】実施例1で説明する被検査画像の一例を示す図
である。
である。
【図4】本発明におけるランレングスコードのノイズ除
去の方法を示す説明図である。
去の方法を示す説明図である。
【図5】本発明におけるランレングスコードのAND処
理を示す説明図である。
理を示す説明図である。
【図6】図2で示した参照画像の二値画像を示す図であ
る。
る。
【図7】図6で示した二値画像のランレングスコードを
示す図である。
示す図である。
【図8】図7で示したランレングスコードのメモリマッ
プを示す図である。
プを示す図である。
【図9】図8で示したメモリマップのアドレステーブル
を示す図である。
を示す図である。
【図10】図3で示した被検査画像の二値画像を示す図
である。
である。
【図11】本発明の一実施例の処理の流れを示すフロー
チャートである。
チャートである。
【図12】実施例1で説明する二値画像膨張処理を示す
図である。
図である。
【図13】実施例2で説明する微分回路を示すブロック
図である。
図である。
【図14】実施例2で説明する微分結果を示す図であ
る。
る。
1 カメラ 2 二値化回路 3 ランレングスコード発生回路 4 ノイズ除去手段 5 被検査画像メモリ 6 参照画像メモリ 7 マスク画像メモリ 8 画像移動手段 9 AND手段 10 面積計測手段 11 相関演算手段 12 二値画像膨張手段 13 横方向遅延回路 14 縦方向遅延回路 15 横微分回路 16 縦微分回路 17 合成回路
Claims (3)
- 【請求項1】 被検査画像と参照画像とのパターンマッ
チングを行う画像処理装置において、 前記被検査画像と参照画像を、一端から他端に水平方向
にアドレスを設定し、白黒(黒白)変化点の位置を記録
した、複数列からなる参照画像・ランレングスコードと
複数列からなる被検査画像・ランレングスコードとに記
録し、 被検査画像・ランレングスコードと参照画像・ランレン
グスコードとを相対的に平行移動する平行移動手段と、 前記被検査画像・ランレングスコードと参照画像・ラン
レングスコードの各列ごとに、2つの画像のランレング
スコードを論理積演算するAND手段と、 ランレングスコードから面積を計測する面積計測手段
と、 面積から相関を算出する相関演算手段を有する画像処理
装置であって、 前記平行移動手段は、 水平方向の移動は、参照画像・ランレングスコードに水
平方向の移動量を加算することにより、参照画像・ラン
レングスコードを移動させ、 縦方向の移動は、前記被検査画像を含む・ランレングス
コードより、参照画像に対応する、列を読み替えること
により、被検査画像・ランレングスコードを縦方向に移
動させ、 前記2つのランレングスコードを論理演算するAND手
段は、 前記ランレングスコードの、黒から白に変わるアドレス
を左ランとし、白から黒に変わるアドレスを右ランとす
ると、各ランレングスコードの奇数番目が左ランであ
り、偶数番目が右ランであり、 参照画像と被検査画像の2つのランレングスコードにつ
いて、各列ごとにランレングスコードを1つのデータと
して扱い、前記データをアドレスの小さい順に並べ直
し、参照画像と被検査画像との排他的論理和画像・ラン
レングスコードを形成し、 前記排他的論理和画像・ランレングスコードの右ランの
うち、参照画像・ランレングスコードと被検査画像・ラ
ンレングスコードとの左ランと一致するものと、 前記排他的論理和画像・ランレングスコードの左ランの
うち、参照画像ランレングスコードと被検査画像・ラン
レングスコードとの右ランと一致するものとを残して論
理積画像・ランレングスコードを得ることを特徴とする
画像処理装置。 - 【請求項2】 前記ランレングスコードの、背景から対
象に変化する場所を示すランレングスコードを左ランと
し、一方の左ランを、もう一方の左ランに一致させるよ
うに、前記平行移動手段により画像を移動させることを
特長とする、請求項1記載の画像処理装置。 - 【請求項3】 前記ランレングスコードの、対象から背
景に変化する場所を示すランレングスコードを右ランと
し、一方の右ランを、もう一方の右ランに一致させるよ
うに、前記平行移動手段により画像を移動させることを
特長とする、請求項1記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6091277A JP3016687B2 (ja) | 1993-07-06 | 1994-04-28 | 画像処理装置 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19166493 | 1993-07-06 | ||
JP28633893 | 1993-11-16 | ||
JP5-191664 | 1993-11-16 | ||
JP5-286338 | 1993-11-16 | ||
JP6091277A JP3016687B2 (ja) | 1993-07-06 | 1994-04-28 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07192134A JPH07192134A (ja) | 1995-07-28 |
JP3016687B2 true JP3016687B2 (ja) | 2000-03-06 |
Family
ID=27306699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6091277A Expired - Fee Related JP3016687B2 (ja) | 1993-07-06 | 1994-04-28 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3016687B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3210846B2 (ja) * | 1995-09-28 | 2001-09-25 | 三菱レイヨン株式会社 | シート状物のくぼみ検出方法及びシート状物のくぼみ検出装置 |
JP4702971B2 (ja) * | 1999-11-10 | 2011-06-15 | 株式会社東芝 | コンピュータ支援診断システム |
JP5906769B2 (ja) * | 2012-01-31 | 2016-04-20 | セイコーエプソン株式会社 | ロボット装置およびロボット制御方法 |
JP6460660B2 (ja) * | 2014-07-01 | 2019-01-30 | 株式会社Screenホールディングス | データ演算装置、データ演算方法および欠陥検査装置 |
-
1994
- 1994-04-28 JP JP6091277A patent/JP3016687B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07192134A (ja) | 1995-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5889885A (en) | Method and apparatus for separating foreground from background in images containing text | |
US10366504B2 (en) | Image processing apparatus and image processing method for performing three-dimensional reconstruction of plurality of images | |
KR100730051B1 (ko) | 결함 검출장치 및 결함 검출방법 | |
JP2001109895A (ja) | 複数のディジタル画像の処理方法 | |
CN105009170A (zh) | 物体识别设备、方法和存储介质 | |
CN110490924B (zh) | 一种基于多尺度Harris的光场图像特征点检测方法 | |
JP2001101426A (ja) | ディジタル画像処理方法 | |
CN111489337A (zh) | 一种自动光学检测伪缺陷去除方法及系统 | |
CN112712058A (zh) | 一种字符识别提取方法 | |
CN109242917A (zh) | 一种基于棋盘格的相机分辨率标定方法 | |
JPH0658716A (ja) | 画像上のエッジ検出方法 | |
JP3016687B2 (ja) | 画像処理装置 | |
JP6643301B2 (ja) | 欠陥検査装置及び欠陥検査方法 | |
JP3223384B2 (ja) | 濃淡画像のパターンマッチング装置 | |
US11900643B2 (en) | Object detection method and object detection system | |
CN116030236A (zh) | 针对移动应用页面中动态区域的快速检测方法 | |
JP2981382B2 (ja) | パターンマッチング方法 | |
JPH08329110A (ja) | 画像処理方法 | |
JPH08101893A (ja) | 画像処理装置におけるモデル画像データ登録装置 | |
JP2770849B2 (ja) | 画像処理装置 | |
JP2001317919A (ja) | 回路パターン線幅計測方法および回路パターン線幅計測装置 | |
JP3223385B2 (ja) | 濃淡画像のパターンマッチング装置 | |
JPS62212506A (ja) | 欠陥検出方法 | |
JP3721681B2 (ja) | テンプレートマッチング方法及び装置 | |
JP4243577B2 (ja) | 類似画像検索装置、方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |