(57)【要約】【課題】ヘッド部から本体部へのデータ転送の負荷を軽減する。【解決手段】ヘッド部は、位相シフト法に従い、入射光を所定の投影パターンの構造化照明として投光するための投光手段と、ワークで反射された反射光を、投光手段の光軸に対して斜め方向から取得して複数のパターン投影画像を撮像するための撮像手段と、撮像された複数のパターン投影画像に基づいて、ワークの三次元の高さ情報を取得するヘッド側演算部と、ヘッド側演算部で取得されたワークの三次元の高さ情報を保持するためのヘッド側記憶手段と、ヘッド側記憶手段で保持された高さ情報を、コントローラ部に対して送出するためのヘッド側通信手段とを備え、コントローラ部は、ヘッド側通信手段と通信を行うコントローラ側通信手段と、コントローラ側通信手段で受信されたワークの三次元の高さ情報に基づいて、所定の画像処理を実行するためのコントローラ側制御部とを備える。【選択図】図１
2018044960.tif 000002
【特許請求の範囲】
【請求項１】
ヘッド部と、コントローラ部とを備え、ワークの三次元の高さ情報を取得すると共に、該ワークの三次元の高さ情報に基づいて画像処理を行うことが可能な三次元画像処理装置であって、
前記ヘッド部は、
位相シフト法に従い、入射光を所定の投影パターンの構造化照明として投光するための投光手段と、
前記投光手段で投光され、ワークで反射された反射光を、前記投光手段の光軸に対して斜め方向から取得して複数のパターン投影画像を撮像するための撮像手段と、
前記撮像手段で撮像された複数のパターン投影画像に基づいて、ワークの三次元の高さ情報を取得するヘッド側演算部と、
前記ヘッド側演算部で取得されたワークの三次元の高さ情報を保持するためのヘッド側記憶手段と、
前記ヘッド側記憶手段で保持された高さ情報を、前記コントローラ部に対して送出するためのヘッド側通信手段と
を備え、
前記コントローラ部は、
前記ヘッド側通信手段と通信を行うコントローラ側通信手段と、
前記コントローラ側通信手段で受信されたワークの三次元の高さ情報に基づいて、所定の画像処理を実行するためのコントローラ側制御部と、
を備えることを特徴とする三次元画像処理装置。
【請求項２】
請求項１に記載される三次元画像処理装置であって、
前記ヘッド側演算部は、前記高さ情報として、ワークのＸＹＺの座標情報である三次元ポイントクラウドデータを取得することを特徴とする三次元画像処理装置。
【請求項３】
請求項１又は２に記載される三次元画像処理装置であって、
前記ヘッド側演算部がさらに、前記撮像手段で撮像した複数の縞画像の各々に対して、所定のフィルタ処理を行うためのフィルタ処理部を備えており、
前記フィルタ処理部でフィルタ処理された各々のパターン投影画像に基づいて、高さ情報を生成するよう構成してなることを特徴とする三次元画像処理装置。
【請求項４】
請求項３に記載される三次元画像処理装置であって、
前記フィルタ処理部が、メディアンフィルタ、ガウシアンフィルタ、平均フィルタの少なくともいずれかを実行可能としてなることを特徴とする三次元画像処理装置。
【請求項５】
請求項１に記載される三次元画像処理装置であって、
前記コントローラ部がさらに、前記ヘッド側演算部で高さ情報として生成された距離画像に対して、所定の後処理を行うための画像後処理部を備えることを特徴とする三次元画像処理装置。
【請求項６】
請求項５に記載される三次元画像処理装置であって、
前記画像後処理部が、
設定された階調変換条件に従い、距離画像を低階調の低階調距離画像に階調変換するための階調変換手段を備え、
前記コントローラ部が、
前記コントローラ側通信手段で受信された距離画像を、低階調距離画像に変換する階調変換を行う際の階調変換条件を構成する変換パラメータを設定するための階調変換条件設定手段を備えており、
前記階調変換条件設定手段で設定された階調変換条件に従い、前記階調変換手段が距離画像を低階調距離画像に階調変換し、該階調変換された低階調距離画像に対して、前記コントローラ側制御部が画像処理を実行するよう構成してなることを特徴とする三次元画像処理装置。
【請求項７】
請求項１〜６のいずれか一に記載される三次元画像処理装置であって、さらに、
画像を表示させるための表示手段と、
前記表示手段上に表示される画像に対して、高さ情報の測定が不可能な異常点をハイライトして表示可能な異常点ハイライト手段を備えることを特徴とする三次元画像処理装置。
【請求項８】
請求項１〜７のいずれか一に記載される三次元画像処理装置であって、
前記撮像手段が、ワークを撮像した輝度画像を取得すると共に、
前記輝度画像が、前記投光手段を全照明パターンとしてワークを撮像した画像であることを特徴とする三次元画像処理装置。
【請求項９】
請求項１〜７のいずれか一に記載される三次元画像処理装置であって、
前記撮像手段が、ワークを撮像した輝度画像を取得すると共に、
前記輝度画像が、ワークの三次元の高さ情報の生成の元となった複数のパターン投影画像を合成して生成してなることを特徴とする三次元画像処理装置。
【請求項１０】
請求項８又は９に記載される三次元画像処理装置であって、
前記コントローラ部は、
モデルによる画像サーチを行うための画像サーチ手段を備えており、
前記画像サーチ手段は、ワークの三次元の高さ情報に基づいて取得された、ワークに対する位置補正データに基づいて、輝度画像に対して所定の画像処理を行うことを特徴とする三次元画像処理装置。
【請求項１１】
請求項１〜１０のいずれか一に記載される三次元画像処理装置であって、
前記コントローラ部は、
パターン投影画像を空間コード化法に基づいて撮像して高さ情報を取得する空間コード化処理のＯＮ／ＯＦＦを切り替え可能な空間コード化切替手段を備えることを特徴とする三次元画像処理装置。
【請求項１２】
ワークの三次元の高さ情報を取得すると共に、該ワークの三次元の高さ情報に基づいて画像処理を行うことが可能な三次元画像処理装置において、画像処理を行うコントローラ部に接続可能なヘッド部であって、
位相シフト法に従い、入射光を所定の投影パターンの構造化照明として投光するための投光手段と、
前記投光手段で投光され、ワークで反射された反射光を、前記投光手段の光軸に対して斜め方向から取得して複数のパターン投影画像を撮像するための撮像手段と、
前記撮像手段で撮像された複数のパターン投影画像に基づいて、ワークの三次元の高さ情報を取得するヘッド側演算部と、
前記ヘッド側演算部で取得された高さ情報を、前記コントローラ部に対して送出するためのヘッド側通信手段と
を備えており、
前記ヘッド側演算部で取得された高さ情報を、前記ヘッド側通信手段を介してコントローラ側に送出可能に構成してなることを特徴とする三次元画像処理装置用ヘッド部。
【請求項１３】
ヘッド部と、コントローラ部とを備え、ワークの三次元の高さ情報を取得すると共に、該ワークの三次元の高さ情報に基づいて画像処理を行うことが可能な三次元画像処理装置を用いた三次元画像処理方法であって、
前記ヘッド部からワークに対して、位相シフト法に従い、斜め方向から入射光を所定の投影パターンの構造化照明として投光し、ワークで反射された反射光を取得して複数のパターン投影画像を撮像する工程と、
前記撮像された複数のパターン投影画像に基づいて、ワークの三次元の高さ情報を取得する工程と、
前記取得されたワークの三次元の高さ情報を、前記コントローラ部に対して送出する工程と、
前記コントローラ部で受信されたワークの三次元の高さ情報に対して、所定の画像処理を実行する工程と、
を含むことを特徴とする三次元画像処理方法。
【請求項１４】
ヘッド部とコントローラ部を備える三次元画像処理装置を用いて、ワークの三次元の高さ情報を取得すると共に、該ワークの三次元の高さ情報に基づいて画像処理を行うことが可能な三次元画像処理プログラムであって、コンピュータに、
位相シフト法に従い、前記ヘッド部が備える撮像手段の光軸に対して斜め方向から入射光を所定の投影パターンの構造化照明として投光し、ワークで反射された反射光を取得して撮像された複数のパターン投影画像に基づいて、ワークの三次元の高さ情報を取得可能な高さ情報取得機能と、
前記高さ情報取得機能で取得されたワークの三次元の高さ情報を、前記コントローラ部に対して送出する機能と、
前記コントローラ部で受信されたワークの三次元の高さ情報に対して、所定の画像処理を実行するための画像処理実行機能と
を実現させることを特徴とする三次元画像処理プログラム。
【請求項１５】
請求項１４に記載される三次元画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体又は記録した機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元画像処理装置、三次元画像処理装置用ヘッド部、三次元画像処理方法、三次元画像処理プログラム、コンピュータで読み取り可能な記録媒体又は記録した機器に関する。
【背景技術】
【０００２】
工場等数多くの生産現場では、人の目視に頼っていた検査を自動化・高速化する画像処理装置が導入されている。画像処理装置は、ベルトコンベア等の生産ラインを流れてくるワークをカメラによって撮像し、得られた画像データを用いて所定領域のエッジ検出や面積計算等の計測処理を実行する。そして、計測処理の処理結果に基づいて、ワークの欠け検出やアライメントマークの位置検出等の検査を行い、ワークの欠けや位置ずれの有無を判定する判定信号を出力する。このように、画像処理装置は、ＦＡセンサの一つとして利用されることがある。
【０００３】
ＦＡセンサとして用いられる画像処理装置が計測処理の対象とする画像は、主に、高さ情報を含まない輝度画像である。そのため、上述したワークの欠け検出についていえば、欠けた部分の二次元形状を安定的に検出することは得意であるが、傷の凹み具合等、輝度画像としては現れ難い三次元形状を安定的に検出することは困難である。例えば、検査時にワークを照らす照明の種類や照明方向を工夫して、傷の凹みに起因する陰影を検出して、間接的に三次元形状を検出することも考えられるが、輝度画像の中で常に明瞭な陰影が検出されるとは限らない。不明瞭な陰影が検出されたときに不良品を良品と誤って判定する誤判定を防ぐために、例えば判定閾値を安全側に偏らせると、良品を大量に不良品として判定し、歩留まりの悪化を招く虞がある。
【０００４】
そこで、カメラの受光光量に応じた濃淡値を画素値とする濃淡画像だけでなく、カメラとワークまでの距離に応じた濃淡値を画素値とすることで、高さを二次元的に表現した距離画像（例えば特許文献１参照）を用いた外観検査が考えられる。
【０００５】
三次元画像処理装置の一例を、図１６０の模式図に示す。この三次元画像処理装置は、受光素子等の撮像手段を備えたヘッド部と、ヘッド部と接続され、ヘッド部で撮像した画像データを送られて、取得した画像データから距離画像を生成するコントローラ部で構成される。
【０００６】
ここで三角測距の原理を、図１６０に基づいて説明する。ヘッド部は、投光部１１０から出射される入射光の光軸と、受光部１２０に入射する反射光の光軸（受光部１２０の光軸）との間の角度αが予め設定されている。ここでワーク上にワークが載置されない場合には、投光部１１０から出射される入射光は、ワークの載置面の点Ｏにより反射され、受光部１２０に入射される。一方、ワーク上にワークが載置される場合、投光部１１０から出射される入射光は、ワークの表面の点Ａにより反射され、反射光となって受光部１２０に入射される。そして点Ｏと点Ａとの間のＸ方向における距離ｄを測定し、この距離ｄに基づいてワークの表面の点Ａの高さｈを算出する。
【０００７】
上述した三角測距の計測原理を応用して、ワークの表面の全ての点の高さを算出することにより、ワークの三次元的な形状が測定される。パターン投影法はワークの表面の全ての点に入射光を照射するために、投光部１１０からは所定の構造化パターンに従って入射光が出射され、ワーク表面で反射した反射光を受光し、受光した複数のパターン画像に基づいてワークの三次元形状を効率よく測定する。
【０００８】
このようなパターン投影法には、位相シフト法や空間コード化法、マルチスリット法等が知られている。パターン投影法を用いた三次元計測処理によって、投影パターンを変化させて複数回の撮像をヘッド部で繰り返し、コントローラ部に送出する。コントローラ部では、ヘッド部から送られるパターン投影画像に基づいて演算を行い、ワークの高さ情報を有する距離画像を得ることができる。
【０００９】
このような距離画像を生成するには、複数枚のパターン投影画像が必要となる。このため、ヘッド部で多数のパターン投影画像を撮像した上で、これらをコントローラ部側に一旦転送し、コントローラ部側で複数のパターン投影画像を用いて演算処理する必要がある。しかしながら、多くの画像データをヘッド部からコントローラ部側に送信すると、データ通信の負荷が大きくなる。特に、精度を向上させるには高精細なパターン投影画像データが必要となり、またパターン投影画像データの枚数も増える。また、高さ情報の精度を向上させるため位相シフト法や空間コード化法等、複数の方式を組み合わせる場合は、さらに撮像枚数が増え、ヘッド部からコントローラ部に転送すべきデータ量も増大する。このためデータ転送に要する時間も長くなり、リアルタイム処理が困難となる。また、大量のデータ通信を短時間で行わせるには、高速な通信が必要となり、ハードウェア面での仕様要求が厳しくなり、高コストになるという問題があった。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１２−２１９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、従来のこのような問題点を解決するためになされたものである。本発明の主な目的は、カメラヘッド部から本体部へのデータ転送の負荷を軽減した三次元画像処理装置、三次元画像処理装置用ヘッド部、三次元画像処理方法、三次元画像処理プログラム、コンピュータで読み取り可能な記録媒体又は記録した機器を提供することにある。
【課題を解決するための手段及び発明の効果】
【００１２】
上記の目的を達成するために、本発明の第１の側面に係る三次元画像処理装置によれば、ヘッド部と、コントローラ部とを備え、ワークの三次元の高さ情報を取得すると共に、該ワークの三次元の高さ情報に基づいて画像処理を行うことが可能な三次元画像処理装置であって、前記ヘッド部は、位相シフト法に従い、入射光を所定の投影パターンの構造化照明として投光するための投光手段と、前記投光手段で投光され、ワークで反射された反射光を、前記投光手段の光軸に対して斜め方向から取得して複数のパターン投影画像を撮像するための撮像手段と、前記撮像手段で撮像された複数のパターン投影画像に基づいて、ワークの三次元の高さ情報を取得するヘッド側演算部と、前記ヘッド側演算部で取得されたワークの三次元の高さ情報を保持するためのヘッド側記憶手段と、前記ヘッド側記憶手段で保持された高さ情報を、前記コントローラ部に対して送出するためのヘッド側通信手段とを備え、前記コントローラ部は、前記ヘッド側通信手段と通信を行うコントローラ側通信手段と、前記コントローラ側通信手段で受信されたワークの三次元の高さ情報に基づいて、所定の画像処理を実行するためのコントローラ側制御部とを備えることができる。上記構成により、ヘッド部側でワークの三次元の高さ情報を取得できるため、コントローラ部側でヘッド部からパターン投影画像を受けてワークの三次元の高さ情報を取得する方法に比べ、ヘッド部からコントローラ部側に送出すべきデータ転送量を大幅に低減でき、通信の負荷を低減して、高速な処理が実現できる。
【００１３】
また、第２の側面に係る三次元画像処理装置によれば、上記構成に加えて、前記ヘッド側演算部は、前記高さ情報として、ワークのＸＹＺの座標情報である三次元ポイントクラウドデータを取得することができる。
【００１４】
さらに、第３の側面に係る三次元画像処理装置によれば、上記何れかの構成に加えて、前記ヘッド側演算部がさらに、前記撮像手段で撮像した複数の縞画像の各々に対して、所定のフィルタ処理を行うためのフィルタ処理部を備えており、前記フィルタ処理部でフィルタ処理された各々のパターン投影画像に基づいて、高さ情報を生成するよう構成できる。上記構成により、共通のフィルタ処理をヘッド部側で行うことができ、ワークの三次元の高さ情報の取得をヘッド部のみで完結させることが可能となる。
【００１５】
さらにまた、第４の側面に係る三次元画像処理装置によれば、上記何れかの構成に加えて、前記フィルタ処理部が、メディアンフィルタ、ガウシアンフィルタ、平均フィルタの少なくともいずれかを実行可能とできる。
【００１６】
さらにまた、第５の側面に係る三次元画像処理装置によれば、上記何れかの構成に加えて、前記コントローラ部がさらに、前記ヘッド側演算部で高さ情報として生成された距離画像に対して、所定の後処理を行うための画像後処理部を備えることができる。上記構成により、コントローラ部側での検査等の画像処理に適した後処理を行うことができ、必要な画像処理をヘッド部とコントローラ部とでそれぞれ分担して、処理の負荷を分散させることができる。
【００１７】
さらにまた、第６の側面に係る三次元画像処理装置によれば、上記何れかの構成に加えて、前記画像後処理部が、設定された階調変換条件に従い、距離画像を低階調の低階調距離画像に階調変換するための階調変換手段を備え、前記コントローラ部が、前記コントローラ側通信手段で受信された距離画像を、低階調距離画像に変換する階調変換を行う際の階調変換条件を構成する変換パラメータを設定するための階調変換条件設定手段を備えており、前記階調変換条件設定手段で設定された階調変換条件に従い、前記階調変換手段が距離画像を低階調距離画像に階調変換し、該階調変換された低階調距離画像に対して、前記コントローラ側制御部が画像処理を実行するよう構成できる。
【００１８】
さらにまた、第７の側面に係る三次元画像処理装置によれば、上記何れかの構成に加えて、さらに画像を表示させるための表示手段と、前記表示手段上に表示される画像に対して、高さ情報の測定が不可能な異常点をハイライトして表示可能な異常点ハイライト手段を備えることができる。上記構成により、ユーザは表示手段からワーク上の測定不能な部分を確認できるので、必要な部位が測定できるかどうかを視認によって判断でき、調整作業も容易となる。
【００１９】
さらにまた、第８の側面に係る三次元画像処理装置によれば、上記何れかの構成に加えて、前記撮像手段が、ワークを撮像した輝度画像を取得すると共に、前記輝度画像を、前記投光手段を全照明パターンとしてワークを撮像した画像とすることができる。
【００２０】
さらにまた、第９の側面に係る三次元画像処理装置によれば、上記何れかの構成に加えて、前記撮像手段が、ワークを撮像した輝度画像を取得すると共に、前記輝度画像を、ワークの三次元の高さ情報の生成の元となった複数のパターン投影画像を合成して生成してすることができる。
【００２１】
さらにまた、第１０の側面に係る三次元画像処理装置によれば、上記何れかの構成に加えて、前記コントローラ部は、モデルによる画像サーチを行うための画像サーチ手段を備えており、前記画像サーチ手段は、ワークの三次元の高さ情報に基づいて取得された、ワークに対する位置補正データに基づいて、輝度画像に対して所定の画像処理を行うことができる。上記構成により、輝度画像で位置決めした後に、ワークの三次元の高さ情報を用いた検査等の処理が可能となる。また輝度画像での位置決めが困難な場合、例えば白地の背景に置かれた白色の検査対象物のような場合でも、ワークの三次元の高さ情報に基づいて正確な位置決めを実現できる。
【００２２】
さらにまた、第１１の側面に係る三次元画像処理装置によれば、上記何れかの構成に加えて、前記コントローラ部は、パターン投影画像を空間コード化法に基づいて撮像して高さ情報を取得する空間コード化処理のＯＮ／ＯＦＦを切り替え可能な空間コード化切替手段を備えることができる。上記構成により、空間コード化処理に加えて、位相シフト処理を組み合わせたワークの三次元の高さ情報の取得が可能となり、高精度な高さ計測や検査を実現できる一方、比較的高さ方向の差異が少ない検査対象物を計測する際に、精度を落とすことなく、処理時間を短くすることができる。
【００２３】
さらにまた、第１２の側面に係る三次元画像処理装置用ヘッド部によれば、ワークの三次元の高さ情報を取得すると共に、該ワークの三次元の高さ情報に基づいて画像処理を行うことが可能な三次元画像処理装置において、画像処理を行うコントローラ部に接続可能なヘッド部であって、位相シフト法に従い、入射光を所定の投影パターンの構造化照明として投光するための投光手段と、前記投光手段で投光され、ワークで反射された反射光を、前記投光手段の光軸に対して斜め方向から取得して複数のパターン投影画像を撮像するための撮像手段と、前記撮像手段で撮像された複数のパターン投影画像に基づいて、ワークの三次元の高さ情報を取得するヘッド側演算部と、前記ヘッド側演算部で取得された高さ情報を、前記コントローラ部に対して送出するためのヘッド側通信手段とを備えており、前記ヘッド側演算部で取得された高さ情報を、前記ヘッド側通信手段を介してコントローラ側に送出可能に構成することができる。上記構成により、ヘッド部側でワークの三次元の高さ情報を取得できるため、コントローラ部側でワークの三次元の高さ情報を生成する方法に比べ、ヘッド部からコントローラ部側に送られるデータ転送量を低減でき、低負荷で高速な処理が実現できる。
【００２４】
さらにまた、第１３の側面に係る三次元画像処理方法によれば、ヘッド部と、コントローラ部とを備え、ワークの三次元の高さ情報を取得すると共に、該ワークの三次元の高さ情報に基づいて画像処理を行うことが可能な三次元画像処理装置を用いた三次元画像処理方法であって、前記ヘッド部からワークに対して、位相シフト法に従い、斜め方向から入射光を所定の投影パターンの構造化照明として投光し、ワークで反射された反射光を取得して複数のパターン投影画像を撮像する工程と、前記撮像された複数のパターン投影画像に基づいて、ワークの三次元の高さ情報を取得する工程と、前記取得されたワークの三次元の高さ情報を、前記コントローラ部に対して送出する工程と、前記コントローラ部で受信されたワークの三次元の高さ情報に対して、所定の画像処理を実行する工程とを含むことができる。これにより、ヘッド部側でワークの三次元の高さ情報を習得できるため、コントローラ部側でヘッド部からパターン投影画像を受けてワークの三次元の高さ情報を生成する方法に比べ、ヘッド部からコントローラ部側に送出すべきデータ転送量を大幅に低減でき、通信の負荷を低減して、高速な処理が実現できる。
【００２５】
さらにまた、第１４の側面に係る三次元画像処理プログラムによれば、ヘッド部とコントローラ部を備える三次元画像処理装置を用いて、ワークの三次元の高さ情報を取得すると共に、該ワークの三次元の高さ情報に基づいて画像処理を行うことが可能な三次元画像処理プログラムであって、コンピュータに、位相シフト法に従い、前記ヘッド部が備える撮像手段の光軸に対して斜め方向から入射光を所定の投影パターンの構造化照明として投光し、ワークで反射された反射光を取得して撮像された複数のパターン投影画像に基づいて、ワークの三次元の高さ情報を取得可能な高さ情報取得機能と、前記高さ情報取得機能で取得されたワークの三次元の高さ情報を、前記コントローラ部に対して送出する機能と、前記コントローラ部で受信されたワークの三次元の高さ情報に対して、所定の画像処理を実行するための画像処理実行機能とを実現させることができる。
【００２６】
さらにまた、第１５の側面に係るコンピュータで読み取り可能な記録媒体又は記憶した機器は、上記三次元画像処理プログラムを格納するものである。記録媒体には、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷやフレキシブルディスク、磁気テープ、ＭＯ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ＋Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、Ｂｌｕ−ｒａｙ（登録商標）、ＨＤ  ＤＶＤ（ＡＯＤ）等の磁気ディスク、光ディスク、光磁気ディスク、半導体メモリその他のプログラムを格納可能な媒体が含まれる。またプログラムには、上記記録媒体に格納されて配布されるものの他、インターネット等のネットワーク回線を通じてダウンロードによって配布される形態のものも含まれる。さらに記憶した機器には、上記プログラムがソフトウェアやファームウェア等の形態で実行可能な状態に実装された汎用もしくは専用機器を含む。さらにまたプログラムに含まれる各処理や機能は、コンピュータで実行可能なプログラムソフトウエアにより実行してもよいし、各部の処理を所定のゲートアレイ（ＦＰＧＡ、ＡＳＩＣ）等のハードウエア、又はプログラムソフトウエアとハードウェアの一部の要素を実現する部分的ハードウエアモジュールとが混在する形式で実現してもよい。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態に係る画像処理装置を含む三次元画像処理システムのシステム構成例を示す図である。
【図２】本発明の変形例に係る三次元画像処理システムのシステム構成例を示す図である。
【図３】本発明の実施の形態２に係る三次元画像処理装置のハードウェア構成を示す模式図である。
【図４】図４Ａは本発明の実施の形態３に係る三次元画像処理装置のヘッド部、図４Ｂは実施の形態４に係る三次元画像処理装置のヘッド部をそれぞれ示す模式図である。
【図５】本発明の実施の形態３に係る三次元画像処理装置を示すブロック図である。
【図６】図５のコントローラ部を示すブロック図である。
【図７】本実施形態に係る画像処理装置の処理動作を示すフローチャートである。
【図８】設定時における静的変換の手順を示すフローチャートである。
【図９】三次元画像処理プログラムで「撮像」を追加した初期画面を示すイメージ図である。
【図１０】撮像設定メニューで画像登録を選択した状態を示すイメージ図である。
【図１１】画像登録画面の画面例を示すイメージ図である。
【図１２】距離画像を登録中の画面例を示すイメージ図である。
【図１３】輝度画像を登録中の画面例を示すイメージ図である。
【図１４】撮像設定画面を示すイメージ図である。
【図１５】撮像有効設定画面を示すイメージ図である。
【図１６】三次元計測設定画面を示すイメージ図である。
【図１７】選択可能な前処理の種類を示すイメージ図である。
【図１８】計測不能基準設定欄で設定可能な選択肢を示すイメージ図である。
【図１９】計測不能基準設定欄で「なし」を選択した例を示すイメージ図である。
【図２０】計測不能基準設定欄で「低」を選択した例を示すイメージ図である。
【図２１】計測不能基準設定欄で「中」を選択した例を示すイメージ図である。
【図２２】計測不能基準設定欄で「高」を選択した例を示すイメージ図である。
【図２３】均等間隔処理設定欄で設定可能な選択肢を示すイメージ図である。
【図２４】均等間隔処理をＯＮ、「表示画像」選択欄を「高さ画像」とした例を示すイメージ図である。
【図２５】均等間隔処理をＯＮ、「表示画像」選択欄を「濃淡画像」とした例を示すイメージ図である。
【図２６】均等間隔処理をＯＦＦ、距離画像を表示した例を示すイメージ図である。
【図２７】均等間隔処理をＯＦＦ、輝度画像を表示した例を示すイメージ図であ
【図２８】空間コード設定欄で設定可能な選択肢を示すイメージ図である。
【図２９】「表示画像」選択欄で「高さ画像」を選択し第二画像表示領域に距離画像を表示させた状態を示すイメージ図である。
【図３０】「表示画像」選択欄で「濃淡画像」を選択し第二画像表示領域に輝度画像を表示させた状態を示すイメージ図である。
【図３１】空間コード設定欄でＯＦＦを選択した例を示すイメージ図である。
【図３２】「表示画像」選択欄で「濃淡画像」を表示させた状態を示している。
【図３３】プロジェクタ選択設定欄で設定可能な選択肢を示すイメージ図である。
【図３４】プロジェクタ選択設定欄で「１」を選択した例を示すイメージ図である。
【図３５】プロジェクタ選択設定欄で「２」を選択した例を示すイメージ図である。
【図３６】プロジェクタ選択設定欄で「１＋２」を選択した例を示すイメージ図である。
【図３７】「表示画像」選択欄で設定可能な選択肢を示すイメージ図である。
【図３８】「表示画像」選択欄で「縞投光−プロジェクタ１」を選択して、第二画像表示領域に第一プロジェクタのパターン投影画像を表示させた例を示すイメージ図である。
【図３９】「表示画像」選択欄で「縞投光−プロジェクタ２」を選択して、第二画像表示領域に第二プロジェクタのパターン投影画像を表示させた例を示すイメージ図である。
【図４０】シャッタースピード設定欄を「１／１５」に設定した三次元計測設定画面を示すイメージ図である。
【図４１】シャッタースピード設定欄を「１／３０」に設定した三次元計測設定画面を示すイメージ図である。
【図４２】濃淡レンジ設定欄を「普通（０）」に設定した三次元計測設定画面を示すイメージ図である。
【図４３】濃淡レンジ設定欄を「高い（１）」に設定した三次元計測設定画面を示すイメージ図である。
【図４４】図９の状態から「高さ計測」処理ユニットを追加する様子を示すイメージ
【図４５】図４４を経て「高さ計測」処理ユニットが追加された初期画面を示すイメージ図である。
【図４６】高さ計測設定画面を示すイメージ図である。
【図４７】検査対象領域設定画面を示すイメージ図である。
【図４８】図４７の「計測領域」設定欄のドロップダウンメニューを表示させた状態を示すイメージ図である。
【図４９】「計測領域」設定欄において「回転矩形」を選択した状態を示すイメージ図である。
【図５０】計測領域編集画面を示すイメージ図である。
【図５１】計測領域編集画面の「計測領域」設定欄で「円周」を選択した状態を示すイメージ図である。
【図５２】第二「高さ計測」処理ユニットを追加した初期画面を示すイメージ図である。
【図５３】計測領域として「回転矩形」を設定した状態を示すイメージ図である。
【図５４】計測領域として「回転矩形」を設定する状態を示すイメージ図である。
【図５５】計測領域として「回転矩形」が設定された状態を示すイメージ図である。
【図５６】「数値演算」処理ユニットを追加しようとする状態を示すイメージ図である。
【図５７】「数値演算」処理ユニットが追加された初期画面を示すイメージ図である。
【図５８】数値演算編集画面を表示させた状態を示すイメージ図である。
【図５９】図５８の数値演算編集画面に演算式を入力した状態を示すイメージ図である。
【図６０】「数値演算」処理ユニットが設定された初期画面を示すイメージ図である。
【図６１】「エリア」処理ユニットを追加した初期画面を示すイメージ図である。
【図６２】エリア設定画面を示すイメージ図である。
【図６３】回転矩形の詳細を設定する領域設定画面を示すイメージ図である。
【図６４】回転矩形が設定された領域設定画面を示すイメージ図である。
【図６５】高さ抽出選択画面を示すイメージ図である。
【図６６】一点指定画面のＧＵＩを示すイメージ図である。
【図６７】一点指定画面のＧＵＩを示すイメージ図である。
【図６８】一点指定画面のＧＵＩを示すイメージ図である。
【図６９】図６９Ａは、入力画像のプロファイルを示すイメージ図、図６９Ｂは図６９Ａの入力画像を階調変換した低階調距離画像のプロファイルを示すイメージ図である。
【図７０】図６８の状態からゲインを増加させた状態を示すイメージ図である。
【図７１】図７０の状態からゲインを低下させた状態を示すイメージ図である。
【図７２】図７１で詳細設定を選択した状態を示すイメージ図である。
【図７３】一点指定用の強調方法詳細設定画面のＧＵＩを示すイメージ図である。
【図７４】図７３の状態から「抽出高さ」設定欄のドロップダウンリストを表示させた状態を示すイメージ図である。
【図７５】図７５Ａは、入力画像のプロファイルを示すイメージ図、図７５Ｂは図７５Ａの入力画像を基準面を基準で示したイメージ図、図７５Ｃは図７５Ｂを階調変換した低階調距離画像のプロファイルを示すイメージ図である。
【図７６】図７６Ａは輝度画像、図７６Ｂは高階調の距離画像、図７６Ｃは図７６Ｂを階調変換した低階調距離画像、図７６Ｄは図７６Ｃよりもゲインを上げた低階調距離画像、図７６Ｅは図７６Ｄよりもノイズ除去を上げた低階調距離画像、図７６Ｆは図７６Ｅで「抽出高さ」を高い側に設定した低階調距離画像を、それぞれ示すイメージ図である。
【図７７】図７７Ａは、入力画像のプロファイルを示すイメージ図、図７７Ｂは図７７Ａの入力画像を「抽出高さ」を高い側に設定して階調変換した低階調距離画像のプロファイルを示すイメージ図である。
【図７８】階調変換画像を表示させた状態を示すイメージ図である。
【図７９】図７９Ａは一点指定で基準面を設定する方法が有効なワークの例を示す斜視図、図７９Ｂは図７９Ａで撮像した距離画像を階調変換した低階調距離画像のイメージ図である。
【図８０】高さ抽出選択画面のＧＵＩを示すイメージ図である。
【図８１】三点指定画面のＧＵＩを示すイメージ図である。
【図８２】図８１の状態から高さ抽出手段で一点目を指定する状態を示すイメージ図である。
【図８３】図８２の状態からさらに二点目を指定する状態を示すイメージ図である。
【図８４】図８３の状態からさらに三点目を指定する状態を示すイメージ図である。
【図８５】三点指定用の詳細設定画面のＧＵＩを示すイメージ図である。
【図８６】図８６Ａは三点指定で基準面を設定する方法が有効なワークの例を示す斜視図、図８６Ｂは図８６Ａで撮像した距離画像を階調変換した低階調距離画像のイメージ図、図８６Ｃは図８６Ｂを二値化した画像のイメージ図、図８６Ｄは図８６Ａのワークに傾きがある場合に一点指定で得られた二値化画像のイメージ図である。
【図８７】図８７Ａは三点指定で基準面を設定する方法が有効な他のワークの例を示す斜視図、図８７Ｂは図８７Ａで撮像した距離画像を階調変換した低階調距離画像のイメージ図、図８７Ｃは図８７Ｂを二値化した画像のイメージ図、図８７Ｄは図８７Ａのワークに傾きがある場合に一点指定で得られた二値化画像のイメージ図である。
【図８８】高さ動的抽出設定画面のＧＵＩを示すイメージ図である。
【図８９】「計算方法」選択欄のドロップダウンボックスを示すイメージ図である。
【図９０】平均高さ基準設定画面を示すイメージ図である。
【図９１】マスク領域設定画面を示すイメージ図である。
【図９２】平面基準詳細設定画面を示すイメージ図である。
【図９３】図９３Ａは平均高さ基準で基準面を設定する方法が有効なワークの例を示す斜視図、図９３Ｂは図９３Ａで撮像した距離画像を階調変換した低階調距離画像のイメージ図である。
【図９４】平面基準詳細設定画面を示すイメージ図である。
【図９５】図９４の画面で無効画素指定欄の詳細を示すイメージ図である。
【図９６】自由曲面基準設定画面を示すイメージ図である。
【図９７】図９６で「抽出サイズ」指定欄の数値を大きくした状態を示すイメージ図である。
【図９８】図９８Ａは自由曲面基準で基準面を設定する方法が有効なワークの例を示す斜視図、図９８Ｂは図９８Ａで撮像した距離画像を階調変換した低階調距離画像のイメージ図である。
【図９９】図９０の状態から抽出領域設定ダイヤログを表示させた状態を示すイメージ図である。
【図１００】図９９の抽出領域選択欄で「矩形」を選択した状態を示すイメージ図である。
【図１０１】図１００の状態から抽出領域編集ダイヤログを表示させた状態を示すイメージ図である。
【図１０２】図９９のマスク領域選択欄で「円形」を選択した状態を示すイメージ図である。
【図１０３】図１０２の状態からマスク領域編集ダイヤログを表示させた状態を示すイメージ図である。
【図１０４】「エリア」処理ユニットで高さ抽出を設定した状態を示すイメージ図である。
【図１０５】フィルタ処理設定画面を示すイメージ図である。
【図１０６】二値化レベル設定画面を示すイメージ図である。
【図１０７】フィルタ処理設定した状態を示すイメージ図である。
【図１０８】判定条件設定画面を示すイメージ図である。
【図１０９】判定条件が設定された状態を示すイメージ図である。
【図１１０】「ブロブ」処理ユニットを追加した初期画面を示すイメージ図である。
【図１１１】「ブロブ」処理ユニットにおいてフィルタ処理を設定する様子を示すイメージ図である。
【図１１２】「ブロブ」処理ユニットにおいて検出条件を設定する様子を示すイメージ図である。
【図１１３】「ブロブ」処理ユニットにおいて判定条件を設定する様子を示すイメージ図である。
【図１１４】初期画面に「色検査」処理ユニットを追加しようとする状態を示すイメージ図である。
【図１１５】「色検査」処理ユニットに円の領域を設定する様子を示すイメージ図である。
【図１１６】「色検査」処理ユニットに円の領域設定を行った状態を示すイメージ図である。
【図１１７】「色検査」処理ユニットに濃度平均を設定した状態を示すイメージ図である。
【図１１８】「色検査」処理ユニットを設定した初期画面を示すイメージ図である。
【図１１９】実施の形態３に係る三次元画像処理装置のヘッド部での運用時の処理の流れを示すフローチャートである。
【図１２０】実施の形態４に係る三次元画像処理装置のヘッド部での運用時の処理の流れを示すフローチャートである。
【図１２１】実施の形態１に係る階調変換方法を示すフローチャートである。
【図１２２】実施の形態３に係る三次元画像処理装置のコントローラ部での運用時の処理の流れを示すフローチャートである。
【図１２３】三次元画像処理プログラムの初期画面を示すイメージ図である。
【図１２４】輝度画像上でサーチ対象領域を設定した状態を示すイメージ図である。
【図１２５】距離画像上で検査対象領域を複数設定した状態を示すイメージ図である。
【図１２６】図１２５の距離画像を拡大した状態を示すイメージ図である。
【図１２７】三次元画像処理プログラムで高さ計測を実行する状態を示すイメージ図である。
【図１２８】位相シフト法と空間コード化法を組み合わせて距離画像を生成するためのデータフロー図である。
【図１２９】空間コード化法を使用しないで位相シフト法のみで距離画像を生成するためのデータフロー図である。
【図１３０】ＸＹ等ピッチ化をＯＦＦしてＺ画像を得る手順を示すデータフロー図である。
【図１３１】ポイントクラウドデータを出力する例を示す図である。
【図１３２】運用時における静的変換の手順を示すフローチャートである。
【図１３３】運用時における動的変換の手順を示すフローチャートである。
【図１３４】検査対象のワークを示す斜視図である。
【図１３５】予め複数の階調変換パラメータセットを準備しておく方法を示す模式図である。
【図１３６】図１３５の方法の手順を示すフローチャートである。
【図１３７】高さの変動が殆どないワークの例を示す斜視図である。
【図１３８】図１３８Ａは高さの変動を検知したいワークの例を示す斜視図、図１３８Ｂは図１３８Ａで撮像した距離画像を階調変換した低階調距離画像のイメージ図である。
【図１３９】動的変換（平均高さ基準）による基準面の指定が有効なワークの例を示す斜視図である。
【図１４０】動的変換（平面基準）による基準面の指定が有効なワークの例を示す斜視図である。
【図１４１】動的変換（自由曲面基準）による基準面の指定が有効なワークの例を示す斜視図である。
【図１４２】適切な画像が得られるまで階調変換パラメータの調整を繰り返す手順を示すフローチャートである。
【図１４３】図１４２において画像が適切かどうかの判定を省略した手順を示すフローチャートである。
【図１４４】階調変換パラメータ調整の具体的手順を示すフローチャートである。
【図１４５】図１４５Ａはワークの外観、図１４５Ｂは図１４５Ａのワークから得られた距離画像のイメージ、図１４５Ｃは図１４５Ｂの距離画像に対し高さ検査処理のために検査対象領域を設定した状態を示すイメージ、図１４５Ｄは図１４５Ｂの距離画像に対し画像検査処理のために検査対象領域を設定した状態を示すイメージ、図１４５Ｅは図１４５Ｄの距離画像に対して階調変換を行った低階調距離画像のイメージを、それぞれ示す図である。
【図１４６】設定時の手順を示すフローチャートである。
【図１４７】図１４５Ａのワークに対して「エリア」処理ユニットの設定を行う画面を示すイメージ図である。
【図１４８】図１４７で高さ抽出の条件を設定する画面を示すイメージ図である。
【図１４９】運転時の手順を示すフローチャートである。
【図１５０】図１４９の検査処理で階調変換を行う場合の手順を示すフローチャートである。
【図１５１】図１４９の検査処理で階調変換を行わない場合の手順を示すフローチャートである。
【図１５２】検査処理条件を設定する手順を示すフローチャートである。
【図１５３】画像設定画面を示すイメージ図である。
【図１５４】輝度画像又は距離画像を選択可能な画像変数選択画面を呼び出した状態を示すイメージ図である。
【図１５５】距離画像のみ選択可能な画像変数選択画面を呼び出した状態を示すイメージ図である。
【図１５６】画像を選択させた上で検査処理を選択して検査処理条件を設定する手順を示すフローチャートである。
【図１５７】輝度画像と距離画像を取得した状態を示す模式図である。
【図１５８】図１５７で輝度画像を選択した場合に設定可能な検査処理ツールを示す模式図である。
【図１５９】図１５７で距離画像を選択した場合に設定可能な検査処理ツールを示す模式図である。
【図１６０】三角測距方式で距離画像を撮像する様子を示す模式図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態を図面に基づいて説明する。ただし、以下に示す実施の形態は、本発明の技術思想を具体化するための三次元画像処理装置、三次元画像処理装置用ヘッド部、三次元画像処理方法、三次元画像処理プログラム、コンピュータで読み取り可能な記録媒体又は記録した機器を例示するものであって、本発明は三次元画像処理装置、三次元画像処理装置用ヘッド部、三次元画像処理方法、三次元画像処理プログラム、コンピュータで読み取り可能な記録媒体又は記録した機器を以下のものに特定しない。また、本明細書は特許請求の範囲に示される部材を、実施の形態の部材に特定するものでは決してない。特に実施の形態に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一もしくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。
【００２９】
また本明細書において「距離画像（高さ画像）」という場合には、高さ情報を含む画像の意味で使用し、例えば距離画像に光学的な輝度画像をテクスチャ情報として貼り付けた三次元の合成画像も、距離画像に含む意味で使用する。また、本明細書において距離画像の表示形態は二次元状に表示されるものに限られず、三次元状に表示されるものも含む。
（実施の形態１）
【００３０】
本発明の実施の形態１に係る三次元画像処理装置の構成を図１に示す。この三次元画像処理装置１００は、ヘッド部１と、コントローラ部２とを備える。ヘッド部１は、検査対象物（ワーク）Ｗを照らす投光手段２０と、ワークＷの画像を撮像する撮像手段１０と、コントローラ部２と接続するためのヘッド側通信手段３６を備える。
【００３１】
一方コントローラ部２は、撮像された画像に基づいて、エッジ検出や面積計算等の計測処理を実行する。またコントローラ部２には、液晶パネル等の表示手段４、ユーザが表示手段４上で各種操作するためのコンソール等の入力手段３、ＰＬＣ（Programmable Logic Controller）等を着脱自在に接続できる。
【００３２】
以上の三次元画像処理装置１００は、ヘッド部１の投光手段２０でワークＷに測定光を投光し、測定光がワークＷに入射されて反射された反射光を、撮像手段１０でパターン投影画像として撮像する。またパターン投影画像に基づいて距離画像を生成し、さらにこの距離画像を、各画素が有する高さ情報を輝度に置き換えた低階調距離画像に変換する。コントローラ部２は、変換された低階調距離画像に基づいて、エッジ検出や面積計算等の計測処理を実行する。
【００３３】
なお検査対象物であるワークＷは、例えばライン上を順次搬送される物品であり、移動又は静止している。また移動するワークは、コンベア等による平行移動の他、回転するものも含まれる。
（投光手段２０）
【００３４】
投光手段２０は、距離画像を生成するためにワークＷを照らす照明として用いられる。したがって投光手段２０は、距離画像を取得するための光切断法やパターン投影法に応じて、例えばワークに対してライン状のレーザ光を投光する光投影器、ワークに正弦波縞模様パターンを投影するためのパターン投影器等とすることができる。また投光手段以外に、明視野照明や暗視野照明を行うための一般的な照明装置を別途設けてもよい。あるいは投光手段２０に、一般的な照明装置としての機能を持たせることも可能である。
【００３５】
コントローラ部２は、ヘッド部１から取得した距離画像データを用いて画像処理を実行し、外部接続されたＰＬＣ７０等の制御機器に対し、ワークの良否等の判定結果を示す信号として判定信号を出力する。
【００３６】
撮像手段１０は、ＰＬＣ７０から入力される制御信号、例えば撮像手段１０から画像データを取り込むタイミングを規定する撮像トリガ信号に基づいて、ワークの撮像を行う。
【００３７】
表示手段４は、ワークを撮像して得られた画像データや、その画像データを用いた計測処理の結果を表示するための表示装置である。一般に、ユーザは、表示手段４を視認することによって、コントローラ部２の動作状態を確認することができる。入力手段３は、表示手段４上でフォーカス位置を移動させたり、メニュー項目を選択したりするための入力装置である。なお、表示手段４にタッチパネルを使用する場合は、表示手段と入力手段を兼用できる。
【００３８】
またコントローラ部２は、コントローラ部２の制御プログラムを生成するためのパーソナルコンピュータＰＣを接続することもできる。またパーソナルコンピュータＰＣには、三次元画像処理に関する設定を行う三次元画像処理プログラムをインストールして、コントローラ部２で行う処理の各種設定を行うこともできる。あるいは、このパーソナルコンピュータＰＣ上で動作するソフトウェアによって、画像処理の処理順序を規定する処理順序プログラムを生成することができる。コントローラ部２では、その処理順序に沿って各画像処理が順次実行される。パーソナルコンピュータＰＣとコントローラ部２とは、通信ネットワークを介して接続されており、パーソナルコンピュータＰＣ上で生成された処理順序プログラムは、例えば表示手段４の表示態様を規定するレイアウト情報等と共に、コントローラ部２に転送される。また逆に、コントローラ部２から処理順序プログラムやレイアウト情報等を取り込んで、パーソナルコンピュータＰＣ上で編集することもできる。なお、この処理順序プログラムは、パーソナルコンピュータＰＣだけでなく、コントローラ部２においても生成できるようにしてもよい。
（変形例）
【００３９】
なお、以上の例ではコントローラ部２として専用のハードウェアを構築しているが、本発明はこの構成に限定されるものでない。例えば図２に示す変形例に係る三次元画像処理装置１００’のように、汎用のパーソナルコンピュータやワークステーション等に専用の検査プログラムや三次元画像処理プログラムをインストールしたものをコントローラ部２’として機能させ、ヘッド部１に接続して利用することもできる。この三次元画像処理装置は、三次元画像処理プログラムで画像処理等、必要な設定を行った上で、ヘッド部１で撮像されたパターン投影画像に従って低階調距離画像を画像処理して、必要な検査を行う。
（ヘッド側通信手段３６）
【００４０】
また、これに応じてヘッド部１側に、ヘッド側通信手段３６として、専用のコントローラ部２や、コントローラ部２として機能するパーソナルコンピュータのいずれにも接続できるようなインターフェースを設けることもできる。例えばヘッド部１に、ヘッド側通信手段３６として、図１に示すようにコントローラ部２と接続するためのコントローラ接続用インターフェース３６Ａを設けたり、あるいは図２に示すように、パーソナルコンピュータと接続するためのＰＣ接続用インターフェース３６Ｂを設ける。またこのようなインターフェースをユニット式に交換可能とすることで、ヘッド部の他の構成をある程度共通化して、共通のヘッド部でコントローラ部やパーソナルコンピュータのいずれにも接続可能とできる。あるいは、専用のコントローラ部２と、パーソナルコンピュータのいずれにも接続可能なインターフェースを備えた一のヘッド側通信手段を設けてもよい。またこのようなインターフェースは、既存の通信規格、例えばイーサーネット（商品名）やＵＳＢ、ＲＳ−２３２Ｃ等が利用できる。また、必ずしも規格化された、あるいは汎用の通信方式によらず、専用の通信方式としてもよい。
（ＰＣ接続モード）
【００４１】
さらに三次元画像処理プログラムに、ヘッド部１に接続するコントローラ部２’としてパーソナルコンピュータを使用する場合の設定を行うＰＣ接続モードを備えることもできる。すなわちコントローラ部が専用ハードウェアであるか、パーソナルコンピュータであるかに応じて、設定可能な項目や設定内容を変化させることで、いずれの場合にも三次元画像処理に関する設定を適切に行うことが可能となる。さらに、コントローラ部２’として機能するパーソナルコンピュータに、ヘッド部１の動作確認用途、及び簡易的な計測機能を持たせたビューワプログラムをインストールして、接続されたヘッド部の動作や機能を確認できるようにしてもよい。
【００４２】
なお図１に示す撮像手段１０と投光手段２０を利用することで得られる「距離画像」とは、ワークＷを撮像する撮像手段１０から、ワークＷまでの距離に応じて各画素の濃淡値が変化する画像をいう。換言すれば、撮像手段１０からワークＷまでの距離に基づいて濃淡値が決定される画像ともいえるし、ワークＷまでの距離に応じた濃淡値を有する多値画像ともいえるし、或いはワークＷの高さに応じた濃淡値を有する多値画像ともいえる。さらに、輝度画像の画素ごとに、撮像手段１０からの距離を濃淡値に変換した多値画像ともいえる。
【００４３】
距離画像を生成する手法としては、大きく分けて２つの方式があり、一つは、通常の画像を得るための照明条件で撮像した画像を用いて距離画像を生成するパッシブ方式（受動計測方式）、もう一つは、高さ方向の計測をするための光を能動的に照射して距離画像を生成するアクティブ方式（能動計測方式）である。パッシブ方式の代表的な手法は、ステレオ計測法である。これは、撮像手段１０を２台用意し、これら２台のカメラを所定の位置関係で配置するだけで距離画像を生成できることから、輝度画像を生成するための一般的な画像処理システムを利用して距離画像を生成でき、システム構築コストを抑制することができる。しかし、ステレオ計測法では、一方のカメラによって得られる画像中の一点が、他方のカメラによって得られる画像中のどの点に対応しているのかを決定しなければならず、いわゆる対応点の決定処理に時間が掛かるという問題がある。また、計測位置は対応点のみであり、全画素ではないことから、この点においても外観検査の高速化には向かない。
【００４４】
一方で、アクティブ方式の代表的な手法は、光切断法とパターン投影法である。光切断法は、上述したステレオ計測法において、一方のカメラを光投影器に置き換えて、ワークに対してライン状のレーザ光を投光し、物体表面の形状に応じたライン光の像の歪み具合からワークの三次元形状を復元する。光切断法は、対応点の決定が不要であるので安定した計測が可能である。しかし、１回の計測で１ライン分しか計測できないため、全画素の計測値を得ようとすると、対象物又はカメラを走査しなければならない。これに対し、パターン投影法は、ワークに投影された所定パターンの形状や位相等をずらして複数枚の画像を撮像し、撮像した複数枚の画像を解析することでワークの三次元形状を復元するものである。パターン投影法には幾つか種類があり、正弦波縞模様パターンの位相をずらして複数枚（最低３枚以上）の画像を撮像し、複数枚の画像から画素ごとに正弦波の位相を求め、求めた位相を利用してワーク表面上の三次元座標を求める位相シフト法や、２つの規則的なパターンが合成されるときに生じる一種の空間周波数のうねり現象を利用して三次元形状を復元するモアレポトグラフィ法、ワークに投影するパターン自体を撮影毎に異ならせ、例えば白黒デューティ比５０％で縞幅が画面半分、４分の１、８分の１、、、と細くなっていく縞パターンを順次投影し、それぞれのパターンにてパターン投影画像の撮影を行い、ワークの高さの絶対位相を求める空間コード化法、ワークに複数の細線状のパターン照明（マルチスリット）を投影し、スリット周期より狭いピッチでパターンを移動させ、複数回撮影を行うマルチスリット法等が代表的である。
【００４５】
本実施形態に係る三次元画像処理装置１００では、上述した位相シフト法と空間コード化法を組み合わせて距離画像を生成する。これにより、ワーク又はヘッドを相対的に動かすことなく、距離画像を生成することができる。本発明は、位相シフト法及び空間コード化法によって距離画像を生成することに限られず、他の方法によって距離画像を生成しても構わない。また、上述した方法以外の方法、例えば光レーダ法（タイムオブフライト）、合焦点法、共焦点法、白色光干渉法等、距離画像を生成するために考え得る如何なる手法を採用しても構わない。
【００４６】
なお図１に示す撮像手段１０と投光手段２０の配置レイアウトは、ワークＷに対して斜め方向から投光し、ワークＷからの反射光をほぼ垂直な方向で受光できるよう、投光手段２０を斜めに、撮像手段１０を鉛直姿勢に保持するように配置している。このように投光方向と撮像方向とを一致させず、傾斜させることで、ワークＷの表面形状の凹凸に起因する陰影を捉えたパターン投影画像を撮像できる。
（実施の形態２）
【００４７】
ただ本発明は、この配置例に限定されるものでなく、例えば図３に示す実施の形態２に係る三次元画像処理装置２００のように、撮像手段１０側をワークＷに対して傾斜姿勢に、投光手段２０側を鉛直姿勢に保持する配置例としてもよい。このような配置のヘッド部１Ｂによっても、同様に投光方向と撮像方向とを傾斜させて、ワークＷの陰影を捉えたパターン投影画像を撮像できる。
（実施の形態３）
【００４８】
さらに、投光手段や撮像手段の一方又は両方を複数配置することもできる。例えば、実施の形態３として図４Ａに示す三次元画像処理装置３００のように、撮像手段１０をワークＷに対して鉛直姿勢に保持する一方、撮像手段１０を中心に２つの投光手段２０を両側に配置して、左右からそれぞれ投光するヘッド部１Ｃとして構成することもできる。このように投光の方向が異なるパターン投影画像をそれぞれ撮像することで、一方向からの投光ではワークＷ自体で陰影パターンが隠れてしまう等、パターン投影画像を部分的に撮像できない状態が生じて高さ計測が不正確又は不可能となる事態を低減できる。特に、ワークに対して相対する方向（例えば左右や前後）から投光するように投光手段２０を配置すれば、ワーク自体で遮られて撮像できない可能性を大幅に低減できる。
（実施の形態４）
【００４９】
また、以上の例では撮像手段を一台、投光手段を二台とする構成について説明したが、逆に撮像手段を二台、投光手段を一台とする構成とすることもできる。このような例を実施の形態４に係る三次元画像処理装置４００として図４Ｂに示す。この例に示すヘッド部１Ｄでは、投光手段２０をワークＷに対して鉛直姿勢に保持し、図においてその左右に撮像手段１０をそれぞれ、ワークＷに対して傾斜姿勢に配置させている。この構成でも、ワークＷを異なる傾斜角度から撮像できるので、実施の形態３と同様にパターン投影画像が部分的に撮像困難となる事態を抑制できる。またこの方法であれば、一回の投光で２枚のパターン投影画像を同時に撮像できるため、処理時間を短縮化できる利点も得られる。
【００５０】
その反面、２つの撮像手段で異なる角度から同じワークを撮像しても、撮像している部位や視野等が異なるため、各画素の位置を一致させる作業が必要となり、誤差も発生する可能性がある。これに対し、上述した実施の形態３によれば、撮像手段を共通化したことで、いずれの投光手段から測定光を投光しても、同一の視野の画像を撮像できるため、このような統合作業を不要とでき、また統合作業に伴う誤差の発生も回避して、処理を簡素化できる利点が得られる。
【００５１】
なお以上の例では、各ヘッド部において撮像手段１０と投光手段２０とを一体的に構成した例を説明したが、本発明はこの構成に限られない。例えば、撮像手段１０と投光手段２０とを別個の部材で構成したヘッド部とすること可能である。また、撮像手段や投光手段を３以上設けることも可能である。
（ブロック図）
【００５２】
次に、本発明の実施の形態３に係る三次元画像処理装置３００の構成を示すブロック図を図５に示す。三次元画像処理装置３００は、図５に示すように、ヘッド部１と、コントローラ部２とを備える。
（ヘッド部１）
【００５３】
このヘッド部１は、投光手段２０と、撮像手段１０と、ヘッド側制御部３０と、ヘッド側演算部３１と、記憶手段３８と、ヘッド側通信手段３６等を備えている。投光手段２０は、測定光源２１、パターン生成部２２及び複数のレンズ２３、２４、２５を含む。撮像手段１０は、図示しないがカメラ及び複数のレンズを含む。
（投光手段２０）
【００５４】
投光手段２０は、撮像手段の光軸に対して斜め方向から入射光を所定の投影パターンの構造化照明として投光するための部材である。この投光手段２０には、プロジェクタが利用でき、光学部材であるレンズやパターン生成部２２等が含まれる。投光手段２０は、静止若しくは移動するワークの位置の斜め上方に配置される。なおヘッド部１は、複数の投光手段２０を含むこともできる。図５の例においては、ヘッド部１は２つの投光手段２０を含む。ここでは、第一の方向からワークに対して測定用照明光を照射可能な第一プロジェクタ２０Ａ（図５において右側）と、第一の方向とは異なる第二の方向からワークに対して測定用照明光を照射可能な第二プロジェクタ２０Ｂ（図５において左側）を、それぞれ配置している。第一プロジェクタ２０Ａ、第二プロジェクタ２０Ｂは撮像手段１０の光軸を挟んで対称に配置される。第一プロジェクタ２０Ａ、第二プロジェクタ２０Ｂからワークに対し、交互に測定光を投光して、それぞれの反射光のパターンを撮像手段１０で撮像する。
【００５５】
各第一プロジェクタ２０Ａ、第二プロジェクタ２０Ｂの測定光源２１は、例えば白色光を出射するハロゲンランプや白色光を出射する白色ＬＥＤ（発光ダイオード）等が利用できる。測定光源２１から出射された測定光は、レンズにより適切に集光された後、パターン生成部２２に入射する。
【００５６】
さらに、距離画像を生成するためのパターン投影画像を取得する測定光を出射するための投光手段に加え、通常の光学画像（輝度画像）を撮像するための観察用照明光源を設けることもできる。観察用照明光源には、ＬＥＤの他、半導体レーザ（ＬＤ）やハロゲンライト、ＨＩＤ等を利用できる。特に撮像素子としてカラーで撮像可能な素子を用いた場合は、観察用照明光源に白色光源を利用できる。
【００５７】
測定光源２１から出射された測定光は、レンズ１１３により適切に集光された後、パターン生成部１１２に入射する。パターン生成部２２は、任意のパターンの照明を実現できる。例えば、白字に黒字、黒字に白字等、ワークや背景の色に応じてパターンを反転させ、見易い、あるいは測定し易い適切なパターンを表現できる。このようなパターン生成部２２は、例えばＤＭＤ（デジタルマイクロミラーデバイス）が利用できる。ＤＭＤは、画素毎に微小なミラーをＯＮ／ＯＦＦさせて任意のパターンを表現できる。これにより、白と黒を反転させたパターンを容易に照射できる。パターン生成部２２にＤＭＤを用いることで、任意のパターンを容易に生成でき、機械的なパターンマスクの準備やその入れ替え作業を不要とできるので、装置の小型化と迅速な計測ができる利点がある。また、ＤＭＤを用いたパターン生成部１１２は、すべての画素をＯＮとする全照明パターンの照射によって、通常の照明と同様に利用できるので、輝度画像の撮像にも利用できる。またパターン生成部２２は、ＬＣＤ（液晶ディスプレイ）、ＬＣＯＳ（Liquid Crystal on Silicon：反射型液晶素子）又はマスクとすることもできる。パターン生成部２２に入射した測定光は、予め設定されたパターン及び予め設定された強度（明るさ）に変換されて出射される。パターン生成部２２により出射された測定光は、複数のレンズにより撮像手段１０の観察・測定可能な視野よりも大きい径を有する光に変換された後、ワークに照射される。
（撮像手段１０）
【００５８】
撮像手段１０は、投光手段２０で投光され、ワークＷＫで反射された反射光を取得して複数のパターン投影画像を撮像するためのカメラを備える。このようなカメラには、ＣＣＤやＣＭＯＳ等が利用できる。この例では高解像度の得られるモノクロＣＣＤカメラを利用している。なお、カラーで撮像可能なカメラを使用することも可能であることはいうまでも無い。また撮像手段は、パターン投影画像以外に、通常の輝度画像を撮像することも可能である。
【００５９】
ヘッド側制御部３０は、撮像手段１０及び投光手段２０である第一プロジェクタ２０Ａ、第二プロジェクタ２０Ｂを制御するための部材である。例えば、投光手段２０がワークに対して測定光を投光してパターン投影画像を得るための投光パターンの作成を、ヘッド部側制御部３０で行う。これによって撮像手段１０で、投光手段２０から位相シフト用の投影パターンを投影させて位相シフト画像を撮像させ、また投光手段２０から空間コード化用の投影パターンを投影させて空間コード画像を撮像させる。このようにヘッド側制御部３０は、撮像手段１０で位相シフト画像と空間コード画像を撮像するよう、投光手段を制御するための投光制御手段として機能する。
【００６０】
ヘッド側演算部３１は、フィルタ処理部３４と距離画像生成手段３２を含む。距離画像生成手段３２は、撮像手段１０で撮像された複数のパターン投影画像に基づいて、距離画像を生成する。
【００６１】
ヘッド側記憶手段３８は、各種設定や画像等を保持するための部材であり、半導体メモリやハードディスク等の記憶素子が利用できる。例えば、撮像手段１０で撮像されたパターン投影画像を保持するための輝度画像記憶部３８ｂ、及び距離画像生成手段３２で生成された距離画像を保持するための距離画像記憶部３８ａを含む。
【００６２】
ヘッド側通信手段３６は、コントローラ部２と通信を行うための部材である。ここではコントローラ部２のコントローラ側通信手段４２と接続されて、データ通信を行う。例えば、距離画像生成手段３２で生成された距離画像を、コントローラ部２に対して送出する。
（距離画像生成手段３２）
【００６３】
距離画像生成手段３２は、ワークＷＫを撮像する撮像手段１０からワークＷＫまでの距離に応じて各画素の濃淡値が変化する距離画像を生成する手段である。例えば、位相シフト法で距離画像を生成する場合は、ワークに対して正弦波縞模様パターンを位相ずらして投影するように、ヘッド側制御部３０が投光手段２０を制御し、それに応じて正弦波縞模様パターンの位相がずれた画像を複数枚撮像するように、ヘッド側制御部３０が撮像手段１０を制御する。そしてヘッド側制御部３０は、複数枚の画像から画素毎に正弦波の位相を求め、求めた位相を利用して距離画像を生成する。
【００６４】
また空間コード化法を用いて距離画像を生成する場合は、光が照射される空間を、多数の断面略扇状の小空間に分け、この小空間には一連の空間コード番号を付す。このため、ワークの高さが高くても、言い換えると高低差が大きくても、光が照射される空間内にあれば、空間コード番号から高さが演算できる。したがって、高さの高いワークについても全体にわたって形状を計測できる。
【００６５】
このようにしてヘッド部側で距離画像を生成し、コントローラ部側に送出することで、ヘッド部からコントローラ部側に送出すべきデータ量を低減でき、大量のデータ転送によって生じ得る処理の遅れを回避できる。
【００６６】
なお、本実施形態ではヘッド部１側で距離画像の生成処理を行うようにしているが、例えばコントローラ部２側で距離画像の生成処理を担うこともできる。また、距離画像から低階調距離画像への階調変換は、コントローラ部で行う他、ヘッド部側で行わせることもできる。この場合は、ヘッド側演算部３１が階調変換手段の機能を実現する。
（コントローラ部２）
【００６７】
またコントローラ部２は、コントローラ側通信手段４２と、コントローラ側制御部と、コントローラ側演算部と、コントローラ側記憶手段と、検査実行手段５０と、コントローラ側設定手段４１とを備えている。コントローラ側通信手段４２は、ヘッド部１のヘッド側通信手段３６と接続されてデータ通信を行う。コントローラ側制御部は、各部材の制御を行うための部材である。コントローラ側演算部は、画像処理部６０の機能を実現する。画像処理部６０は、画像サーチ手段６４や階調変換手段４６等の機能を実現する。
（階調変換手段）
【００６８】
階調変換手段４６は、距離画像に基づいて、高階調の距離画像を、低階調の低階調距離画像に階調変換する（詳細な手順については後述する）。これによって、ヘッド部で生成された高さ情報を有する距離画像を、既存の設備でも扱える二次元の濃淡画像として表現することで、計測処理や検査処理に資することができる。また、距離画像の生成処理と、階調変換処理とを、ヘッド部とコントローラ部とで分担して、負荷を分散できる利点も得られる。なお、ヘッド部側で距離画像の生成に加え、低階調距離画像の生成も行わせてもよい。このような処理はヘッド側演算部で行うことができる。これによって、コントローラ部側の負荷を一層軽減して、効率のよい運用が可能となる。
【００６９】
さらに階調変換手段は、距離画像のすべてを階調変換するのでなく、好ましくは、必要な部分のみを選択して、階調変換する。具体的には、予め検査対象領域設定手段（詳細は後述）で設定された検査対象領域と対応する部分のみを階調変換する。このようにすることで、多階調の距離画像を低階調の距離画像に変換する処理を、検査対象領域のみに限ることで階調変換に要する負荷を軽減できる。またこのことは処理時間の短縮化にも寄与する。すなわち、処理時間の短縮化を図ることで、ＦＡ用途の検査のような処理時間の限られた用途においても好適に利用でき、リアルタイム処理が実現される。
【００７０】
コントローラ側記憶手段は、各種設定や画像を保持するための部材であり、半導体記憶素子やハードディスク等が利用できる。
【００７１】
コントローラ側設定手段４１は、コントローラ部に対する各種設定を行うための部材であり、コントローラ部に接続されたコンソール等の入力手段３を介してユーザからの操作を受け付け、必要な条件等をコントローラ側に指示する。例えば、階調変換条件設定手段４３や基準面設定手段４４、空間コード化切替手段４５、間隔均等化処理設定手段４７、投光切替手段４８、シャッタースピード設定手段４９等の機能を実現する。
【００７２】
基準面設定手段４４は、コントローラ側通信手段４２で受信された距離画像を、二次元の低階調距離画像に変換する階調変換を行う際の階調変換条件を構成する階調変換パラメータとして、この階調変換を行う基準面を、該距離画像に基づいて設定する。階調変換手段４６は、基準面設定手段４４で設定された基準面を基準として、距離画像を、この距離画像の階調数よりも低い階調数の、高さ情報を画像の濃淡値に置き換えた低階調距離画像に階調変換する。
【００７３】
検査実行手段５０は、階調変換手段４６で階調変換された低階調距離画像に対して、所定の検査処理を実行する。
（ハードウェア構成）
【００７４】
次にコントローラ部２のハードウェア構成例を、図６のブロック図に示す。この図に示すコントローラ部２は、各種プログラムに基づき数値計算や情報処理を行うと共に、ハードウェア各部の制御を行う主制御部５１を有している。主制御部５１は、例えば、中央演算処理装置としてのＣＰＵと、主制御部５１が各種プログラムを実行する際のワークエリアとして機能するＲＡＭ等のワークメモリと、起動プログラムや初期化プログラム等が格納されたＲＯＭ，フラッシュＲＯＭ，又はＥＥＰＲＯＭ等のプログラムメモリとを有している。
【００７５】
またコントローラ部２は、撮像手段１０や投光手段２０等を含むヘッド部１と接続して、ワークに対して正弦波縞模様パターンを、位相をずらして投影するよう投光手段２０を制御し、撮像手段１０での撮像により得られた画像データを取り込むためのコントローラ側接続部５２と、入力手段３からの操作信号が入力される操作入力部５３と、液晶パネル等の表示手段４に対して画像を表示させる表示用ＤＳＰ等から構成される表示制御部５４と、外部のＰＬＣ７０やパーソナルコンピュータＰＣ等と通信可能に接続される通信部５５と、一時的なデータを保持するＲＡＭ５６と、設定内容を保存するコントローラ側記憶手段５７と、パーソナルコンピュータＰＣにインストールされた三次元画像処理プログラムで設定されたデータを保持するための補助記憶手段５８と、エッジ検出や面積計算等の計測処理を実行する演算用ＤＳＰ等から構成される画像処理部６０と、画像処理部６０での処理結果等に基づいて所定の検査を行った結果を出力するための出力部５９等を備えている。これらの各ハードウェアは、バス等の電気的な通信路（配線）を介し、通信可能に接続されている。
【００７６】
主制御部５１内のプログラムメモリには、コントローラ側接続部５２、操作入力部５３、表示制御部５４、通信部５５、及び画像処理部６０の各部を、ＣＰＵのコマンド等により制御するための制御プログラムが格納されている。また、上述した処理順序プログラム、すなわちパーソナルコンピュータＰＣにおいて生成され、パーソナルコンピュータＰＣから転送された処理順序プログラムは、プログラムメモリに格納される。
【００７７】
通信部５５は、外部のＰＬＣ７０に接続されたセンサ（光電センサ等）でトリガ入力があったときに、ＰＬＣ７０から撮像トリガ信号を受信するインターフェース（Ｉ／Ｆ）として機能する。また、パーソナルコンピュータＰＣから転送されてくる三次元画像処理プログラムや表示手段４の表示態様を規定するレイアウト情報等を受信するインターフェース（Ｉ／Ｆ）としても機能する。
【００７８】
主制御部５１のＣＰＵは、通信部５５を介してＰＬＣ７０から撮像トリガ信号を受信すると、コントローラ側接続部５２に対して撮像指令（コマンド）を送る。また、処理順序プログラムに基づいて、画像処理部６０に対して、実行すべき画像処理を指示するコマンドを送信する。なお、撮像トリガ信号を生成する装置として、ＰＬＣ７０ではなく、光電センサ等のトリガ入力用のセンサを、通信部５５に直接接続するように構成してもよい。
【００７９】
操作入力部５３は、ユーザの操作に基づき入力手段３からの操作信号を受信するインターフェース（Ｉ／Ｆ）として機能する。表示手段４には、入力手段３を用いたユーザの操作内容が表示される。例えば入力手段３にコンソールを用いる場合は、表示手段４上に表示されるカーソルを上下左右に移動させる十字キー、決定ボタン、又はキャンセルボタン等の各部品を配置できる。これらの各部品を操作することによって、ユーザは表示手段４上で、画像処理の処理順序を規定するフローチャートを作成したり、各画像処理のパラメータ値を編集したり、基準領域の設定をしたり、基準登録画像を編集したりすることができる。
【００８０】
コントローラ側接続部５２は、画像データの取り込みを行う。具体的には、例えばＣＰＵから撮像手段１０の撮像指令を受信すると、撮像手段１０に対して画像データ取り込み信号を送信する。そして、撮像手段１０で撮像が行われた後、撮像して得られた画像データを取り込む。取り込んだ画像データは、一旦バッファリング（キャッシュ）され、予め用意しておいた画像変数に代入される。なお、「画像変数」とは、数値を扱う通常の変数と異なり、対応する画像処理ユニットの入力画像として割り付けることで、計測処理や画像表示の参照先となる変数をいう。
【００８１】
画像処理部６０は、画像データに対する計測処理を実行する。具体的には、まずコントローラ側接続部５２が上述した画像変数を参照しつつ、フレームバッファから画像データを読み出して、画像処理部６０内のメモリへ内部転送を行う。そして、画像処理部６０は、そのメモリに記憶された画像データを読み出して、計測処理を実行する。また画像処理部６０には、階調変換手段４６、異常点ハイライト手段６２、画像サーチ手段６４等が含まれる。
【００８２】
表示制御部５４は、ＣＰＵから送られてきた表示指令（表示コマンド）に基づいて、表示手段４に対して所定画像（映像）を表示させるための制御信号を送信する。例えば、計測処理前又は計測処理後の画像データを表示するために、表示手段４に対して制御信号を送信する。また、表示制御部５４は、入力手段３を用いたユーザの操作内容を表示手段４に表示させるための制御信号も送信する。
【００８３】
以上のようなハードウェアで構成されたヘッド部１やコントローラ部２は、各種プログラム等によって、図５の各手段や機能をソフトウェア的に実現可能な構成としている。この例では、図１のコンピュータに、三次元画像処理プログラムをインストールして、三次元画像処理に必要な設定を行う態様を採用している。
（階調変換）
【００８４】
以上の三次元画像処理装置は、ワークの距離画像を取得し、この距離画像に対して画像処理を行い、この結果に対して検査を行う。本実施の形態における三次元画像処理装置は、距離画像の画素値である高さ情報をそのまま用いて演算を行う高さ検査処理に加えて、既存のハードウェアを用いて面積やエッジ等の情報を用いた演算を行う画像検査処理の、２種類の検査を実施することができる。ここで、高さ検査処理の精度を維持するためには、多階調な距離画像を生成する必要がある。一方、既存のハードウェアではこのような多階調な距離画像に画像検査処理を実施することはできない。そのため、既存のハードウェアを用いて画像検査処理を行うために、多階調な距離画像に階調変換を施し、低階調距離画像を生成する。
【００８５】
しかしながら、多階調の距離画像の高さ情報を、そのまま低階調の距離画像に変換したのでは、高さ情報の精度が損なわれるという問題がある。ＦＡ用途等で利用される一般的な画像は、モノクロで各画素の濃淡値を８階調で表現した画像が多い。これに対して距離画像は、１６階調画像のような高階調の画像が用いられている。このため、多階調の距離画像を低階調距離画像に階調変換する際に、高さ情報が相当量損なわれることとなり、検査の精度に影響を与える。かといって、精度を高めるために既存の画像処理で扱う画像の階調数を上げるには導入コストが高騰するとともに、処理負荷が高くなり、利用に対するハードルが高くなる。
【００８６】
そこで、このような階調変換に際して、必要な高さ情報が維持されるような階調変換の条件を設定することが必要となる。以下、その方法及び手順について詳述する。
（高さ検査又は画像検査）
【００８７】
まず、三次元画像処理装置を用いて高さ検査処理を行う処理動作を、図７のフローチャートに基づいて説明する。この三次元画像処理装置は、計算処理を行うためのツールとして、距離画像に対して高さ検査を行う高さ検査処理ツールと、既存の輝度画像に対して画像検査を行う各種の画像検査処理ツールとを備えている。ここでは、高さ検査処理について説明する。
【００８８】
最初に、距離画像を生成する（ステップＳ７１）。具体的には、距離画像生成手段３２が、撮像手段１０と投光手段２０とを用いて距離画像を生成する。次いで、所望の計算処理を選択する（ステップＳ７２）。ここでは、計算処理に必要なツールを選択する。
【００８９】
画像検査処理ツールを選択する場合は、ステップＳ７３に進み、上記ステップＳ７１で得られた高階調の距離画像に対して、階調変換処理を行い、低階調の距離画像に変換する。これによって、既存の画像処理装置が備えている検査処理ツールでも、低階調距離画像を扱えるようになる。なお、階調変換処理は、高階調の距離画像の全域に対して行うのでなく、好ましくは画像検査処理のために設定された検査対象領域内でのみ行う。
【００９０】
一方、高さ検査ツールを選択する場合は、多階調距離画像が有する高さ情報をそのまま利用するため、階調変換を行うことなく、ステップＳ７４に進む。
【００９１】
さらに、検査実行手段５０が、各種計算処理を行い（ステップＳ７４）、次いでこの計算結果に基づいて、ワークが良品であるか否かを判定する（ステップＳ７５）。判定信号出力手段１６０は、検査実行手段５０によってワークが良品であると判定された場合には（ステップＳ７５：ＹＥＳ）、判定信号としてＯＫ信号をＰＬＣ７０に出力し（ステップＳ７６）、検査実行手段５０によってワークが良品でない、すなわち不良品であると判定された場合には（ステップＳ７５：ＮＯ）、判定信号としてＮＧ信号をＰＬＣ７０に出力する（ステップＳ７７）。
（設定モード）
【００９２】
次に、このような高さ検査や画像検査の処理実行に先立ち、三次元画像処理装置に対して各種の設定を行う設定モードにおける手順の一例を、図８のフローチャートに基づいて説明する。最初にステップＳ８１において、設定用の画像（設定用画像）を選択する。ここでは、予め検査処理の対象となる画像を入力して、登録画像として保存したものを呼び出したり、あるいは新たな入力画像を取得して、これに対して設定を行うこともできる。ここでは、運用時に逐次入力される入力画像を代替的に示すものとして、ワークを撮像して得られる入力画像を、登録画像として登録している。また、予め登録しておいた登録画像を呼び出してもよい。次にステップＳ８２において、階調変換方法を選択させる。ここでは、静的変換又は動的変換のいずれかの選択をユーザに促す。次にステップＳ８３において、階調変換パラメータを調整する。ここでは、ステップＳ８２で静的変換を選択した場合は、ステップＳ８１で取得された画像に対して階調変換パラメータを調整する。階調変換パラメータの調整方法については、後述する。なお、以上説明した手順は一例であり、異なる順序とすることもできる。例えば画像の取得は、階調変換方法の選択後に行わせてもよい。
（設定手順の詳細）
【００９３】
次に、設定時の手順の詳細について説明する。三次元画像処理装置においては、運用モードに先立ち、設定モードにおいて予め必要な設定を行う。このような設定を行うための各種設定手段は、例えばコントローラ部２側に設けることができる。例えば図１の例では、コントローラ部２に接続された入力手段３の一形態であるコンソールが利用できる。また、これに代えて、又はこれに加えて、上述の通りコントローラ部２に接続されたパーソナルコンピュータにインストールした三次元画像処理プログラムに、このような設定手段の機能を実現させることもできる。以下、ここでは図１に示すパーソナルコンピュータにインストールした三次元画像処理プログラムを用いて、各設定を行う手順の詳細を、図９〜図１１３に示す三次元画像処理プログラムのユーザインターフェース（ＧＵＩ）画面に基づいて説明する。なお、これらのＧＵＩの例では、距離画像を「高さ画像」、輝度画像を「濃淡画像」と、それぞれ表示している。
（距離画像、輝度画像の登録工程）
【００９４】
まず、距離画像と輝度画像の登録を行う。ここでは、図９に示す三次元画像処理プログラムの初期画面２６０から、「撮像」処理ユニット２６３の設定を行う。具体的には「撮像」処理ユニットのボタン２６３のボタンを押下する。これにより、図１０の撮像設定メニュー２６９に切り替わる。
（三次元画像処理プログラム）
【００９５】
図１０のＧＵＩ画面例では、画面の右側に画像を表示させる第一画像表示領域１１１を設け、左側には複数の設定項目を表すボタンを複数配置した設定項目ボタン領域１１２が設けられる。設定項目ボタン領域１１２には、「画像登録」ボタン１１３、「撮像設定」ボタン２８４、「カメラ設定」ボタン、「トリガ設定」ボタン、「フラッシュ設定」ボタン、「照明ボリューム」ボタン、「照明拡張ユニット」ボタン、「保存」ボタン等が設けられている。ユーザは設定項目ボタン領域１１２中から、所望の設定項目ボタンを選択して、必要な設定項目の設定ができる。
【００９６】
図１０の撮像設定メニュー２６９において、設定項目ボタン領域１１２に設けられた「画像登録」ボタン１１３を押下すると、図１１の画像登録画面２７０に切り替わる。この画面から登録対象、カメラ選択、登録先等、各種の設定を行うことができる。ここでは、操作領域に設けられた各種のボタン等によって所望の画像に調整した上で、登録すなわち画像データの保存を行う。ここでは、第二画像表示領域１２１に距離画像が表示されており、さらにこの画像に割り当てられた画像変数が操作領域１２２に表示される。図１１の例では、撮像手段を選択する「カメラ選択」欄２７１で「カメラ１」が選択されており、この「カメラ１」で撮像された距離画像として、画像変数「&Cam1Img」が「カメラ選択」欄２７１の下方に表示される。
【００９７】
設定終了後に操作領域の下段に設けられた「登録」ボタン２７２を押下すると、図１２に示すように現在第二画像表示領域１２１で表示中の距離画像の登録が開始され、進捗状況がグラフィカルに表示される。また、図１３に示すように輝度画像の登録も併せて行われる。この例では、先に距離画像が距離画像記憶部３８ａに保存され、次に輝度画像が輝度画像記憶部３８ｂに保存される。また、距離画像の画像変数「&Cam1Img」及び輝度画像の画像変数「&Cam1GrayImg」も、それぞれ記録される。これらの画像変数は、各画像に対して固有の変数が各々付与されているので、登録画像を呼び出す際の指標として利用できる。ただ、この例は一例であり、各画像の登録順序を逆にしたり、同時に登録してもよい。このように、登録画像として距離画像と輝度画像とを同時に保存することで、ユーザは各画像の登録の手間を省力化できる。ただ、距離画像と輝度画像とを登録画像として個別に登録する構成とすることも可能である。
（位相シフト法）
【００９８】
ここでワークの変位及び三次元形状を非接触で計測する手法の一として、位相シフト法について説明する。位相シフト法は格子パターン投影法、縞走査法等とも呼ばれる。この方法では、照度分布を正弦波状に変動させた格子パターンをもつ光線をワークに投影する。しかも、正弦波の位相の異なる３つ以上の格子パターンで投影し、高さ計測点の各明度値を光線の投影方向とは別の角度から各パターン毎に撮像し、各明度値より格子パターンの位相値を計算する。計測点の高さに応じて、計測点に投影され、格子パターンの位相が変化し、基準となる位置で反射された光線により観察される位相とは異なった位相の光線が観察される。そこで、計測点における光線の位相を計算し、三角測量の原理を利用して、光学装置の幾何関係式に代入することにより計測点（従って物体）の高さを計測し、三次元形状を求める方法である。位相シフト法によれば、ワークの高さを格子パターン周期を小さくすることにより高分解能で計測することができるが、測定できる高さの範囲が、位相のずれ量で２π以内となる低い高さのもの（高低差の小さいもの）しか計測できない。
（空間コード化法）
【００９９】
そこで、空間コード化法を兼用する。空間コード化法によれば、光が照射される空間を、多数の断面略扇状の小空間に分け、この小空間に一連の空間コード番号を付す。このため、ワークの高さが高くても、すなわち高低差が大きくても、光が照射される空間内にあれば、空間コード番号から高さが演算できる。したがって、高さの高いワークについても全体にわたって形状を計測できる。このように空間コード化法によれば、許容高さのレンジ（ダイナミックレンジ）が広く、高さの高いワークについても全体にわたって形状を計測できる。
【０１００】
次に、撮像手段で距離画像を撮像する設定例を、図１４〜図４２に基づいて説明する。上述した画像の登録に先立ち、図１０の撮像設定メニュー２６９から、「撮像設定」ボタン２８４を押下すると、図１４の撮像設定画面２８０となる。撮像設定画面２８０では。撮像に関する基本的な設定を行える。例えば「撮像有効設定」ボタンを押下すると図１５の撮像有効設定画面が表示され、三次元画像処理装置に接続されている撮像手段すなわちカメラを選択できる。例えば撮像手段として、通常の輝度画像を撮像するモノクロＣＣＤカメラやカラーＣＣＤカメラに代えて、あるいはこれに加えて、高さ情報を取得可能なカメラを接続することで、距離画像を三次元画像処理装置に取り込むことが可能となる。また、複数の撮像手段を三次元画像処理装置に接続している際に、いずれの撮像手段を使用するか、一以上を選択できる。
【０１０１】
また、図１４の撮像設定画面２８０から、操作領域に設けられた「詳細設定」ボタン２８２を押下すると、図１６に示す三次元計測設定画面２９０となる。なお図１６では説明の都合上、異なるワークを表示させている。図１６の三次元計測設定画面２９０は、リアルタイム更新手段にあたる「連続更新で表示する」欄２９２、シャッタースピード設定手段４９にあたるシャッタースピード設定欄２９４、濃淡レンジ設定欄２９６、前処理設定欄３１０、計測不能基準設定欄３１２、均等間隔処理設定欄３１４、空間コード設定欄３１６、プロジェクタ選択設定欄３１８、「表示画像」選択欄３２２等を備えている。
（リアルタイム更新手段）
【０１０２】
ここでは、操作領域において設定が変更された場合、第二画像表示領域１２１上で表示中の画像に対して変更後の設定に更新するリアルタイム更新手段を備えている。リアルタイム更新手段はＯＮ／ＯＦＦを切り替えることができる。図１６の画面例において、リアルタイム更新手段の一形態として操作領域の上段に設けられた「連続更新で表示する」欄２９２をＯＮとすることで、リアルタイム更新機能を動作させることができる。
【０１０３】
図１６の例では、操作領域において設定可能な項目として、シャッタースピード、濃淡レンジ、前処理、計測不能基準、均等間隔処理、空間コード、プロジェクタ選択、表示画像等が挙げられる。以下、順次説明する。
（シャッタースピード設定手段４９）
【０１０４】
撮像手段による撮像時のシャッタースピードを調整するためのシャッタースピード設定手段４９の一態様として、図１６の例では、シャッタースピード設定欄２９４を設けている。シャッタースピード設定欄２９４から、シャッタースピードをユーザが指定できる。ここでは、ドロップダウンボックスから、予め設定されたシャッタースピード、例えば１／１５、１／３０、１／６０、１／１２０、１／２４０、１／５００、１／１０００、、、、１／２００００を選択する。選択された数値に応じた秒数が、右側の数値表示欄２９５に表示される。また、任意のシャッタースピードを数値で直接指定することもできる。例えばドロップダウンボックスの選択肢として「数値入力」を選択すると、数値表示欄２９５のグレーアウトが解除され、直接数値を入力可能となる。このようにしてシャッタースピード設定欄２９４で指定された数値に基づき、撮像手段であるカメラ（撮像素子）の露光時間が調整される。なおシャッタースピードの調整に際しては、距離画像よりも輝度画像の濃淡画像を第二画像表示領域１２１に表示させた方が、確認作業が容易となる。さらに、上記リアルタイム更新機能によって、シャッタースピード設定欄２９４でシャッタースピードを変更した画像が、速やかに第二画像表示領域１２１に反映されることで、ユーザは現在の設定が妥当かどうかを視覚的に確認でき、調整作業を容易に行うことが可能となる。
（濃淡レンジ設定欄２９６）
【０１０５】
濃淡レンジ設定欄２９６においては、濃淡画像である輝度画像のダイナミックレンジを調整する。ここではドロップダウンボックスから、「低い（−１）」、「普通（０）」、「高い（１）」のいずれかを選択することで、ダイナミックレンジが増減される。
（前処理設定欄３１０）
【０１０６】
前処理設定欄３１０においては、ヘッド部で距離画像を生成する前に行う共通のフィルタ処理を規定する。共通フィルタ処理としては、例えば、平均化フィルタ、メディアンフィルタ、ガウシアンフィルタのフィルタ等が考えられる。ここではパターン投影画像に対するフィルタ処理として、図１７の例では、ドロップダウンボックスにより、「なし」、「メディアン」、「ガウシアン」、「平均」のいずれかを選択する。なおフィルタ処理は、距離画像を生成する前に行う前処理の他、ヘッド部１側で得られた距離画像に対しても行うことができる。
（計測不能基準設定欄３１２）
【０１０７】
計測不能基準設定欄３１２では、ノイズ成分をカットするレベルを設定する。すなわち計測不能基準設定欄３１２で設定された量だけ、高さ計測を行わない。パターン投影画像を用いた三次元の高さ情報の計測においては、ある程度の光量がないと、正確な高さ情報を計測できない。その一方で、多重反射が生じている場合等は、明るすぎるため光量を落とす必要がある。このように、撮像されたパターン投影画像に応じてノイズ成分カット量を選択する。具体的には、各画素の高さ情報を演算するためデータに対して、ノイズによる無効データと見なす閾値を決定する。
【０１０８】
ここでは図１８に示すように、ドロップダウンボックスから、「高」、「中」、「低」、「なし」のいずれかを選択する。なお「なし」を選択すると、ノイズ成分カットを行わず、すべての画素について高さ計測を行う。例えば図１９に示す例では、計測不能基準設定欄３１２で「なし」を選択しており、ノイズデータを含めたあらゆる点で高さデータを算出している。この画面からは判別し難いが、ワークの角の部分等で、ノイズデータによって不正な高さが計測されている。
【０１０９】
一方、図２０に示す例では、計測不能基準設定欄３１２で「低」を選択しており、ノイズデータに基づく高さ情報が不正な点が減少している。さらに図２１に示す例では、計測不能基準設定欄３１２で「中」を選択しており、さらに高さ情報が不正な点が減少している。
【０１１０】
その一方で、測定不能であることを示す黒点が特にワークの左下の領域で増大し、ノイズと見なされて高さ計測ができない位置が増えていることも、図２１から確認できる。さらに、図２２に示す例では、計測不能基準設定欄３１２で「高」を選択した状態を示しており、ノイズ成分の除去が効き過ぎている結果、本来残しておきたいデータまで失われていることが確認できる。このように、ノイズ除去の閾値を示す測定不能基準の設定が低すぎる場合は、ノイズを元に高さを計算することとなる。逆に高すぎると、本来残しておきたい箇所も無効と見なされてしまうことになる。このためユーザは、上記リアルタイム更新機能を利用することで、測定不能基準の設定を調整すると共に、調整後の画像を第二画像表示領域で確認し、設定の結果を直接画像で参照しながら、適切な値に調整することができる。
（均等間隔処理設定欄３１４）
【０１１１】
均等間隔処理設定欄３１４では、画角による誤差の補正を行う。均等間隔処理設定欄３１４は、間隔均等化処理設定手段４７として機能する。均等間隔処理設定欄３１４では、図２３に示すようにＯＮとＯＦＦを選択できる。均等間隔処理をＯＮとすることで、ｘｙ方向に等ピッチに並んだ距離画像を取得する。ここではＸＹ方向の位置が高さ（Ｚ座標）によらず等間隔な等ピッチ画像を、第二画像表示領域１２１に表示させる。例えば、ＸＹ平面における寸法の検査を行うような用途では、均等間隔処理をＯＮとする必要がある。なお、補正されてデータが無くなった部分は無効として扱う。図２４、図２５は、均等間隔処理をＯＮとした状態を示している。図２４の例では、「表示画像」選択欄３２２を「高さ画像」すなわち距離画像として第二画像表示領域１２１に表示させた例を、図２５は「濃淡画像」を選択して輝度画像を表示させた例を、それぞれ示している。
【０１１２】
一方、均等間隔処理をＯＦＦとすると、図２６で示すように目で見たままの画像（Ｚ画像）となり、画面の端部に進むに従ってＸＹ方向に歪みが生じる。ただ、均等間隔処理を行わない分、画像の表示までに要する時間が短くて済む。なお図２７は、表示画像欄で「濃淡画像」を選択して、第二画像表示領域１２１で輝度画像を表示させた例を示している。
（空間コード設定欄３１６）
【０１１３】
空間コード設定欄３１６では、空間コード化法の使用の有無を選択する。すなわち空間コード設定欄３１６は、空間コード化切替手段４５として機能する。この三次元画像処理装置では、距離画像の生成に位相シフト法を必須としており、位相シフト法に加えて、空間コード化法の適用の有無を空間コード設定欄３１６で選択できる。空間コード設定欄３１６では、図２８に示すようにＯＮとＯＦＦを選択できる。空間コード設定欄３１６をＯＮとすると、空間コード化法と位相シフト法の組み合わせで高さ計測を行う。この例を図２９、図３０に示す。これらの図において、図２９は第二画像表示領域１２１に表示させる画像として距離画像を選択した状態を示している。具体的には、「表示画像」選択欄３２２で「高さ画像」を選択している。一方図３０は第二画像表示領域１２１に輝度画像を表示させた状態を示しており、「表示画像」選択欄３２２で「濃淡画像」を選択している。位相シフト法に加えて、空間コード化法を用いることで、適切な距離画像を取得することができる。具体的には、空間コード化法によって、位相シフト法による位相ジャンプの補正（位相アンラップ）ができるので、高さのダイナミックレンジを広く確保しつつ、高分解能で計測できる。ただし、撮像時間はＯＦＦの場合と比較して約２倍となる。
【０１１４】
一方、図３１、図３２に示すように、空間コード設定欄３１６でＯＦＦを選択すると、位相シフト法のみで高さ計測を行う。この場合は、高さの計測ダイナミックレンジが狭くなるので、高さの相違が大きいワークの場合は、位相が１周期以上ずれてしまうと、正しく高さの計測ができない。逆に、高さの変化が少ないワークの場合は、空間コード化法による縞画像の撮像や合成を行わないので、その分だけ処理を高速化でき、撮像時間を約半分にできるメリットがある。例えば、高さ方向の差異が少ないワークを計測する際には、ダイナミックレンジを大きく取る必要がないため、位相シフト法のみでも高精度な高さ計測性能を維持しつつ、処理時間を短くすることができる。この場合は、高さの計測ダイナミックレンジが狭くなるので、高さの相違が大きいワークの場合は、位相が１周期以上ずれてしまうと、正しく高さの計測ができない。逆に、高さの変化が少ないワークの場合は、空間コードをＯＦＦとすることで、撮像時間を半分にできるという利点が得られる。
【０１１５】
図３１の例では、「表示画像」選択欄３２２で「高さ画像」すなわち距離画像を表示させた状態を示しており、一方図３２の例では、「表示画像」選択欄３２２で「濃淡画像」を表示させた状態を示している。
【０１１６】
なお、この例では位相シフト法を必須としているが、位相シフト法のＯＮ／ＯＦＦを選択可能としてもよい。
（プロジェクタ選択設定欄３１８）
【０１１７】
プロジェクタ選択設定欄３１８は、第一プロジェクタと第二プロジェクタのＯＮ／ＯＦＦを切り替える投光切替手段４８として機能する。ここでは、プロジェクタ選択設定欄３１８では、２つの投光手段である第一プロジェクタ、第二プロジェクタの内から、使用する投光手段（プロジェクタ）を選択する。このプロジェクタ選択設定欄３１８の例では、図３３に示すように、ドロップダウンボックスから、「１」（第一プロジェクタ）、「２」（第二プロジェクタ）、「１＋２」（第一プロジェクタと第二プロジェクタ）のいずれかを選択する。
【０１１８】
プロジェクタ選択設定欄３１８で「１」又は「２」を選択した場合、すなわち第一プロジェクタ又は第二プロジェクタのいずれか一方からの投光である片投光の場合は、投光で陰になる部分の高さ計測は行われない。図３４の例では、プロジェクタ選択設定欄３１８で「１」を選択した例、図３５の例では「２」を選択した例を、それぞれ示している。各画面において、影になる部分のデータが黒色で表示されており、ワーク上で高さの計測ができない領域が存在することが、それぞれの画面から確認できる。また、これらの図から明らかな通り、計測不能となる領域は、投光手段によって異なることが判る。いいかえると、一方の投光手段では測定不能領域となっても、他方の投光手段では投光が可能となり、よって高さ計測も可能な領域が多く存在する。そこで、これらを組み合わせることで、測定不能領域を低減できる。特に、第一プロジェクタと第二プロジェクタで、ワークを両側から挟み込むように配置することで、第一プロジェクタからの第一投光と第二プロジェクタからの第二投光とが相対する方向となってワークに照射されるため、いずれか一方の投光では影となる領域であっても、真逆の方向となる他方からの投光によって影となるリスクを低減できる。
【０１１９】
具体的には、図３６に示すように、プロジェクタ選択設定欄３１８で「１＋２」を選択すると、第一プロジェクタ及び第二プロジェクタの両方から投光させる両投光に切り替えられる。この状態で、いずれか一方のプロジェクタからの投光では陰になる部分であっても、他方のプロジェクタで投光可能であれば、これを補間することができる。ただしこの場合は、片投光に比べて約２倍の撮像時間を要する。ユーザは、検査対象のワークの凹凸の加減や、許容される撮像時間等に応じて、いずれの投光を用いるかを選択する。
（「表示画像」選択欄３２２）
【０１２０】
「表示画像」選択欄３２２では、第二画像表示領域１２１に表示される画像を選択する。例えば、検査の用途に応じて表示対象を選択することで、各設定の妥当性を実際に表示された画像から視覚的に確認することができる。特に、上述したリアルタイム更新手段をＯＮとすることで、設定の変更を逐次更新して変化の前後で対比できるので、用途に即して意図した画像となるよう、イメージに基づいて設定を調整できる。また各設定パラメータの意味に習熟していない初心者であっても、画像を見ながら設定できる利点も得られる。この例では、図３７に示すように「表示画像」選択欄３２２から、「高さ画像」、「濃淡画像」、「白とび・黒つぶれ画像」、「縞投光−プロジェクタ１」、「縞投光−プロジェクタ２」のいずれかを選択する。「高さ画像」は距離画像であり、高さ毎に等高線状に色分けして着色した画像を表示する。「濃淡画像」は輝度画像である。この例では、位相シフト法に基づいて撮像した複数のパターン投影画像を合成した画像を、輝度画像として利用している。ただ、ワークに照明を照射して撮像手段で光学的な画像を撮像し、輝度画像として利用することもできる。
（異常点ハイライト手段６２）
【０１２１】
さらに三次元画像処理装置は、図５に示すように異常点ハイライト手段６２を備えている。例えば上述した「表示画像」選択欄３２２で選択可能な「白とび・黒つぶれ画像」は、輝度画像に対して、飽和して白とびした画素や光量が不足した黒つぶれ画素等を部分的に着色した画像である。このように、画像中で正確な値が得られていない、測定精度の信頼性が低いと思われる部位を、着色処理によってハイライトさせることで、ユーザに対して測定精度の低い部分を視覚的に告知し、所望の検査用途に応じた画像が得られているかどうかを確認しやすくしている。この例では、白とび画素を黄色、黒つぶれ画素を青色に、それぞれ着色している。これによりユーザは、色を手掛かりにして白つぶれした領域が画像中でどのように分布しているかを目視により確認できる。また第二画像表示領域１２１の下部には、白とび画素及び黒つぶれ画素の画素数をカウントして表示させている。これを参照しながら、これらの画素数が０に近づくよう、ユーザは各設定項目を調整する。
【０１２２】
なお着色される色や態様はこれに限られず、他の色で表示させたり、点滅表示させる等、既知の様々な態様を適宜利用できる。また、白とび画素と黒つぶれ画素で着色する色を変更することで、測定の信頼性が低くなっている理由をユーザに対して告知でき、よって対応策も講じやすくなる。ただ、白とび画素と黒つぶれ画素に対して同様の色やハイライトを施してもよい。
【０１２３】
「縞投光−プロジェクタ１」は、第一プロジェクタのみでパターン投影して得られる濃淡で表現されたパターン投影画像である。また「縞投光−プロジェクタ２」は、第二プロジェクタのみで得られるパターン投影画像である。図３８に、「表示画像」選択欄３２２で「縞投光−プロジェクタ１」を選択して、第二画像表示領域１２１に第一プロジェクタのパターン投影画像を表示させた例、図３９に、「縞投光−プロジェクタ２」を選択して、第二画像表示領域１２１に第二プロジェクタのパターン投影画像を表示させた例を、それぞれ示す。この画面から縞画像を確認することにより、ワークの高さが計測できない場合の原因の特定、例えばワークの材質が半透明であるため、投光した光が潜り込んでいる等、パターン投影を得ることが困難なワークであることが、距離画像を生成する前の元のパターン投影画像から確認できる。
【０１２４】
ユーザは、第二画像表示領域１２１に表示される画像を参照しながら、シャッタスピードと濃淡レンジが適切かをどうかを確認し、適切な値に調整する。具体的には、第二画像表示領域１２１に白とび・黒つぶれ画像を表示させた状態で、白とび画素や黒つぶれ画素が少なくなるように確認しながら調整する。例えば、シャッタースピード設定欄２９４でシャッタースピードを調整することによって、黒つぶれ画素、すなわち光量が足りず暗すぎる部位がなくなるようにする。また濃淡レンジを調整することで、白とび画素、すなわち明るすぎる部位がなくなるようにする。図１６の例では、白とび・黒つぶれ画像中に、暗すぎるので黒つぶれ画素が多い。このため、シャッタースピードの調整を行う。
【０１２５】
例えばシャッタースピード設定欄２９４を「１／１２０」に設定した図１６の状態から、図４０に示すように「１／１５」に切り替えると、輝度画像が多少明るくなり、黒つぶれ画素数が０になったことが判る。ただし、白とび画素数は逆に増えてしまっている。そこで図４１に示すようにシャッタースピードを「１／３０」に切り替えると、黒つぶれ画素数が０のまま、白とび画素数も減少していることが判る。
【０１２６】
さらに濃淡レンジ設定欄２９６を「低い（−１）」に設定した図４１の状態から、図４２に示すように「普通（０）」に切り替えて一段階上げると、白とび画素が減少したことが判る。さらに図４３に示すように「高い（１）」に切り替えると、白とび画素が０になったことが判る。これによって白とび画素数、黒つぶれ画素数が共に０となって、シャッタースピードと濃淡レンジの調整作業を終了する。
【０１２７】
以上のようにして、所望の撮像条件に設定した後、上述した図１２〜図１３に示すように、距離画像と輝度画像の登録を行い、画像登録作業を終了する。
（高さ計測設定手順）
【０１２８】
次に、運用時に逐次入力される検査対象のワークの入力画像に対して、高さ計測を行う領域を設定する手順について、図４４〜図５５に基づいて説明する。ここでは、入力される複数のワークを代表する典型的なワークを、上述した手順によって予め登録画像として登録しておき、この登録画像に対して、高さ計測を行う領域を指定する。
【０１２９】
具体的には、図９の初期画面２６０から、図４４〜図４５に示すように「高さ計測」処理ユニット２６６の追加を行う。図４４の例では、フロー表示領域２６１において「撮像」処理ユニット２６３の下部に、右クリック等で表示される第一サブメニュー３７０から「追加」を選択し、第二サブメニュー３７２中の「計測」を選択して表示される「計測」メニュー３７３でリストされる検査処理の内、「高さ計測」を行う「高さ計測」処理ユニット２６６を追加する。これによって、図４５に示すように、フロー表示領域２６１において「撮像」処理ユニット２６３の下部に、新たに「高さ計測」処理ユニット２６６が追加される。このように、「計測」メニュー３７３は検査実行手段で実行される検査処理を選択するための検査処理選択手段として機能する。
（検査対象領域設定画面１２０）
【０１３０】
次に、「高さ計測」処理ユニット２６６で行うべき設定として、領域を設定する手順について、図４６〜図４９に基づいて説明する。まず図４５の画面から、「高さ計測」処理ユニットの編集画面を呼び出すと、図４６に示す高さ計測設定画面４６０に移行する。図４６のＧＵＩ画面例でも、図１０と同様、画面の右側に画像を表示させる第一画像表示領域１１１を設け、左側には設定項目ボタンを複数配置した設定項目ボタン領域１１２が設けられる。設定項目ボタン領域１１２には、「画像登録」ボタン１１３、「画像設定」ボタン１１４、「領域設定」ボタン１１５、「前処理」ボタン１１７、「検出条件」ボタン１１８、「詳細設定」ボタン１１９、「判定条件」ボタン、「表示設定」ボタン、「保存」ボタン等が設けられている。この画面から、ユーザは検査対象領域設定手段に相当する「領域設定」ボタン１１５を押下すると、図４７に示す検査対象領域設定画面１２０に遷移する。検査対象領域設定画面１２０においては、検査を行う領域を指定することができる。図４７の例では、画面の左に第二画像表示領域１２１を設け、画面の右側に各種の操作を行う操作領域１２２を配置している。操作領域１２２の上段には、第二画像表示領域１２１で表示される画像を選択するための「表示画像」選択欄１２４が設けられる。図４７の例では、「表示画像」選択欄１２４で登録画像が選択されている。さらにその下方には、検査を実行する領域を指定する検査対象領域設定手段として、「計測領域」設定欄１２６が設けられている。
【０１３１】
「計測領域」設定欄１２６では、予め規定された領域を選択できる。ここでは、「計測領域」設定欄１２６を選択すると、図４８に示すようにドロップダウンボックスが表示され、所望の計測領域の形状を選択できる。この例では、選択可能な計測領域の形状の候補として、「なし」、「矩形」、「回転矩形」、「円」、「楕円」、「円周」、「円弧」、「多角形」、「複合領域」等が表示される。なお「なし」を選択すると、第二画像表示領域１２１に表示される画像の全体を検査対象領域として利用する。
【０１３２】
さらに、「計測領域」設定欄１２６において選択された形状に応じて、詳細な寸法等の設定が可能となる。図４８の例では、ワークに消しゴムを用いており、また「計測領域」設定欄１２６においては、図４９に示すように「回転矩形」を選択した例を示している。この状態で「編集」ボタン１２８を押下すると、図５０に示す計測領域編集画面１３０が表示される。図５０の例では、第二画像表示領域１２１において、回転矩形がワーク上に重ねて表示される。ここでは消しゴムのケースの部分に、矩形状の計測領域が描かれて、距離画像上に重ねて表示される。また回転矩形の基本ベクトルが回転矩形の枠状内に矢印で表示されると共に、計測領域編集画面１３０の画面で、回転矩形の幅、高さと、中心のＸＹ座標、基本ベクトルの傾斜角度等が表示される。ユーザは計測領域編集画面１３０上から数値を直接入力するか、あるいは回転矩形に表示されたハンドルをマウス等で操作して、回転矩形の形状や位置等を任意に調整できる。
【０１３３】
なお計測領域編集画面１３０において設定可能な項目は、「計測領域」設定欄１２６において選択された形状に応じて変化する。例えば、「円周」を選択した場合は、図５１に示すように、円周の外径や内径の寸法の指定等、円周に関するパラメータの設定が可能となる。さらに、図４７の画面から、マスク領域を指定することも可能である。マスク領域としては、円形やドーナツ状、矩形状その他の多角形状、自由曲線等が指定できる。このようにして、検査対象のワークの形状に応じて、適切に検査対象領域を設定し、穴あき部分や背景等、検査に無用な領域を排除して、処理の効率化を図ることができる。
（第二計測表示領域）
【０１３４】
このようにして計測領域が設定されると、図４９に示すようにワーク上に設定済みの計測領域が重ねて表示される。続いて、他の計測領域を指定する場合は、同様の作業を繰り返す。すなわち、図５２に示すように、フロー表示領域２６１において「高さ計測」処理ユニット２６６の下部に、さらに別の第二「高さ計測」処理ユニット２６６Ｂを追加する。そして図５３、図５４に示すように、新たな計測領域として回転矩形を、ここではワークである消しゴムの、ケースで覆われていない領域上に設定している。この結果、図５５に示すように、新たに設定された第二計測領域がワーク上に重ねて表示される。
【０１３５】
なお、上記の例では、一の「高さ計測」処理ユニットで一の高さ計測処理が行われる。すなわち、複数の高さ計測処理を行うには、複数の「高さ計測」処理ユニットをそれぞれ追加する必要がある。ただ、一の「高さ計測」処理ユニットにおいて複数の高さ計測処理が行われるように構成することも可能であることはいうまでもない。
（計測処理）
【０１３６】
このようにして計測領域の設定が終了すると、次に実際に計測を行う処理を追加する。ここでは、図５６に示すように、フロー表示領域２６１において第二「高さ計測」処理ユニット２６６Ｂの下部に、「演算」を行う「数値演算」処理ユニットを追加する。「数値演算」処理ユニットで実行される演算の内容として、数値演算や画像演算、キャリブレーション、画像連結等が選択できる。ここでは、図５７に示すように数値演算を選択した「数値演算」処理ユニットを追加している。
（「数値演算」処理ユニット）
【０１３７】
「数値演算」処理ユニットにおいては、具体的な演算式を入力することができる。例えば図５８に示すように、数式を直接入力可能な数値演算編集画面を表示させ、ユーザが演算式を規定する。ここでは、電卓状の入力パッドを用意し、またコピーや切り取り、貼り付け等の編集ボタンも用意して、演算式の作成を容易にしている。ユーザはこの画面から、所望の演算式を入力する。入力された演算式の例を、図５９に示す。
【０１３８】
このようにして数値演算処理の内容が規定されると、図６０に示すように初期画面２６０において、第三画像表示領域２６２上に演算式が表示される。
（「エリア」処理ユニット）
【０１３９】
さらにまた、図６１の例では「数値演算」処理ユニットの下に、「エリア」処理ユニットを追加している。「エリア」処理ユニットでは、実際に合否判定等を行う条件を規定する。具体的には、登録画像や入力画像に応じて、距離画像を低階調距離画像に階調変換するための階調変換条件を適切に変化させるべく、階調変換パラメータ（詳細は後述）の基準となる情報を取得するための領域や、この領域から高さを抽出する条件、あるいは距離画像を生成する際に、フィルタ処理を行う条件等を設定する。すなわち、「エリア」処理ユニットでは、領域設定、高さ抽出、前処理、判定等を設定する。まず、領域設定を行う手順については、上述した登録画像と同様である。すなわち、図６２に示すようなエリア設定画面６２０から、設定項目ボタン領域１１２に配置された「領域設定」ボタン１１５を押下すると、図６３に示す領域設定画面となり、対象となる領域を指定する。ここでも回転矩形を選択し、さらに詳細な座標等を必要に応じて指定する。このようにして、「エリア」処理ユニットにおける領域が決定され、図６４に示すように第二画像表示領域において回転矩形がワーク上に重ねて表示される。
（高さ抽出設定画面）
【０１４０】
次に高さ抽出の設定を行う。高さ抽出の設定とは、階調変換を行う際の階調変換パラメータを設定することである。すなわち図６２の設定項目ボタン領域１１２中から、「高さ抽出」ボタン１１６を押下すると、図６５に示す高さ抽出選択画面１４０に移行し、表示画像や抽出方法等が選択可能となる。高さ抽出選択画面１４０でも、図４７等と同様、画面の左に第二画像表示領域１２１を設け、画面の右側に各種の操作を行う操作領域１２２を配置している。操作領域１２２の上段には、第二画像表示領域１２１で表示される画像を選択するための「表示画像」選択欄１２４が設けられる。図６５の例では、「表示画像」選択欄１２４で登録画像が選択されている。さらにその下方には、高さ抽出機能の抽出方法を選択する抽出方法選択手段１４２が設けられる。
【０１４１】
ここで「高さ抽出」ボタン１１６は、階調変換手段により距離画像の階調変換を行うための階調変換パラメータを設定する階調変換条件設定手段４３として機能する。特に階調変換条件設定手段４３は、画像の高さ情報を必要としない処理を、検査処理選択手段で選択した場合に、表示される。逆に、画像の高さ情報を必要とする処理を検査処理選択手段で選択した場合は、この階調変換条件設定手段を表示させない。具体的には、検査処理ツールとして「高さ計測」処理ユニット２６６を選択した場合は、フロー表示領域２６１に「高さ抽出」ボタンが表示されない。これ以外の検査処理ツール、例えば「エリア」処理ユニットや「ブロブ」処理ユニット２６７、「色検査」処理ユニット２６７Ｂ、「Ｓｈａｐｅｔｒａｘ２」処理ユニット２６４、「位置補正」処理ユニット２６５等に関しては、「高さ抽出」ボタン１１６が表示され、階調変換条件を設定可能としている。このようにすることで、階調変換が必要な場合には階調変換条件設定手段４３を表示させて、ユーザに必要な設定を促す一方、階調変換が不要な場合は、階調変換の条件を設定する手段そのものを非表示として、ユーザが不要な設定で混乱することを回避し、使い勝手のよい環境が実現される。
（抽出方法選択手段１４２）
【０１４２】
抽出方法選択手段１４２では、階調変換方法を指定する。例えば静的変換又は動的変換のいずれかをユーザに選択させる。図６５の例では、予め選択肢として、静的変換に該当する「一点指定」又は「三点指定（平面）」、動的変換に該当する「リアルタイム抽出」のいずれかを、ドロップダウンボックスから選択させる。
（一点指定画面１５０）
【０１４３】
図６５の画面で、抽出方法選択手段１４２から「一点指定」を選択すると、図６６の一点指定画面１５０に移行する。なお、図６６〜図９６においては、説明のためワークとして５０円玉を用いた例を示している。図６６の一点指定画面１５０では、第二画像表示領域１２１上で指定した部位の高さを基準の高さ（基準高さ）として設定する。図６６の例では、画面右の操作領域１２２中に設けられた「抽出」ボタン１４４を選択すると、図６７に示す画面となり、画面左の第二画像表示領域１２１上の任意の位置を指定できるようになる。ここでは、高さ抽出手段を用いて、第二画像表示領域１２１に表示されたワーク中で、高さの中心となる位置を指定する。図６７の例では、高さ抽出手段は、スポイト状のアイコンＳＩを表示した「抽出」ボタン１４４で構成されており、この「抽出」ボタン１４４を押下すると、第二画像表示領域１２１上に点状のポインタ１４６が表示される。このポインタ１４６で指定された位置が、距離レンジの中間の高さとして登録される。
【０１４４】
またポインタ１４６で指定された点の周辺の高さを求める範囲を、「抽出領域」指定欄１４５で指定できる。「抽出領域」指定欄１４５では、平均高さを求める領域の一辺を画素数で指定する。図６７の例では「抽出領域」指定欄１４５で「１６」を指定しており、ポインタ１４６で指定された点を中心とする１６画素×１６画素の領域内の、平均高さを抽出して、ポインタ１４６で抽出された高さとする。なお、第二画像表示領域１２１上においてポインタ１４６で指定される領域の大きさを、「抽出領域」指定欄１４５で指定される数値に連動させて変化させることもできる。
【０１４５】
また「Ｚ高さ」表示欄１５２には、指定された部位の高さ情報が数値として表示される（図６８の例では「Ｚ高さ」表示欄１５２に１．２５３と表示される）。例えば、距離レンジを２8＝２５６階調（０〜２５５）で表現する場合、高さ抽出手段で指定された高さを、その中心値としてゲイン（濃度値／ｍｍ；詳細は後述）が１２８となるように設定される。この構成により、ユーザは検査したい高さを直接画面上で指定することで、指定された高さを中心とする範囲で、低階調な距離画像に階調変換されるため、必要な高さ情報が損なわれる事態を回避できる。
（簡易表示機能）
【０１４６】
以上のようにして階調変換に必要な階調変換パラメータとして、距離レンジとスパンが決定されると、高階調な距離画像を低階調距離画像に階調変換することが可能となる。また第二画像表示領域１２１上には、図６８に示すように、現在操作領域１２２で設定されている階調変換条件で階調変換された低階調距離画像が、簡易的に表示される。また、操作領域１２２で階調変換条件を変更すると、これに応じて第二画像表示領域１２１上の階調変換後の低階調距離画像の簡易表示も、変更後の階調変換条件に応じて更新される。これにより、ユーザは階調変換条件の調整後の変化を視覚的に速やかに確認でき、試行錯誤による調整作業を容易に行うことが可能となる。このように第二画像表示領域１２１で表示される画像は、階調変換前の距離画像を表示させるモード、階調変換後の低階調距離画像を表示させるモード、及び通常の輝度画像を表示させるモードを切り替えることで、変更できる。
（ゲイン調整手段）
【０１４７】
さらにユーザは、ゲイン調整手段を用いて、階調変換パラメータの一であるゲイン調整を行うことができる。図６８の例では、操作領域１２２の中段に強調方法設定欄１５４が設けられており、ここにゲイン調整手段としてゲイン調整欄１５６が配置される。ゲイン調整欄１５６には、現在のゲインが数値で表示されている。ここでゲイン［階調／ｍｍ］とは、階調変換を行う際のスパンに該当するパラメータである。例えば１６階調の距離画像を８階調に階調変換する際は、１ｍｍ当たりを８階調中の何階調として変換するかを設定する。ゲイン値を大きくすれば、コントラストがはっきりした階調変換となる。例えばゲイン値を１００［階調／ｍｍ］に設定すると、１階調当たり０．０１０ｍｍとなるような階調変換に設定される。また変換前の距離画像の高さ情報が、１階調当たり０．０００２５ｍｍの分解能であったとすると、求めた基準面と入力高さデータとの差が、変換前にＮ階調であった場合、変換後はＮ［階調］×０．０００２５［ｍｍ／階調］×１００［階調／ｍｍ］＝Ｎ×０．０２５階調として算出できる。
【０１４８】
ここで基準面とは、一点指定や後述する平均高さ基準、三点指定、平面基準、自由曲面基準等の方法で求めた面であり、階調変換時の基準となる面である。例えば、図６９Ａに示すように、１６階調の変換前の距離画像（入力画像）の断面プロファイルが実線で示すような形状である場合、その基準面を波線で示す。このような入力画像を、１６階調から８階調に階調変換した低階調距離画像のプロファイルは、図６９Ｂに示すようになり、基準面からの差分に対してそのままゲイン（変換係数）がかかるような状態となる。
【０１４９】
また、上述したゲイン値に応じて１階調当たりの高さ（ゲイン値の逆数）も自動的に演算されて、併せて表示させることもできる。図６８の例では、ゲイン値として２５０［階調／ｍｍ］、１階調あたりの高さとして０．００４０ｍｍが表示されている。ユーザはゲイン値を変更することで、ゲイン値の調整が可能となる。例えばゲイン値を増加させると、図６８の画面から図７０の画面に示すように、濃度差を強調して高さ情報を細かく検査できる反面、検査可能な高さ範囲が狭くなる。逆にゲイン値を低下させると、図７１に示すように広い高さ範囲まで検査できる反面、細かな変化が損なわれる。このように、ゲイン調整手段でゲインを調整させると、その階調変換条件で得られる階調変換画像を第二画像表示領域１２１で確認できる。これによりユーザは、リアルタイムに更新される階調変換画像を確認しながら、検査目的等に応じて、適切なゲイン値に調整できる。
（抽出高さの設定）
【０１５０】
さらに、強調方法の設定項目は、ゲイン値の他、抽出高さの設定も含めることができる。例えば図７２の画面において、操作領域１２２の右下に設けられた「詳細設定」ボタン１５８を押下すると、図７３の強調方法詳細設定画面１６０に切り替わり、強調方法設定欄１５４に上述したゲイン調整欄１５６に加えて、「抽出高さ」設定欄１６２が表示される。「抽出高さ」設定欄１６２では、高さ抽出手段で抽出すべき高さ情報として、領域内に含まれる高い高さ情報、低い高さ情報、高いものと低いものの両方の高さ情報のいずれかを選択できる。ここでは、図７４に示すように、「抽出高さ」設定欄１６２に設けられたドロップダウンリストによって「高い側」、「低い側」、「高低両方」のいずれかを選択できる。例えば、「高い側」を選択すると、ポインタ１４６で指定された位置の高さが、距離レンジの下限となるように階調変換される。この結果、指定された高さよりも高い側のみが抽出された低階調距離画像が生成される。同様に「低い側」を選択すると、ポインタ１４６で指定された位置の高さが距離レンジの上限となるように階調変換される。この結果、指定された高さよりも低い側のみが抽出された低階調距離画像が生成される。さらに「高低両方」の場合は、ポインタ１４６で指定された位置の高さが上述した距離レンジの中間となるように階調変換される。なお、階調変換後に範囲外となった画素は、低い側が黒（８階調の場合、画素値０）に、高い側が白（画素値２５５）にクリッピングされる。
【０１５１】
さらに、図７３の強調方法詳細設定画面１６０においては、ノイズを除去するためのノイズ除去設定欄１６４や、無効画素に与える値を指定するための無効画素指定欄１６６も設けられている。
（ノイズ除去設定欄１６４）
【０１５２】
ノイズ除去設定欄１６４では、階調変換パラメータの一として、基準面から何ｍｍ分の差分をノイズとして除去するかを指定する。例えば、ノイズ除去パラメータを０．０８０ｍｍと設定すると、基準面から０．０８０ｍｍ分の差分は除去される。ここで変換前の高さ情報が１階調あたり０．０００２５ｍｍの分解能であるとすると、０．０８０［ｍｍ］÷０．０００２５［ｍｍ］＝３２０［階調］の差分は、無視される動作となる。この様子を、図７５Ａ〜図７５Ｃに基づいて説明する。これらの図において図７５Ａは、図６９Ａと同様、１６階調の変換前の距離画像の断面プロファイルを実線で、その基準面を波線で示すと共に、さらにノイズ除去される範囲を一点鎖線で示している。このような入力画像に対し、基準面を基準にノイズ除去を行った結果、図７５Ｂに示すプロファイルとなる。さらに図７５Ｂの距離画像に対して、１６階調から８階調に階調変換した低階調距離画像のプロファイルは、図７５Ｃに示すようになり、残った成分に対してゲイン（変換係数）をかけた状態となる。
【０１５３】
さらに、ゲイン調整とノイズ除去の効果を、図７６Ａ〜図７６Ｆに基づいて説明する。まず図７６Ａに示すような輝度画像と、図７６Ｂに示すような高階調（１６階調）の距離画像を得たとする。ここで、図７６Ｂの距離画像を、初期設定（ここでは、ゲインが１００［階調／ｍｍ］、ノイズ除去が０．０００［ｍｍ］とする。）のまま、低階調（８階調）に階調変換した低階調距離画像を、図７６Ｃに示す。この低階調距離画像は、コントラストが比較的低い。そこで、この状態からゲインを上げると、図７６Ｄに示すように、コントラストが高くなった低階調距離画像が新たに図７６Ｂから階調変換されて、表示される。ただ、この画像ではノイズ成分も大きくなっている。図７６Ｄの例では、ゲインが１０００［階調／ｍｍ］、ノイズ除去が０．０００［ｍｍ］に設定されている。そこで、図７６Ｄからノイズ除去量を大きくした低階調距離画像を、図７６Ｅに示す。ここでは、ゲインが１０００［階調／ｍｍ］、ノイズ除去が０．０８０［ｍｍ］に設定されている。これによってノイズ成分は低減されたが、一方で左上の「Ｅ」の右上に、基準面よりも低い高さのノイズが存在することが確認できる。そこで、図７４等に示す「抽出高さ」設定欄１８２において「高い側」に設定すると、基準面が最低値（画素値０）となるように変換されるため、基準面よりも低い部分は無視され、基準面よりも高い側のみが抽出される結果、図７６Ｆに示すような低階調距離画像が得られる。例えば図７７Ａに示すようなプロファイルの距離画像（１６階調）に対して、「抽出高さ」を「高い側」に設定すると、基準面からの高い側のみが抽出されるような結果となり、図７７Ｂに示すような低階調距離画像（８階調）が得られる。このようにして、図７６Ｃ等に比べてコントラストが高く、かつノイズ成分も少ない低階調距離画像を得ることができる。この例では、最終的な階調変換パラメータとして、ゲインを１０００［階調／ｍｍ］、ノイズ除去を０．０８０［ｍｍ］、「抽出高さ」を「高い側」にそれぞれ設定して、図７６Ｂの距離画像から図７６Ｆの低階調距離画像に階調変換している。
【０１５４】
このようにして、一点指定の実行に必要な条件が設定されると、指定された階調変換条件、すなわち基準高さ等に従って、入力画像が高階調な距離画像から低階調距離画像に階調変換され、図７８に示すように、第一画像表示領域１１１に表示される。
【０１５５】
ここで、基準面を一点指定で指定する方法が有効なワークの例を、図７９Ａ〜図７９Ｂに基づいて説明する。図７９Ａは、ワークの計測面において平面的な傾斜がない、又は多少の傾斜があっても検査処理に影響しないワークＷＫ７を示している。ここでは、鋳物の表面に数字や文字列が立体的に形成されたワークＷＫ７に対して、文字列が適切かどうかをＯＣＲによって読み取る検査処理を行う。このような用途において、図６７等に示した「抽出」ボタン１４４を押下することで、第二画像表示領域１２１上にスポイト状のアイコンＳＩを表示させる。そしてポインタ１４６で、図７９Ａに示すようにワークＷＫ７上面の、文字列の形成されていない平面（背景面）の一点を指定する。これにより、ポインタ１４６で指定された抽出領域（図６７の例では１６画素）の高さを基準面として、階調変換が行われ、図７９Ｂに示す低階調距離画像に変換される。この低階調距離画像では、ワークＷＫ７の平面を背景として、ここから突出した文字列部分が綺麗に抽出されるので、正確なＯＣＲを実行し易くできる。このように一点指定は、ワークに多少傾きがあっても検査処理には影響のないケースに有効に利用できる。また一点指定は低負荷で高速に処理できる利点も挙げられる。
（三点指定）
【０１５６】
以上は、一点指定による階調変換条件の設定方法について説明した。次に三点指定による階調変換条件の設定方法について、図８０〜図８５のＧＵＩ画面に基づいて説明する。三点指定とは、ユーザが指定した三点から求められる平面を基準面として、距離画像を低階調距離画像に階調変換する方法である。基準面も、上述した一点指定の基準高さと同様、例えば距離画像の高さ情報の内、低階調距離画像に階調変換される高さ範囲（距離レンジ）の中間の高さとする。あるいは、距離レンジの上限（階調変換される最も高い位置）や下限（階調変換される最も低い位置）とすることもできる。
【０１５７】
図６２の三次元画像処理プログラムのＧＵＩ画面で「高さ抽出」ボタン１１６を押下し、図８０に示す高さ抽出選択画面１４０に移行した状態で、抽出方法選択手段１４２で階調変換方法として、「三点指定（平面）」を選択する。これにより、図８１に示す高さ抽出設定を行う三点指定画面１７０が表示される。
（三点指定画面１７０）
【０１５８】
三点指定画面１７０では、階調変換の基準となる基準面を、第二画像表示領域１２１上で３点指定して設定する。このため図８１の三点指定画面１７０では、高さ抽出手段が設けられる。具体的には、画面右の操作領域１２２中に設けられた「抽出」ボタン１４４を選択することで、図８２に示す画面となり、画面左の第二画像表示領域１２１上で任意の位置を三点指定できるようになる。ここでは、高さ抽出手段として図６７と同様に点状のポインタ１４６が表示されており、ユーザは所望の位置をマウスやトラックボール、あるいはタッチパネル等のポインティングデバイスで順次指定していく。まず一点目を第二画像表示領域１２１上で指定すると、指定された位置で図８３のように矩形状が十字状に変化して、指定済みの位置を示すと共に、次の二点目を、同じくポインタ１４６でもって指定できるようになる。この時点で、図８２に表示されているカラーの距離画像は、指定された一点目の高さを含む水平面を基準として階調変換を行い、階調変換後の低階調距離画像を濃淡画像として第二画像表示領域に表示する。さらに二点目を指定すると、図８４に示すように二点目の位置が矩形状から十字状に変化すると共に、三点目が指定可能となる。この時点で、指定された２点の高さを含む傾斜面を基準として再度階調変換を行い、低階調距離画像を更新する。そして三点目を指定すると、これら指定済みの三点を含む平面でもって基準面が設定される。また、高さ抽出手段で各点を指定する際に、高さ抽出画面表示領域上で現在指定されている点の高さを、「Ｚ高さ」表示欄１５２に表示させてもよい。
【０１５９】
さらに、基準面の情報として、傾斜角を表示させることもできる。図８４の例では、操作領域１２２に設けられた高さ抽出表示欄１７２において、基準面のＸ方向傾き、Ｙ方向傾き、及び三点目のＺ方向高さが表示されている。
【０１６０】
また、一点指定と同様、必要に応じて強調方法を指定することもできる。例えば、ゲイン調整手段を用いて、ゲイン調整を行ったり、三点指定「詳細設定」ボタン１７４を押下して図８５に示すような三点指定詳細設定画面１８０を呼び出し、強調方法設定欄１５４にゲイン調整欄１５６に加えて「抽出高さ」設定欄１８２を表示させ、高さ抽出手段で抽出すべき高さ情報として、ドロップダウンリストから「高い側」、「低い側」、「高低両方」のいずれかを選択できる。
【０１６１】
このようにして、指定された三点で規定される任意の平面を基準面として、距離画像の階調変換を行うことが可能となる。この結果、上述した一点指定のような水平な平面を基準とする階調変換のみならず、傾斜させた平面を基準面とした階調変換も可能となる。例えば、ワーク表面の傾斜面の傷や異物を検査する用途において、傾斜面のままでは距離レンジが狭くなるところ、傾斜面に沿って基準面を設定することで、傾斜面をキャンセルでき、効率よく傷や異物を検出できる。このようにして、ワークや検査目的に応じて高さ情報を活用した、柔軟な階調変換を実現できる。
【０１６２】
ここで、基準面を三点指定で指定する方法が有効なワークの例を、図８６Ａ〜図８６Ｄに基づいて説明する。図８６Ａは、ワークの計測面において平面的な傾斜が生じていたり、微小な平面傾斜が存在すると、検査処理の結果に影響するようなワークＷＫ８を示している。ここでは、基板上に形成されたボールグリッドアレイ（ＢＧＡ）を検出する検査処理を行う。このような用途において、図８４等に示した「抽出」ボタン１４４を押下することで、第二画像表示領域１２１上にスポイト状のアイコンＳＩを表示させる。そしてポインタ１４６で、図８６Ａに示すように、ワークＷＫ８上面の内、ＢＧＡが形成されていない点を三点指定する。これにより、指定された三点を含む平面が基準面として抽出されて、階調変換が行われ、図８６Ｂに示す低階調距離画像に変換される。この低階調距離画像では、ワークＷＫ８の平面を背景として、ここから突出したＢＧＡが綺麗に抽出されるので、例えばこれを図８６Ｃに示すように二値化してＢＧＡの形状を確認できる。この方法であれば、ワークＷＫ８の平面に傾きがあっても正確に検出できる利点が得られる。仮に図８６Ａに示すワークＷＫ８に傾きがあると、例えば一点指定では二値化された画像が図８６Ｄに示すようになって、正しく検出できない。これに対して、三点指定では上述の通り傾きを補正して正確な検出結果が得られる。このように三点指定は、平面の傾きが検査処理結果に影響するケースで有効である。
【０１６３】
さらに、図８７Ａに示すような平面状のワークＷＫ９の上面に緩やかな窪みを有する場合に、この窪みを検出する検査処理を考える。ここでは図８７Ａに示すように計測領域ＲＯＩを、窪みを含む領域に設定する。これにより、窪みを含んだ計測領域ＲＯＩ内全体の高さデータから求めた平面を基準面として階調変換され、図８７Ｂに示すような低階調距離画像が得られる。この例では最小二乗法で基準面を推定している。さらに得られた低階調距離画像を二値化して、図８７Ｃに示す二値化画像を得る。これによって傾きを補正して、安定的に窪みの部分だけを抽出できる。仮に傾きがある状態で一点指定によって二値化画像を求めると、図８７Ｄに示すような結果となって、傾斜面によって窪みの検出が困難となることが判る。このように、精度の高い基準面の推定に、三点指定が有効である。なお処理時間の面では、一点指定よりも処理時間がかかるものの、比較的高速に処理可能である。
【０１６４】
以上は、設定段階で予め階調変換条件を指定して、運用時には指定された条件で階調変換を行う静的変換について説明した。いいかえると、静的変換では、階調変換パラメータは入力画像によらず一定値である。次に、検査対象の入力画像に応じて階調変換条件を調整する動的変換の具体例について、説明する。まず動的変換には、距離画像を低階調距離画像に階調変換する際に、残すべき高さ情報の基準を補正するため具体的な方法として、
（Ｂ１）入力画像に対して指定された平均抽出領域内の平均高さ（平均距離）を平均基準高さとして階調変換する平均高さ基準、
（Ｂ２）入力画像の指定領域内の推定平面を生成し、これを基準面として階調変換する平面基準、
（Ｂ３）入力画像から高周波成分を除いた自由曲面を生成し、これを基準面として階調変換する自由曲面基準
が含まれる。以下、各方法について順次説明する。
（Ｂ１：平均高さ基準）
【０１６５】
平均高さ基準は、入力画像毎に、指定された平均抽出領域内の平均高さを演算し、これを平均基準高さとして階調変換する方法である。平均基準高さを規定するための平均抽出領域は、運用に先立って予め設定される（上述した図８のステップＳ８３）。以下、図８のステップＳ８３において、平均抽出領域を指定する手順の一例について、図６２、図６５、図８８〜図９２のＧＵＩに基づいて説明する。まず、図６２のＧＵＩ画面で「高さ抽出」ボタン１１６を選択して、図６５の高さ抽出選択画面１４０に進み、抽出方法選択手段１４２で動的変換に該当する「リアルタイム抽出」を選択すると、図８８の高さ動的抽出設定画面１９０となる。この例では、再びワークに消しゴムを用いた例を示している。次に抽出方法選択手段１４２の下方に設けられた「計算方法」選択欄１９２において、動的変換の基準を指定する。ここでは図８９に示すようにドロップダウンボックスで、「平均高さ基準」、「平面基準」、「自由曲面基準」のいずれかを選択する。ここでは、「平均高さ基準」を選択する。これにより図９０の平均高さ基準設定画面２１０に移行する。なお、図９０、図９１では説明の都合上、ワークに５０円玉を用いた例を示している。
【０１６６】
なお、動的変換に関する設定時には、実際の運用時に入力される距離画像とは異なる画像に対して、平均基準高さ等を設定する必要がある。このため、運用時のワークと対応する画像を事前に撮像し、これを登録画像として保存しておき、動的変換の設定に際しては登録画像を読み込んで、これを運用時のワーク画像に代用する形で各種の設定を行う。このため、図６５等の画面において、「表示画像」選択欄１２４にて、該当する「登録画像」を指定する。
【０１６７】
平均高さ基準設定画面２１０では、別途設定された検査対象領域をそのまま用いるか、必要に応じて任意の平均抽出領域を指定する。平均抽出領域の指定は、矩形状、あるいは四隅の指定、中心と半径の指定による円形、自由曲線等、任意の方式が利用できる。また、ワークの一点のみを指定したり、逆にワークの全体、あるいは第二画像表示領域１２１で表示される画像の全体を、平均抽出領域とすることもできる。あるいは、上述の通り別途指定された検査対象領域を、平均抽出領域として利用することもできる。これらの場合は、高さ抽出手段による平均抽出領域の指定作業を省略してもよい。
（マスク領域）
【０１６８】
また、平均抽出領域に対して、平均高さを抽出しないマスク領域を指定することもできる。例えば図９０の画面から、操作領域１２２に設けられた「抽出領域」ボタン１９４を押下すると、図９１に示すマスク領域設定画面２２０に移行する。このマスク領域設定画面２２０上から、平均高さの抽出に不要なマスク領域を一以上指定できる。マスク領域の指定にも、上述の通り第二画像表示領域１２１上から、矩形状や円形状等、任意の領域を指定することで行える。
【０１６９】
さらに、必要に応じてゲイン調整等を行うこともできる。例えば図９０の画面から、操作領域１２２の右下に設けた「詳細設定」ボタン１９６を押下すると、図９２に示す平均高さ基準詳細設定画面２３０に移行し、強調方法設定欄１５４にゲイン調整に加えて、抽出高さの指定やノイズ除去等の詳細な設定項目が表示される。
【０１７０】
このようにして平均抽出領域が規定されると、設定画面を終了する。階調変換の際には、この平均抽出領域に含まれる高さ情報の平均値（平均基準高さ）を、基準高さとして、階調変換を行う。例えば、平均基準高さが、距離レンジの中心値（２8＝２５６階調の場合は０〜２５５の距離レンジの中心値である１２８）となるようにして階調変換する。また、平均抽出領域に含まれるすべての点の高さ情報を必ずしもすべて利用する必要はなく、適宜間引く、あるいは平均化する等、処理を簡略化することもできる。
【０１７１】
そして運用時において、後述する図１３３に示す手順で動的変換が行われる。例えばライン上を搬送されるワークを撮像して距離画像を生成し（ステップＳ１３３０１）、上記で設定された平均抽出領域の平均高さを演算し（ステップＳ１３３０２）、これに基づいて階調変換を実行して低階調距離画像を生成し（ステップＳ１３３０３）、得られた低階調距離画像に対して検査を行う（ステップＳ１３３０４）。この方法であれば、ワークの高さ方向にばらつきがある場合でも、ワーク毎に階調変換の基準面を毎回再設定できるため、ワークの高さ方向のばらつきによらず、正確な検査が実現できる。
【０１７２】
ここで、基準面を平均高さ基準で指定する方法が有効なワークの例を、図９３Ａ〜図９３Ｂに基づいて説明する。図９３Ａは、上述した図７９Ａと同様、ワークの計測面において平面的な傾斜がないか、多少の傾斜があっても検査処理に影響しないワークＷＫ７であり、鋳物の表面に数字や文字列が立体的に形成されたワークＷＫ７に対して、文字列が適切かどうかをＯＣＲによって読み取る検査処理を行う。このような用途において、図９２等に示した抽出領域設定画面で、第二画像表示領域１２１上に矩形状に平均高さ基準を決定する計測領域ＲＯＩを設定する。ここでは図９３Ａに示すように、ワークＷＫ７上面で文字列を囲む平面を計測領域ＲＯＩとして指定する。これにより、計測領域ＲＯＩの高さを基準面として、階調変換が行われ、図９３Ｂに示す低階調距離画像に変換される。この低階調距離画像でも、図７９Ｂと同様、ワークＷＫ７の平面を背景として、ここから突出した文字列部分が綺麗に抽出されるので、正確なＯＣＲを実行し易くできる。また、上述した図７９ＡではワークＷＫ７上の一点のみを指定することから、選択した点がノイズの影響を受ける可能性があるのに対し、図９３Ａでは平面で指定することから、このようなのノイズの影響を低減できる利点が得られる。
（平面基準）
【０１７３】
以上は、平均高さ基準でもって動的変換を行う例について説明した。次に、別の動的変換として、入力画像に対して予め指定された基準面推定領域内に含まれる平面を推定し、この推定面を基準面として階調変換する平面基準について説明する。この方法では、例えばワークの表面が傾斜している場合等に、傾斜成分をキャンセルして階調変換を行えるため、上述した静的変換の三点指定と同様に活用できる利点が得られる。以下、平面基準の具体的な設定方法を説明する。平面基準においても、上述した平均高さ基準と同様、基準面を決定するための基準面推定領域は、運用に先立って予め設定される（上述した図８のステップＳ８３）。以下、図８のステップＳ８３において、基準面推定領域を指定する手順の一例について、図６２、図８８、図９２〜図９５のＧＵＩに基づいて説明する。まず、図６２のＧＵＩ画面で「高さ抽出」ボタン１１６を選択して、図８０の高さ抽出選択画面１４０に進み、抽出方法選択手段１４２で動的変換に該当する「リアルタイム抽出」を選択すると、図８８の高さ動的抽出設定画面１９０となる。次に「計算方法」選択欄１９２において、図８９に示すように動的変換の基準として、「平面基準」を選択すると、図９２の平面基準設定画面に移行する。
【０１７４】
平面基準設定画面では、上述した図８０の高さ抽出選択画面１４０における高さ抽出手段と同様、別途設定された検査対象領域をそのまま用いるか、必要に応じて任意の基準面推定領域を指定する。基準面推定領域の指定は、矩形状、あるいは四隅の指定、中心と半径の指定による円形、自由曲線等、任意の方式が利用できる。また、ワークの一点のみを指定したり、逆にワークの全体、あるいは第二画像表示領域１２１で表示される画像の全体を、基準面推定領域とすることもできる。
【０１７５】
また、基準面推定領域に対して、推定面を推定しないマスク領域を指定することもできることは、上述した図９０等と同様である。さらに、必要に応じてゲイン調整や抽出高さの指定、ノイズ除去等を行うこともできるのも、上記と同様である。例えば、図９２の画面において、操作領域１２２に設けられた「詳細設定」ボタン２２２を押下すると、図９４の平面基準詳細設定画面２４０となり、強調方法設定欄１５４にはゲイン調整欄１５６に加え、抽出高さを指定する「抽出高さ」設定欄１６２やノイズ除去のためのノイズ除去設定欄１６４、無効画素を指定するための無効画素指定欄１６６が表示され、これらの詳細な設定が可能となる。また無効画素指定欄１６６においては、図９５に示すように、距離を求められなかった無効な画素を指定された規定値の他、背景の画素値やユーザが指定する任意の値で埋めることができる。
【０１７６】
このようにして基準面推定領域が規定されると、設定画面を終了する。階調変換の際には、この基準面推定領域に含まれる高さ情報から、平面状の推定面を演算する。基準面推定領域内に分布する高さ情報のフィッティングには、最小二乗法等、既知の方法が適宜利用できる。なお、基準面推定領域に含まれるすべての点の高さ情報を推定面の演算に利用する必要は必ずしもなく、適宜間引く、あるいは平均化する等、処理を簡略化することもできることは上述の通りである。
【０１７７】
このようにして推定面が決定されると、この推定面を基準として、階調変換を行う。例えば、推定面が距離レンジの中心値となるようにして階調変換する。また、演算された推定面の情報を表示させることもできる。例えば図９２に示す例では、操作領域１２２に設けられた推定面表示欄において、推定面のＸ方向傾き、Ｙ方向傾き、及び推定面のＺ方向高さが表示されている。なお、この例では推定面を一枚の平面としたが、複数枚の平面を組み合わせた推定面とすることもできる。また、この例では推定面を平面としたが、推定面を球面等の単純な曲面として演算することも可能である。
【０１７８】
また基準面を平面基準で指定する方法が有効なワークの例として、上述した図８６Ａや図８７Ａが挙げられる。このようなワークに対して平面基準を設定することで、仮にワークの上面に傾斜があっても傾斜分を補正して基準面が検出されるため、上述した三点指定と同様、正確なＢＧＡパターンの検出が実現される。
（Ｂ３：自由曲面基準）
【０１７９】
最後に、入力画像の所定の領域（自由曲面対象領域）から高周波成分を除いた自由曲面を生成し、これを基準面として階調変換する自由曲面基準について説明する。例えばワークが曲面を有する等、単純な平面では近似が困難な場合は、検査したい領域の高さ情報を精度よく抽出することが難しい。そこで、入力画像から高周波成分を除いて単純化した画像を生成して、この画像の表面形状（自由曲面）を基準面として利用することで、大まかな形状やなだらかな変化を無視し、急激な変化を生じている部分、すなわち細かな形状のみを残した検査を可能とできる。
【０１８０】
以下、自由曲面基準の具体的な設定方法を、図６２〜図９６のＧＵＩに基づいて説明する。自由曲面基準においても、上述した平均高さ基準等と同様、基準面を決定するための必要な条件は運用に先立って予め設定される（上述した図８のステップＳ８３）。まず、図６２のＧＵＩ画面で「高さ抽出」ボタン１１６を選択して、図８０の高さ抽出選択画面１４０に進み、抽出方法選択手段１４２で動的変換に該当する「リアルタイム抽出」を選択すると、図８８の高さ動的抽出設定画面１９０となる。次に「計算方法」選択欄１９２において、図８９に示すように動的変換の基準として、「自由曲面基準」を選択する。これにより図９６の自由曲面基準設定画面２５０に移行する。
【０１８１】
自由曲面基準設定画面２５０でも、任意の領域を自由曲面対象領域として指定することも可能であるが、好ましくは、第二画像表示領域１２１で表示される画像の全体、又は別途指定された検査対象領域を、そのまま自由曲面対象領域として利用する。自由曲面対象領域として指定された領域から、高調波成分を除去して自由曲面を生成する。そして第二画像表示領域１２１上で表示される自由曲面対象領域に、自由曲面を基準面として階調変換を行った階調変換画像を重ねて表示させる。また、階調変換に際して、必要に応じてゲイン調整や抽出高さの指定、ノイズ除去等を行うこともできるのも、上述した図９０等と同様である。
（抽出サイズ調整手段）
【０１８２】
さらに、自由曲面基準で抽出される抽出面の細かさ（抽出サイズ）を調整する抽出サイズ調整機能も備えている。具体的には、図９６において、操作欄の「抽出面の詳細設定」欄に、抽出サイズ調整手段として「抽出サイズ」指定欄２５２を設けている。「抽出サイズ」指定欄２５２の数値を増減させると、これに応じて自由曲面の曲率が変化し、抽出可能な欠陥のサイズが変動する。ここでは、設定されたサイズ以下の凹凸が抽出されるように、自由曲面画像が生成され、第二画像表示領域１２１に表示される。抽出サイズを大きくすると滑らかな自由曲面が生成され、設定された抽出サイズに応じた大きさの欠陥が抽出できる。一方、抽出サイズを小さくすると、ワークの表面形状に沿った自由曲面が生成されるようになり、設定された抽出サイズに応じた小さな欠陥のみが抽出される。例えば、抽出サイズを大きくすると図９７に示すように自由曲面がワークの表面形状に対して滑らかとなるので、平滑化された基準面でもって抽出される凹凸が明瞭になる。逆に数値を小さくすると、図９０に示すように自由曲面がワークの表面形状の凹凸に沿った詳細な形状に近づくため、結果としてこのような複雑な基準面でもって抽出される凹凸は不鮮明となる。また、「抽出サイズ」指定欄２５２の数値を増減させると、これにつれて第二画像表示領域１２１において表示されている自由曲面対象領域内の階調変換画像も、基準面として内部的に生成される自由曲面の状態が変化し、基準面からの差分として抽出・表示される対象物の大きさがリアルタイムに変化する。ユーザは、第二画像表示領域１２１を参照しながら、「抽出サイズ」指定欄２５２の数値を最適に調整できる。
【０１８３】
このようにして自由曲面対象領域が規定されると、設定画面を終了する。階調変換の際には、この自由曲面対象領域に含まれる画像の高さ情報から、自由曲面を演算する。自由曲面対象領域内に分布する高さ情報のフィッティングには、設定された抽出サイズに応じた画像縮小処理とフィルタ処理と画像拡大処理を行って、自由曲面画像を生成する方法が利用できる。あるいは、上述の通り最小二乗法等、既知の方法が適宜利用できる。なお、自由曲面対象領域に含まれるすべての点の高さ情報を推定面の演算に利用する必要は必ずしもなく、適宜間引く、あるいは平均化する等、処理を簡略化できることは上述の通りである。このようにして自由曲面が決定されると、この自由曲面を基準として、階調変換を行う。例えば、自由曲面が距離レンジの中心値となるように階調変換する。
【０１８４】
ここで、基準面を自由曲面で指定する方法が有効なワークの例を、図９８Ａ〜図９８Ｂに基づいて説明する。図９８Ａは、ワークの曲面状の面に含まれる突起物や窪み等の欠陥を検出する検査処理を示している。ここで計測領域ＲＯＩとして曲面から欠陥を含む領域を指定する。そして、指定された計測領域ＲＯＩ内に含まれる高さ情報から自由曲面を求めて、得られた自由曲面を基準面として階調変換を行う。得られた低階調距離画像を図９８Ｂに示す。この図に示すように、自由曲面を基準として、この面より高い部分を突起物（図９８Ｂにおいて白点で表示される）、低い部分を窪み（図９８Ｂにおいて黒点で表示される）として、それぞれ検出できる。このように、自由曲面による基準面の指定は、曲面形状のワークに対して有効に利用できる。なお、自由曲面の検出の処理負荷は、上述した一点指定や三点指定に比べて高い。
（抽出領域設定ダイヤログ１４８）
【０１８５】
さらに、高さ抽出を行うに際して、入力画像から基準平面を算出するための対象領域（抽出領域）は、検査処理を行う検査対象領域（計測領域）と同じ領域とする他、計測領域とは別個に設定することもできる。一例として、図９０において、「抽出領域」ボタン１４７を押下すると、図９９に示すように抽出領域を設定可能な抽出領域設定ダイヤログ１４８が表示される。この抽出領域設定ダイヤログ１４８には抽出領域選択欄１４９が設けられ、抽出領域選択欄１４９からユーザは「計測領域と同じ」、「矩形」、「円形」、「回転矩形」等を選択できる。「計測領域と同じ」を選択すると、上述の通り抽出領域が計測領域と同じとなる。一方、「計測領域と同じ」以外を選択することで、計測領域とは異なる領域を抽出領域として設定できる。例えば図１００に示すように抽出領域選択欄１４９で「矩形」を選択すると、第二画像表示領域１２１において矩形状の枠が表示され、ユーザは所望の領域をマウスのドラッグ等によって指定できる。また図１００の抽出領域選択欄１４９の右に設けられた「編集」ボタン３２４を押下すると、図１０１に示すように抽出領域編集ダイヤログ３２６が表示され、矩形状の抽出領域をｘｙ座標で数値により指定できる。抽出領域編集ダイヤログ３２６で抽出領域が調整されると、その変更が第二画像表示領域１２１において反映される。
（マスク領域設定欄３３０）
【０１８６】
さらに抽出領域設定ダイヤログ１４８から、抽出領域としない領域を指定するためのマスク領域も設定できる。図９９の例では、抽出領域選択欄１４９の下部にマスク領域設定欄３３０が設けられている。マスク領域設定欄３３０では、複数のマスク領域を設定できる。ここでは０〜３の最大４つのマスク領域が指定でき、各マスク領域は独立して設定できる。例えば図１０２に示すようにマスク領域０として「円形」を選択すると、第二画像表示領域１２１上に円形のマスク領域０が表示される。さらにこの状態から「編集」ボタン３３２を押下すると、図１０３に示すように円形のマスク領域０の詳細を規定するためのマスク領域編集ダイヤログ３３４が表示される。ユーザは、円形のマスク領域０を、中心のｘｙ座標と半径とで規定できる。マスク領域は、第二画像表示領域１２１において抽出領域とは異なる色の枠線で表示され、ユーザが抽出領域とマスク領域とを視覚的に区別し易くしている。図１０３の例では、抽出領域を緑色、マスク領域を黄色で表示している。ただ、この例に限らず、異なる色で区別したり、線の太さや線種（実線、破線等）、ハイライト（点滅や強調）等で区別することも可能であることはいうまでもない。
【０１８７】
このようにして、抽出領域を計測領域とは独立して設定することも可能となる。また、抽出領域の設定内容は、文字情報で表示させることもできる。例えば図９０の例では、「抽出領域」ボタン１４７の下部にテキストで「計測領域と同じ」と表示しており、平面基準を算出する抽出領域が計測領域と同じであることを示している。またその下部には「マスク領域：無効」と表示し、抽出領域にマスク領域が設定されていないことを示している。これによってユーザは、「抽出領域」の概略をテキスト情報としても確認できる。
（前処理設定）
【０１８８】
以上のようにして、「エリア」処理ユニットで、高さ抽出の設定を終えると、図１０４に示すように第三画像表示領域において、「エリア」処理ユニットで設定された領域の矩形内では、抽出された高さに基づいて階調変換された低階調距離画像が重ねて表示される。次に、前処理の設定を行う。前処理とは、上述の通り距離画像を生成する前に行う共通のフィルタ処理であり、ここでは各種のフィルタを選択できる。具体的には、図１０４の画面から、設定項目ボタン領域１１２に設けられた「前処理」ボタンを選択すると、図１０５のフィルタ処理設定画面３４０となり、適用するフィルタを選択できる。ここで選択可能なフィルタとしては、平均化フィルタ、メディアンフィルタ、ガウシアンフィルタ等が挙げられる。さらに、このようなフィルタ以外にも、例えば二値化レベルの設定も可能である。例えば図１０６の二値化レベル設定画面３５０では、二値化を行う上限値や下限値、回数を設定できる。また二値化された画素の分布を示すヒストグラムを表示させたり、入力画像に連動してヒストグラムを更新する機能を持たせてもよい。このようにしてフィルタ処理設定が終了すると、図１０７に示すように第三画像表示領域において、設定された領域内でフィルタ処理を経て二値化された低階調距離画像が重ねて表示される。
（判定設定）
【０１８９】
さらに「エリア」処理ユニットでは、設定された領域、高さ抽出、前処理等の条件にしたがって、入力画像を低階調距離画像に階調変換した後、この低階調距離画像に対して高さ検査や画像検査等の判定を行う条件についても規定する。例えば図１０７の画面から、設定項目ボタン領域１１２に設けられた「判定条件」ボタンを押下すると、図１０８の判定条件設定画面３６０となり、判定条件を設定する。この例では、二値化された低階調距離画像の画素をカウントして、その数値が所定の範囲内にあるときをＯＫ、ないときをＮＧに設定している。図１０８の例では、判定条件が０〜３０であり、現在値が１６６であるため、ＮＧと判定され、図１０９に示すように、第三画像表示領域において「判定結果：ＮＧ」と赤文字で表示される。このように、判定結果がＮＧの場合は、文字を赤文字とする等、目立つ態様とすることで、運用時にユーザが認識し易くできる。
（「ブロブ」処理ユニット２６７）
【０１９０】
また、以上は高さ情報を用いた高さ検査に基づく判定について説明したが、本発明はこれに限らず、従来の輝度画像に対する画像検査に基づいた判定処理を加えることも可能である。このような画像検査をブロブと呼ぶ。例えば図１１０に示すように、フロー表示領域２６１において「エリア」処理ユニットの下部に、ブロブ（画像検査）を行う「ブロブ」処理ユニット２６７を追加する。「ブロブ」処理ユニット２６７においても、上記と同様に、対象領域を設定し前処理を設定したり（図１１１）、検出条件を設定したりして（図１１２）、判定条件を設定して判定結果を出力させることができる（図１１３）。
（「色検査」処理ユニット２６７Ｂ）
【０１９１】
さらに、撮像手段としてカラーＣＣＤカメラを接続している場合等、カラーの光学画像を入力できる場合は、色検査を組み合わせることも可能である。例えば図１１４に示すように、フロー表示領域２６１において「ブロブ」処理ユニット２６７の下部に、計測処理として色検査を行う「色検査」処理ユニット２６７Ｂを追加する。「色検査」処理ユニット２６７Ｂにおいても、上記と同様に、対象領域を設定したり（図１１５、図１１６）、濃度平均等の詳細設定を行ったりして（図１１７）、判定条件を設定して判定結果を出力させることができる（図１１８）。
【０１９２】
以上のようにして、設定モードにて各種の設定を行った後、運用モードにおいて実際にワークを撮像して入力画像を取得し、高さ検査や画像検査の結果に基づいて判定処理を行う。なお、上記の例では、設定モードにおいても判定結果を出力可能な構成とすることで、判定結果をイメージを設定段階でユーザに認識し易くしている。ただ、判定結果は運用モードにおいてのみ出力可能とすることも可能であることはいうまでもない。
（運用モード）
【０１９３】
次に、図４Ａ、図４Ｂに示す三次元画像処理装置におけるヘッド部、コントローラ部内部での、運用時の処理について、図１１９、図１２０のフローチャートに基づいて説明する。まず、図４Ａ、図５に示す実施の形態３に係る三次元画像処理装置のヘッド部での運用時の処理の流れを、図１１９のフローチャートに基づいて説明する。
（実施の形態３に係る処理の流れ）
【０１９４】
まず、外部からトリガが入力されると（ステップＳ１１９０１）、第一プロジェクタ２０Ａから一の投光パターンがワークに投光され（ステップＳ１１９０２）、撮像手段で撮像する（ステップＳ１１９０３）。次に、すべての投光パターンについて撮像が終了したかどうかを判定し（ステップＳ１１９０４）、未だの場合は投光パターンを切り替えて（ステップＳ１１９０５）、ステップＳ１１９０２に戻って処理を繰り返す。ここでは、位相シフト法を用いた投光パターンでパターン投影画像を８枚、さらに空間コード化法を用いた投光パターンでパターン投影画像を８枚の、計１６枚のパターン投影画像を撮像する。
【０１９５】
一方、ステップＳ１１９０４においてすべての投光パターンを撮像し終えた場合は、ステップＳ１１９０６とステップＳ１１９０７に分岐する。まずステップＳ１１９０６において三次元計測演算を実行し、距離画像Ａを生成する。
【０１９６】
その一方でステップＳ１１９０７において、位相シフト法で撮像した複数のパターン投影画像（パターン投影画像群）から、これを平均した平均画像Ａ’を演算する。
【０１９７】
以上のステップＳ１１９０２〜Ｓ１１９０６は、第一プロジェクタ２０Ａからのパターン投光による三次元計測である。次に第二プロジェクタ２０Ｂからのパターン投光による三次元計測を行う。ここでは、ステップＳ１１９０６に続いてステップＳ１１９０８において、ステップＳ１１９０２〜Ｓ１１９０５と同様に、第二プロジェクタ２０Ｂから投光パターンがワークに投光され（ステップＳ１１９０８）、撮像手段で撮像し、（ステップＳ１１９０９）、すべての投光パターンについて撮像が終了したかどうかを判定する（ステップＳ１１９１０）。未だの場合は投光パターンを切り替えて（ステップＳ１１９１１）ステップＳ１１９０２に戻り処理を繰り返し、一方すべての投光パターンを撮像し終えた場合は、ステップＳ１１９１２とステップＳ１１９１２に分岐する。ステップＳ１１９１２においては三次元計測演算を実行し、距離画像Ｂを生成する。一方ステップＳ１１９１３においては、位相シフト法で撮像したパターン投影画像群の平均画像Ｂ’を演算する。このようにして三次元距離画像Ａ、Ｂが生成されると、ステップＳ１１９１４において、三次元距離画像Ａ、Ｂを合成して、距離画像を生成する。またステップＳ１１９１５において、平均画像Ａ’、Ｂ’を用いて、これらを合成した輝度画像（平均二次元濃淡画像）を生成する。このようにして、図５の三次元画像処理装置において、ワークの高さ情報を有する距離画像が取得される。なお輝度画像が不要の場合は、ステップＳ１１９０７、Ｓ１１９１３、Ｓ１１９１５を省略できる。
（実施の形態４の処理の流れ）
【０１９８】
以上は、図４Ａに示す実施の形態３に係る三次元画像処理装置のヘッド部の処理の流れについて説明した。次に図４Ｂに示す実施の形態４に係る三次元画像処理装置のヘッド部の処理の流れについて、図１２０のフローチャートに基づいて説明する。説明する。まず、外部からトリガが入力されると（ステップＳ１２００１）、投光手段２０から一の投光パターンがワークに投光され（ステップＳ１２００２）、第一撮像手段１０Ａで撮像し、（ステップＳ１２００３）、同時に第二撮像手段１０Ｂでも撮像する（ステップＳ１２００４）。そしてすべての投光パターンについて撮像が終了したかどうかを判定する（ステップＳ１２００５）。未だの場合は投光パターンを切り替えて（ステップＳ１２００６）ステップＳ１２００２に戻り処理を繰り返し、一方すべての投光パターンを撮像し終えた場合は、ステップＳ１２００７〜ステップＳ１２０１０に分岐する。ステップＳ１２００７においては三次元計測演算を実行し、距離画像Ａを生成する。ステップＳ１２００８においては三次元計測演算を実行し、距離画像Ｂを生成する。一方、ステップＳ１２００９において、位相シフト法で撮像したパターン投影画像群の平均画像Ａ’を演算し、またステップＳ１２０１０において、位相シフト法で撮像したパターン投影画像群の平均画像Ｂ’を演算する。そしてステップＳ１２０１１において、ステップＳ１２００７、Ｓ１２００８で得られた三次元距離画像Ａ、Ｂを合成して、距離画像を生成する。またステップＳ１２００９、１０で得られた平均画像Ａ’、Ｂ’を合成した輝度画像を生成する。この方法によれば、同時に２枚の画像を撮像できるので、撮像時間の短縮化を図ることができる。
（検査対象領域設定手段）
【０１９９】
実際の運用時の検査に際して、ワークに対して検査実行手段５０で検査を実行する対象となる領域（検査対象領域）を、予め指定しておく必要がある。このような検査対象領域の設定は、設定段階において検査対象領域設定手段により行われる。検査対象領域設定手段は、上述の通りコントローラ部２側に設けたり、あるいは三次元画像処理プログラムにて実現させることもできる。具体的には、上述の通り図６２に示す三次元画像処理プログラムの検査対象領域設定手段に相当する「領域設定」ボタン１１５を押下すると、図４７に示す検査対象領域設定画面１２０に遷移し、この検査対象領域設定画面１２０において、検査を行う領域を指定することができる。
【０２００】
このようにして検査対象領域を指定すると、この検査対象領域に対して三次元画像処理装置が画像処理を行い、さらに検査を実行する。すなわち図１２１のフローチャートに示すように、距離画像に対して検査対象領域を割り当て（ステップＳ１２１０１）、この距離画像に基づいて階調変換パラメータを設定し（ステップＳ１２１０２）、この階調変換パラメータに従って階調変換を行い（ステップＳ１２１０３）、さらに階調変換画像に対して画像処理を行い、所定検査を行う（ステップＳ１２１０４）。
【０２０１】
なお階調変換処理は、上述した検査対象領域設定手段で設定された検査対象領域に対して行われる。すなわちこの例では、検査対象領域設定手段を、階調変換対象領域を指定する階調変換対象領域指定手段と共通としている。ただ、階調変換処理のパラメータを決めるのに用いる領域を、検査対象領域とは独立して設定してもよい。例えば検査対象領域設定手段、あるいはこれとは別個に用意した階調変換パラメータ作成用領域指定手段を用いて、階調変換パラメータ作成用領域を指定する。
（運用時のコントローラ部の動作フロー）
【０２０２】
次に、ヘッド部側で得られた距離画像を、運用時にコントローラ部側で処理する手順を、図１２２のフローチャート、及び図１２３〜図１２７のＧＵＩに基づいて説明する。ここで図１２３〜図１２６は三次元画像処理プログラムのＧＵＩを示している。図１２３に示す三次元画像処理プログラムのＧＵＩは初期画面２６０を示しており、画面の左側にフロー表示領域２６１を、右側に第三画像表示領域２６２を、それぞれ設けている。フロー表示領域２６１においては、三次元画像処理装置で行う各処理の内容を処理ユニット状に繋いだフロー図が表示される。ここでは処理ユニットとして、「撮像」処理ユニット２６３、「Ｓｈａｐｅｔｒａｘ２」処理ユニット２６４、「位置補正」処理ユニット２６５、「高さ計測」処理ユニット２６６がフロー表示領域２６１に表示されている。また運用前の設定の段階では、各処理ユニットを選択して詳細な設定を行える。また第三画像表示領域２６２には、処理内容に応じて輝度画像や距離画像、あるいは検査結果等が表示される。図１２３の例では、ワーク（この例ではＩＣ）を撮像した輝度画像が表示されており、後述するサーチ対象領域ＳＡが緑色の枠状に表示されている。
（撮像ステップ）
【０２０３】
まず図１２２のステップＳ１２２０１において、距離画像と輝度画像をヘッド部１から取得する。ここでは、ヘッド部側でパターン投影画像を撮像し、距離画像と輝度画像を生成する。図１２３のＧＵＩの例では、フロー表示領域２６１に表示される「撮像」処理ユニット２６３が該当する。
【０２０４】
画像データは、先に距離画像をヘッド部からコントローラ部に送信し、次いで輝度画像もコントローラ部に送信する。なお、逆に輝度画像を先に転送した上で距離画像を転送したり、これらの転送を同時に行ってもよい。
（サーチステップ）
【０２０５】
さらにステップＳ１２２０２において、運用時に入力される入力画像に対し、コントローラ部でパターンサーチを行う。すなわち、撮像された輝度画像に含まれるワークの動きに追従するように、検査したい部位を特定する。図１２３の例では、フロー表示領域２６１に表示される「Ｓｈａｐｅｔｒａｘ２」処理ユニット２６４がパターンサーチに該当する。ここではワークを撮像した輝度画像（入力画像）に対して、図５の画像サーチ手段６４がパターンサーチを行い、位置決めを行う。具体的には、予め設定された検査対象領域が、入力された輝度画像中のどこに含まれるか、位置を特定する。パターンサーチを行うサーチ対象領域ＳＡは、予め設定される。例えば図１２４の例では、第三画像表示領域に表示される輝度画像上で、サーチ対象領域ＳＡが矩形状に指定されている。
（位置補正ステップ）
【０２０６】
次にステップＳ１２２０３において、パターンサーチの結果を用いて検査対象領域を位置補正する。図１２３の例では、フロー表示領域２６１に表示される「位置補正」処理ユニット２６５が該当する。検査対象領域は、検査対象領域設定画面において予め設定される。図１２５の例では、第三画像表示領域に表示された距離画像上で、検査対象領域が複数、設定されている。詳細には、図１２６に示すようにワークであるＩＣの各ピンに対して矩形状の領域が設定されている。位置補正は、例えば正規化相関サーチにより位置ずれ量を算出する方法やパターンサーチの結果に基づく方法等によって行われる。このようにして位置補正により、次段で実行される検査処理の検査対象領域の位置が補正される。
（検査処理ステップ）
【０２０７】
最後にステップＳ１２２０４において、補正された位置にて距離画像を用いて検査を実行する。図１２３の例では、フロー表示領域２６１に表示される「高さ計測」処理ユニット２６６が該当する。また図１２７の例では、高さ計測を実行している。すなわち、補正された位置の検査対象領域でそれぞれ高さが計測され検査される。例えば平面高さが所定の基準値以内かどうかを判定して、判定結果を出力する。
【０２０８】
なお以上の手順では、輝度画像を用いて位置補正を行った上で、距離画像に基づいて検査を行う例を説明した。ただ、本発明はこれに限らず、位置補正を行う画像、検査処理を行う画像を任意に設定できる。例えば上記と逆に、距離画像を用いて位置補正を行った上で、輝度画像を用いて検査処理を実行することもできる。一例として、白地の背景に白色のワークが置かれた場合のように、輝度画像では正確なパターンサーチが困難な例においては、距離画像を使用して高さ情報に基づいたパターンサーチが有効となる。また、検査処理についても、高さ情報に基づく判定処理のみならず、例えばワークに印字された文字列をＯＣＲによって読み取る等、輝度画像を用いた画像処理結果によって判定することもできる。
（高さ情報の出力形式）
【０２０９】
計測した三次元の高さ情報はそれぞれＸ，Ｙ，Ｚの値を持った三次元ポイントクラウドデータとして求められる。また実際に求められた値を、どのように出力するかについて、三次元ポイントクラウドデータ以外に、例えばＺ画像、ＸＹ等ピッチＺ画像に変換することもできる。
（１：Ｚ画像）
【０２１０】
Ｚ画像とは、Ｚ座標のみの高さ画像データである。例えば撮像手段で撮像されたワークの位置の凹凸が重要で、Ｘ，Ｙ座標は正確でなくても良いような場合は、Ｘ，Ｙ座標は不要なので、Ｚ座標のみのデータであるＺ画像を出力すれば足りる。この場合は伝送するデータ量が少なくなり、伝送時間を短縮することができる。また通常の二次元の撮像手段と同じく、画像としてデータを扱えるので、既存の二次元画像用の画像処理装置を用いて画像処理を行うこともできる。
（２：ＸＹ等ピッチＺ画像）
【０２１１】
ＸＹ等ピッチＺ画像とは、ＸＹ座標を高さによらず等ピッチとした高さ画像データである。具体的には、ＸＹ座標を等ピッチとした場合の位置におけるＺ座標を、周辺のポイントクラウドデータから補間演算してＸＹ等ピッチＺ画像を求める。
【０２１２】
一般に撮像手段のレンズが対物テレセントリックレンズではない場合は、撮像されたワークの高さ位置（Ｚ座標）により、撮像手段で撮像される位置（Ｘ，Ｙ座標）が異なる。このため、撮像素子上で同じ位置に写った物であっても、高さによって実際のＸＹ座標位置は異なることになる。例えば体積のような、立体的な差異を検査したい場合は、カメラに対して近くにワークがあると値が大きくなり、遠くにあると値が小さくなってしまうので不都合となる。そこで、ポイントクラウドデータから、ＸＹ均等ピッチのＺデータを求めることによって、高さに左右されないＸＹ位置を持ったＺ画像を得ることができる。
（３：ＸＹＺ（ポイントクラウドデータ））
【０２１３】
あるいは、ポイントクラウドデータを三次元情報としてそのまま出力することもできる。例えば、計測した三次元データをそのまま扱いたい場合に用いる。この場合はＺ座標のみの場合に比べてデータ量は３倍になるが、生データであるため、三次元ＣＡＤデータとの立体的な差分を求める等の用途に利用できる。
（等ピッチ画像の生成）
【０２１４】
次に、距離画像と輝度画像に加え、画角を補正した等ピッチ画像を作成するデータフロー図を図１２８に示す。この図に示すように、まずヘッド部で撮像する空間コード化用パターン投光ワーク画像群から、空間コード化法に従い空間コード画像を生成する。一方、位相シフト用パターン投光ワーク画像群から、位相計算に従い位相画像を生成する。そしてこれら空間コード画像、位相画像から、位相拡張計算を行って、拡張位相画像を生成する。また、これら空間コード化用パターン投光ワーク画像群や位相シフト用パターン投光ワーク画像群に対して、フィルタをかける等、共通フィルタ処理を適用することもできる。共通フィルタ処理には、メディアンフィルタ、ガウシアンフィルタ、平均化フィルタ等の二次元フィルタの適用が挙げられる。その一方で、位相シフト用パターン投光ワーク画像群を平均化することで、輝度画像（平均濃淡画像）を生成する。
（均等間隔処理）
【０２１５】
以上のようにして、ヘッド部で三次元データと輝度画像を生成した後、さらにＺ画像、又は等ピッチＺ画像等の距離画像を作成する。まず、距離画像をヘッド部１からコントローラ部２に転送して、位相情報を高さ情報に変換する階調変換を行う。ここでは、位相情報からＸ画像、Ｙ画像、Ｚ画像をそれぞれ求めた上で、これらＸＹを均等化してＸＹ平面におけるＸＹ等ピッチＺ画像、ＸＹ等ピッチＺ平均画像を取得する。このような均等間隔処理は、間隔均等化処理設定手段４７にて行う。
【０２１６】
なお、図１２８の例では距離画像の生成において位相シフト法と空間コード化法を組み合わせた例を説明したが、空間コード化法を使用しないで位相シフト法のみで距離画像を生成することもできる。空間コード化処理は、図５に示す空間コード化切替手段４５によってＯＮ／ＯＦＦを切り替えることができる。このような例を図１２９のデータフロー図に示す。この図に示すように、空間コード化法を使用しない分、撮像枚数を削減でき、高速にて距離画像を生成できる。
【０２１７】
一方で、ＸＹ等ピッチ化機能をＯＦＦして、Ｚ画像を得る際のデータフロー図を図１３０に示す。この例であれば、階調変換に際してＸ画像やＹ画像に分解する必要がないので、その分処理を簡素化できる。
【０２１８】
さらに、ＸＹＺの座標情報をそのまま出力するポイントクラウドデータを出力する例を、図１３１に示す。この例では、位相→高さ変換後のＸ画像、Ｙ画像、Ｚ画像をそのまま出力できるので、軽負荷で出力できる利点が得られる。
（階調変換方法）
【０２１９】
次に、三次元画像処理装置の階調変換手段４６が、距離画像に基づいて、高階調の距離画像を、低階調の低階調距離画像に自動的に階調変換する手順を説明する。ここでは、複数のワークが搬送されるライン上に設置される検査装置において、逐次入力される距離画像（入力画像）に対して、リアルタイムで低階調距離画像に階調変換する用途といった、複数の入力画像に対して階調変換を行う手順について説明する。この場合の階調変換処理は、大別して、（Ａ）事前に階調変換パラメータを決定しておく方法（静的変換）と、（Ｂ）入力画像に応じて階調変換パラメータを決定する方法（動的方法）の２通りが挙げられる。以下、これらについて説明する。
（Ａ：静的変換）
【０２２０】
まず、予め階調変換パラメータを決定しておく静的変換について説明する。ここでは、設定時において入力画像や予め登録しておいた登録画像に対して、階調変換を行うための階調変換パラメータを調整する。そして運用時においては、設定時に設定された階調変換パラメータでもって、距離画像の階調変換を行い、階調変換後の低階調距離画像に対して検査を実行する。なお設定時における手順は、上述の図８のフローチャートに基づいて説明した通りである。
（運用時の手順）
【０２２１】
階調変換パラメータが調整されると、この階調変換パラメータでもって運用時に入力される入力画像に対して、階調変換が行われる。ここで、運用時における静的変換の手順を、図１３２のフローチャートに基づいて説明する。まずステップＳ１３２０１において、距離画像を取得する。ここでは、距離画像生成手段３２が生成した距離画像を、コントローラ部２が取り込む。次にステップＳ１３２０２において、入力された距離画像の階調変換処理を行う。ここでは、設定時に調整された階調変換パラメータに従って階調変換処理が実行され、距離画像の階調数すなわちダイナミックレンジを削減した低階調距離画像を生成する。最後に、ステップＳ１３２０３において検査実行手段５０により検査処理を実行する。この方法によれば、予め階調変換パラメータを設定しておくことにより、運用時は階調変換パラメータを演算する必要がなく、処理を軽負荷とできる。
（Ｂ：動的変換）
【０２２２】
次に、階調変換時の階調変換パラメータを、入力画像に基づいて算出する動的変換について説明する。まず設定時の手順については、上述の通り図８のフローチャートに従って、行われる。具体的には、ステップＳ８１において、入力画像又は登録画像を取得し、次にステップＳ８２において、階調変換方法を選択させる。ここでは、ユーザが動的変換を選択したものとする。そしてステップＳ８３において、階調変換パラメータを調整する。ここでは、運用時において入力される入力画像に対して、どのような条件で階調変換パラメータを演算、あるいは調整するかを、ステップＳ８１で取得された画像に基づいて設定する。
【０２２３】
このようにして階調変換パラメータの演算条件が設定されると、運用時においては、設定された階調変換パラメータ演算条件に従って、入力画像に応じた階調変換パラメータが個別に演算される。次に、動的変換によって距離画像を低階調距離画像に階調変換する運用時の手順を、図１３３のフローチャートに基づいて説明する。まずステップＳ１３３０１において、距離画像を取得する。ここでも上述したステップＳ１３２０１と同様、距離画像生成手段３２が生成した距離画像を、コントローラ部２が取り込む。次にステップＳ１３３０２において、入力画像である距離画像に基づいて、階調変換パラメータを決定する。階調変換パラメータの調整方法については、上述した方法が利用できる。さらにステップＳ１３３０３において、階調変換を実行する。最後に、ステップＳ１３３０４において検査処理を実行する。この方法によれば、入力画像に従って階調変換パラメータを変更できるので、異なるワークに対しても柔軟に階調変換を行って正確な検査が可能となる。例えば、高さにばらつきのあるワーク表面の検査も、精度を低下させることなく行うことができる。
【０２２４】
ここで、動的変換の一例として、階調変換パラメータの調整によって、階調変換後の低階調距離画像を最適に作成する方法について、図１３４に基づいて説明する。ここでは、一の階調変換パラメータセットを動的に設定する方法と、予め複数の階調変換パラメータセットを準備しておき、動的に階調変換パラメータセットを選択する方法の二通りがある。
（１Ａ一の階調変換パラメータセットを設定する方法）
【０２２５】
まず、一の階調変換パラメータセットを動的に設定する方法について説明する。この方法では、入力画像である複数の距離画像の、予め定められた領域の画像情報に基づいて、階調変換に使用する階調変換パラメータの値を調整し、この調整された階調変換パラメータを用いて、階調変換手段４６が距離画像の階調変換処理を実行する。ここでは、１６階調の距離画像（階調変換前画像）を、８階調の低階調距離画像（階調変換後画像）に階調変換する例について説明する。また、検査対象のワークは、図１３４の斜視図に示すように、ワーク毎の計測面全体が上下にずれるものであり、その範囲は５ｍｍである。また計測面全体の厚さや歪みを含めた高さ方向のレンジは０．５ｍｍとする。このように表面高さが異なる各ワークに対して、それぞれの表面に傷を有していないかどうかを、画像処理によって検査する例を考える。距離画像を利用すると共に、距離画像を二次元の濃淡画像（低階調距離画像）に階調変換することで、既存の二次元画像用の画像処理装置でもって検査可能とできる。
【０２２６】
まず、予めワーク上の検査したい領域を、検査対象領域設定手段で検査対象領域として指定しておく。なお、検査対象領域を、入力画像である距離画像の一部を指定する他、距離画像の全体とすることもできる。この場合は、検査対象領域を指定する作業を省略してもよい。
【０２２７】
最初に、検査対象領域の平均距離を求める。次に、検査対象領域の最大距離と最小距離の差（距離レンジ）を求める。さらに、距離レンジを１．２倍した数値を変換後画像の距離レンジとする。例えば、図１３４のワークの分布では、距離レンジが０．５ｍｍであるとすると、これを１．２倍した０．６ｍｍが階調変換後画像の距離レンジとして設定される。よって、平均距離を中心に±０．３ｍｍの範囲が計測レンジとなる。
【０２２８】
さらにまた、階調変換後画像の距離レンジである０．６ｍｍ（平均距離を中心に±０．３ｍｍ）の範囲が、２５６階調となるように、入力画像である距離画像に対するスパンを求める。なお、スパンは予め決めた定数とすることもできる。また、距離画像に対して、平均距離が−０．３ｍｍ以下のものは０とし、一方平均距離が＋０．３ｍｍ以上のものは２５５とすることもできる。
【０２２９】
このようにして、入力される複数の距離画像から、検査に必要な範囲を定めて、この範囲の高さ情報が階調変換後の低階調距離画像においても維持されるように、適切に階調変換パラメータを設定できる。この結果、高さ方向に分散する各ワークの傷の有無や位置等を、既存の画像処理装置を用いて適切に検査することが可能となる。
（１Ｂ  予め複数の階調変換パラメータセットを準備しておく方法）
【０２３０】
上記の実施例では、取得した距離画像の高さ情報を利用して、傷の検出に必要な高さ情報を損失しないように適切に階調変換パラメータセットを求める方法について説明した。一方で、予め複数の階調変換パラメータセットを準備しておく方法についても、以下説明する。この方法では、入力画像である複数の距離画像に対して、予め設定された複数の階調変換パラメータで階調変換された階調変換後画像をそれぞれ作成し、距離画像の予め指定された検査対象領域の画像情報に基づいて、検査に使用する階調変換後画像を選択する。
【０２３１】
このような具体例を図１３５の模式図、及び図１３６のフローチャートに基づいて説明する。この例でも、上述した図１３４と同様に、ワーク毎の計測面全体が５ｍｍの範囲で上下にずれる場合を考える。このようなワークに対して、変換中心を０．５ｍｍ毎に変化させて階調変換した階調変換後画像を、９枚作成する。そして得られた各階調変換後画像を表示手段上に、好ましくは並べて表示させ、入力画像である距離画像の平均値に一番近い変換中心による変換画像を、ユーザに選択させる。そして、ユーザにより選択された画像に適用された階調変換パラメータセットを設定する。具体的な手順は、図１３６に示す通り、まずワークの距離画像を生成した上で（ステップＳ１３６０１）、上述の通り階調変換パラメータを変化させながら階調変換処理を複数回行う（ステップＳ１３６０２）。そして得られた階調変換画像である簡易的な低階調距離画像中から、ユーザに所望の画像を選択させ（ステップＳ１３６０３）、必要に応じて階調変換パラメータを調整し、得られた低階調距離画像に対して検査を行う（ステップＳ１３６０４）。
（静的変換、動的変換の詳細）
【０２３２】
次に、これら静的変換、動的変換の詳細について説明する。まず、静的変換について説明する。静的変換には、距離画像を低階調距離画像に階調変換する際に、残すべき高さ情報の基準を補正するため具体的な方法として、
（Ａ１）指定した高さ（距離）で補正する一点指定と、
（Ａ２）平面で補正する三点指定が利用できる。
（Ａ１：一点指定）
【０２３３】
一点指定は、ユーザが指定した点又は領域の高さ（距離）を基準として、距離画像を低階調距離画像に階調変換する方法である。基準高さは、例えば距離画像の高さ情報の内、低階調距離画像に階調変換される高さ範囲（距離レンジ）の中間の高さとする。あるいは、距離レンジの上限（階調変換される最も高い位置）や下限（階調変換される最も低い位置）とすることもできる。一点指定の具体的な手順は、上記図６６〜図７８に基づいて説明した通りである。
（Ａ２：三点指定）
【０２３４】
三点指定とは、ユーザが指定した三点から求められる平面を基準面として、距離画像を低階調距離画像に階調変換する方法である。基準面も、上述した一点指定の基準高さと同様、例えば距離画像の高さ情報の内、低階調距離画像に階調変換される高さ範囲（距離レンジ）の中間の高さとする。あるいは、距離レンジの上限（階調変換される最も高い位置）や下限（階調変換される最も低い位置）とすることもできる。三点指定の具体例は、上記図８１〜図８５のＧＵＩ画面に基づいて説明した通りである。
【０２３５】
ここで、静的変換による基準面の指定が有効な例を、図１３７に基づいて説明する。この例では、同じ高さのワークＷＫ７が、ベルトコンベアＢＣによって同一面上を搬送されている。この場合は、ワークＷＫ７の高さの変動が殆どないため、ワークに応じて基準面を変化させる動的変換は不要であり、静的変換で対応できる。特に静的変換は動的変換よりも処理が高速であり、静的変換の利点を享受できる。
【０２３６】
また図１３８Ａは、高さの変動自体を抑制したいワークの例である。この例では、ベルトコンベアＢＣによって搬送されるワークＷＫ１０であるボトルのキャップに、「浮き」がある場合を異常として検出する検査処理を対象としている。この場合において、静的変換を採用することで、図１３８Ｂに示す低階調距離画像のように高さの変動分を検知できる。逆に動的変換を採用すると、変動分が補正されてしまう結果、異常の検出ができなくなる。よってこのような用途において、静的変換が好適に利用できる
（Ｂ：動的変換の具体例）
【０２３７】
以上は、設定段階で予め階調変換条件を指定して、運用時には指定された条件で階調変換を行う静的変換について説明した。次に、検査対象の入力画像に応じて階調変換条件を調整する動的変換の具体例について、説明する。まず動的変換には、距離画像を低階調距離画像に階調変換する際に、残すべき高さ情報の基準を補正するため具体的な方法として、
（Ｂ１）入力画像に対して指定された平均抽出領域内の平均高さ（平均距離）を平均基準高さとして階調変換する平均高さ基準、
（Ｂ２）入力画像の指定領域内の推定平面を生成し、これを基準面として階調変換する平面基準、
（Ｂ３）入力画像から高周波成分を除いた自由曲面を生成し、これを基準面として階調変換する自由曲面基準
が含まれる。
【０２３８】
平均基準高さを規定するための平均抽出領域は、運用に先立って予め設定される（上述した図８のステップＳ８３）。図８のステップＳ８３において、平均抽出領域を指定する手順の一例については、上記図８８〜図９２のＧＵＩに基づいて説明した通りである。一方、運用時においては、図１３３で説明した手順で動的変換が行われる。例えばライン上を搬送されるワークを撮像して距離画像を生成し（ステップＳ１３３０１）、上記で設定された平均抽出領域の平均高さを演算し（ステップＳ１３３０２）、これに基づいて階調変換を実行して低階調距離画像を生成し（ステップＳ１３３０３）、得られた低階調距離画像に対して検査を行う（ステップＳ１３３０４）。この方法であれば、ワークの高さ方向にばらつきがある場合でも、ワーク毎に階調変換の基準面を毎回再設定できるため、ワークの高さ方向のばらつきによらず、正確な検査が実現できる。
【０２３９】
次に、平面基準においても、上述した平均高さ基準と同様、基準面を決定するための基準面推定領域は、運用に先立って予め設定される（上述した図８のステップＳ８３）。図８のステップＳ８３において、基準面推定領域を指定する手順の一例については、上記図８８、図９２〜図９５のＧＵＩに基づいて説明した通りである。運用時においては、図１３３で説明した手順で動的変換が行われる。例えばライン上を搬送されるワークを撮像して距離画像を生成し（ステップＳ１３３０１）、上記で設定された基準面推定領域を抽出して、推定面を演算し（ステップＳ１３３０２）、得られた推定面を基準として階調変換を実行して低階調距離画像を生成し（ステップＳ１３３０３）、得られた低階調距離画像に対して検査を行う（ステップＳ１３３０４）。この方法であれば、ワークの表面に傾き等がある場合でも、これをキャンセルしてワークの傾きによらず、正確な検査が実現できる。
【０２４０】
最後に、自由曲面基準の具体的な設定方法については、図１２６〜図３２のＧＵＩに基づいて説明した通りである。自由曲面基準においても、上述した平均高さ基準等と同様、基準面を決定するための必要な条件は運用に先立って予め設定される（上述した図８のステップＳ８３）。また運用時においては、図１３３で説明した手順で動的変換が行われる。例えばライン上を搬送されるワークを撮像して距離画像を生成し（ステップＳ１３３０１）、上記で設定された自由曲面対象領域に対して、自由曲面を演算し（ステップＳ１３３０２）、得られた自由曲面を基準として階調変換を実行して低階調距離画像を生成し（ステップＳ１３３０３）、得られた低階調距離画像に対して検査を行う（ステップＳ１３３０４）。この方法であれば、曲面状のワークの表面検査等、従来の方法では正確な検査が困難であった作業も、高精度に行える利点が得られる。
【０２４１】
ここで、動的変換による基準面の指定が有効な例を、図１３９に基づいて説明する。この例では、高さの異なるワークＷＫ１１が、ベルトコンベアＢＣによって同一面上を搬送されている。この場合は、ワークＷＫ１１の高さが個々に異なるため、平均高さ基準等を利用し、個体毎の高さに応じて基準面を変更し階調変換することで、ワークの高さに変動があっても最適な階調変換が可能となる。
【０２４２】
また図１４０は、平面に微小な傾斜面と打痕のあるワークＷＫ１２の例を示している。この例では、打痕ＤＥに起因してワークＷＫ１２の表面に微小な傾斜面が存在しているため、傾きによって打痕の検出精度に影響がでる虞がある。そこで、平面基準等を利用し、ワーク個体毎に平面を動的に求めて基準面として階調変換することで、僅かな窪みや打痕の検出といった高精度な検査が可能となる。
【０２４３】
さらに図１４１は、半径の異なる曲面状のワークＷＫ１３の例を示している。この例でも、自由曲面基準等を利用し、ワーク毎に曲面を求め、これを基準面として階調変換を行うことで、個体毎の形状のばらつきの影響を軽減した検査が可能となる。
（階調変換パラメータの自動調整）
【０２４４】
以上、階調変換パラメータを、階調変換後の画像イメージに基づいて手動で設定する手順について説明した。一方、階調変換パラメータを手動で設定する場合に、最初に設定した階調変換パラメータで階調変換した場合、ワークや環境の変化等によって、検査に適した画像が得られない場合がある。このような場合には、ユーザが画像を参照して微調整することなく、階調変換後のデータを用いて階調変換パラメータを補正し、再度変換を行うことにより検査に適した画像変換を行うこともできる。この方法では、階調変換の初期設定を行った上で、任意の階調変換パラメータを初期値としてまず階調変換を行い、その後、階調変換パラメータの調整を行う。
【０２４５】
例えば階調変換条件自動設定手段を、階調変換条件自動設定手段と、階調変換条件手動設定手段として機能させることができる。すなわち、階調変換条件自動設定手段で、階調変換手段が距離画像を低階調距離画像に階調変換する際の簡易的な階調変換条件を設定する。また、階調変換条件自動設定手段で設定された簡易階調変換条件に基づき、階調変換された簡易低階調距離画像を表示手段に表示させた状態で、階調変換条件手動設定手段が、階調変換条件の手動調整を受け付ける。これにより、ユーザに対していきなり階調変換条件の設定を促すのでなく、暫定的な簡易階調変換条件を自動的に設定して階調変換を行った上で、得られた一以上の簡易低階調距離画像を参照しながら、所望の階調変換条件に設定できるため、ユーザが階調変換パラメータの意味を習熟していない場合や設定に不慣れな場合でも、ある程度自動化してこのような設定作業を行い易くすることができる。
【０２４６】
具体的な手順を、図１４２のフローチャートに基づいて説明する。まずステップＳ１４２０１において、距離画像の作成処理を実行する。次にステップＳ１４２０２において、階調変換パラメータの初期値を用いて、初期の階調変換処理を行う。さらにステップＳ１４２０３において、得られた階調変換画像が適切かどうかを判定し、適切でない場合はステップＳ１４２０４において再度、階調変換パラメータの調整を行った後、ステップＳ１４２０２に戻って処理を繰り返す。一方、ステップＳ１４２０３において適切な階調変換画像が得られていると判定された場合は、ステップＳ１４２０５に進み、所定の検査を実行する。
【０２４７】
なお、以上の方法ではステップＳ１４２０３において階調変換パラメータが適切かどうかの判定を行っているが、この手順を省略してもよい、この場合の手順を、図１４３に示す。各手順は上述した図１４２の例とほぼ同じであり、ステップＳ１４３０１において、距離画像の作成処理を実行し、次にステップＳ１４３０２において、初期の階調変換処理を行う。そしてステップＳ１４３０３において階調変換パラメータの調整を行った後、ステップＳ１４３０４において所定の検査を行う。
【０２４８】
初期の階調変換方法としては、例えば入力画像に変換関数ｆ（ｘ，ｙ，ｚ）にかける方法、入力画像にシフト，スパンをかけ、その結果をｎ階調に圧縮する方法、又は任意の平面を基準平面として、入力画像と基準平面との差分をとり、シフト，スパンをかけ、その結果をｎ階調に圧縮する方法、あるいは入力画像と基準画像との差分をとり、シフト，スパンをかけ、その結果をｎ階調に圧縮する方法等が挙げられる。
【０２４９】
次に、階調変換後の階調変換パラメータを自動調整する具体例について説明する。階調変換パラメータの自動調整方法には、（Ｃ１）変換後の距離画像データのヒストグラムの中央値を用いる方法、（Ｃ２）ヒストグラムの最大値、最小値を用いる方法、（Ｃ３）Ｃ１とＣ２の組み合わせ、等が考えられる。
（Ｃ１：ヒストグラムの中央値を用いる方法）
【０２５０】
まず、ヒストグラムの中央値を用いる方法について、図１４４のフローチャートに基づいて説明する。最初に、ステップＳ１４４０１において変換後の距離画像データのヒストグラムを計算する。次にステップＳ１４４０２において、ヒストグラムの中央値を求める。そしてステップＳ１４４０３において、中央値が予め定めた値になるよう、階調変換パラメータを変更する。ここで変更された階調変換パラメータを用いて、再度、階調変換処理を実行する。なお、中央の前後のｎ個を含めた２ｎ＋１の平均値を中央値としても良い。また、最大値，最小値はそれぞれ大きい方からｎ個，小さい方からｍ個をそれぞれ取り除いた後の中央値としてもよい。
（Ｃ２：ヒストグラムの最大値、最小値を用いる方法）
【０２５１】
まず、変換後の距離画像データのヒストグラムを計算する。次にヒストグラムの最大値，最小値を求め、最大値−最小値の幅が予め定めた値になるよう、階調変換パラメータを変更する。そして変更した階調変換パラメータで再度、階調変換処理を実行する。ここで、最大値，最小値は、それぞれ大きい方からｎ個，小さい方からｍ個のそれぞれ平均値としてもよい。または最大値，最小値は、それぞれ大きい方からｎ個，小さい方からｍ個のそれぞれ取り除いた後の最大値、最小値とすることもできる。
（Ｃ３：Ｃ１とＣ２の組み合わせ）
【０２５２】
上記のＣ１とＣ２を組み合わせてもよい。すなわち、ヒストグラムの計算後、その中央値と最大値−最小値の幅に基づいて、階調変換パラメータを変更して、再度階調変換する。
【０２５３】
以上の方法では、ヒストグラムに予めローパスフィルタを適用することもできる。また、変換後の距離画像に予めローパスフィルタを適用した上で、ヒストグラムを求めても良い。
【０２５４】
このような階調変換によって、高さ情報を含む階調数の高い距離画像を、低階調の低階調距離画像に変換できる。この低階調距離画像は二次元の画像として処理できるので、既存の二次元画像に対応した画像処理装置でも、低階調距離画像を扱うことが可能となる。例えば傷の有無を検査するためワークを撮像した距離画像に含まれる各画素の高さ情報を、濃淡値として１６進数の２進数で表現する。ここで、距離画像と基準距離画像の差分を算出すると、ワークの表面に現れる浅くて小さな傷の欠陥情報は、下位８階調に集約される。このため、階調変換手段により、例えば上位８階調を削減することで、検出精度の低下を防ぎつつ、差分画像の情報量を大きく圧縮することができる。このように、階調変換手段が、差分画像の各画素の濃淡値を階調表現したときの階調のうち上位半分の階調を減らすことにより、検出精度の低下を防ぎつつ、差分画像の情報量を大きく圧縮することができる。
（階調変換処理の部分実行）
【０２５５】
さらに階調変換処理は、距離画像のすべてに対して行うのでなく、一部においてのみ行うことができる。具体的には、階調変換手段は、距離画像の内で、指定された検査対象領域に対してのみ、階調変換処理を実行する。これにより、階調変換処理を軽減して、処理の負荷軽減、高速化が図られる。一例として、図１４５Ａに示すような、径の異なる円柱が三重に重なった形状のワークＷＫ１４を用いて、高さ検査処理（第一検査処理）と画像検査処理（第二検査処理）を組み合わせた複数の検査処理を行う場合を考える。ここでは、高さ検査処理として、このワークＷＫ１４の円柱状の各面の高さを測定し、また画像検査処理として、ワークＷＫ１４の上から二段までの円柱状の部分で欠けや割れの検出を行う外観検査を行う。検査処理の選択は、検査処理選択手段で行う。さらに検査処理選択手段で選択された検査処理に対する具体的な設定は、検査処理設定手段で行う。
（検査処理選択手段）
【０２５６】
検査処理選択手段は、距離画像に対して、検査実行手段で実行される検査処理を、複数の選択するための手段である。ここでは、図４４、図５６等に示すように、初期画面２６０から、処理ユニットの追加を行う際に、検査処理を選択する。具体的には、処理ユニットの「追加」のサブメニューから「計測」処理を選択して表示される、検査処理の一覧中から、所望の検査処理を選択する。この例では、「エリア」、「パターンサーチ」、「Ｓｈａｐｅｔｒａｘ２」、「エッジ位置」、「エッジ幅」、「エッジピッチ」、「エッジ角度」、「ペアエッジ」、「傷」、「ブロブ」、「濃淡ブロブ」、「トレンドエッジ位置」、「トレンドエッジ幅」、「トレンドエッジ欠陥」、「濃淡検査」、「色検査」、「ＯＣＲ」、「２Ｄコードリーダ」、「１Ｄコードリーダ」、「高さ計測」の中から、所望の検査処理を選択する。
（検査処理設定手段）
【０２５７】
一方、検査処理設定手段は、検査処理選択手段で選択された各検査処理について、その詳細を設定する。ここでは、図４６、図６３、図７８等に示すように、設定項目ボタン領域１１２に配置された各ボタンから、各設定項目を個別に設定するよう構成している。この例では、具体的な設定項目が設定項目ボタンとして並べられており、例えば「画像登録」ボタン１１３、「画像設定」ボタン１１４、「領域設定」ボタン１１５、「高さ抽出」ボタン１１６、「前処理」ボタン１１７、「検出条件」ボタン１１８、「詳細設定」ボタン１１９、「判定条件」ボタン、「表示設定」ボタン、「保存」ボタン等が含まれる。このように設定項目ボタン領域１１２は、検査処理設定手段として機能する。
（高さ検査処理）
【０２５８】
図１４５Ａのようなワーク対し、得られた距離画像の例を図１４５Ｂに示す。この距離画像は、階調変換前の１６階調で表現している。このような距離画像に対し、高さ計測（高さ検査処理）を行う場合は、階調変換を行うことなく、１６階調の高い精度のままの高さ情報を利用することで、高精度な検査が実現できる。具体的には、図１４５Ｃに示すように、ワークの各面の高さを計測するために、検査対象領域をワークの３つの面上にそれぞれ設定し、各検査対象領域の高さを１６階調のまま計測する。
（画像検査処理）
【０２５９】
一方、検査処理の内で高さ情報を用いない計測（画像検査処理）を行う場合は、高階調の情報は不要で、より低階調の距離画像で処理を行う方が、負荷が少ない。このため、高階調の距離画像に階調変換を行って、低階調の距離画像を得た上で処理を行う。ここで、距離画像の全体を低階調距離画像に変換する必要はなく、あくまで画像検査処理を行う対象のみに限って階調変換を行えば足りる。すなわち、階調変換を行う領域とは、一以上設定された検査対象領域の内で、高さ情報を用いない画像検査処理用に設定された検査対象領域を対象とする。図１４５Ｄに示す例では、図１４５Ｂと同様、階調変換前の高階調距離画像に対して、画像検査処理用の検査対象領域を設定する。この例では、ワークの上から二段までで欠け等を検出するために、二段目の円柱状を囲むように検査対象領域を設定する。いいかえると、三段目の円柱状は外観検査対象外なので、この部分を検査対象領域から除外するように設定する。そして、この画像処理検査用対象領域に対して、階調変換を行う。この結果得られた低階調距離画像を、図１４５Ｅに示す。この図に示す階調変換後の低階調距離画像は、８階調で表現されており、高階調距離画像に比べ高さ情報は幾分失われているものの、欠けの有無等を検出する外観検査用途には十分な精度が維持されているので、画像検査処理に支障はない。一方で、階調変換が必要な領域は、図１４５Ｂ等に比べて大幅に削減されているので、処理の簡素化、高速化に寄与する。
【０２６０】
このようにして、検査処理に応じて階調変換の有無が選択される。例えば図１１０のフロー表示領域２６１に表示される検査処理の内、「高さ計測」処理ユニット及び第二「高さ計測」処理ユニットにおいては、階調変換を行うことなく距離画像が有する１６階調の高さ情報を利用し、高精度な高さ計測が実現される。一方で、それ以外の検査処理、例えば「数値演算」処理ユニットや「エリア」処理ユニット、「ブロブ」処理ユニット２６７においては、階調変換した８階調の低階調濃淡画像が使用される。なお、図示しないが輝度画像に対して検査処理（例えば、カラーの輝度画像に対する色検査）を行う場合は、高さ情報がそもそも不要であるため、当然階調変換も不要である。
（階調変換条件設定手段４３の表示）
【０２６１】
また、このような階調変換処理が必要な画像検査処理に関しては、適切な階調変換を行うための階調変換条件を、階調変換条件設定手段４３から設定する。この際、階調変換条件設定手段４３は、階調変換処理が必要な場合にのみ設定可能とし、逆に階調変換処理が不要な検査処理、例えば高さ検査処理においては、階調変換条件を設定不能とすることで、ユーザは余計な設定作業に惑わされることなく、必要な項目のみをスムーズに設定することが可能となる。そこで、本実施の形態においては、高さ検査処理以外の、画像の高さ情報を必要としない検査処理の設定に際しては、距離画像の階調変換を行うための階調変換パラメータを設定する階調変換条件設定手段４３を表示させる一方で、高さ検査処理を設定する際には、階調変換条件設定手段４３を表示させないようにしている。
【０２６２】
具体的な設定時の手順を、図１４６のフローチャートに基づいて説明する。まずステップＳ１４６０１において、検査処理を選択する。ここでは検査処理選択手段である「計測」メニューで、検査実行手段で実行される検査処理を選択する。次にステップＳ１４６０２においては、ステップＳ１４６０１で選択した検査処理が、階調変換を要するものか否かを判定し、階調変換を要する検査処理である場合はステップＳ１４６０３に進み、階調変換を有効にすると共に、設定項目に階調変換設定手段を表示させる。
【０２６３】
例えば図１４５Ａのワークに対して「エリア」処理ユニットで画像検査処理を行う際には、図１４７に示すように、検査処理設定手段である設定項目ボタン領域１１２に、階調変換条件設定手段４３である「高さ抽出」ボタン１１６を表示させている。「高さ抽出」ボタン１１６を押下すると、図１４８に示すように、高さ抽出設定画面が表示される。ユーザはこの画面から、階調変換処理に必要な条件を各々設定できる。
【０２６４】
なお図１４８の例においては、右側の操作領域で設定された階調変換条件に従い、階調変換された低階調距離画像が、画像表示領域上で表示されている。これによってユーザは、現在の階調変換条件で所望の検査結果が得られるかどうかを視覚的に確認でき、階調変換条件の調整作業を容易に行える利点が得られる。特に図１４８の例では、検査対象領域を円形に設定して、ワークの２番目の円柱状を囲むように配置している。また検出方法を動的変換（リアルタイム抽出）とし、計算方法として平面基準を設定することにより、ワークの中央の天面と、その外周面の２面が検出されて、これらを基準平面として、ワークの表面にある傷や窪みを検出している。また、階調変換条件に従い検出された基準平面のパラメータ表示は、コンソール操作による切り換えて表示させることも可能である。
【０２６５】
さらに図１４８の例では、画像表示領域上に表示されるワークの全体を階調変換した低階調距離画像を表示させるのでなく、設定された検査対象領域の領域内でのみ、階調変換された低階調距離画像のイメージを表示させている。言い換えると、検査対象領域以外の画像は、元の距離画像をそのまま表示させている。これにより、階調変換が入力画像の全体で行われているのでなく、その一部である検査対象領域内でのみ実行されていることを、ユーザに対して視覚的に示すことができる。このようにして階調変換条件の設定が終了すると、ステップＳ１４６０４に進む。
【０２６６】
一方、階調変換を要しない検査処理の場合は、ステップＳ１４６０３を経ることなくステップＳ１４６０４にジャンプする。この場合は、検査処理の設定画面において階調変換条件設定手段は表示されない。例えば、「高さ計測」処理ユニットで高さ検査処理を行う場合は、図４６等に示すように、検査処理設定手段である設定項目ボタン領域１１２には、階調変換条件設定手段４３である「高さ抽出」ボタンが表示されない。これによってユーザは、高さ検査処理に不要な階調変換に関する条件設定を行う必要がないことを認識できる。あるいは、この検査処理に関しては階調変換条件の設定を行うことができないようにすることで、無用な設定に起因する混乱を回避することができる。
【０２６７】
そしてステップＳ１４６０４において、検査処理の設定を行う。最後にステップＳ１４６０５において、すべての検査処理の設定が終了したか否かを判定し、未だの場合はステップＳ１４６０１に戻って検査処理の選択から繰り返し、終了した場合は、処理を完了する。
【０２６８】
一方、運転時の手順を、図１４９のフローチャートに基づいて説明する。まずステップＳ１４９０１において、入力画像として距離画像を入力する。次にステップＳ１４９０２において、初期化を行う。ここではｎに１を設定する。さらにステップＳ１４９０３において、ｎ番目の検査処理を実行する。さらにステップＳ１４９０４において、ｎ＜Ｎ（Ｎは設定された検査処理の数）か否かを判定し、ＹＥＳの場合はステップＳ１４９０５においてｎを１インクリメントした上で、ステップＳ１４９０３に戻り、次の検査処理を実行する処理を繰り返す。一方、ｎ＜Ｎでない場合は、すべての検査処理を終了したとして、処理を完了する。このようにして、すべての検査処理を順次実行していく。
【０２６９】
ここでステップＳ１４９０３の検査処理の実行について詳述すると、まず検査処理で階調変換を要する場合は、図１５０のフローチャートに示すように、先にステップＳ１５００１において、距離画像の内、検査対象領域に対して、階調変換する。その上で、ステップＳ１５００２にて、階調変換後の低階調距離画像に対して、検査処理を実行する。一方、階調変換を行わない検査処理の場合は、図１５１のフローチャートに示すように、階調変換を経ることなく、高階調の距離画像のまま、検査対象領域内の検査処理を実行する（ステップＳ１５１０１）。
（画像選択の非表示機能）
【０２７０】
また、設定時においては、検査処理の種別に応じて、検査処理の設定を行う対象となる画像の選択に制限をかけることもできる。すなわち、検査処理選択手段で選択された検査処理が、距離画像又は輝度画像のいずれに対しても実行可能な場合は、これら距離画像又は輝度画像を登録画像として呼び出すことが可能である。その一方で、検査処理が距離画像に対しては実行可能であるものの、輝度画像に対して実行不可能なものがある。例えば高さ計測処理は、高精度な高さ情報を有する距離画像に対して実行されるものである。高さ情報を有しない通常の輝度画像に対しては、行うことができない。そこで、高さ計測処理のような、高さ情報を有する画像、すなわち距離画像に対してのみ実行可能な検査処理は、設定時に登録画像を呼び出す時点において、距離画像のみを選択可能とし、逆に輝度画像については選択できないようにする。これによって、誤って輝度画像に対して高さ計測処理に関する設定を行うような、本来不可能な設定作業を禁止又は排除し、設定の無駄を省き、ユーザの操作性を向上させることができる。
【０２７１】
以下、検査処理条件を設定する手順を、図１５２のフローチャートに基づいて説明する。まず、ステップＳ１５２０１において、検査処理を選択する。次にステップＳ１５２０２において、ステップＳ１５２０１で選択した検査処理が、距離画像と輝度画像のいずれかを指定可能な検査処理か、あるいは距離画像のみを指定可能な検査処理かを判定する。ここで距離画像と輝度画像のいずれかを指定可能な検査処理の場合は、ステップＳ１５２０３に進み、距離画像又は輝度画像のいずれかを選択する。
【０２７２】
例えば、図６１に示すように、検査処理として「エリア」処理ユニットを選択した場合を考える。この場合は、距離画像、輝度画像のいずれでも指定可能である。そこで、「エリア」処理ユニットでの検査処理設定項目として、例えば図６２において「画像設定」ボタン１１４を押下して、図１５３に示す画像設定画面３８０を表示させる場合は、操作欄１２２から画像を選択できる。ここでは、画像選択欄３８２に設けられた「表示画像」選択欄１２４で、第二画像表示領域１２１に表示される画像を選択できる。また画像設定欄３８４では、入力画像と登録画像を選択できる。この画像設定欄３８４から、入力画像を画像変数で指定できる。ここでは、「入力画像」選択欄３８６を選択すると、図１５４の画像変数選択画面３９０が表示され、選択可能な画像の一覧が表示される。画像変数選択画面３９０では、三次元画像処理装置に接続されている複数の撮像手段（カメラ）で撮像された画像のいずれかを選択できる。ここでは、撮像手段毎に異なる画像変数が付与されており、撮像手段と画像変数とが関連付けられている。例えばカメラ１で撮像した距離画像には画像変数「&Cam1Img」が、カメラ２の距離画像には画像変数「&Cam2Img」が、カメラ３の距離画像には画像変数「&Cam3Img」が、カメラ４の距離画像には画像変数「&Cam4Img」が、それぞれ付与されている。さらにカメラ１で撮像した輝度画像には画像変数「&Cam1GrayImg」が付与されている。ユーザは画像変数選択画面３９０中から、所望の画像を選択する。このように、「エリア」処理ユニットでは距離画像と輝度画像のいずれでも指定可能であるため、距離画像のみならず輝度画像も、選択肢の候補に含めて表示させている。
【０２７３】
さらに必要に応じて、画像変数選択画面３９０で一覧表示される画像変数を、ソートして表示することもでき、ユーザが所望の画像を選択し易いようにしている。
【０２７４】
一方、検査処理が距離画像のみを指定可能な処理の場合は、ステップＳ１５２０４に進み、距離画像を選択する。すなわち、輝度画像の選択ができないようにする。例えば、図４５に示すように、検査処理として「高さ計測」処理ユニット２６６を選択した場合は、距離画像のみを選択できる。よって、図４６に示すように、「高さ計測」処理ユニットにおける検査処理設定項目として、「画像設定」ボタン１１４を選択すると、同様に画像設定画面３８０が表示され、画像を選択できるようになる。ここで、同様に「入力画像」選択欄３８６を選択すると、図１５５の画像変数選択画面３９０が表示され、選択可能な画像の一覧が表示される。この画像変数選択画面３９０では、図１５４と異なり、輝度画像が選択肢に表示されず、距離画像のみが選択肢として表示される。この構成によって、ユーザは高さ計測に際して、誤って高さ情報を有さない輝度画像を選択する事態を回避でき、混乱の少ない操作環境が提供される。
【０２７５】
このようにして、画像が選択されると、ステップＳ１５２０５に進み、選択された画像に対して、検査処理条件を設定する。このように検査処理毎に、距離画像と輝度画像のいずれかを指定可能な検査処理か、あるいは距離画像のみを指定可能な検査処理かが決まっていることを利用して、検査処理毎に、選択可能な画像の種別を規定することで、設定ミスを回避し、ユーザの利便性に資する。
（検査処理の非表示機能）
【０２７６】
以上は、先に検査処理をユーザに選択させた上で、選択された検査処理の種別に応じて、検査処理の設定を行う対象となる画像の選択に際して、選択可能な画像に制限をかける例について説明した。逆に、先に画像を選択させた上で、この画像に対して実行可能な検査処理の種別に制限をかけることもできる。すなわち、まず画像選択手段で距離画像又は輝度画像を選択させ、次に検査処理選択手段でもって、検査実行手段で実行した検査処理を一以上選択する際に、選択された画像が距離画像か輝度画像かに応じて、各画像に対して実行可能な検査処理のみを選択可能とする。この構成であれば、選択された画像に対して、誤って設定不可能な検査処理を選択したり、この検査処理に関する検査処理条件を設定してしまう事態を回避できる。
【０２７７】
以下、この方法で検査処理条件を設定する手順を、図１５６のフローチャートに基づいて説明する。まず、ステップＳ１５６０１において、画像を選択する。ここでは、距離画像か輝度画像かを選択する。次にステップＳ１５６０２において、ステップＳ１５６０１で選択した画像が、距離画像と輝度画像のいずれかであるかを判定する。距離画像の場合はステップＳ１５６０３に進み、距離画像に対して実行可能な検査処理を、検査処理選択手段でもってユーザに選択させる。一方輝度画像の場合はステップＳ１５６０４に進み、輝度画像に対して実行可能な検査処理を、検査処理選択手段でもってユーザに選択させる。このようにして検査処理が選択されると、ステップＳ１５６０５に進み、選択された検査処理に対する検査処理条件を検査処理条件設定手段から設定する。
【０２７８】
例えば、図１５７に示すように、ワークに対して輝度画像と距離画像を取得する場合を考える。上述の通り、画像登録を行うと輝度画像と距離画像とが同時に登録される。ユーザは、この内いずれかの画像を選択して、次に選択した画像に対する検査処理を選択し、さらにその検査処理条件の設定を行う。例えば輝度画像を選択した場合は、図１５８に示すように、輝度画像に対して行う検査処理に対応するツールを追加する。ここでは、上述した図４４、図５６等と同様に、画像を選択して表示されるサブメニューから追加を選択すると、輝度画像に対して実行可能な検査処理の一覧が表示される。例えば「計測」処理として、「エリア」処理ユニットや「傷」処理ユニット、「ブロブ」処理ユニット２６７が選択肢として表示される。この段階で、輝度画像に対して実行できない検査処理、例えば「高さ計測」処理ユニットは表示されない。これによって、ユーザが誤って輝度画像に設定できない検査処理を選択してしまう事態を回避できる。なお、すべての計測処理を一覧表示させつつ、グレーアウトさせる等して選択不能とすることもできる。検査処理が選択されると、処理ユニットが確定され、次にこの検査処理に対して必要な検査処理条件の設定を検査処理条件設定手段から行う。
【０２７９】
また、距離画像を選択した場合は、図１５９に示すように距離画像に対して実行可能な検査処理に対応するツールを追加する。ここでも、距離画像を選択して表示されるサブメニューから追加を選択すると、輝度画像に対して実行可能な検査処理の一覧が表示される。例えば「計測」処理として、「エリア」処理ユニットや「傷」処理ユニット、「ブロブ」処理ユニット２６７に加えて、「高さ計測」処理ユニットも選択肢として表示される。ユーザは所望の検査処理を選択すると、処理ユニットが確定されて、この検査処理に対して必要な検査処理条件の設定を検査処理条件設定手段から行う。
【０２８０】
このように、画像に対して検査処理ツールを紐付けることで、選択不可能な画像と検査処理との組み合わせを物理的に排除し、ユーザによる設定ミスを容易に回避できる。
【産業上の利用可能性】
【０２８１】
本発明の三次元画像処理装置、三次元画像処理装置用ヘッド部、三次元画像処理方法、三次元画像処理プログラム、コンピュータで読み取り可能な記録媒体又は記録した機器は、三角測距の原理を利用した検査装置等に利用できる。
【符号の説明】
【０２８２】
１００、１００’、２００、３００、４００…三次元画像処理装置
１、１Ｂ、１Ｃ、１Ｄ…ヘッド部
２、２’…コントローラ部
３…入力手段
４…表示手段
１０、１０Ａ、１０Ｂ…撮像手段
２０…投光手段；２０Ａ…第一プロジェクタ；２０Ｂ…第二プロジェクタ
２１…測定光源
２２…パターン生成部
２３、２４、２５…レンズ
３０…ヘッド側制御部
３１…ヘッド側演算部
３２…距離画像生成手段
３４…フィルタ処理部
３６…ヘッド側通信手段；３６Ａ…コントローラ接続用インターフェース；３６Ｂ…ＰＣ接続用インターフェース
３８…記憶手段；３８ａ…距離画像記憶部；３８ｂ…輝度画像記憶部
４１…コントローラ側設定手段
４２…コントローラ側通信手段
４３…階調変換条件設定手段
４４…基準面設定手段
４５…空間コード化切替手段
４６…階調変換手段
４７…間隔均等化処理設定手段
４８…投光切替手段
４９…シャッタースピード設定手段
５０…検査実行手段
５１…主制御部
５２…コントローラ側接続部
５３…操作入力部
５４…表示制御部
５５…通信部
５６…ＲＡＭ
５７…コントローラ側記憶手段
５８…補助記憶手段
５９…出力部
６０…画像処理部
６２…異常点ハイライト手段
６４…画像サーチ手段
６６…リアルタイム更新手段
７０…ＰＬＣ
１１０…三次元画像処理プログラムＧＵＩ画面
１１１…第一画像表示領域
１１２…設定項目ボタン領域
１１３…「画像登録」ボタン
１１４…「画像設定」ボタン
１１５…「領域設定」ボタン
１１６…「高さ抽出」ボタン
１１７…「前処理」ボタン
１１８…「検出条件」ボタン
１１９…「詳細設定」ボタン
１２０…検査対象領域設定画面
１２１…第二画像表示領域
１２２…操作領域
１２４…「表示画像」選択欄
１２６…「計測領域」設定欄
１２８…「編集」ボタン
１３０…計測領域編集画面
１４０…高さ抽出選択画面
１４２…抽出方法選択手段
１４４…「抽出」ボタン
１４５…「抽出領域」指定欄
１４６…点状ポインタ
１４７…「抽出領域」ボタン
１４８…抽出領域設定ダイヤログ
１４９…抽出領域選択欄
１５０…一点指定画面
１５２…「Ｚ高さ」表示欄
１５４…強調方法設定欄
１５６…ゲイン調整欄
１５８…「詳細設定」ボタン
１６０…強調方法詳細設定画面
１６２…「抽出高さ」設定欄
１６４…ノイズ除去設定欄
１６６…無効画素指定欄
１７０…三点指定画面
１７２…高さ抽出表示欄
１７４…三点指定「詳細設定」ボタン
１８０…三点指定詳細設定画面
１８２…「抽出高さ」設定欄
１９０…高さ動的抽出設定画面
１９２…「計算方法」選択欄
１９４…「マスク領域」ボタン
１９６…「詳細設定」ボタン
２１０…平均高さ基準設定画面
２２０…マスク領域設定画面
２２２…「詳細設定」ボタン
２３０…平均高さ基準詳細設定画面
２４０…平面基準詳細設定画面
２５０…自由曲面基準設定画面
２５２…「抽出サイズ」指定欄
２６０…初期画面
２６１…フロー表示領域
２６２…第三画像表示領域
２６３…「撮像」処理ユニット
２６４…「Ｓｈａｐｅｔｒａｘ２」処理ユニット
２６５…「位置補正」処理ユニット
２６６…「高さ計測」処理ユニット；２６６Ｂ…第二「高さ計測」処理ユニット
２６７…「ブロブ」処理ユニット；２６７Ｂ…「色検査」処理ユニット
２６８…「編集」ボタン
２６９…撮像設定メニュー
２７０…画像登録画面
２７１…「カメラ選択」欄
２７２…「登録」ボタン
２８０…撮像設定画面
２８２…「詳細設定」ボタン
２８４…「撮像設定」ボタン
２９０…三次元計測設定画面
２９２…「連続更新で表示する」欄
２９４…シャッタースピード設定欄
２９５…数値表示欄
２９６…濃淡レンジ設定欄
３１０…前処理設定欄
３１２…計測不能基準設定欄
３１４…均等間隔処理設定欄
３１６…空間コード設定欄
３１８…プロジェクタ選択設定欄
３２２…「表示画像」選択欄
３２４…「編集」ボタン
３２６…抽出領域編集ダイヤログ
３３０…マスク領域設定欄
３３２…「編集」ボタン
３３４…マスク領域編集ダイヤログ
３４０…フィルタ処理設定画面
３５０…二値化レベル設定画面
３６０…判定条件設定画面
３７０…第一サブメニュー
３７２…第二サブメニュー
３７３…「計測」メニュー
３８０…画像設定画面
３８２…画像選択欄
３８４…画像設定欄
３８６…「入力画像」選択欄
３９０…画像変数選択画面
４６０…高さ計測設定画面
６２０…エリア設定画面
ＷＫ、ＷＫ７、ＷＫ８、ＷＫ９、ＷＫ１０、ＷＫ１１、ＷＫ１２、ＷＫ１３、ＷＫ１４…ワーク
ＰＣ…パーソナルコンピュータ
ＳＡ…サーチ対象領域
ＳＩ…スポイト状アイコン
ＲＯＩ…計測領域
ＢＣ…ベルトコンベア
ＤＥ…打痕
【図１】
2018044960.tif 000003
【図２】
2018044960.tif 000004
【図３】
2018044960.tif 000005
【図４】
2018044960.tif 000006
【図５】
2018044960.tif 000007
【図６】
2018044960.tif 000008
【図７】
2018044960.tif 000009
【図８】
2018044960.tif 000010
【図９】
2018044960.tif 000011
【図１０】
2018044960.tif 000012
【図１１】
2018044960.tif 000013
【図１２】
2018044960.tif 000014
【図１３】
2018044960.tif 000015
【図１４】
2018044960.tif 000016
【図１５】
2018044960.tif 000017
【図１６】
2018044960.tif 000018
【図１７】
2018044960.tif 000019
【図１８】
2018044960.tif 000020
【図１９】
2018044960.tif 000021
【図２０】
2018044960.tif 000022
【図２１】
2018044960.tif 000023
【図２２】
2018044960.tif 000024
【図２３】
2018044960.tif 000025
【図２４】
2018044960.tif 000026
【図２５】
2018044960.tif 000027
【図２６】
2018044960.tif 000028
【図２７】
2018044960.tif 000029
【図２８】
2018044960.tif 000030
【図２９】
2018044960.tif 000031
【図３０】
2018044960.tif 000032
【図３１】
2018044960.tif 000033
【図３２】
2018044960.tif 000034
【図３３】
2018044960.tif 000035
【図３４】
2018044960.tif 000036
【図３５】
2018044960.tif 000037
【図３６】
2018044960.tif 000038
【図３７】
2018044960.tif 000039
【図３８】
2018044960.tif 000040
【図３９】
2018044960.tif 000041
【図４０】
2018044960.tif 000042
【図４１】
2018044960.tif 000043
【図４２】
2018044960.tif 000044
【図４３】
2018044960.tif 000045
【図４４】
2018044960.tif 000046
【図４５】
2018044960.tif 000047
【図４６】
2018044960.tif 000048
【図４７】
2018044960.tif 000049
【図４８】
2018044960.tif 000050
【図４９】
2018044960.tif 000051
【図５０】
2018044960.tif 000052
【図５１】
2018044960.tif 000053
【図５２】
2018044960.tif 000054
【図５３】
2018044960.tif 000055
【図５４】
2018044960.tif 000056
【図５５】
2018044960.tif 000057
【図５６】
2018044960.tif 000058
【図５７】
2018044960.tif 000059
【図５８】
2018044960.tif 000060
【図５９】
2018044960.tif 000061
【図６０】
2018044960.tif 000062
【図６１】
2018044960.tif 000063
【図６２】
2018044960.tif 000064
【図６３】
2018044960.tif 000065
【図６４】
2018044960.tif 000066
【図６５】
2018044960.tif 000067
【図６６】
2018044960.tif 000068
【図６７】
2018044960.tif 000069
【図６８】
2018044960.tif 000070
【図６９】
2018044960.tif 000071
【図７０】
2018044960.tif 000072
【図７１】
2018044960.tif 000073
【図７２】
2018044960.tif 000074
【図７３】
2018044960.tif 000075
【図７４】
2018044960.tif 000076
【図７５】
2018044960.tif 000077
【図７６】
2018044960.tif 000078
【図７７】
2018044960.tif 000079
【図７８】
2018044960.tif 000080
【図７９】
2018044960.tif 000081
【図８０】
2018044960.tif 000082
【図８１】
2018044960.tif 000083
【図８２】
2018044960.tif 000084
【図８３】
2018044960.tif 000085
【図８４】
2018044960.tif 000086
【図８５】
2018044960.tif 000087
【図８６】
2018044960.tif 000088
【図８７】
2018044960.tif 000089
【図８８】
2018044960.tif 000090
【図８９】
2018044960.tif 000091
【図９０】
2018044960.tif 000092
【図９１】
2018044960.tif 000093
【図９２】
2018044960.tif 000094
【図９３】
2018044960.tif 000095
【図９４】
2018044960.tif 000096
【図９５】
2018044960.tif 000097
【図９６】
2018044960.tif 000098
【図９７】
2018044960.tif 000099
【図９８】
2018044960.tif 000100
【図９９】
2018044960.tif 000101
【図１００】
2018044960.tif 000102
【図１０１】
2018044960.tif 000103
【図１０２】
2018044960.tif 000104
【図１０３】
2018044960.tif 000105
【図１０４】
2018044960.tif 000106
【図１０５】
2018044960.tif 000107
【図１０６】
2018044960.tif 000108
【図１０７】
2018044960.tif 000109
【図１０８】
2018044960.tif 000110
【図１０９】
2018044960.tif 000111
【図１１０】
2018044960.tif 000112
【図１１１】
2018044960.tif 000113
【図１１２】
2018044960.tif 000114
【図１１３】
2018044960.tif 000115
【図１１４】
2018044960.tif 000116
【図１１５】
2018044960.tif 000117
【図１１６】
2018044960.tif 000118
【図１１７】
2018044960.tif 000119
【図１１８】
2018044960.tif 000120
【図１１９】
2018044960.tif 000121
【図１２０】
2018044960.tif 000122
【図１２１】
2018044960.tif 000123
【図１２２】
2018044960.tif 000124
【図１２３】
2018044960.tif 000125
【図１２４】
2018044960.tif 000126
【図１２５】
2018044960.tif 000127
【図１２６】
2018044960.tif 000128
【図１２７】
2018044960.tif 000129
【図１２８】
2018044960.tif 000130
【図１２９】
2018044960.tif 000131
【図１３０】
2018044960.tif 000132
【図１３１】
2018044960.tif 000133
【図１３２】
2018044960.tif 000134
【図１３３】
2018044960.tif 000135
【図１３４】
2018044960.tif 000136
【図１３５】
2018044960.tif 000137
【図１３６】
2018044960.tif 000138
【図１３７】
2018044960.tif 000139
【図１３８】
2018044960.tif 000140
【図１３９】
2018044960.tif 000141
【図１４０】
2018044960.tif 000142
【図１４１】
2018044960.tif 000143
【図１４２】
2018044960.tif 000144
【図１４３】
2018044960.tif 000145
【図１４４】
2018044960.tif 000146
【図１４５】
2018044960.tif 000147
【図１４６】
2018044960.tif 000148
【図１４７】
2018044960.tif 000149
【図１４８】
2018044960.tif 000150
【図１４９】
2018044960.tif 000151
【図１５０】
2018044960.tif 000152
【図１５１】
2018044960.tif 000153
【図１５２】
2018044960.tif 000154
【図１５３】
2018044960.tif 000155
【図１５４】
2018044960.tif 000156
【図１５５】
2018044960.tif 000157
【図１５６】
2018044960.tif 000158
【図１５７】
2018044960.tif 000159
【図１５８】
2018044960.tif 000160
【図１５９】
2018044960.tif 000161
【図１６０】
2018044960.tif 000162