(57)【特許請求の範囲】
【請求項１】
被測定物の位置を計測可能な画像処理装置であって、
前記被測定物を撮像して画像データを生成する撮像部を接続するためのカメラインターフェイスと、
モデル画像を記憶する記憶手段とを備え、前記モデル画像は、第１の被測定物の露出面が位置計測の基準となる基準面と平行した状態で、前記撮像部を用いて前記第１の被測定物を撮像した場合に生成される画像データに相当し、
前記モデル画像と前記撮像部が第２の被測定物を撮像することで生成される画像データである計測画像とを比較することで、前記撮像部の撮像方向における前記第２の被測定物の位置を算出する計測手段と、
前記第１の被測定物の露出面が前記基準面とは平行ではない状態で、前記撮像部を用いて前記第１の被測定物を撮像した場合に生成される画像データを、前記第１の被測定物の露出面が前記基準面に平行した状態で生成される画像データに相当するように変換した上で、前記モデル画像として前記記憶手段に記憶する変換手段とを備える、画像処理装置。
【請求項２】
前記計測手段は、前記第２の被測定物の前記基準面からの高さおよび傾きの少なくとも一方を算出する、請求項１に記載の画像処理装置。
【請求項３】
前記変換手段は、前記第１の被測定物の露出面が前記基準面とは平行ではない状態で生成される画像データ上の前記第１の被測定物の大きさと、前記第１の被測定物の露出面の実際の大きさとの対応関係に従って、前記モデル画像への変換を行う、請求項１または２に記載の画像処理装置。
【請求項４】
外部からの入力を受付ける入力インターフェイスをさらに備え、
前記変換手段は、
前記入力インターフェイスを介して、前記第１の被測定物の露出面が前記基準面とは平行ではない状態で生成される画像データ上の前記露出面上にある複数の点の座標位置を受付ける第１入力手段と、
前記入力インターフェイスを介して、前記画像データ上の複数の点に対応する前記第１の被測定物の露出面上の複数の点の、前記露出面上での座標位置を受付ける第２入力手段とを含む、請求項３に記載の画像処理装置。
【請求項５】
外部からの入力を受付ける入力インターフェイスをさらに備え、
前記変換手段は、
前記入力インターフェイスを介して、円形の露出面を有する前記第１の被測定物について、前記第１の被測定物の露出面が前記基準面とは平行ではない状態で生成される画像データ上における、前記円形の露出面の中心を示す座標位置と当該円形の露出面の径を示す値とを受付ける第１入力手段と、
前記入力インターフェイスを介して、前記画像データ上の前記中心を示す座標位置と前記径を示す値とに対応する、前記第１の被測定物の露出面上における、前記円形の露出面の中心を示す座標位置と当該円形の露出面の径を示す値とを受付ける第２入力手段とを含む、請求項３に記載の画像処理装置。
【請求項６】
表示部に接続され、当該表示部での表示を制御する表示制御部をさらに備え、
前記第１入力手段は、前記撮像部により生成される画像データを前記表示部に表示した状態で指定を受付ける、請求項４または５に記載の画像処理装置。
【請求項７】
前記基準面は、前記撮像部の撮像方向に直交する平面である、請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項８】
被測定物を撮像して画像データを生成する撮像部を接続するためのカメラインターフェイスと、メモリとを有するコンピュータで実行される、前記被測定物の位置を計測するための画像処理プログラムであって、前記画像処理プログラムは、前記コンピュータを、
モデル画像を前記メモリに記憶する記憶手段として機能させ、前記モデル画像は、第１の被測定物の露出面が位置計測の基準となる基準面と平行した状態で、前記撮像部を用いて前記第１の被測定物を撮像した場合に生成される画像データに相当し、
前記モデル画像と前記撮像部が第２の被測定物を撮像することで生成される画像データである計測画像とを比較することで、前記撮像部の撮像方向における前記第２の被測定物の位置を算出する計測手段と、
前記第１の被測定物の露出面が前記基準面とは平行ではない状態で、前記撮像部を用いて前記第１の被測定物を撮像した場合に生成される画像データを、前記第１の被測定物の露出面が前記基準面に平行した状態で生成される画像データに相当するように変換した上で、前記モデル画像として前記記憶手段に記憶する変換手段として機能させる、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、被測定物の位置を計測可能な画像処理装置およびそれに向けられた画像処理プログラムに関するものである。
【背景技術】
【０００２】
従来から、ＦＡ（Factory Automation）分野などにおいては、各種の画像処理技術が利用されている。典型的には、被測定物を撮像して得られた画像データに基づいて、当該被測定物上の欠陥や汚れの有無を検査したり、その大きさなどを計測したり、被測定物上の文字や図形などを認識したりする画像処理技術が広く実用化されている。このような画像処理技術は、従来の２次元（平面）画像に限られず、３次元（立体）画像を用いる構成についても実用化されている。
【０００３】
一般的な３次元画像処理技術としては、目的の被測定物を複数の撮像部でそれぞれ撮像することで生成される複数の画像データを用いて、いわゆるステレオ計測といった方法が採用される。
【０００４】
一方で、より簡素化した方法で、被測定物の３次元空間上の位置などを計測する方法として、１つの撮像部が被測定物を撮像することで生成される画像データを予め登録したモデル画像と比較することで、当該被測定物の位置を計測する技術が知られている。
【０００５】
たとえば、特開平５−２０９７３０号公報（特許文献１）には、１台の画像撮像装置を使用して、即ち単眼により見え方の違いをなくした相似形の撮像により、物体の３次元位置等の計測を行うことができるようにした画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平５−２０９７３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のような１つの撮像部を用いて被測定物の位置などを測定する方法は、基本的には、撮像部からの光学距離の変化などを利用している。具体的には、特開平５−２０９７３０号公報（特許文献１）に開示される方法では、画像撮像装置に取り付けられたズームレンズにより焦点距離を変化させ、この焦点距離の変化によって得られる同一対象物に対する拡大率もしくは縮小率を変化させた画像を利用して、物体の計測を行う。
【０００８】
すなわち、上述のような計測方法は、原理的には、被測定物が撮像部の撮像方向（焦点の変化する方向、あるいは、光軸）に沿って変位するような状況に向けられたものである。言い換えれば、撮像部に正対した面を基準面として計測が行われる。
【０００９】
しかしながら、実際の生産ラインでは、被測定物が配置された面が必ずしも撮像部に正対しているとは限らない。また、被測定物がベルトコンベヤなどによって搬送される場合には、その搬送中に被測定物が配置された面が変動することもある。
【００１０】
そこで、この発明は、これらの問題を解決するためになされたものであり、その目的は、被測定物の露出面の撮像部に対する位置関係に影響されることなく、正確に被測定物の位置などを計測できる画像処理装置およびそれに向けられた画像処理プログラムを提供することである。
【課題を解決するための手段】
【００１１】
この発明のある局面に従えば、被測定物の位置を計測可能な画像処理装置を提供する。本画像処理装置は、被測定物を撮像して画像データを生成する撮像部を接続するためのカメラインターフェイスと、モデル画像を記憶する記憶手段とを含む。ここで、モデル画像は、第１の被測定物の露出面が位置計測の基準となる基準面と平行した状態で、撮像部を用いて第１の被測定物を撮像した場合に生成される画像データに相当する。本画像処理装置は、さらに、モデル画像と撮像部が第２の被測定物を撮像することで生成される画像データである計測画像とを比較することで、第２の被測定物の位置を算出する計測手段と、第１の被測定物の露出面が基準面とは平行ではない状態で、撮像部を用いて第１の被測定物を撮像した場合に生成される画像データを、第１の被測定物の露出面が基準面に平行した状態で生成される画像データに相当するように変換した上で、モデル画像として記憶手段に記憶する変換手段とを含む。
【００１２】
好ましくは、変換手段は、第１の被測定物の露出面が基準面とは平行ではない状態で生成される画像データ上の第１の被測定物の大きさと、第１の被測定物の露出面の実際の大きさとの対応関係に従って、モデル画像への変換を行う。
【００１３】
さらに好ましくは、本画像処理装置は、外部からの入力を受付ける入力インターフェイスをさらに含み、変換手段は、入力インターフェイスを介して、第１の被測定物の露出面が基準面とは平行ではない状態で生成される画像データ上の露出面上にある複数の点の座標位置を受付ける第１入力手段と、入力インターフェイスを介して、画像データ上の複数の点に対応する第１の被測定物の露出面上の複数の点の、露出面上での座標位置を受付ける第２入力手段とを含む。
【００１４】
あるいは、さらに好ましくは、本画像処理装置は、外部からの入力を受付ける入力インターフェイスをさらに含み、変換手段は、入力インターフェイスを介して、円形の露出面を有する第１の被測定物について、第１の被測定物の露出面が基準面とは平行ではない状態で生成される画像データ上における、円形の露出面の中心を示す座標位置と当該円形の露出面の径を示す値とを受付ける第１入力手段と、入力インターフェイスを介して、画像データ上の中心を示す座標位置と径を示す値とに対応する、第１の被測定物の露出面上における、円形の露出面の中心を示す座標位置と当該円形の露出面の径を示す値とを受付ける第２入力手段とを含む。
【００１５】
さらに好ましくは、本画像処理装置は、表示部に接続され、当該表示部での表示を制御する表示制御部をさらに含み、第１入力手段は、撮像部により生成される画像データを表示部に表示した状態で指定を受付ける。
【００１６】
好ましくは、基準面は、撮像部の撮像方向に直交する平面である。
この発明の別の局面に従えば、被測定物を撮像して画像データを生成する撮像部を接続するためのカメラインターフェイスと、メモリとを有するコンピュータで実行される、被測定物の位置を計測するための画像処理プログラムを提供する。本画像処理プログラムは、コンピュータを、モデル画像をメモリに記憶する記憶手段として機能させる。ここで、モデル画像は、第１の被測定物の露出面が位置計測の基準となる基準面と平行した状態で、撮像部を用いて第１の被測定物を撮像した場合に生成される画像データに相当する。本画像処理プログラムは、さらに、コンピュータを、モデル画像と撮像部が第２の被測定物を撮像することで生成される画像データである計測画像とを比較することで、第２の被測定物の位置を算出する計測手段と、第１の被測定物の露出面が基準面とは平行ではない状態で、撮像部を用いて第１の被測定物を撮像した場合に生成される画像データを、第１の被測定物の露出面が基準面に平行した状態で生成される画像データに相当するように変換した上で、モデル画像として記憶手段に記憶する変換手段として機能させる。
【発明の効果】
【００１７】
この発明によれば、被測定物の露出面の撮像部に対する位置関係に影響されることなく、正確に被測定物の位置などを計測できる。
【図面の簡単な説明】
【００１８】
【図１】この発明の実施の形態に係る画像処理装置を含む視覚センサシステムの全体構成を示す概略図である。
【図２】この発明の実施の形態に係る画像処理装置の概略構成図である。
【図３】この発明の実施の形態に係る被測定物の位置計測についての原理を説明するための図である。
【図４】この発明の実施の形態に係る被測定物の位置計測についての原理を説明するための図である。
【図５】ワークの露出面が撮像部に正対しない場合の状態を示す模式図である。
【図６】この発明の実施の形態に係るモデル登録時の画像変換処理を説明するための図である。
【図７】この発明の実施の形態に係るモデル登録時の画像変換処理を説明するための図である。
【図８】この発明の実施の形態に係るモデル登録時の画像変換処理に必要な座標値を説明するための図である。
【図９】この発明の実施の形態に係る画像処理装置が提供する位置計測機能を示すブロック図である。
【図１０】この発明の実施の形態に係る画像処理装置が設定モード時に提供するユーザインターフェイス画面の一例を示す図である。
【図１１】この発明の実施の形態に係る画像処理装置が設定モード時に提供するユーザインターフェイス画面の一例を示す図である。
【図１２】この発明の実施の形態に係る画像処理装置が設定モード時に提供するユーザインターフェイス画面の一例を示す図である。
【図１３】この発明の実施の形態に係る画像処理装置が設定モード時に提供するユーザインターフェイス画面の一例を示す図である。
【図１４】この発明の実施の形態に係る画像処理装置が計測モード時に提供するユーザインターフェイス画面の一例を示す図である。
【図１５】この発明の実施の形態に係る画像処理装置によって提供される処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１９】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２０】
＜全体装置構成＞
図１は、この発明の実施の形態に係る画像処理装置１００を含む視覚センサシステム１の全体構成を示す概略図である。
【００２１】
図１を参照して、視覚センサシステム１は生産ラインなどに組み込まれ、被測定物２（以下「ワーク２」とも称す。）の位置（変位）などを計測する。一例として、本実施の形態においては、ワーク２はベルトコンベヤなどの搬送機構６によって搬送され、撮像部８によって順次撮像される。撮像部８によって得られた画像データは、画像処理装置１００へ伝送される。なお、撮像部８で撮像されるワーク２に対して光を照射する照明機構をさらに設けてもよい。
【００２２】
ワーク２が撮像部８の撮像範囲に到達したことは、搬送機構６の両端に配置された光電センサ４によって検出される。具体的には、光電センサ４は、同一の光軸上に配置された受光部４ａと投光部４ｂとを含み、投光部４ｂから放射される光がワーク２で遮蔽されることを受光部４ａで検出することによって、ワーク２の到達を検出する。この光電センサ４の検出信号（以下「トリガ信号」とも称す。）は、ＰＬＣ（Programmable Logic Controller）５へ出力される。
【００２３】
ＰＬＣ５は、光電センサ４などからのトリガ信号を受信するとともに、搬送機構６の制御自体を司る。
【００２４】
視覚センサシステム１は、さらに、画像処理装置１００と、ディスプレイ１０２と、マウス１０４とを含む。画像処理装置１００は、ＰＬＣ５と、撮像部８と、ディスプレイ１０２と、マウス１０４と接続される。
【００２５】
画像処理装置１００は、ワーク２に対して各種の画像処理を実行する計測モードと、後述するモデル登録処理などを行うための設定モードとを有している。計測モードにおいて、画像処理装置１００は、ＰＬＣ５を介して光電センサ４からのトリガ信号を受信すると、撮像部８に対して撮像指令を与える。この撮像指令に応答して、撮像部８がワーク２を撮像して生成する画像データは、画像処理装置１００へ伝送される。代替の処理方法として、撮像部８に対して連続的に撮像を行わせるとともに、トリガ信号の受信に応答して、必要な画像データのみを画像処理装置１００が取込むようにしてもよい。
【００２６】
撮像部８は、一例として、レンズなどの光学系に加えて、ＣＣＤ（Coupled Charged Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサといった、複数の画素に区画された撮像素子を含んで構成される。
【００２７】
画像処理装置１００は、汎用的なアーキテクチャを有しているコンピュータであり、予めインストールされたプログラムを実行することで、後述するような各種機能を提供する。このような汎用的なコンピュータを利用する場合には、本実施の形態に係る機能を提供するためのアプリケーションに加えて、コンピュータの基本的な機能を提供するためのＯＳ（Operating System）がインストールされていてもよい。この場合には、本実施の形態に係るプログラムは、ＯＳの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。すなわち、本実施の形態に係るプログラム自体は、上記のようなモジュールを含んでおらず、ＯＳと協働して処理が実行される。本実施の形態に係るプログラムとしては、このような一部のモジュールを含まない形態であってもよい。
【００２８】
さらに、本実施の形態に係るプログラムは、他のプログラムの一部に組み込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組み合わせられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係るプログラムとしては、このような他のプログラムに組込まれた形態であってもよい。なお、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
【００２９】
図２は、この発明の実施の形態に係る画像処理装置１００の概略構成図である。図２を参照して、画像処理装置１００は、演算処理部であるＣＰＵ（Central Processing Unit）１１０と、記憶部としてのメインメモリ１１２およびハードディスク１１４と、カメラインターフェイス１１６と、入力インターフェイス１１８と、表示コントローラ１２０と、ＰＬＣインターフェイス１２２と、通信インターフェイス１２４と、データリーダ／ライタ１２６とを含む。これらの各部は、バス１２８を介して、互いにデータ通信可能に接続される。
【００３０】
ＣＰＵ１１０は、ハードディスク１１４に格納されたプログラム（コード）をメインメモリ１１２に展開して、これらを所定順序で実行することで、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）などの揮発性の記憶装置であり、ハードディスク１１４から読み出されたプログラムに加えて、撮像部８によって取得された画像データや、画像データの処理結果を示すデータ、およびワークデータなどを保持する。また、ハードディスク１１４は、不揮発性の磁気記憶装置であり、ＣＰＵ１１０で実行されるプログラムに加えて、後述する計測処理において基準となる画像データ（以下「モデル画像」とも称す。）を記憶する。さらに、ハードディスク１１４には、各種設定値などが格納されてもよい。このハードディスク１１４にインストールされるプログラムは、後述するように、メモリカード１０６などに格納された状態で流通する。なお、ハードディスク１１４に加えて、あるいは、ハードディスク１１４に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
【００３１】
カメラインターフェイス１１６は、ＣＰＵ１１０と撮像部８との間のデータ伝送を仲介する。すなわち、カメラインターフェイス１１６は、ワーク２を撮像して画像データを生成する撮像部８を接続する。より具体的には、カメラインターフェイス１１６は、１つ以上の撮像部８と接続が可能であり、撮像部８からの画像データを一時的に蓄積するための画像バッファ１１６ａを含む。そして、カメラインターフェイス１１６は、画像バッファ１１６ａに少なくとも１コマ分の画像データが蓄積されると、その蓄積されたデータをメインメモリ１１２へ転送する。また、カメラインターフェイス１１６は、ＣＰＵ１１０が発生した内部コマンドに従って、撮像部８に対して撮像指令を与える。
【００３２】
入力インターフェイス１１８は、ＣＰＵ１１０とマウス１０４、キーボード、タッチパネルなどの入力部との間のデータ伝送を仲介する。すなわち、入力インターフェイス１１８は、ユーザが入力部を操作することで与えられる操作指令を受付ける。
【００３３】
表示コントローラ１２０は、表示装置の典型例であるディスプレイ１０２と接続され、ＣＰＵ１１０における画像処理の結果などをユーザに通知する。すなわち、表示コントローラ１２０は、ディスプレイ１０２に接続され、当該ディスプレイ１０２での表示を制御する。
【００３４】
ＰＬＣインターフェイス１２２は、ＣＰＵ１１０とＰＬＣ５との間のデータ伝送を仲介する。より具体的には、ＰＬＣインターフェイス１２２は、ＰＬＣ５によって制御される生産ラインの状態に係る情報やワークに係る情報などをＣＰＵ１１０へ伝送する。
【００３５】
通信インターフェイス１２４は、ＣＰＵ１１０とコンソール（あるいは、パーソナルコンピュータやサーバ装置）などとの間のデータ伝送を仲介する。通信インターフェイス１２４は、典型的には、イーサネット（登録商標）やＵＳＢ（Universal Serial Bus）などからなる。なお、後述するように、メモリカード１０６に格納されたプログラムを画像処理装置１００にインストールする形態に代えて、通信インターフェイス１２４を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置１００にインストールしてもよい。
【００３６】
データリーダ／ライタ１２６は、ＣＰＵ１１０と記録媒体であるメモリカード１０６との間のデータ伝送を仲介する。すなわち、メモリカード１０６には、画像処理装置１００で実行されるプログラムなどが格納された状態で流通し、データリーダ／ライタ１２６は、このメモリカード１０６からプログラムを読み出す。また、データリーダ／ライタ１２６は、ＣＰＵ１１０の内部指令に応答して、撮像部８によって取得された画像データおよび／または画像処理装置１００における処理結果などをメモリカード１０６へ書き込む。なお、メモリカード１０６は、ＣＦ（Compact Flash）、ＳＤ（Secure Digital）などの汎用的な半導体記憶デバイスや、フレキシブルディスク（Flexible Disk）などの磁気記憶媒体や、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体等からなる。
【００３７】
また、画像処理装置１００には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【００３８】
＜概要＞
本実施の形態に係る画像処理装置１００は、設定モードにおいて予め登録されたモデル画像を用いて、計測モードにおいて撮像部８により生成される画像データから計測対象のワーク２の位置などを計測する。このモデル画像の登録時においては、基準となるワーク２の露出面が撮像部８と正対していない場合、すなわち、基準となるワーク２の露出面が基準面と平行ではない場合において、撮像部８が生成する画像データを変換することで、当該ワーク２の露出面が基準面と平行となるように配置した場合に生成されるモデル画像を取得する。このモデル画像を用いることで、より正確にワーク２の位置などを計測することができる。
【００３９】
＜計測原理および計測処理＞
次に、本実施の形態に係る被測定物の位置を計測するための原理について説明する。図３および図４は、この発明の実施の形態に係る被測定物の位置計測についての原理を説明するための図である。
【００４０】
図３を参照して、まず、撮像部８が搬送機構６の搬送面に垂直な方向に配置されている場合を考える。すなわち、搬送機構６の搬送面が撮像部８の撮像方向（焦点方向）である光軸ＡＸと直交するものとする。なお、撮像部８の撮像方向に直交する面を「撮像部８と正対する面」あるいは「基準面」と称することもある。
【００４１】
また、搬送機構６の搬送面に対象の立方体形状のワーク２が配置されているとする。本実施の形態に係る画像処理装置１００では、図３（ａ）に示すような状態（基準状態）において撮像された画像データを基準として予め登録しておき、この予め登録したモデル画像を基準として、ワーク２の位置（変位量）を算出する。
【００４２】
たとえば、図３（ｂ）には、図３（ａ）に示す状態から光軸ＡＸに沿って変位Δｈだけワーク２の位置が変化している状態を示す。
【００４３】
図４（ａ）および図４（ｂ）には、それぞれ図３（ａ）および図３（ｂ）に示す状態において、撮像部８がワーク２を撮像することで生成される画像データ２００および２０２を示す。画像データ２００においては、ワーク２は、４つの頂点２１１，２１２，２１３，２１４を有する四角形として表現されている。また、画像データ２０２においては、ワーク２は、４つの頂点２２１，２２２，２２３，２２４を有する四角形として表現されている。
【００４４】
画像データ２００および２０２における対応する頂点同士の位置を比較することで、ワーク２の変位を算出することができる。すなわち、画像データ２０２内に表れるワーク２は、画像データ２００に表れるワーク２より大きく、これは、ワーク２がより撮像部８に近寄っていることを意味する。そのため、画像データ２００をモデル画像として予め登録しておけば、このモデル画像を基準として、ワーク２がいずれかの状態において生成される画像データ２０２を評価することで、ワーク２がいずれの位置にあるかを特定することができる。
【００４５】
なお、モデル画像と対応付けて、撮像対象のワーク２の位置を登録しておくことで、画像データに基づいてワーク２の絶対的な位置を算出することができる。一方、撮像対象のワーク２の位置を登録していない場合には、モデル画像に対応するワーク２の位置からの相対的な変位量を算出することができる。
【００４６】
このように、本実施の形態に係る画像処理装置は、ワーク２の露出面を位置計測の基準となる基準面に平行させた状態で、撮像部８を用いてワーク２を撮像した場合に生成される画像データをモデル画像として記憶しておき、このモデル画像と撮像部８が対象のワーク２を撮像することで生成される画像データ（以下「計測画像」とも称す。）とを比較することで、対象のワーク２の位置を算出する。
【００４７】
上述のような原理から見て、本実施の形態に係る計測方法では、撮像部８の焦点方向である光軸ＡＸに沿った方向が主な変位検出方向となる。すなわち、登録されるモデル画像は、撮像部８に正対するいずれかの面上に投射されるワーク２の平面画像となる。そして、モデル画像におけるワーク２の大きさと、計測画像における対応するワーク２の大きさとを比較することで、撮像部８に正対する基準面からの高さや傾きなどを算出する。
【００４８】
＜モデル登録処理＞
上述の図３に示す例では、搬送機構６の搬送面が撮像部８に正対し、かつ、ワーク２の上部の露出面が搬送面と平行（すなわち、撮像部８に正対）していた。そのため、撮像部８がワーク２を撮像して生成する画像データ（２次元の画像情報）は、ワーク２の露出面の位置情報を実質的に正しく反映することになる。すなわち、撮像部８が生成する画像データには、ワーク２についての２次元の位置情報しか含まれないが、図３のような位置関係であれば、基準面から当該露出面上の各点までの光軸ＡＸ方向の高さはいずれも同一であるので、これらの高さ情報は実質的に失われない。
【００４９】
これに対して、基準面からワーク２の露出面上の各点までの光軸ＡＸ方向の高さが一定ではない場合には、これらの高さ情報が失われることになる。
【００５０】
図５は、ワーク２の露出面が撮像部８に正対しない場合の状態を示す模式図である。図６および図７は、この発明の実施の形態に係るモデル登録時の画像変換処理を説明するための図である。
【００５１】
図５に示すように、搬送機構６の搬送面が撮像部８に正対していない場合、および／または、ワーク２の上面（露出面）５０が搬送面と平行ではない場合には、撮像部８がワーク２を撮像して生成する画像データには、ワーク２の露出面５０の高さ情報が十分に反映されない。
【００５２】
すなわち、図５に示す位置関係において、撮像部８がワーク２を撮像して生成する画像データは、図６（ａ）のようになる。この図６（ａ）に示す画像データ２００においては、ワーク２が台形形状に変形して表れる。このとき、画像データ２００に表れる台形形状からは、図５に示すような位置関係を一意に特定することができない。なぜならば、搬送機構６の搬送面の傾き、ならびに、ワーク２の露出面５０の長さおよび傾きという、数多くの変数が存在するために、図６（ａ）に示すような画像データ２００のみの情報では、これらの変数を一意に決定することができないからである。
【００５３】
そのため、図６（ａ）に示すような画像データをモデル画像として登録し、計測対象のワーク２を撮像して生成される計測画像と比較したとしても、計測対象のワーク２がいずれの方向にいずれの量だけ変位しているかを特定することができない。
【００５４】
そのため、本実施の形態に係る画像処理装置１００においては、モデル画像の登録時に、撮像されたワーク２の画像データを撮像部８に正対する基準面上の情報に変換する。すなわち、モデル登録時にワーク２がどのような状態であっても、その撮像により取得された画像データを、ワーク２の露出面（典型的には、図５に示す露出面５０）を基準面と平行とした状態で生成される画像データに相当するように変換することで、モデル画像を生成する。なお、このようなモデル登録の処理を「平面登録」と称する場合がある。
【００５５】
より具体的には、図５〜図７を参照して、本実施の形態に係る画像処理装置１００は、ワーク２の露出面５０が、撮像部８に正対する位置計測の基準となる基準面Ｐ１とは平行ではない状態で、撮像部８を用いてワーク２を撮像した場合に生成される画像データ（図６（ａ）に示す画像データ２００）を、ワーク２の露出面５０が基準面Ｐ１に平行した状態で生成される画像データ（図６（ｂ）に示す画像データ２１０）に相当するように変換した上で、モデル画像として登録する。
【００５６】
上述したようなモデル画像の登録時の変換処理は、一種の座標変換処理に相当する。すなわち、この変換処理は、図７（ａ）に示すように、ワーク２の露出面５０が計測面Ｐ２と平行でない場合に、当該露出面５０を撮像して生成される画像データを、図７（ｂ）に示すように、ワーク２の露出面５０を基準面Ｐ１と平行とした場合に生成される画像データに変換することに相当する。
【００５７】
本実施の形態に係る画像処理装置１００では、ワーク２の露出面５０が基準面Ｐ１とは平行ではない状態で生成される画像データ２００上のワーク２の大きさと、ワーク２の露出面５０の基準面Ｐ１上における実際の大きさとの対応関係に従って変換処理を行う。より具体的な処理については、図８を参照して説明する。
【００５８】
図８は、この発明の実施の形態に係るモデル登録時の画像変換処理に必要な座標値を説明するための図である。
【００５９】
図８（ｂ）には、図８（ａ）に示すような撮像部８とワーク２との位置関係において、撮像部８が生成する画像データ２００を示す。このワーク２の露出面５０が基準面Ｐ１とは平行ではない状態で生成される画像データ２００上における露出面５０の頂点６１，６２，６３の座標位置が指定される。
【００６０】
また、図８（ｃ）に示すように、ワーク２の実際の大きさに対応する、露出面の頂点６１，６２，６３の基準面Ｐ１における座標位置が指定される。
【００６１】
すなわち、図８（ｃ）に示すように、基準面Ｐ１に設定した２次元座標系において、ワーク２の露出面５０を基準面Ｐ１に重ねたときの各頂点６１，６２，６３の座標位置が実寸法で指定される。
【００６２】
したがって、上述のようなワーク２の露出面５０に含まれる複数の特徴点について、基準面Ｐ１における座標値および画像データ２００上における座標値をそれぞれ対応付けることで、モデル画像を生成するための変換式を決定することができる。そして、この決定した変換式を用いて、画像データ２００を変換することで画像データ２１０（図８（ｄ）参照）が生成され、続いて、この画像データ２１０をモデル画像として登録する。
【００６３】
なお、図８（ｂ）に示す画像データ２００を図８（ｄ）に示す画像データ２１０に変換する処理は、公知の写像変換であるので、ここでは、詳細な説明は行わない。
【００６４】
このように、ワーク２の露出面５０が撮像部８に正対する面と平行ではない状態で生成された画像データであっても、ワーク２に正対する面と平行なものとして扱うことができる。したがって、搬送機構６の搬送面が撮像部８に正対していない場合、および、ワーク２の露出面５０が搬送面と平行ではない場合のいずれであっても、ワーク２の位置などを正確に計測することができる。
【００６５】
＜制御構造＞
次に、上述の画像処理装置１００における位置計測機能を提供するための制御構造について説明する。
【００６６】
図９は、この発明の実施の形態に係る画像処理装置１００が提供する位置計測機能を示すブロック図である。図９に示す各ブロックは、ハードディスク１１４に格納されたプログラム（コード）などをメインメモリ１１２に展開して、ＣＰＵ１１０に実行させることで提供される。なお、図９に示すモジュールの一部もしくは全部がハードウェアに実装されているファームウェアによって提供される場合もある。あるいは、図９に示す制御構造の一部もしくは全部を専用ハードウェアおよび／または配線回路によって実現してもよい。
【００６７】
図９を参照して、画像処理装置１００は、その制御構造として、キャリブレーションモジュール４０２と、画像表示モジュール４０４と、計測モジュール４０６と、モデル変換モジュール４０８と、入力モジュール４１０と、モデル格納部４１２とを含む。
【００６８】
キャリブレーションモジュール４０２は、撮像部８により生成される画像データにおける画素（ピクセル）と被測定物の実際の大きさとの対応関係を規定する。より具体的には、画像処理装置１００の使用開始前に、ユーザは実際の大きさが既知のサンプルを撮像部８により撮像する。すると、キャリブレーションモジュール４０２は、この撮像により生成される画像データに対して、当該実際の大きさとの対応関係（典型的には、画素を実際の大きさに変換するための関数式）を算出する。典型的には、規定サイズの半径を有する円が一定間隔で描画されたサンプルを撮像して得られる画像データを用いることで、容易にキャリブレーションを行うことができる。
【００６９】
なお、キャリブレーションモジュール４０２は、撮像部８により生成される画像データの歪みなどを補正することも可能である。そのため、図９に示す制御構造においては、キャリブレーションモジュール４０２において前処理としてキャリブレーション処理が実行され、その実行後の画像データが利用されるようになっている。
【００７０】
画像表示モジュール４０４は、キャリブレーションモジュール４０２から出力される画像データをディスプレイ１０２に表示する。なお、ディスプレイ１０２上で提供されるユーザインターフェイスについては、後述する。
【００７１】
計測モジュール４０６は、モデル格納部４１２に登録されているモデル画像と撮像部８が計測対象のワーク２を撮像することで生成される画像データ（計測画像）とを比較することで、計測対象のワーク２の位置などを含む計測値を算出する。そして、計測モジュール４０６は、算出した計測値をディスプレイ１０２や外部装置などへ出力する。
【００７２】
モデル変換モジュール４０８は、撮像部８がワーク２を撮像することで生成される画像データの全部または一部をモデル画像として抽出し、モデル格納部４１２へ登録する。このとき、モデル画像は、ワーク２の露出面を位置計測の基準となる基準面と平行させた状態で、撮像部８を用いてワーク２を撮像した場合に生成される画像データに相当する。
【００７３】
特に、モデル変換モジュール４０８は、ワーク２の露出面が基準面とは平行ではない状態で、撮像部８を用いてワーク２を撮像した場合に生成される画像データを、ワーク２の露出面が当該基準面に平行した状態で生成される画像データに相当するように変換した上で、モデル画像としてモデル格納部４１２へ登録する。
【００７４】
入力モジュール４１０は、モデル変換モジュール４０８におけるモデル画像への変換処理に必要な情報を受付ける。より具体的には、入力モジュール４１０は、ワーク２の露出面が基準面とは平行ではない状態で生成される画像データ上の露出面上にある複数の点の座標位置を受付ける（後述する図１２における「点座標」）。また、入力モジュール４１０は、それらの点が基準面上にあった場合の基準面における実寸法での座標位置を受付ける（後述する図１２における「実座標」）。すなわち、入力モジュール４１０は、画像データ上の複数の点にそれぞれ対応するワーク２の露出面上の点についての、当該露出面上での座標位置を受付ける。
【００７５】
このように入力モジュール４１０を介して与えられる座標情報に基づいて、モデル変換モジュール４０８は、ワーク２の露出面が基準面とは平行ではない状態で生成される画像データ上のワーク２の大きさと、ワーク２の露出面についての実際の大きさとの対応関係に従って、モデル画像への変換を行う。
【００７６】
なお、後述する図１２に示すように、撮像部８により生成される画像データをディスプレイ１０２に表示した状態で座標位置を受付けることが好ましい。また、画像データ上のワーク２の大きさと、ワーク２の露出面についての実際の大きさとの対応関係を決定するためには、２つ以上の座標位置の情報があればよいが、精度を高める観点からは、３つ以上の座標位置を受付けることが好ましい。
【００７７】
さらに、ワーク２の露出面が円形である場合には、上述の座標位置を指定する方法に代えて、当該円形の露出面の中心を示す座標位置と当該円形の露出面の径を示す値とを指定する方法を採用してもよい（後述する図１３における「中心座標」および「半径」）。
【００７８】
より具体的には、入力モジュール４１０は、円形の露出面を有するワーク２について、ワーク２の露出面が基準面とは平行ではない状態で生成される画像データ上の露出面上における、円形の露出面の中心を示す座標位置と当該円形の露出面の径を示す値とを受付ける（後述する図１３における「点座標」の「中心座標」および「半径」）。また、入力モジュール４１０は、それらの点が基準面上にあった場合の基準面における実寸法での座標位置および径を受付ける（後述する図１３における「実座標」の「中心座標」および「半径」）。すなわち、入力モジュール４１０は、画像データ上の中心を示す座標位置と径を示す値とに対応する、ワーク２の露出面上における、円形の露出面の中心を示す座標位置と当該円形の露出面の径を示す値とを受付ける。
【００７９】
このとき、ユーザが画像データ上の露出面の座標位置を入力することを支援するために、ディスプレイ１０２に表示された画像データ上に、入力された座標位置を中心とする円を描画することが好ましい。
【００８０】
モデル格納部４１２は、モデル変換モジュール４０８から出力される１または複数のモデル画像を記憶する。なお、図示しないワークの選択指令に応じて、予め登録した複数のモデル画像のうち、必要なモデル画像を選択して、計測モジュール４０６へ供給するようにしてもよい。
【００８１】
＜ユーザインターフェイス＞
（１．設定モード）
次に、本実施の形態に係る画像処理装置１００が設定モード時に提供するユーザインターフェイスについて説明する。
【００８２】
図１０〜図１３は、この発明の実施の形態に係る画像処理装置１００が設定モード時に提供するユーザインターフェイス画面の一例を示す図である。
【００８３】
図１０を参照して、ユーザインターフェイス画面３００Ａでは、キャリブレーション設定タブ３０２と、モデル登録タブ３０４と、領域設定タブ３０６と、検出点タブ３０８と、モデル姿勢タブ３１０と、基準位置姿勢タブ３１２と、計測パラメータタブ３１４と、出力パラメータタブ３１６とが選択可能に表示される。なお、図１０に示すユーザインターフェイス画面３００Ａにおいては、モデル登録タブ３０４が選択されている状態を示す。
【００８４】
キャリブレーション設定タブ３０２が選択されると、上述したキャリブレーションを実行するための各種条件を設定／変更するためのダイアログが表示される。このダイアログに対して設定された各種条件は、図９に示すキャリブレーションモジュール４０２に与えられる。
【００８５】
モデル登録タブ３０４が選択されると、図１０に示すようなモデル登録を行うための各種条件などを設定／変更するためのダイアログが表示される。この表示される内容については、後述する。
【００８６】
領域設定タブ３０６が選択されると、撮像部８により生成される画像データのうち、計測処理の対象となる領域を設定／変更するためのダイアログが表示される。検出点タブ３０８が選択されると、撮像部８により生成される画像データのうち、計測処理の対象となる点を設定／変更するためのダイアログが表示される。モデル姿勢タブ３１０が選択されると、モデルとして登録されるワーク２の傾きなどを設定／変更するためのダイアログが表示される。基準位置姿勢タブ３１２が選択されると、基準面の傾きなどを設定／変更するためのダイアログが表示される。計測パラメータタブ３１４が選択されると、計測に必要なパラメータを設定／変更するためのダイアログが表示される。出力パラメータタブ３１６が選択されると、計測によって得られた結果を出力する際のパラメータを設定／変更するためのダイアログが表示される。
【００８７】
モデル登録タブ３０４が選択されると、モデルパラメータ設定エリア３２０と、モデル登録画像設定エリア３３０と、エッジ抽出ボタン３４２と、平面登録ボタン３４４と、モデル表示ボタン３４６とが画面左側に表示される。
【００８８】
モデルパラメータ設定エリア３２０においては、撮像部８により生成される画像データに対して、白黒反転処理（ネガポジ反転処理）の有効／無効化を設定することができる。このパラメータは、背景が明るすぎる場合、または、暗すぎる場合などに有効化される。
【００８９】
モデル登録画像設定エリア３３０は、登録済のモデル画像を表示するための登録画像表示ボタンと、登録済のモデル画像を変更するためのモデル再登録ボタンと、登録済のモデル画像を削除するための削除ボタンとを含む。
【００９０】
エッジ抽出ボタン３４２は、撮像部８により生成される画像データの中からエッジ部分を抽出するために使用される。
【００９１】
平面登録ボタン３４４は、上述したように、撮像部８に正対した面を基準面としたモデル画像を登録するために使用される。すなわち、この平面登録ボタン３４４が選択されると、図１１に示すようなユーザインターフェイス画面に切替わる。
【００９２】
モデル表示ボタン３４６は、上述のように設定された基準面Ｐ１における座標位置と、当該座標位置に対応する画像データ２００上における座標位置との対応関係に基づいて変換された後のモデル画像を表示するために使用される。
【００９３】
さらに、ユーザインターフェイス画面３００Ａは、撮像部８により生成される画像データをレンダリングするための画像表示エリア３５０および全体表示エリア３５２と、画像表示エリア３５０にレンダリングされる画像データの表示範囲および表示精度を変更するための表示制御アイコン群３５４とを含む。
【００９４】
画像表示エリア３５０では、設定パラメータに応じて、撮像部８がワーク２を所定周期で繰返し撮像することで得られる画像を逐次表示するモード（スルーモード）と、撮像部８がワーク２をあるタイミングで撮像することで得られた画像を静止表示するモード（フリーズモード）とが選択可能である。
【００９５】
図１１に示すユーザインターフェイス画面３００Ｂは、図１０に示すユーザインターフェイス画面３００Ａにおいて平面登録ボタン３４４が選択されることで表示される。
【００９６】
このユーザインターフェイス画面３００Ｂは、点指定方法エリア３６８と、点指定エリア３６０とを含む。
【００９７】
点指定方法エリア３６８は、撮像部８により生成される画像データをレンダリングした画像表示エリア３５０上において、ワーク２の露出面における特徴点をユーザが任意に設定できる「直接指定モード」と、撮像部８により生成される画像データをレンダリングした画像表示エリア３５０上において、ユーザが指定した特徴点に加えて、その特徴点を中心とした円を表示する「円中心指定モード」とが選択可能に表示される。
【００９８】
点指定エリア３６０は、指定されているワーク２の露出面における特徴点の座標が表示されるとともに、座標位置を追加するための設定ボタン３６２と、設定されている座標位置を削除するための削除ボタン３６４と、モデル画像を登録するための変換処理の実行を指示する登録ボタン３６６とを含む。
【００９９】
設定ボタン３６２が選択されると、点指定方法エリア３６８において「直接指定モード」が選択されていれば、図１２に示すユーザインターフェイス画面３００Ｃが表示される。一方、点指定方法エリア３６８において「円中心指定モード」が選択されていれば、図１３に示すユーザインターフェイス画面３００Ｄが表示される。
【０１００】
図１２を参照して、「直接指定モード」が選択されている場合には、座標設定ウィンドウ３７０Ａがポップアップ表示される。この座標設定ウィンドウ３７０Ａは、ワーク２を撮像して取得された画像データをモデル画像として登録するために必要な座標位置を受付ける。より具体的には、座標設定ウィンドウ３７０Ａの点座標エリア３７２では、画像データ２００上のワーク２の露出面における特徴点の座標位置が設定される。また、座標設定ウィンドウ３７０Ａの実座標エリア３７４では、点座標エリア３７２において設定されたそれぞれの特徴点についての実寸法での座標位置が設定される。
【０１０１】
すなわち、点座標エリア３７２は、ワーク２の露出面が基準面とは平行ではない状態で生成される画像データ上の露出面上にある複数の点の座標位置を受付け、実座標エリア３７４は、それらの点が基準面Ｐ１上にあった場合の基準面における実寸法での座標位置を受付ける。
【０１０２】
典型的な操作手順としては、図１１に示す設定ボタン３６２が選択されると、画像表示エリア３５０において、表示された画像データ上に、設定される座標位置を示すマーカ３８０が表示される。なお、設定ボタン３６２の選択直後には、マーカ３８０は初期位置にセットされる。
【０１０３】
ユーザは、点座標エリア３７２に表示される十字ボタンの選択、マウス１０４などを用いた直接的な選択、点座標エリア３７２に表示される座標入力コラムへの数値入力などの方法によって、ワーク２の露出面における１つの特徴点の座標位置を設定する。なお、この座標位置は、キャリブレーション後の入力データにおける実サイズであってもよいし、ピクセル単位の値であってもよい。続いて、実座標エリア３７４に表示される十字ボタンの選択や、点座標エリア３７２に表示される座標入力コラムへの数値入力などの方法によって、点座標エリア３７２に設定された特徴点に対応する実際の座標位置を入力する。この座標位置は、対象のワーク２を実測した値、または、設計上の値（たとえば、ＣＡＤなどの製図システム上の値など）であってもよい。
【０１０４】
そして、座標設定ウィンドウ３７０Ａの「ＯＫ」ボタンが押下されると、ワーク２の露出面における１つの特徴点についての一対の座標位置（基準面Ｐ１および画像データ２００上におけるそれぞれの座標位置）の入力が完了する。
【０１０５】
以下同様の手順によって、ワーク２の露出面における特徴点を少なくとも３点登録することで、モデル画像を生成するための変換処理を行うことができる。
【０１０６】
次に、図１３を参照して、「円中心指定モード」が選択されている場合には、座標設定ウィンドウ３７０Ｂがポップアップ表示される。この座標設定ウィンドウ３７０Ｂは、図１２に示す座標設定ウィンドウ３７０Ａに加えて、半径入力コラムが追加されたものである。
【０１０７】
上述した座標設定ウィンドウ３７０Ａにおいては、ワーク２の露出面における特徴点を任意に選択可能であった。たとえば、ワーク２が直方体であれば、その露出面として四角形が現れるので、それぞれの頂点を特徴点として容易に選択できる。しかしながら、ワーク２が円柱形状であれば、その露出面として円が現れるので、その特徴点を選択し難い。
【０１０８】
そこで、「円中心指定モード」では、画像表示エリア３５０に表示された画像データ上に、入力された座標位置を中心とする円を描画する。すなわち、座標設定ウィンドウ３７０Ｂの点座標エリア３７６では、画像データ２００上のワーク２の露出面における特徴点（中心座標）と、当該特徴点を中心とする円の半径が設定される。これらの設定値に対応して、画像表示エリア３５０において、中心座標を示すマーカ３８２と、当該マーカ３８２を中心とする円表示３８４とが表示される。ユーザは、この円表示３８４を見ながら、マーカ３８２をワーク２の中心に位置決めすることで、ワーク２の露出面における特徴点の座標を設定することができる。また、座標設定ウィンドウ３７０Ｂの実座標エリア３７４では、点座標エリア３７６において設定された中心点の基準面Ｐ１上での座標位置と、円の半径の実寸法が設定される。
【０１０９】
そして、座標設定ウィンドウ３７０Ｂの「ＯＫ」ボタンが押下されると、ワーク２の円形の露出面における中心点と半径についての一対の座標位置と寸法（基準面Ｐ１および画像データ２００上におけるそれぞれの座標位置と寸法）の入力が完了する。
【０１１０】
以下同様の手順によって、ワーク２の露出面における特徴点を複数（好ましくは、少なくとも３点）登録するか、もしくは、中心点および半径を登録することで、ワーク２の露出面が基準面とは平行ではない状態で生成される画像データ上のワーク２の大きさと、ワーク２の露出面の基準面上における実際の大きさとの対応関係が決定できるので、モデル画像を生成するための変換処理を行うことができる。
【０１１１】
（２．計測モード）
次に、本実施の形態に係る画像処理装置１００が計測モード時に提供するユーザインターフェイスについて説明する。
【０１１２】
図１４は、この発明の実施の形態に係る画像処理装置１００が計測モード時に提供するユーザインターフェイス画面の一例を示す図である。
【０１１３】
図１４を参照して、ユーザインターフェイス画面３００Ｅでは、撮像部８がワーク２を順次撮像して生成する画像データに対して、上述したような処理によって登録されたモデル画像を用いたサーチ処理および位置計測処理などが順次実行される。
【０１１４】
より具体的には、撮像部８がワーク２を撮像して生成する画像データに対して、予め登録されているモデル画像に基づいてマッチング処理が実行される。そして、マッチング処理の結果、モデル画像と一致する領域３９２が特定されると、当該領域３９２の画像とモデル画像とを比較して、ワーク２における位置などが算出される。この算出された計測結果は、ユーザインターフェイス画面３００Ｅの詳細結果エリアに数値表示される（符号３９０）。
【０１１５】
上述のような計測処理によれば、モデル画像を基準として、計測対象のワーク２がどの程度変位しているかが３次元的に評価される。すなわち、詳細結果エリアには、モデル画像に対して、Ｘ方向、Ｙ方向、Ｚ方向のそれぞれについての変位量が算出される。さらに、基準面に対する傾きなどが算出されてもよい。
【０１１６】
＜処理手順＞
次に、上述の画像処理装置１００における処理手順について説明する。
【０１１７】
図１５は、この発明の実施の形態に係る画像処理装置１００によって提供される処理手順を示すフローチャートである。なお、以下に示す各ステップは、典型的には、画像処理装置１００のＣＰＵ１１０がプログラムを実行することで提供される。なお、図１５に示すフローチャートの実行前に、キャリブレーションなどの画像処理装置１００についての初期処理は実行済であるとする。
【０１１８】
図１５を参照して、ステップＳ１００において、画像処理装置１００のＣＰＵ１１０は、現在の設定モードを判断する。設定モードに設定されている場合（ステップＳ１００において「設定モード」）には、処理はステップＳ１０２へ進む。これに対して、計測モードに設定されている場合（ステップＳ１００において「計測モード」）には、処理はステップＳ１３２へ進む。
【０１１９】
ステップＳ１０２において、ＣＰＵ１１０は、画像処理装置１００に接続されている撮像部８から、撮像部８がワーク２を撮像することで生成される画像データを取得する。続くステップＳ１０４において、ＣＰＵ１１０は、表示コントローラ１２０に対して内部コマンドを発することで、ステップＳ１０２において取得した画像データをレンダリングするための画像表示エリア３５０を含むユーザインターフェイス画面３００Ａ（図１０）を表示する。
【０１２０】
ステップＳ１０６において、ＣＰＵ１１０は、平面登録が要求されたか否かを判断する。すなわち、ワーク２の露出面が撮像部８に正対していない場合には、ユーザは、平面登録ボタン３４４（図１０）を押下する。したがって、ＣＰＵ１１０は、平面登録ボタン３４４が押下されたか否かを判断する。平面登録が要求されていない場合（ステップＳ１０６においてＮＯの場合）には、処理はステップＳ１０８へ進む。これに対して、平面登録が要求された場合（ステップＳ１０６においてＹＥＳの場合）には、処理はステップＳ１１０へ進む。
【０１２１】
ステップＳ１０８において、ＣＰＵ１１０は、撮像部８が生成した画像データのうち、ユーザが指定した領域に含まれる画像をモデル画像として決定する。そして、処理は、ステップＳ１２８へ進む。
【０１２２】
ステップＳ１１０において、ＣＰＵ１１０は、ワーク２の露出面における特徴点の座標を設定するためのユーザインターフェイス画面３００Ｂ（図１１）を表示する。続くステップＳ１１２において、ＣＰＵ１１０は、座標位置を追加するための設定ボタン３６２が押下されたか否かを判断する。設定ボタン３６２が押下された場合（ステップＳ１１２においてＹＥＳの場合）には、処理はステップＳ１１４へ進む。これに対して、設定ボタン３６２が押下されなかった場合（ステップＳ１１２においてＮＯの場合）には、処理はステップＳ１１８へ進む。
【０１２３】
ステップＳ１１４において、ＣＰＵ１１０は、画像データ上におけるワーク２の露出面の座標位置（点座標）、および、当該露出面の座標位置に対応する、ワーク２の大きさ（実座標）を受付けるための座標設定ウィンドウを表示する。続くステップＳ１１６において、ＣＰＵ１１０は、ユーザが設定する一対の座標位置（基準面Ｐ１および画像データ２００上におけるそれぞれの座標位置）を受付ける。そして、処理はステップＳ１１８へ進む。
【０１２４】
ステップＳ１１８において、ＣＰＵ１１０は、登録ボタン３６６が押下されたか否かを判断する。登録ボタン３６６が押下された場合（ステップＳ１１８においてＹＥＳの場合）には、処理はステップＳ１２０へ進む。これに対して、登録ボタン３６６が押下されなかった場合（ステップＳ１１８においてＮＯの場合）には、ステップＳ１１２以下の処理が繰返される。
【０１２５】
ステップＳ１２０において、ＣＰＵ１１０は、同一のワーク２について、所定数（典型的には、３個）の座標位置の対が設定されているか否かを判断する。所定数の座標位置の対が設定されなかった場合（ステップＳ１２０においてＮＯの場合）には、ステップＳ１１２以下の処理が繰返される。これに対して、所定数の座標位置の対が設定されている場合（ステップＳ１２０においてＹＥＳの場合）には、処理はステップＳ１２２へ進む。
【０１２６】
ステップＳ１２２において、ＣＰＵ１１０は、設定されている画像データ上の座標位置と、対応する位置の実際の大きさとの対応関係に従って、設定されている画像データ上の領域を、ワーク２の露出面を基準面と平行とした状態で生成される画像データに相当するように変換することで、変換後のモデル画像を生成する。続くステップＳ１２４において、ＣＰＵ１１０は、生成した変換後のモデル画像をディスプレイ１０２に表示する。さらに続くステップＳ１２６において、ＣＰＵ１１０は、ディスプレイ１０２に表示されるモデル画像を登録する指示がユーザから与えられたか否かを判断する。モデル画像として登録する指示がユーザから与えられた場合（ステップＳ１２６においてＹＥＳの場合）には、処理はステップＳ１２８へ進む。これに対して、モデル画像として登録する指示がユーザから与えられなかった場合（ステップＳ１２６においてＮＯの場合）には、ステップＳ１１２以下の処理が繰返される。
【０１２７】
ステップＳ１２８において、ＣＰＵ１１０は、取得されているモデル画像を登録する。その後、ステップＳ１００以下の処理が繰返される。
【０１２８】
一方、ステップＳ１３２においては、ＣＰＵ１１０は、画像処理装置１００に接続されている撮像部８から、撮像部８がワーク２を撮像することで生成される画像データを取得する。続くステップＳ１３４において、ＣＰＵ１１０は、撮像部８から取得された画像データに対して登録されているモデル画像を用いてサーチ処理を実行する。さらに続くステップＳ１３６において、ＣＰＵ１１０は、モデル画像とサーチ処理によって特定された画像データ上の領域とを比較することで、計測対象のワーク２の位置などを含む計測値を算出する。さらに続くステップＳ１３８において、ＣＰＵ１１０は、算出した計測値などを出力する。
【０１２９】
その後、ステップＳ１４０において、ＣＰＵ１１０は、処理終了が指示されたか否かを判断する。処理終了が指示された場合（ステップＳ１４０においてＹＥＳの場合）には、処理は終了する。これに対して、処理終了が指示されていない場合（ステップＳ１４０においてＮＯの場合）には、ステップＳ１００以下の処理が繰返される。
【０１３０】
＜作用効果＞
本実施の形態に係る画像処理装置によれば、モデル画像の登録時において、基準となるワーク２の露出面が撮像部８と正対していない場合、すなわち、基準となるワーク２の露出面が基準面と平行ではない場合において、撮像部８が生成する画像データを変換することで、当該ワーク２の露出面が基準面と平行となるように配置した場合に生成されるモデル画像を取得する。
【０１３１】
このため、被測定物の露出面と撮像部８との位置関係に影響されることなく、被測定物の位置などを正確に測定できる。
【０１３２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３３】
１  視覚センサシステム、２  被測定物（ワーク）、４  光電センサ、４ａ  受光部、４ｂ  投光部、６  搬送機構、８  撮像部、１００  画像処理装置、１０２  ディスプレイ、１０４  マウス、１０６  メモリカード、１１０  ＣＰＵ、１１２  メインメモリ、１１４  ハードディスク、１１６  カメラインターフェイス、１１６ａ  画像バッファ、１１８  入力インターフェイス、１２０  表示コントローラ、１２２  ＰＬＣインターフェイス、１２４  通信インターフェイス、１２６  データリーダ／ライタ、１２８  バス。
【図１】
0005445064.tif 000002
【図２】
0005445064.tif 000003
【図３】
0005445064.tif 000004
【図４】
0005445064.tif 000005
【図５】
0005445064.tif 000006
【図６】
0005445064.tif 000007
【図７】
0005445064.tif 000008
【図８】
0005445064.tif 000009
【図９】
0005445064.tif 000010
【図１５】
0005445064.tif 000011
【図１０】
0005445064.tif 000012
【図１１】
0005445064.tif 000013
【図１２】
0005445064.tif 000014
【図１３】
0005445064.tif 000015
【図１４】
0005445064.tif 000016