"対象物を互いに異なる方向から撮影するように配置された第1のカメラおよび第2のカメラによりそれぞれ撮影された画像に基づく第1の画像および第2の画像を用いた処理を行う画像処理装置であって、処理項目のシーケンスを設定するシーケンス設定手段と、設定されたシーケンスを実行するシーケンス実行手段とを備え、シーケンス設定手段は、ユーザの選択によりシーケンスの要素とすることができる処理項目として、2次元画像処理の複数の項目、および3次元計測処理の少なくとも1つの項目を提供し、提供される2次元画像処理の項目の中には、あらかじめ登録されたモデル画像との一致の程度が高い第1の画像上の領域の代表位置を特定する第1画像上位置特定処理の項目が、少なくとも1つ含まれており、前記3次元計測処理に提供される処理項目の少なくとも1つは、前記第1画像上位置特定処理の項目と同じシーケンスに組み込まれて、前記モデル画像との一致の程度が高い第2の画像上の領域の代表位置を特定する第2画像上位置特定処理と、前記第1画像上位置特定処理により特定された第1の画像における代表位置と前記第2画像上位置特定処理により特定された第2の画像における代表位置とを用いた3次元計測用の演算処理とを実行するように設計されている、画像処理装置。対象物を互いに異なる方向から撮影するように配置された第1のカメラおよび第2のカメラによりそれぞれ撮影された画像に基づく第1の画像および第2の画像を用いた処理を行う画像処理装置であって、処理項目のシーケンスを設定するシーケンス設定手段と、設定されたシーケンスを実行するシーケンス実行手段とを備え、シーケンス設定手段は、ユーザの選択によりシーケンスの要素とすることができる処理項目として、2次元画像処理の複数の項目、および3次元計測処理の少なくとも1つの項目を提供し、提供される2次元画像処理の項目の中には、第1の画像上にユーザの指示に基づき計測対象領域を設定して、この計測対象領域の代表位置を特定すると共に計測対象領域内の画像をモデル画像として取得する第1画像上位置特定処理の項目が、少なくとも1つ含まれており、前記3次元計測処理に提供される処理項目の少なくとも1つは、前記第1画像上位置特定処理の項目と同じシーケンスに組み込まれて、前記第1画像上位置特定処理で取得したモデル画像との一致の程度が高い第2の画像上の領域の代表位置を特定する第2画像上位置特定処理と、前記第1画像上位置特定処理により特定された第1の画像における代表位置と前記第2画像上位置特定処理により特定された第2の画像における代表位置とを用いた3次元計測用の演算処理とを実行するように設計されている、画像処理装置。第2画像上位置特定処理は、第1のカメラと第2のカメラとの位置関係および第1画像上位置特定処理において特定された代表位置に基づいて第2の画像上にサーチ領域を設定し、サーチ領域内において前記モデル画像と一致の程度が高い領域の代表位置を特定するものである、請求項1または2に記載の画像処理装置。前記サーチ領域は、さらに、3次元計測の対象範囲としてユーザに指定された第1のカメラの光軸に沿う範囲に基づいて設定される、請求項3に記載の画像処理装置。種々の製品の製造現場においても、対象物の3次元計測が可能であれば、従来の2次元画像処理装置ではできなかった計測が可能になったり、従来よりも計測精度や使い勝手が向上したりすると考えられる状況は存在する。しかし、種々の製品の製造現場において汎用的に使用できる3次元計測装置は知られていなかった。このような状況において、発明者らは、従来一般的であった3次元計測に特化した画像処理装置を開発するのではなく、従来の2次元画像処理装置としての機能を継承しつつ、これに3次元計測機能を付加する方向で装置を開発することにより、3次元計測が可能でしかも汎用性の高い、新たなタイプの画像処理装置を創出することにした。このような方針のもと、発明者らが設定した課題の一つは、従来の2次元画像処理装置と同様に、利用可能な処理項目を提示して処理項目のシーケンスを作成させるようなユーザインタフェースによって3次元計測のシーケンスを指定できるようにすることである。発明者らが設定した他の課題は、従来の2次元画像処理装置においても用いられていた処理の一部を3次元計測にも活用することである。従来の2次元画像処理装置と同様に、利用可能な処理項目を提示して処理項目のシーケンスを作成させるようなユーザインタフェースによって3次元計測のシーケンスを指定させるのに好適な処理項目を提供する画像処理装置は、対象物を互いに異なる方向から撮影するように配置された第1のカメラおよび第2のカメラによりそれぞれ撮影された画像に基づく第1の画像および第2の画像を用いた処理を行うもので、処理項目のシーケンスを設定するシーケンス設定手段と、設定されたシーケンスを実行するシーケンス実行手段とを備える。シーケンス設定手段は、ユーザの選択によりシーケンスの要素とすることができる処理項目として、2次元画像処理の複数の項目、および3次元計測処理の少なくとも1つの項目を提供する。第1の画像処理装置では、提供される2次元画像処理の項目の中に、あらかじめ登録されたモデル画像との一致の程度が高い第1の画像上の領域の代表位置を特定する第1画像上位置特定処理の項目が、少なくとも1つ含まれる。また3次元計測処理に提供される処理項目の少なくとも1つは、第1画像上位置特定処理の項目と同じシーケンスに組み込まれて、前記モデル画像との一致の程度が高い第2の画像上の領域の代表位置を特定する第2画像位置特定処理と、第1画像上位置特定処理により特定された第1の画像における代表位置と第2画像上位置特定処理により特定された第2の画像における代表位置とを用いた3次元計測用の演算処理とを実行するように設計される。上記の構成によれば、あらかじめ登録されたモデルと一致の程度が高い対象物上の領域の代表位置を3次元的に計測することができる。第2の画像処理装置では、提供される2次元画像処理の項目の中に、第1の画像上にユーザの指示に基づき計測対象領域を設定して、この計測対象領域の代表位置を特定すると共に計測対象領域内の画像をモデル画像として取得する第1画像上位置特定処理の項目が、少なくとも1つ含まれる。また3次元計測処理に提供される処理項目の少なくとも1つは、第1画像上位置特定処理の項目と同じシーケンスに組み込まれて、第1画像上位置特定処理で取得したモデル画像との一致の程度が高い第2の画像上の領域の代表位置を特定する第2画像上位置特定処理と、第1画像上位置特定処理により特定された第1の画像における代表位置と第2画像上位置特定処理により特定された第2の画像における代表位置とを用いた3次元計測用の演算処理とを実行するように設計される。この構成によれば、第1の画像から取得されたモデルと一致の程度が高い対象物上の領域の代表位置を3次元的に計測することができる。実際に計測処理の対象とする画像からモデルを取得するので、計測の対象とする表面の文字や模様が対象物毎に変化する場合でも3次元計測を行うことができる。また、対象物の複数の領域を個別に計測するようにすれば、対象物の3次元形状対象物表面の3次元座標の分布を得ることもできる。第1および第2の画像処理装置のいずれにおいても、使用するカメラの数は3以上としてもよい。その場合は、そのうちの2台が第1のカメラ、第2のカメラとなる。第1の画像、第2の画像は、それぞれ第1のカメラ、第2のカメラで撮影された画像そのものでもよいし、さらに何らかの処理が施された画像でもよい。例えば、第2のカメラで撮影された斜視画像を正面視の画像に変換した画像を第2の画像として用いてもよい。第1画像上位置特定処理は、その処理自体の仕様としては、設定によって第2の画像を対象とすることも可能な汎用的な処理プログラムであることを妨げない。第1および第2の画像処理装置は、いずれも3次元計測のために第1の画像上で位置を特定する処理が2次元画像処理の複数の項目の中から選ばれるようになっている。このため、この画像処理装置によれば、3次元計測が可能であるにもかかわらず、従来の2次元画像処理装置との統一性が高く、ユーザにとって装置を使用するための学習量が少なくて済む。したがって、ユーザによる装置の使いこなしが容易である。また第2の画像上で代表位置を特定する処理と3次元計測用の演算処理とが1つの処理項目とされているので、ユーザは少ない指示で3次元計測全体のシーケンスを完成させることができ、ユーザによる装置の使いこなしがいっそう容易である。以下、第1、第2の画像処理装置に適用される実施形態を説明する。まず、第1画像上位置特定処理として、他の観点により第1の画像における対象物上の位置を特定する処理を含む複数種の第1画像上位置特定処理を提供してもよい。3次元計測処理の項目についても、複数種類を提供してもよい。この構成により3次元計測の処理内容を選択することができるようになる。さらに、選択により1つの第1画像上位置特定処理の項目と対にすることが可能な3次元計測処理の項目が複数ある場合、および、選択により1つの3次元計測処理の項目と対にすることが可能な第1画像上位置特定処理の項目が複数ある場合には、項目の組み合わせにより項目自体の選択肢の数よりも多くの種類の3次元計測のシーケンスを、作成することが可能になる。この画像処理装置は、少なくとも1つの第1画像上位置特定処理の項目と少なくとも1つの3次元計測処理の項目とを含む、3次元計測の基本シーケンスを、ユーザの選択により利用可能に提供するものとしてもよい。この構成によれば、3次元計測のシーケンスに不慣れなユーザであっても、装置の3次元計測機能をよりいっそう容易に利用することができる。第2画像上位置特定処理は、第1のカメラと第2のカメラとの位置関係および第1画像上位置特定処理において特定された代表位置に基づいて第2の画像上にサーチ領域を設定し、サーチ領域内においてモデル画像と一致の程度が高い領域の代表位置を特定するものとしてもよい。このようにすれば、第2の画像において計測対象の領域が存在する可能性のある範囲にサーチ領域を限定することができるので、第2画像上位置特定処理の演算量を少なくできるとともに、第2の画像上の計測対象ではない領域がモデル画像と一致してしまうことによる誤動作を少なくすることができる。上記のサーチ領域は、さらに、3次元計測の対象範囲としてユーザに指定された第1のカメラの光軸に沿う範囲に基づいて設定されるようにしてもよい。このようにすれば、計測対象の領域が存在するとユーザが想定する範囲に対応する限定された範囲にサーチ領域を設定できるため、第2画像上位置特定処理の演算量をより少なくできるとともに、第2の画像上の計測対象ではない領域がモデル画像と一致してしまうことによる誤動作をより少なくすることができる。上記によれば、従来の2次元画像処理との統一性が高い装置または方法により3次元計測を行うことができるので、ユーザが3次元計測機能を使いこなすことが容易である。図1は、この発明が適用された検査装置画像処理装置の撮像部の構成を、その設置例とともに示す。この実施例の検査装置は、3次元および2次元の双方の計測処理機能を有するもので、工場の検査ラインLを搬送される検査対象物W以下、ワークWという。を、撮像部1により順に撮像して、種々の検査目的に応じた計測処理や判別処理を実行する。撮像部1は、筐体15内に2台のカメラC0,C1を組み込んだ構成のもので、検査ラインLの上方に設置される。一方のカメラC0は、その光軸を鉛直方向に向けた状態ワークWに対して正面視の状態で設置される。他方のカメラC1は、カメラC0と視野が重なるようにして、光軸を傾斜させた状態で設置される。カメラC0およびカメラC1の視野の範囲を規定する撮像面は矩形であり、カメラC1はカメラC0に対して、カメラC0の視野の範囲の横方向図2の画像A0のx軸方向に対応する。に沿って並ぶように配置されている。図2は、各カメラC0,C1により生成されたワークWの画像の例を示す。図中のA0第1の画像に相当がカメラC0からの画像であり、A1第2の画像に相当がカメラC1からの画像である。この図2および後記する図13等のワークWの画像を例示する図では、各画像A0,A1中のワークについても、図1と同様にWを用いて示す。また、画像A0の横方向水平方向をx軸方向、縦方向垂直方向をy軸方向とする。カメラC0は光軸を鉛直方向に向けて設置されているので、画像A0は、ワークWの上面を正面から見た状態を示すものとなる。これに対し、カメラC1は光軸を斜めに向けて設置されているので、画像A1には、斜めから見た状態のワークWが現れる。このような画像の特徴に着目して、この検査装置では、まず画像の歪みが小さいワークWの平面図に近いカメラC0側の画像A0を用いて計測対象位置を特定し、つぎにカメラC1側の画像A1上で、画像A0上の計測対象位置に対応する位置を特定するようにしている。図3は、検査装置の全体構成を示すブロック図である。この検査装置は、撮像部1のほか、本体部2、モニタ3、コンソール4などにより構成される。本体部2には、各カメラC0,C1に対する画像入力部20,21、カメラ駆動部22、画像メモリ23、処理部24、メモリ25、表示制御部26、出力部27などが設けられる。カメラ駆動部22は、図示しないワーク検出用のセンサからの検知信号を受けて各カメラC0,C1を同時に駆動する。画像入力部20,21は、A/D変換回路や画像バッファなどを含むもので、各カメラC0,C1により生成された画像信号は、それぞれの画像入力部20,21でディジタル変換され、カメラ毎に計測処理用のディジタル画像画像A0,A1が生成される。これらの画像A0,A1は、画像入力部20,21の画像バッファに保存された後、処理部24からの指令に応じて読み出され、画像メモリ23に格納される。処理部24は、CPUやその周辺回路を含むものである。メモリ25は、EEPROMなどの不揮発性メモリであって、プログラム装置の動作を統括するプログラム、各画像処理項目を実行するプログラム、画像処理のシーケンスなど、3次元計測のためのパラメータ3次元座標算出の演算式の係数にあたるもの、その他、計測に必要な種々のデータファイルが保存される。処理部24は、画像メモリ23に格納された画像A0,A1に対し、後記するシーケンスに従った処理を実行して、ワークWの計測や判別処理を実行する。表示制御部26は、画像入力部20,21から画像A0,A1の供給を受けて、これらの画像を含む表示用画面を生成し、これをモニタ3に表示させる。処理部24は、適宜、表示制御部26を制御して、画像A0,A1とともに計測結果や検査結果を表示させ、また、後記する設定用の画面を表示させる。出力部27は、計測処理や判定処理の結果を、PLCなどの外部機器に出力するための出力用インターフェースである。この実施例の検査装置では、計測や検査のために実行される各種の処理について、複数種の処理項目を用意し、これらの処理項目およびその実行順序をユーザーに選択させることによって、画像入力から処理結果を出力する処理までの一連のシーケンスを組み立てられるようにしている。図4は、シーケンスの設定に関するシステム構成を示す。このシステムは、処理項目テーブル201、シーケンス保存部202、プログラム記憶部203、指定操作受付部204、シーケンス組立部205、シーケンス実行部206、処理結果出力部207などにより構成される。ここで、処理項目テーブル201、シーケンス保存部202、プログラム記憶部203は、メモリ25にファイルとして保存されるものであり、その他の構成は、メモリ25に記憶されている装置の動作を統括するプログラムにより処理部24に設定される機能である。処理項目テーブル201には、処理の目的毎に複数の処理項目が登録される。図5は、この処理項目テーブルの一例を示すもので、画像入力関連、位置修正関連、一般計測関連などの処理の種類毎に、それぞれ具体的な処理項目が設定されている。このテーブルにおいて、画像入力関連に属する各処理項目は、処理対象の画像を取得するという目的に対応する。位置修正関連に属する各処理項目は、画像中のワーク上の計測対象部位の位置ずれを修正することにより、計測対象部位が画像中の一定の位置にあるようにするという目的に対応する。また一般計測関連に属する各処理項目は、計測対象部位について計測を行うという目的に対応するもので、さらに位置決めと計測という2種類の処理に区別される。このうち、位置決めは、画像A0上で計測対象位置を特定することを目的にした処理である。位置決めに属する処理項目を実行することにより特定される位置は、3次元計測のために用いることができるが、画像A0上での2次元的な位置計測自体を目的として、位置決めに属する処理項目が実行される場合もある。計測された2次元的な位置は、画像A0上の2点間の寸法の算出などに用いることもできる。計測は、3次元計測を行う場合には、画像A1上で、画像A0側で特定された計測対象位置に対応する位置を見つけ、その計測対象位置の3次元座標を算出することを目的とする処理である。また、画像A0を対象として、計測対象部位の面積を求める処理や平均濃度を求める処理のような2次元計測を目的とする処理も、計測に属する処理項目に設定される。図4に戻って、プログラム記憶部203には、処理項目テーブル201に登録された処理項目毎に、それぞれその項目の処理を実行するためのプログラムが格納される。指定操作受付部204は、処理項目テーブル201から各種処理項目を読み出してモニタ3に表示し、コンソール4による指定操作を受け付ける。この指定操作は、使用する処理項目を選択するとともに、その実行順序を指定するものである。シーケンス組立部205は、指定操作受付部204から受け付けた指定内容を渡されて、その指定に応じたシーケンスを組み立てる。組み立てられたシーケンスは、シーケンス保存部202に登録される。シーケンスは、具体的には、指定された処理項目に対応するコード情報を指定された順番に配列したデータ構成となる。処理項目テーブル201、シーケンス保存部202、指定操作受付部204、シーケンス組立部205は、シーケンス設定手段に相当し、シーケンス実行部206は、シーケンス実行手段に相当する。シーケンス実行部206は、シーケンス組立部205に保存されたシーケンスを読み出した後、プログラム記憶部203からそのシーケンスを構成する処理項目に対応するプログラムを順次読み出して実行する。処理結果出力部207は、このシーケンスの実行により最終的に得られた処理結果を出力する。また、シーケンス保存部202には、よく利用される複数の計測目的について、それぞれ画像入力から2次元計測や3次元計測までの流れを示す処理項目のシーケンスがあらかじめ登録されている。以下では、これらを基本シーケンスという。指定操作受付部204は、シーケンス保存部202に登録されている各種のシーケンス基本シーケンスを含む。を呼び出して表示し、選択操作を受け付けることもできる。ここでひとつのシーケンスが選択され、これを実行するように指定された場合には、指定操作受付部204からシーケンス実行部206に処理が移り、選択されたシーケンスが実行される。指定操作受付部204では、シーケンスの選択後に、処理項目を追加する操作や、一部の処理項目を差し替える操作などを受け付けることもできる。この場合には、シーケンスの選択結果やその後の操作内容はシーケンス組立部205に渡され、選択されたシーケンスの編集処理が行われる。基本シーケンスについても、処理項目の追加、変更、削除などを自由に行うことができる。編集されたシーケンスは、前のシーケンスに置き換えて登録されるが、新たなシーケンスとして登録することもできる。図6は、シーケンス保存部202に登録されたシーケンスのメニュー表示例を示す。ここでは、メニュー中の各シーケンスはシーンと呼ばれ、それぞれ個別のシーン名エッジ位置などが付与されている。図6の表示例では、0~3の各欄に3次元計測の基本シーケンスが登録されているが、4~7の欄は未登録であり、シーン4等の初期名称が表示されている。基本シーケンス以外のシーケンスが登録されると、この画面の4欄以降に、新たなシーン名が表示される。ここで図6に示されている3次元計測の基本シーケンスについて、簡単に説明する。エッジ位置は、計測対象部位のエッジ点の3次元座標を計測する場合に適用されるもので、各画像A0,A1上で計測対象とするエッジ点の位置を特定し、このエッジ点の3次元座標を算出する。パターンは、文字、図柄など一定のパターンが含まれる部位を計測する場合に適用されるもので、画像A0,A1からあらかじめ登録されたモデルのパターン以下、単にモデルという。に対応する領域の代表位置を特定し、この代表位置の3次元座標を算出する。高さ計測は、計測対象部位のパターンが一定でないワークごとに異なるような場合に適用されるもので、あらかじめ指定された位置情報に基づき画像A0中の計測対象領域とその代表位置を特定し、その領域内のパターンを取得した後、画像A1上で、画像A0から取得したパターンに対応する領域を探索してその代表位置を特定し、両画像における代表位置からその代表位置の3次元座標を算出する。この処理項目は、カメラC0を正面視垂直視の配置にして高さ情報Z座標を取得することを目的にすることが多いことから、高さ計測とよばれている。多点高さ計測は、基本的には高さ計測と同様のものであるが、指定された領域内の複数点の高さを計測する目的で使用される。上記の表示メニューからいずれかのシーケンスが選択されると、モニタの画面は、その選択されたシーケンスの内容を示す表示に切り替えられる。図71は、図6のエッジ位置が選択された場合の表示画面を示すもので、実行すべき処理項目が実行順序を示す数字0,1,2,3とともに表示されている。図72は、この表示されているシーケンスをフローチャートに置き換えて表したもので、ステップ0~3は、それぞれ実行順序を表す数字に対応する。以下、このフローチャートを用いて、エッジ位置の処理の流れを説明する。まず、最初のステップ0ステレオカメラ画像入力では、各カメラC0,C1を駆動して画像A0,A1を生成し、そのうちの画像A0を画像メモリ23に格納する。画像A1も画像入力部11の画像バッファ内に保持される。つぎのステップ1濃淡エッジ位置では、画像A0における計測対象領域内について2値化および投影処理を実行することにより、エッジの位置のx,y座標を特定する。つぎのステップ2カメラ切替では、カメラC1に対応する画像入力部11の画像バッファから画像A1を読み出して、この画像により画像メモリ23を書き替える。つぎのステップ3ステレオエッジ位置では、画像A1を処理対象として、カメラC0,C1間のカメラ座標系の関係に基づき、ステップ1で特定したエッジ位置に対応する位置を特定する。そして、画像A0上で特定した位置と画像A1上で特定した位置とを用いて3次元座標を算出する。図81は、図6のメニュー表示中のパターンが選択された場合のモニタ3の表示例を示し、図82は、この表示画面に表される処理内容をフローチャートに置き換えて示す。以下、このフローチャートに沿って、パターンの処理の流れを説明する。最初のステップ0ステレオカメラ画像入力では、エッジ位置のステップ0と同様に、各カメラC0,C1を駆動して画像A0,A1を生成し、そのうちの画像A0を画像メモリ23に格納する。つぎのステップ1高精度ECMEdgeCodeModelサーチでは、画像A0を対象として、あらかじめ登録したモデル画像との一致の程度が高いモデル画像とマッチングする領域の代表位置例えば領域の中心位置を特定する。この処理は、画像A0を微分処理して濃度の微分値が一定値以上の点を抽出し、さらにそれらの点における濃度勾配の方向角度データECEdgeCodeとして表される。を算出した後、角度データECの分布パターンをモデル画像における角度データECの分布パターンと照合する方法により行われる。詳しい処理方法については、特開2002-230549号公報を参照されたい。つぎのステップ2カメラ切替では、エッジ位置のステップ2と同様に、カメラC1側の画像A1により画像メモリ23を書き替える。つぎのステップ3ステレオ高精度ECMサーチでは、画像A1を処理対象として、画像A0に対して実行したのと同様の方法でモデル画像との一致の程度が高い領域の代表位置例えば領域の中心位置を特定する。そして、画像A0上で特定した位置と画像A1上で特定した位置とを用いて3次元座標を算出する。その他の3次元計測の基本シーケンスも同様に、まずカメラC0側の画像A0を処理対象として、3次元計測の対象となる点の位置または領域の代表位置を特定する処理を実行した後、画像A1に処理対象を切り替えて、画像A0側で特定した位置に対応する点の位置または領域の代表位置を求め、3次元座標またはZ座標の算出処理を実行するように設定されている。図5に示した処理項目テーブル201によれば、図7,8のステップ0およびステップ2は、画像入力関連の処理項目に相当する。また、ステップ1は、位置決め関連の処理項目に相当し、ステップ3は計測関連の処理項目に相当する。この実施例の検査装置の構成で3次元計測を実施するには、このステップ0~3に対応する処理項目を選択することを要するただし、画像メモリに双方の画像A0,A1を格納できるならば、ステップ2は不要となる。。3次元計測の基本シーケンスでは、上記ステップ0~3の各処理に対応する処理項目が既に選択されているので、ユーザーは、ワークWの被検査部位の位置を特定するための条件や計測目的に適した基本シーケンスを選択することにより、その目的に応じた計測処理を行うことができる。1つのシーケンスの中で、位置決め関連の処理項目および計測関連の処理項目をそれぞれ複数選択することも可能である。たとえば、位置決め関連として、エッジ位置と高精度ECMサーチとを選択し、計測関連としてステレオエッジ位置とステレオ高精度ECMサーチとを選択することができる。この場合には、エッジ位置の処理で特定された位置がステレオエッジ位置の処理に与えられてステレオエッジ位置の処理で対応位置の特定と3次元座標算出が行われ、また、高精度ECMサーチの処理で特定された位置がステレオ高精度ECMサーチの処理に与えられてステレオ高精度ECMサーチの処理で対応位置の特定と3次元座標算出が行われる。さらに、1つのシーケンスの中で、同種の処理を複数設定することも可能である。たとえば、同じ高精度ECMサーチの処理を複数設定し、それと同数のステレオ高精度ECMサーチの処理を設定することもできる。この場合、対となる高精度ECMサーチ位置決めの処理とステレオ高精度ECMサーチ計測の処理ごとに、3次元座標が算出される。どの位置決め処理第1画像上位置特定処理とどの計測処理第2画像上位置特定処理とを対にして3次元計測を行うのかは、特定される必要がある。具体的には、各計測処理についての設定事項の中に、それぞれその処理に対応する位置決め処理がシーケンス中の何番目の処理であるかを示す数値が含められる。また、他の実施形態として、画像メモリ23に画像A0と画像A1とを同時に格納できるようにした場合には、カメラ切替のステップを設ける必要がないので、シーケンスの中で位置決め処理と3次元計測処理とがこの順序で連続して設定されたときに、これらの処理を対として扱うようにしてもよい。図7、図8の基本シーケンスには、3次元計測に必須の処理項目しか設定されていないが、必要に応じてその他の処理項目を追加することもできる。図9は、図7のエッジ位置の基本シーケンスに位置修正関連の処理項目を追加する例を示す。以下、この図9の流れに沿って、処理項目を追加する場合のユーザーの操作の手順を説明する。まず、ユーザーは、新たに加える処理の直後に実行される処理項目にカーソル31を合わせ図9のA、編集操作を行うこの例では、シフトキーとエンターキーとを同時に操作する。この編集操作が行われると、表示画面には、図9Bに示すように、選択ボックス32が設定され、その内部に編集方法を示すワード変更、挿入などが表示される。ここでユーザーが選択ボックス32中の挿入を選択すると、図9Cに示すように、選択ボックス32の表示が切り替えられ、処理項目テーブル201の種別欄に設定された項目が表示される。この表示に対し、ユーザーが所定の項目図示例では位置修正関連を選択すると、図9Dに示すように、新たな選択ボックス33が設定されて、その内部に選択された種別に含まれる処理項目が表示される。この中からユーザーが所望の項目図示例ではモデル位置修正を選択すると、図9Eに示すように、基本シーケンス中のカーソル31で指定された位置に、選択された処理項目が挿入される。図9Bの選択ボックス32において、変更を選択すると、現在選択中の処理項目濃淡エッジ位置を他の処理項目に置き換えることができる。また削除を選択することにより、選択中の処理項目を削除することができる。またコピーを選択することにより、選択中の処理項目を記憶して、他のステップに同じ項目を設定することが可能になる。このコピー機能は、図1,2に示したワークWのように、複数の計測対象部位ICのリードが存在し、これらの計測対象部位毎に計測位置を特定しなければならないような場合に利用することができる。さらに、上記では、基本シーケンスを編集する例について説明したが、基本シーケンスに頼らずに、処理項目テーブル201から直接必要な処理項目を読み出してシーケンスの完全マニュアル設定を行う場合にも、図9と同様の選択ボックス32,33が表示されるので、ユーザーは、必要な処理項目を迷わずに選択することができる。さらに、処理項目テーブル201には、3次元計測のための処理に限らず、2次元計測用の処理項目も登録されている。たとえば、ワークWに記された文字の印字状態を検査するための処理項目として、パターンマッチング処理が登録されていたり、キズや欠けなどの不良を検出するための処理項目として、濃度平均値や濃度偏差の算出処理が登録されていたりする。これらの処理項目についても、3次元計測の処理項目とともにシーケンス内に組み込むことにより、2次元および3次元の計測処理を効率良く実行することができる。図10は、図7のエッジ位置の基本シーケンスに2次元計測のための処理を加えた例を示す。この例では、ステップ0のステレオカメラ画像入力の後に2次元計測に関する処理項目として濃度平均/偏差が設定され、以下、基本シーケンスと同様の処理項目が設定されている。編集されたこのシーケンスによれば、先に画像メモリ23に格納された画像A0を処理対象として、濃度平均および偏差を算出する処理が実行された後、同じ画像A0を用いて3次元計測の対象位置が特定され、その後に画像A1に対する処理に移行するから、2次元計測にも3次元計測と同じ画像を使用することができる。また、画像メモリ23に対する書き替え回数を、基本シーケンスと同様に1回にできるから、処理の遅延を防止することができる。ここからは、今まで述べてきた実施例についてさらに詳細に説明する。以下では、カメラC0からの画像A0を正面視画像A0といい、カメラC1からの画像A1を斜視画像A1という。図11は、検査装置の全体構成を示すブロック図であり、図3の内容をさらに詳細に示すものである。図3と重複する部分については説明を省略する。この検査装置には、装置内コンピュータ200が設けられている。装置内コンピュータ200は、カメラC0,C1毎の画像を用いた計測処理を実行した後、その処理結果からワークWの適否を判定する。装置内コンピュータ200には、画像A0,A1を格納するための画像メモリ23のほか、画像処理部41、計測処理部42、判定部43、表示制御部26、パラメータ算出部44、パラメータ記憶部45などが設けられる。画像メモリ23およびパラメータ記憶部45以外の各部は、専用のプログラムにより装置内コンピュータ200に設定された機能である。画像メモリ23やパラメータ記憶部45は、装置内コンピュータ200のメモリRAM、EEPROMなどに設定される。上記構成のうち、画像処理部41,計測処理部42,判定部43,パラメータ算出部44,パラメータ記憶部45は、図3の処理部24に対応する。また図11には示していないが、装置内コンピュータ200には、検査に必要な情報検査領域の設定条件やモデルの画像などを登録するためのメモリ図3のメモリ25に対応する。も設けられる。この登録用メモリへの登録処理や、装置内コンピュータ200の各部が実行する処理の設定または変更は、適宜、コンソール4の操作に応じて行うことができる。画像処理部41は、2値化、エッジ抽出、パターンマッチングなどにより、ワークWの検査対象部位の構成点を抽出する。計測処理部42は、画像処理部41により抽出された検査対象部位につき、位置や大きさなどを計測する処理を実行する。画像処理部41および計測処理部42は、2次元および3次元の処理を選択して実行できるように設定されている。判定部43は、計測処理部42の計測結果を所定のしきい値と比較するなどして、ワークWの良否を判定する。この計測結果や判定結果は出力部27および表示制御部26に出力される。表示制御部26は、モニタ3の表示動作を制御するためのもので、画像入力部20,21で生成された正面視画像A0,斜視画像A1を一画面内に並列表示させることができる。さらに、適宜、画像処理部41、計測処理部42、判定部43の処理結果を受け取って、画像とともに表示させることができる。パラメータ記憶部45には、3次元計測のための演算式に含まれる各種係数が保存される。これらの係数の値は、各カメラC0,C1により構成されるステレオ座標系と実際の空間における位置を表す空間座標系との関係各座標間の原点間の距離、空間座標系に対するステレオ座標系の回転ずれ量などに応じて変動する以下、これらの係数をパラメータという。。これらのパラメータは、検査に先立ち、画像処理部41およびパラメータ算出部44により算出され、パラメータ記憶部45に格納される。このパラメータを算出する処理では、複数の特徴点を有するキャリブレーション用ワークが使用される。さらに、パラメータ記憶部45には、後記する演算式1のホモグラフィ行列を構成するパラメータも登録される。この実施例の検査装置は、ユーザーに複数種の検査メニュー処理項目や登録済みの処理項目のシーケンスを提示して選択操作を受け付けることにより、検査のアルゴリズムシーケンスを組み立てることが可能である。また、検査対象の部位に応じて、2次元の計測処理による検査と3次元の計測処理による検査とを、選択して実行することができる。2次元の計測処理による検査では、カメラC0からの正面視画像A0を対象として、パターンマッチング処理、2値化処理、エッジ抽出処理などを実行し、ワーク全体またはワーク中の検査対象部位を抽出する。さらに、この実施例では、3次元の計測処理による検査にも、カメラC0からの正面視画像A0を有効活用することにより、3次元計測処理を高速化できるようにしている。この点については、後で詳細に説明する。以下、上記の検査装置によりICの検査を行う場合を例にして、検査にかかる処理を詳細に説明する。図12は、ワークWがICである場合に実施される検査の手順を示すものである。この手順は、ワーク検出用のセンサからの検知信号を受けて開始される。最初のST1STはステップの略である。以下も同じ。では、カメラ駆動部12により、カメラC0,C1を同時に駆動して、正面視画像A0,斜視画像A1を生成する。つぎのST2では、ICのパッケージ部分に印刷された文字を対象とした検査を実行する。この検査では、正面視画像A0のみを用いた2次元の画像処理を実行する。たとえば、パターンマッチング処理により文字の印刷領域を抽出し、そのマッチング時の相関度やマッチング位置から文字の印刷状態の適否を判別する。つぎのST3では、ICの両側のリードを検査対象とする。この検査では、正面視画像A0および斜視画像A1の双方を用いた3次元計測処理により各リードの先端部の3次元座標を求め、その算出値から各リードの先端部に浮きや曲がりなどの異常がないかどうかを判別する。ST2,3の検査が終了すると、ST4では、各検査の結果を外部機器やモニタ3に出力する。さらに、ワーク検出用のセンサによりつぎのICが検出されると、ST1に戻り、上記と同様の手順を実行する。このように、2台のカメラC0,C1によりそれぞれワークWを1回撮像することにより、2次元計測による検査と3次元計測による検査とを連続で実行することができる。2次元の計測処理では正面視画像A0を使用するから、文字の歪みのない画像を用いて精度の良い計測処理を行うことが可能になる。3次元計測処理を行う際には、正面視画像A0と斜視画像A1との間で対応する計測対象の点を特定し、その3次元座標を三角測量の原理に基づく演算式にあてはめることにより算出する。図13は、正面視画像A0における検出領域および斜視画像A1における検出領域の設定例を示す。この例でも、図2と同様に、画像の縦方向正面視画像A0ではリードの配列に沿う方向となる。をy方向とし、横方向正面視画像A0ではリードの長さに沿う方向となる。をx方向とする。正面視画像A0には、リード6毎に個別の検出領域7が設定され、検出領域7毎に、リードの先端に該当するエッジ点が1点特定される。すなわち、ここではカメラC0、C1がx方向に並んでいるので、視差は主にx方向に発生する。そこで、検出領域7内の画像を2値化し、得られた2値画像をy方向に沿って投影することによって、x方向を横軸、投影された明画素数または暗画素数を縦軸とするヒストグラムを作る。そして、ヒストグラムの値が急変する箇所のx座標をリード6の先端のx座標とする。一方、リード6の先端のy座標については、検出領域7のy方向の中点のy座標をあてる。ここでは検出領域7内の画像を2値化したが、これに限らず、検出領域7内の画像を濃淡画像のまま各画素の濃度をy方向に積分し、そのようにして得られた積分濃度分布の値がx方向に沿って急変する箇所たとえばしきい値を横切る箇所のx座標を求めるようにしてもよい。このように、検出領域7においては、特定の一方向がエッジの検出対象となる。図13の例では、x方向がエッジの検出方向である。ここでは、正面視画像A0に検出領域7を設定した後に、その検出領域7に対してエッジの検出方向を指定するようにしている。しかし、これに限らず、もともと固有のエッジの検出方向を備える検出領域7を設定するようにしてもよいし、先に検出領域7のエッジ検出方向を指定し、その後、正面視画像A0に検出領域7を設定するようにしてもよい。斜視画像A1でも、リード6毎に検出領域8が設定される。これらの検出領域8は一方の画像上の一点を他方の画像上の一点に変換するための演算式後記する1式に基づき、正面視画像A0の各検出領域7で特定されたエッジ点の座標やユーザーにより指定された高さ範囲検査対象部位の高さの取り得る範囲などを用いて設定される。高さ範囲は、カメラC0の光軸に沿った3次元計測の対象範囲である。図13では、ワークWの右側のリードに対する領域設定のみを示しているが、左側のリードに対しても同様の設定が行われる以下の図でも同様である。。図14は、ICのリード検査のためのティーチング処理の手順を示す。この手順は、図4のIC検査を始める前に実行される。この手順の最初のステップであるST11では、検査対象のワークWこの例ではICについて、リード6の長さやリード6間のピッチなどを入力する。ここで入力されたデータは、作業用のメモリに登録され、後記するST15で使用される。つぎのST12では、撮像対象位置に良品のワークを設置して、これをカメラC0,C1により撮像する。ティーチング処理では、カメラC0からの正面視画像A0が生成されれば足りるが、この実施例では、ティーチング処理時にも各カメラC0,C1を同時駆動し、生成された2枚の画像をモニタ3に並べて表示するようにしている。つぎのST13では、正面視画像A1で位置決め領域の指定操作を受け付ける。図15はこの指定操作時の正面視画像A1の表示例を示すもので、図中の9が位置決め領域である。この位置決め領域9は、一列に並んだリード6のうちの一番端のリード図示例では最上端のリード6aである。以下、これを先頭リード6aという。を抽出するのに用いられる。図7の例では、先頭リード6aのみが含まれるような正方形状の領域9を設定している。位置決め領域9は、ワークWが想定される程度に位置ずれしても、位置決め領域9の中に先頭リード6aを撮像することができるように、その大きさが調整される。また、位置決め領域9は、その下半分の範囲に先頭リード6aが撮像されるように設定される。これにより、位置決め領域9の上半分の範囲にはリードが撮像されていないことをもって、位置決め領域9の下半分の範囲に撮像されているのが先頭リード6aであると確認できる。図14に戻って、位置決め領域9が指定されると、つぎのST14では、この位置決め領域9から先頭リード6aを抽出する。この抽出処理では、たとえば、位置決め領域9内の画像を2値化し、2値化後の画像をx軸方向に沿って投影する方法により、先頭リード6aのy座標を求める。または、位置決め領域9内のエッジやその濃度勾配方向を抽出することにより、リードの輪郭線を抽出し、さらにリードの中心線のy座標を求めるようにしてもよい。ST15では、先頭リード6aのy座標およびST11で入力されたデータに基づき、各リード6に検出領域7を設定する。この実施例では、ST11で入力されたデータ、カメラC0のピクセル数、倍率などを用いて、画像上におけるリード6の長さやリード6間のピッチを算出し、その算出値に基づき、各検出領域7の大きさや領域間の間隔を決定する。さらに、先頭リード6aの位置を基準に、このリード6aを含む各リード6に対し、決定した間隔毎に決定した大きさの検出領域7を設定する。このような方法をとることができるのは、ワークWの検査対象部位の特性各リードの長さが等しい、リード間のピッチが等しいなどがそのまま反映された正面視画像A0を使用するからである。したがって、先端リード6aが抽出できれば、他のリード6を抽出しなくとも、全てのリード6に検出領域を設定することが可能になり、処理効率を大幅に向上することができる。ST16では、ST13で指定された位置決め領域9の設定条件領域の位置および大きさと、ST15で設定された検出領域7の設定条件を登録用メモリに登録する。さらに、ST17では、位置決め領域9内の画像をモデルとして登録用メモリに登録する。これにより一連のティーチング処理は終了となる。ST16を実行する前には、検出領域7の設定結果を示す画像をモニタ3に表示し、ユーザーの確認操作に応じて登録を行うのが望ましい。また、この際に、検出領域7の位置や大きさを微調整できるようにしてもよい。図16は、ICのリード検査図12のST3にかかる詳細な手順を示す。この手順のST21からST24までの処理は、正面視画像A0に対して行われるものである。まず、ST21では、ティーチングで登録された設定条件に基づき、正面視画像A1に位置決め領域9を設定する。つぎのST22では、この位置決め領域9内の画像とティーチング処理のST17において登録したモデルとを照合して、モデルに対するずれ量を抽出するこの処理には、たとえばパターンマッチングの手法を応用することができる。。ST21とST22は、処理項目テーブル201中のモデル位置修正の処理項目に相当する。ST23では、ティーチング時に登録した検出領域の設定条件をST22で抽出されたずれ量に基づき調整し、その調整後の設定条件により各リードの検出領域7を設定する。正面視画像A0によれば、画像上のワークWの歪みを考慮しなくてよいから、位置決め領域9のずれ量をそのまま各検出領域7に適用することができ、各リード6に対し、ティーチング処理時と同様の位置関係をもって検出領域7を設定することが可能になる。図17は、検査時の正面視画像A0の一例を示す。この例でのワークWは、図7に示したティーチング時の画像A0より右側にずれているため、リード6の先端が位置決め領域9からはみ出した状態になっている。しかし、検出領域7については、上記した調整処理が行われるため、いずれのリード6にも図4に示したのと同様の条件で検出領域7が設定されている。このようにしてリード毎に検出領域7が設定されると、つぎのST24では、各検出領域7毎に、リードの先端のx,y座標を算出する。ST23とST24は、処理項目テーブル201中の濃淡エッジ位置の処理項目に相当する。この処理項目はリードの数だけ繰り返し設定されている。また、図示を省略するが、この処理項目の後には、カメラ切替の処理項目が実行される。つぎのST25では、斜視画像A1上に、各リードの先端部に対する検出領域8を設定する。さらにST26では、設定された検出領域8においてST24と同様の処理を実行し、リードの先端のx,y座標を算出する。この後、ST27では、各先端につき、それぞれST24,26で算出された座標を用いて3次元座標を算出する。さらに、ST28では、算出された3次元座標をあらかじめ登録された基準値と比較するなどして、各リード先端部の良否を判別する。たとえば、所定の先端部に浮きがあれば、高さを表すZ座標が基準値を超える値となり、その先端部は不良であると判定されることになる。ST25からST27までは、ステレオエッジ位置の処理項目に相当する。この処理項目も、リードの数だけ繰り返し設定されている。つぎに、ST25での検出領域8の設定について、詳細に説明する。図18は、空間内の任意の高さ位置にある平面D上の一点PがカメラC0,C1の撮像面F0,F1上の点p0,p1にそれぞれ結像した状態を示している。図18において、X,Y,Zは3次元空間を表す座標軸であり、平面Dは、XY平面に平行である。また撮像面F0には、x0,y0の軸による2次元座標系が、撮像面F1には、x1,y1の軸による2次元座標系が、それぞれ設定されている。図10では、たまたま、両撮像面の原点に結像される平面D上の点がPとされているが、これに限らず、点Pの位置は平面D上で任意である。撮像面F0における点Pの結像位置点p0の座標をxcam0,ycam0、撮像面F1における点Pの結像位置点p1の座標をxcam1,ycam1とすると、点p0,p1間の関係は、つぎの1式のようになる。1式において、HZは、高さZの平面D上の点について、撮像面F0上の結像位置と撮像面F1上の結像位置との関係を表す3×3のホモグラフィ行列であり、λは定数である。行列HZは、あらかじめ平面D上の既知の座標を用いたキャリブレーションにより求めることができるキャリブレーションの詳細については、下記の非特許文献1を参照されたい。。見市伸裕,和田俊和,松山隆司プロジェクタカメラシステムのキャリブレーションに関する研究、[平成17年6月1日検索]、インターネット<URL:httpvisionkueekyotouacjpResearchThesisThesisPDFMiichi2002P147pdf>よって、正面視画像A0の各検出領域7で抽出されたリードの先端を点p0と考えて、その座標を1式のxcam0,ycam0に代入した場合、算出されたxcam1,ycam1は、斜視画像A1におけるリード先端の位置に相当すると考えることができる。しかし、リード先端の高さが変動すると、平面Dの高さZもそれに応じて変動し、それに応じてホモグラフィ行列HZが変化し、xcam1,ycam1の値も変化することになる。ST25では、この原理に基づき、想定される高さ範囲カメラC0の光軸に沿った3次元計測の対象範囲の上限値を平面Dの高さZとしたときと、下限値を高さZとしたときとについて、それぞれその高さZに応じたホモグラフィ行列HZを用いて1式を実行することにより、xcam1,ycam1として図19に示す2点e,fの座標を得る。そして、斜視画像A1において、図19に示すように、線分efを正面視画像A0側の検出領域7の半値幅kだけ線分efと垂直方向の各側に平行移動させた線分ghおよび線分g’h’を設定し、これら4点を結ぶ矩形領域ghh’g’を検出領域8とする。図20は、図13と同様の斜視画像A1について、リード6の取り得る高さ範囲を0~5mmとした場合と、高さ範囲を-15~15mmとした場合とでの検出領域8の大きさを対比させて示したものである。この例から明らかなように、検出領域8は、高さ範囲の変動幅が小さいほど小さくなる。図20では簡略化して各検出領域8を互いに平行に描いているが、実際には、斜視画像A1には遠近法の効果によって矩形の対象物が台形に撮像されるような歪が生じるため、各検出領域8は、それらの中心線線分ef同士の間隔が図の右方ほど大きくなるような非平行の配置となる。各検出領域8において、エッジ先端位置を求めるための2値化画像の投影は、検出領域8の中心線と垂直な方向に行う。上記の実施例では、基準画像A0において、リードの先端位置を特定するために各リード6に対応する検出領域7を設定したので、リードの数だけ処理項目の設定が必要であったが、これに代えて、各リードの先端を含むようにy軸方向に長い1つの検出領域を設定し、この領域内で各リードの先端位置を個別に求めることができるような処理項目を設けてもよい。つぎに、押釦式の文字キーが配設されたワークリモコン、電話機などを検査対象として、各キーの高さを検査する場合について、説明する。この場合、検査に先立ち、図21に示すように、良品のワークWを撮像して得られた正面視画像A0を用いて、各キー60毎に、そのキー60に描かれた文字を含む領域70を指定し、その領域70内の画像をモデルとして登録しておく。図22は、検査の手順を示す。まずST31において、各カメラC0,C1を同時駆動して画像を生成する。このST31は、処理項目テーブル201中のステレオカメラ画像入力の処理項目に相当する。つぎのST32では、正面視画像A0について、検査前に登録されたモデルを用いたパターンマッチング処理を実行し、モデルと最もよく一致する領域を特定して計測対象領域とする。この処理は各キー60に対応するモデル毎に行われるが、ここでは説明を簡単にするため、一つのモデルに限定して説明する。計測対象領域が特定されると、つぎのST33では、この領域の代表点たとえば領域の中心点の座標を特定する。代表点は複数特定することもできるたとえば、あらかじめ定めたモデル上の複数の特徴点に対応する点。ST32とST33は、処理項目テーブル201中の高精度ECMサーチの処理項目に相当する。この処理項目の実行後には、図示しないカメラ切替の処理項目が実行され、ST34に進む。ST34では、代表点の座標に基づき、斜視画像A1上にサーチ領域を設定する。この場合にも、前述のリード検査で検出領域8を設定した場合と同様に、あらかじめ指定された高さ範囲の上限値および下限値を高さZとしてホモグラフィ行列HZを設定し、代表点の座標と高さ範囲の上限値および下限値を用いて2回の演算を実行することにより、画像A1上で代表点の存在し得る範囲を求め、その範囲にモデルの大きさを加味した領域をサーチ領域としている。ST35では、サーチ領域において、モデルとの間のパターンマッチング処理を実行して、計測対象領域とその領域内の代表点の位置とを特定する。さらにST36では、正面視、斜視の各画像A0,A1における計測対象領域の代表点の座標を用いて、3次元座標を算出する。ついで、ST37では、算出された3次元座標のうちのZ座標を所定のしきい値と比較することにより、キーの高さの適否を判別する。そして、ST38において、判別結果を出力し、処理を終了する。ST35からST38までは、ステレオ高精度ECMサーチの処理項目に相当する。基準画像A0上で、モデルに定めた特徴点に対応する点を代表点として特定した場合には、ST36においても、同様に、モデル上の対応点を特定することができる。また、ST35では、指定された高さ範囲内の所定高さたとえばワークが正常であるときの標準となる高さに対応するホモグラフィ行列を用いてモデルを斜視カメラC1に撮像されるはずの形状に変換し、その変換後のモデルを用いて計測対象領域を特定するようにしてもよい。図23は、上記の検査において、正面視画像A0上でキー60に関して特定された計測対象領域71、この領域71の位置と大きさに基づいて設定された斜視画像A1側のサーチ領域80、およびサーチ領域80において特定された計測対象領域81を示す。図22に示した手順では、3次元計測処理による検査のみを行っているが、この検査でも、正面視画像A0を用いた2次元計測処理により、各キーの文字の印刷状態などの検査を行うことができる。つぎの実施例は、中央部に円形状の表示領域を有するワークについて、その表示領域内の高さの適否を検査するものである。図24は、各カメラC0,C1により生成されたワークWの画像A0,A1を示す。図中、Sが検査対象の表示領域である。正面視画像A0では、先の実施例と同様に、ワークWの正面像が現れているため、表示領域Sの輪郭線72も円形状になっている。これに対し、斜視画像A1では、ワークWに歪みが生じているため、表示領域Sの大きさや輪郭線72の形状も正面視画像A0とは異なるものになり、表示領域S内の文字の配置状態にも歪みが生じている。この実施例では、検査に先立ち、ワークWの良品モデルを撮像し、得られた正面視画像A0上で、ユーザーに表示領域Sの半径や計測対象領域を指定させる。このとき、画像処理部22では、正面視画像A0から表示領域Sの中心点の位置を求める処理を実行し、この中心点に対する計測対象領域の相対位置を登録用メモリに登録する。図25は、正面視画像A0中の表示領域Sを拡大して示す。図中、73がユーザーにより指定された計測対象領域であり、74が表示領域Sの中心点である。この中心点74の位置は、正面視画像A0から円形パターンを抽出する処理を実行し、その抽出結果の中からユーザーにより指定された大きさの円位置修正用モデルに最もよく合致する輪郭線72を特定して、求めたものである。図26は、図24のワークWに対する高さ検査の手順を示す。ST41では、先の実施例と同様に、各カメラC0,C1を同時駆動して、正面視画像A0および斜視画像A1を生成する。このST41は、処理項目テーブル201中のステレオカメラ画像入力の処理項目に相当する。ST42では、正面視画像A0から上記の処理により、表示領域Sの中心点74の位置を求める。ST42は、モデル位置修正の処理項目に相当する。つぎのST43では、ST42で求められた中心点74の座標を基準に、あらかじめ登録された相対位置に基づき計測対象領域73を設定する。そして、続くST44において、計測対象領域73の画像をサーチ用のモデル画像として登録し、さらに計測対象領域73の代表点位置たとえば、領域内の中心点位置も登録する。ST44は、ステレオ領域設定の処理項目に相当する。図26では図示を省略しているが、この処理項目の実行後にはカメラ切替の処理項目が実行される。ST45では、斜視画像A1上にサーチ領域82図27に示す。を設定する。この実施例でも、ST44で登録された代表点の座標を1式に代入し、あらかじめ指定された高さ範囲の上限値および下限値に応じたホモグラフィ行列HZを用いて1式を実行することにより、サーチ領域82の位置や大きさを決定している。ST46では、正面視画像A0の計測対象領域73についてST44で登録した画像を用いて、サーチ領域82において相関マッチング処理を実行する。そして、登録した画像に最も類似する領域を特定し、これを斜視画像A1側の計測対象領域とする。ST47では、斜視画像A1側の計測対象領域について、代表点の座標を求め、この座標と正面視画像A0側の代表点の座標とを用いて3次元座標を算出する。続くST48では、求められたZ座標の適否を判定する。そして、ST49において、判定結果を出力し、しかる後に処理を終了する。ST45からST49までの処理は、処理項目テーブル201中のステレオ高さ計測の処理項目に相当する。図2712は、それぞれ1組の正面視画像A0と斜視画像A1について、正面視画像A0における計測対象領域73、斜視画像A1におけるサーチ領域82および計測対象領域83を示す。また、正面視画像A0においては、表示領域Sの輪郭線72を太線にして示すとともに、表示領域Sの中心点74の求められた位置を示してある。図27の1の画像と2の画像とでは、ワークWの位置が異なるが、どちらの場合も計測対象領域73は、その中に目標とする文字が収まるように正しく設定されている。図26に示した検査の手順によれば、検査対象のワークWごとにそのワークWからサーチ用のモデル画像を取得するので、3次元計測の対象とする文字などの表面パターンがワークWごとに異なる場合でも、同一のシーケンスを適用して3次元計測を行うことができる。ここでは、表面パターンはワークWごとに異なるかもしれないが、ワークWの形状とワークWの形状を基準とした計測対象領域の位置はどのワークWにおいても共通であることを利用して、計測対象領域を設定している。図26の手順においても、登録したサーチ用のモデル画像をホモグラフィ行列Hzを用いて斜視カメラC1に撮像されるはずの形状に変換し、変換後の画像を用いて計測対象領域83を特定するようにしてもよい。さらに、図26の手順にも、正面視画像A0を用いて表示領域S内の文字の印刷状態を検査する処理を組み込むことができる。"