(57)【要約】【課題】撮像対象物が移動している場合であっても、ダイナミックレンジを拡大した合成画像を適切に生成可能な画像処理装置を提供する。【解決手段】合成画像を生成するための露光条件と同じ露光条件で、基準とすべきワーク（基準ワーク）を複数回撮像し、それぞれの撮像によって取得された複数の入力画像ＩＭＧ３から、指定された領域が参照画像ＲＥＦとして登録される。稼動モードでは、複数の露光条件でワーク２を複数回撮像することで複数の入力画像ＩＭＧ１を取得し、それぞれの入力画像ＩＭＧ１に対して参照画像ＲＥＦに基づくサーチ処理が実行され。それぞれ特定された位置に基づいて、複数の入力画像ＩＭＧ１から所定の大きさをもつ部分画像ＩＭＧ２がそれぞれ抽出され、抽出された複数の部分画像ＩＭＧ２に対して画像合成処理が実行されることで、合成画像ＯＵＴＩＭＧが生成される。【選択図】図１１
2010134915.tif 000002
【特許請求の範囲】
【請求項１】
被測定物を撮像して画像データを生成するための撮像部に接続され、当該撮像部で撮像された画像データが入力されるカメラインターフェイス部と、
表示部に接続され、当該表示部に表示させる表示用画像データを出力する表示画面出力部と、
外部から入力を受付ける入力部と、
前記撮像部を用いて異なる露光条件で複数回撮像を行うことにより複数の画像を取得する取得手段と、
前記取得手段により得られた複数の第１画像に含まれる特定の被測定物の位置をそれぞれ特定する特定手段と、
前記複数の第１画像から前記被測定物の位置を基準として同じ大きさの第２画像をそれぞれ抽出する抽出手段と、
複数の前記第２画像を合成することでダイナミックレンジを拡大した合成画像を生成する合成手段とを備える、画像処理装置。
【請求項２】
前記特定の被測定物を示す参照画像および前記特定の被測定物の特徴情報の少なくとも一方を登録する登録手段をさらに備え、
前記特定手段は、予め登録された前記参照画像または前記特徴情報を前記第１画像内で探索することにより、前記特定の被測定物の位置をそれぞれ特定する、請求項１に記載の画像処理装置。
【請求項３】
前記登録手段は、
前記取得手段により得られた複数の第３画像から、前記参照画像として指定された領域をそれぞれ抽出する手段と、
当該抽出した複数の参照画像をそれぞれの露光条件に対応付けて登録、および、当該抽出した複数の参照画像のそれぞれに含まれる特徴情報をそれに対応する参照画像の露光条件に対応付けて登録、の少なくとも一方を行う手段とを含み、
前記特定手段の探索処理は、それぞれの前記第１画像についての露光条件に対応付けられた前記参照画像および前記特徴情報の少なくとも一方を用いて行う、請求項２に記載の画像処理装置。
【請求項４】
前記登録手段は、前記第１画像から抽出すべき前記第２画像の大きさとして予め設定された大きさの領域を前記参照画像として抽出する、請求項２に記載の画像処理装置。
【請求項５】
前記登録手段は、前記入力部に対する入力に応じて、前記第１画像から抽出すべき前記第２画像の大きさとして予め設定された大きさの領域とは独立した大きさの領域を前記参照画像として抽出可能である、請求項２に記載の画像処理装置。
【請求項６】
前記撮像部により撮像された画像が前記表示部で表示中に、当該表示中の画像上で、前記第２画像の大きさの設定が可能である、請求項１に記載の画像処理装置。
【請求項７】
前記特定手段において、前記複数の第１画像における前記被測定物の位置の特定、および、前記複数の第１画像から前記複数の第２画像の抽出、の少なくとも一方が異常となった場合に、エラーを通知する異常監視手段をさらに備える、請求項１に記載の画像処理装置。
【請求項８】
前記異常監視手段は、抽出された前記複数の第２画像のそれぞれの領域を前記撮像部の視野と対応付けて表示する、請求項７に記載の画像処理装置。
【請求項９】
前記異常監視手段は、前記複数の第１画像における前記参照画像に対応する位置の特定の異常、および、前記複数の第１画像から前記複数の第２画像の抽出の異常、のいずれについても監視を行うとともに、発生した異常の種別毎に区別してエラーを通知する、請求項７に記載の画像処理装置。
【請求項１０】
前記異常監視手段は、抽出された前記第２画像の領域の時間的な位置変化が、前記被測定物を搬送するライン速度から推定される変化を示すか否か応じて、異常の有無を判断する、請求項７に記載の画像処理装置。
【請求項１１】
前記特定手段は、前記一つの第１画像内の予め設定された領域を前記特定の被測定物を示す参照画像として抽出し、当該参照画像を後続して取得される前記第１画像内で探索することにより、当該後続の第１画像における前記特定の被測定物の位置を特定する、請求項１に記載の画像処理装置。
【請求項１２】
前記特定手段は、
１番目に取得される前記第１画像内の予め設定された領域を前記特定の被測定物を示す１番目の参照画像として抽出し、
当該１番目の参照画像を２番目に取得される前記第１画像内で探索することにより、当該２番目に取得される第１画像における前記特定の被測定物の位置を特定し、
当該２番目に取得される第１画像内において探索された当該１番目の参照画像の位置に応じた領域を前記特定の被測定物を示す２番目の参照画像として抽出し、
当該２番目の参照画像を３番目に取得される前記第１画像内で探索することにより、当該３番目に取得される第１画像における前記特定の被測定物の位置を特定する、請求項１１に記載の画像処理装置。
【請求項１３】
前記合成手段は、前記複数の第１画像のうち前記合成画像の生成対象とする領域を、前記入力部に対する入力に応じて設定された領域に限定する、請求項１１に記載の画像処理装置。
【請求項１４】
前記特定手段は、後続して取得される前記第１画像についての探索処理を、前記入力部に対する入力に応じて設定された前記撮像部の視野内における前記被測定物の移動速度と、前記入力部に対する入力に応じて設定された露光条件下において前記複数の画像を取得するために要する時間との積によって算出される移動量に応じた領域に限定して行う、請求項１１に記載の画像処理装置。
【請求項１５】
前記取得手段による一連の複数回撮像において、画像内の前記特定の被測定物を基準として位置合わせを行う場合の、先行の前記第１画像と後続の前記第１画像との相対的な位置ずれ量が、前記入力部に対する入力に応じて設定された前記撮像部の視野内における前記被測定物の移動速度と、前記入力部に対する入力に応じて設定された露光条件下において当該先行および後続の第１画像を取得するために要する時間との積によって算出される移動量から予め定められた値以上離れている場合に、当該移動量と対応するように、当該先行の前記第１画像と当該後続の前記第１画像との相対的な位置関係を補正する位置補正手段をさらに備える、請求項１２に記載の画像処理装置。
【請求項１６】
前記入力部に対する入力に応じて設定された前記撮像部の視野内における前記被測定物の移動速度と、前記入力部に対する入力に応じて設定された露光条件下において前記複数の画像を取得するために要する時間との積によって算出される移動距離に応じて、前記特定の被測定物についての合成画像を生成可能な最大範囲の大きさを示す情報を前記表示画面出力部へ与えることで、前記表示部にガイドを表示させるガイド手段をさらに備える、請求項１に記載の画像処理装置。
【請求項１７】
前記ガイド手段は、前記撮像部により撮像された画像上に前記ガイドを表示する、請求項１６に記載の画像処理装置。
【請求項１８】
前記合成手段は、前記複数の画像から予め定められた大きさをもつ部分画像をそれぞれ抽出し、当該抽出した部分画像から前記合成画像を生成し、
前記部分画像の大きさは、前記撮像部により撮像された画像が前記表示部で表示中に、当該表示中の画像上で設定可能である、請求項１６に記載の画像処理装置。
【請求項１９】
前記被測定物を搬送するライン速度および前記合成画像のサイズを受付ける受付手段をさらに備え、
前記ガイド手段は、前記ライン速度および前記合成画像のサイズに応じて、前記ガイドの搬送方向における長さを算出する、請求項１６に記載の画像処理装置。
【請求項２０】
決定された前記合成設定に含まれる複数の異なる撮像条件に従う複数回の撮像を、前記被測定物が搬送ラインの基準位置を通過したタイミングで開始することで取得された複数の画像を、前記撮像部の視野内における前記被測定物の移動方向についての方向および縮尺を一致させて前記表示部に表示する表示制御手段をさらに備える、請求項１９に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、異なる露光条件で複数回撮像して取得される複数の画像を合成して、ダイナミックレンジを拡大する画像処理装置に関するものである。
【背景技術】
【０００２】
ＦＡ（Factory Automation）分野などにおいては、製造過程の半製品や出荷前の製品などに生じる欠陥を光学的に検査したり、その大きさを光学的に計測したりする装置として、いわゆる視覚センサが実用化されている。
【０００３】
このような視覚センサを用いて検査や計測を行う場合には、被測定物を適切に撮像する必要がある。一般的に、ＣＣＤ（Coupled Charged Device）やＣＩＳ（Complementary Metal Oxide Semiconductor Image Sensor）などの撮像素子のダイナミックレンジ（光を検出可能な階調範囲）は有限である。そのため、撮像時の露光時間が相対的に長くなると、全面的もしくは部分的に白飛び（ハレーション）を生じてしまい、被測定物の輝度および色情報を正確に取得できない。逆に、撮像時の露光時間が相対的に短くなると、全面的もしくは部分的に黒つぶれを生じてしまい、有効な輝度を取得できない。さらに、局所的に反射率が異なる部分をもつ被測定物や曲率の大きな部分をもつ被測定物では、照明などの影響を受けて、局所的な白飛びや黒つぶれが発生し得る。
【０００４】
このように、同一の被測定物から放射される光強度（単位時間当たりに入射する光エネルギー）の最小値と最大値との差が、撮像素子のダイナミックレンジの範囲を超える場合には、被測定物の全体を適切に撮像することができないという問題があった。
【０００５】
そこで、同一の被測定物を異なる露光条件で複数回撮像し、これによって取得される複数の画像を合成することで、ダイナミックレンジを拡大させる技術が知られている。このような処理は、ハイダイナミック合成処理やスーパーラチチュード処理（Super Latitude process）とも称される。たとえば特開２００２−３３４３２６号公報（特許文献１）には、ダイナミックレンジ拡大を少ない計算処理負荷によって実現する視覚センサが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−３３４３２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＦＡ分野では、一般的に、検査や計測の対象となる被測定物は、コンベヤなどのライン上で搬送される。そのため、上述したようなダイナミックレンジを拡大するために、同一の被測定物を異なる露光条件で複数回撮像しようとした場合、一連の撮像に要する時間、撮像される視野、および被測定物の搬送速度などによって、それぞれの撮像によって取得される画像同士における被測定物の相対位置の違いが無視できなくなる場合がある。すなわち、撮像部による撮像が時系列で行われる以上、最初の撮像では、搬送経路の上流側に位置していた被測定物が、撮像が進むにつれて、搬送経路の下流側に移動することとなる。
【０００８】
その結果、撮像部の視野を基準としてそれぞれの画像を合成した場合には、ずれた状態の画像が現れることとなる。この画像ずれは、検査や計測の誤差となり得る。
【０００９】
そこで、この発明は、これらの問題を解決するためになされたものであり、その目的は、被測定物が移動している場合であっても、ダイナミックレンジを拡大した合成画像を適切に生成可能な画像処理装置を提供することである。
【課題を解決するための手段】
【００１０】
この発明のある局面に従う画像処理装置は、被測定物を撮像して画像データを生成するための撮像部に接続され、当該撮像部で撮像された画像データが入力されるカメラインターフェイス部と、表示部に接続され、当該表示部に表示させる表示用画像データを出力する表示画面出力部と、外部から入力を受付ける入力部と、撮像部を用いて異なる露光条件で複数回撮像を行うことにより複数の画像を取得する取得手段と、取得手段により得られた複数の第１画像に含まれる特定の被測定物の位置をそれぞれ特定する特定手段と、複数の第１画像から被測定物の位置を基準として同じ大きさの第２画像をそれぞれ抽出する抽出手段と、複数の第２画像を合成することでダイナミックレンジを拡大した合成画像を生成する合成手段とを有する。
【００１１】
好ましくは、本画像処理装置は、特定の被測定物を示す参照画像および特定の被測定物の特徴情報の少なくとも一方を登録する登録手段をさらに有し、特定手段は、予め登録された参照画像または特徴情報を第１画像内で探索することにより、特定の被測定物の位置をそれぞれ特定する。
【００１２】
好ましくは、登録手段は、取得手段により得られた複数の第３画像から、参照画像として指定された領域をそれぞれ抽出する手段と、当該抽出した複数の参照画像をそれぞれの露光条件に対応付けて登録、および、当該抽出した複数の参照画像のそれぞれに含まれる特徴情報をそれに対応する参照画像の露光条件に対応付けて登録、の少なくとも一方を行う手段とを含み、特定手段の探索処理は、それぞれの第１画像についての露光条件に対応付けられた参照画像および特徴情報の少なくとも一方を用いて行う。
【００１３】
また好ましくは、登録手段は、第１画像から抽出すべき第２画像の大きさとして予め設定された大きさの領域を参照画像として抽出する。
【００１４】
また好ましくは、登録手段は、入力部に対する入力に応じて、第１画像から抽出すべき第２画像の大きさとして予め設定された大きさの領域とは独立した大きさの領域を参照画像として抽出可能である。
【００１５】
好ましくは、本画像処理装置では、撮像部により撮像された画像が表示部で表示中に、当該表示中の画像上で、第２画像の大きさの設定が可能である。
【００１６】
好ましくは、本画像処理装置は、特定手段において、複数の第１画像における被測定物の位置の特定、および、複数の第１画像から複数の第２画像の抽出、の少なくとも一方が異常となった場合に、エラーを通知する異常監視手段をさらに有する。
【００１７】
さらに好ましくは、異常監視手段は、抽出された複数の第２画像のそれぞれの領域を撮像部の視野と対応付けて表示する。
【００１８】
さらに好ましくは、異常監視手段は、複数の第１画像における参照画像に対応する位置の特定の異常、および、複数の第１画像から複数の第２画像の抽出の異常、のいずれについても監視を行うとともに、発生した異常の種別毎に区別してエラーを通知する。
【００１９】
さらに好ましくは、異常監視手段は、抽出された第２画像の領域の時間的な位置変化が、被測定物を搬送するライン速度から推定される変化を示すか否か応じて、異常の有無を判断する。
【００２０】
また、好ましくは、特定手段は、一つの第１画像内の予め設定された領域を特定の被測定物を示す参照画像として抽出し、当該抽出された参照画像を後続して取得される第１画像内で探索することにより、当該後続の第１画像における特定の被測定物の位置を特定する。
【００２１】
さらに好ましくは、特定手段は、１番目に取得される第１画像内の予め設定された領域を特定の被測定物を示す１番目の参照画像として抽出し、当該１番目の参照画像を２番目に取得される第１画像内で探索することにより、当該２番目に取得される第１画像における特定の被測定物の位置を特定し、当該２番目に取得される第１画像内において探索された当該１番目の参照画像の位置に応じた領域を特定の被測定物を示す２番目の参照画像として抽出し、当該２番目の参照画像を３番目に取得される第１画像内で探索することにより、当該３番目に取得される第１画像における特定の被測定物の位置を特定する。
【００２２】
あるいは、さらに好ましくは、合成手段は、複数の第１画像のうち合成画像の生成対象とする領域を、入力部に対する入力に応じて設定された領域に限定する。
【００２３】
あるいは、さらに好ましくは、特定手段は、後続して取得される第１画像についての探索処理を、入力部に対する入力に応じて設定された撮像部の視野内における被測定物の移動速度と、入力部に対する入力に応じて設定された露光条件下において複数の画像を取得するために要する時間との積によって算出される移動量に応じた領域に限定して行う。
【００２４】
あるいは、さらに好ましくは、本画像処理装置は、取得手段による一連の複数回撮像において、画像内の特定の被測定物を基準として位置合わせを行う場合の、先行の第１画像と後続の第１画像との相対的な位置ずれ量が、入力部に対する入力に応じて設定された撮像部の視野内における被測定物の移動速度と、入力部に対する入力に応じて設定された露光条件下において当該先行および後続の第１画像を取得するために要する時間との積によって算出される移動量から予め定められた値以上離れている場合に、当該移動量と対応するように、当該先行の第１画像と当該後続の第１画像との相対的な位置関係を補正する位置補正手段をさらに有する。
【００２５】
好ましくは、本画像処理装置は、入力部に対する入力に応じて設定された撮像部の視野内における被測定物の移動速度と、入力部に対する入力に応じて設定された露光条件下において複数の画像を取得するために要する時間との積によって算出される移動距離に応じて、特定の被測定物についての合成画像を生成可能な最大範囲の大きさを示す情報を表示画面出力部へ与えることで、表示部にガイドを表示させるガイド手段をさらに有する。
【００２６】
さらに好ましくは、ガイド手段は、撮像部により撮像された画像上にガイドを表示する。
【００２７】
さらに好ましくは、合成手段は、複数の画像から予め定められた大きさをもつ部分画像をそれぞれ抽出し、当該抽出した部分画像から合成画像を生成し、部分画像の大きさは、撮像部により撮像された画像が表示部で表示中に、当該表示中の画像上で設定可能である。
【００２８】
さらに好ましくは、本画像処理装置は、被測定物を搬送するライン速度および合成画像のサイズを受付ける受付手段をさらに有し、ガイド手段は、ライン速度および合成画像のサイズに応じて、ガイドの搬送方向における長さを算出する。
【００２９】
好ましくは、本画像処理装置は、決定された合成設定に含まれる複数の異なる撮像条件に従う複数回の撮像を、被測定物が搬送ラインの基準位置を通過したタイミングで開始することで取得された複数の画像を、撮像部の視野内における被測定物の移動方向についての方向および縮尺を一致させて表示部に表示する表示制御手段をさらに有する。
【発明の効果】
【００３０】
この発明のある局面によれば、被測定物が移動している場合であっても、ダイナミックレンジを拡大した合成画像を適切に生成できる。
【図面の簡単な説明】
【００３１】
【図１】この発明の実施の形態に従う画像処理装置を含む視覚センサシステムの全体構成の一例を示す概略図である。
【図２】この発明の実施の形態に従う画像処理装置における全体処理を示す概略図である。
【図３】この発明の実施の形態に従うコンピュータのハードウェア構成を示す概略構成図である。
【図４】ワークとして腕時計の裏面を撮像した場合の入力画像の一例を示す図である。
【図５】この発明の実施の形態に従う画像処理装置の全体制御構造を示す機能ブロック図である。
【図６】撮像部に設定される露光時間と撮像に適した「明るさ」範囲との関係の一例を示す図である。
【図７】重み関数および応答関数の特性の一例を示す図である。
【図８】トーンマッピング部による割当て処理を説明するための図である。
【図９】「明るさ」上下限範囲の設定に係る処理を説明するための図である。
【図１０】この発明の実施の形態に従う動き追従処理による効果を説明するための図である。
【図１１】この発明の実施の形態に従って生成される合成画像を関連技術により生成された合成画像と比較する図である。
【図１２】この発明の実施の形態に従う動き追従処理（モデル登録型）の概要を説明するための図である。
【図１３】この発明の実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例（その１）を示す図である。
【図１４】この発明の実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例（その２）を示す図である。
【図１５】この発明の実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例（その３）を示す図である。
【図１６】この発明の実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例（その４）を示す図である。
【図１７】この発明の実施の形態に従う画像処理装置のモニタに表示される「稼動モード」における画面表示例を示す図である。
【図１８】図５に示す動き追従制御部のより詳細な制御構造を示す機能ブロック図である。
【図１９】この発明の実施の形態に従うサーチ処理の詳細を説明するための図である。
【図２０】この発明の実施の形態に従うガイド枠の算出方法を説明するための図である。
【図２１】この発明の実施の形態に従う処理タイミングを説明するための図である。
【図２２】この発明の実施の形態に従う画像処理装置のモニタに表示される「稼動モード」におけるエラー通知の画面表示例を示す図である。
【図２３】この発明の実施の形態に従う入力画像からの部分画像の抽出が異常となった場合を説明するための図である。
【図２４】この発明の実施の形態に従う異常監視処理の別形態について説明する図である。
【図２５】図２４に示す処理を実現するための異常監視部における制御構造の一例を示す図である。
【図２６】この発明の実施の形態に従う視野調整中における画面表示例を示す図である。
【図２７】この発明の実施の形態に従う各種調整操作を説明するための図である。
【図２８】この発明の実施の形態に従う画像処理装置における全体処理（モデル登録型）を示すフローチャートである。
【図２９】図２８に示す合成処理設定サブルーチンにおける処理を示すフローチャートである。
【図３０】図２９に画像合成処理サブルーチン（設定モード）における処理を示すフローチャートである。
【図３１】図２８に示す動き追従（モデル登録型）設定サブルーチンにおける処理を示すフローチャートである。
【図３２】この発明の実施の形態に従う画像処理装置における「稼動モード」（モデル登録型）における処理を示すフローチャートである。
【図３３】図３２に画像合成処理サブルーチン（稼動モード）における処理を示すフローチャートである。
【図３４】この発明の実施の形態に従う動き追従処理（モデル登録型）についての第１変形例に対応する参照画像登録部のより詳細な制御構造を示す機能ブロック図である。
【図３５】この発明の実施の形態に従う動き追従処理（モデル登録型）についての第２変形例に係る設定を行うための設定モード画面を示す図である。
【図３６】この発明の実施の形態に従う動き追従処理（モデル登録型）についての第２変形例に係る領域設定画面を示す図である。
【図３７】この発明の実施の形態に従う動き追従処理（逐次抽出型）の概要を説明するための図である。
【図３８】この発明の実施の形態に従う動き追従処理（逐次抽出型）の全体処理概要を説明するための図である。
【図３９】この発明の実施の形態に従う動き追従処理（逐次抽出型）における画像合成領域の低減処理を提供する画面表示例（その１）を示す図である。
【図４０】この発明の実施の形態に従う動き追従処理（逐次抽出型）における画像合成領域の低減処理を提供する画面表示例（その２）を示す図である。
【図４１】この発明の実施の形態に従う動き追従処理（逐次抽出型）における画像合成領域の設定操作中の画面表示例を示す図である。
【図４２】この発明の実施の形態に従う動き追従処理（逐次抽出型）において画像合成領域が低減されている場合に表示される「稼動モード」における画面表示例を示す図である。
【図４３】この発明の実施の形態に従う動き追従処理（逐次抽出型）におけるモデル領域の設定機能を提供する画面表示例を示す図である。
【図４４】この発明の実施の形態に従う動き追従処理（逐次抽出型）におけるモデル領域の設定機能による効果を説明するための図である。
【図４５】この発明の実施の形態に従う動き追従処理（逐次抽出型）におけるサーチ領域の効率的な設定機能を提供する画面表示例を示す図である。
【図４６】この発明の実施の形態に従う動き追従処理（逐次抽出型）におけるサーチ領域の効率的な設定機能による効果を説明するための図である。
【図４７】この発明の実施の形態に従う動き追従処理（逐次抽出型）における各領域を説明するための図である。
【図４８】この発明の実施の形態に従う動き追従処理（逐次抽出型）における位置ずれの補正機能の内容を説明するための図である。
【図４９】図４８に対応する移動量の一例を示す図である。
【図５０】この発明の実施の形態に従う動き追従処理（逐次抽出型）における位置ずれの補正機能に係る機能ブロック図である。
【図５１】この発明の実施の形態に従う画像処理装置における全体処理（逐次抽出型）を示すフローチャートである。
【図５２】図５１に示す動き追従設定（逐次抽出型）サブルーチンにおける処理を示すフローチャートである。
【図５３】この発明の実施の形態に従う画像処理装置における「稼動モード」（逐次抽出型）における処理を示すフローチャートである。
【図５４】この発明の実施の形態に従う画像処理装置において提供される動き追従処理に係る設定を行うための設定モード画面を示す図である。
【図５５】この発明の実施の形態に従う画像処理装置に用いられる撮像部の撮像面を示す平面図である。
【図５６】この発明の実施の形態に従う発光部の照明強度（供給電力）と撮像に適した「明るさ」範囲との関係の一例を示す図である。
【図５７】この発明の実施の形態に従う処理タイミングを説明するための図である。
【発明を実施するための形態】
【００３２】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００３３】
［Ａ．概要］
図１は、この発明の実施の形態に従う画像処理装置を含む視覚センサシステム１の全体構成の一例を示す概略図である。図２は、この発明の実施の形態に従う画像処理装置における全体処理を示す概略図である。
【００３４】
図１を参照して、視覚センサシステム１は、代表的に生産ラインなどに組込まれ、撮像部８によって被測定物（以下「ワーク」とも称す。）２を撮像して得られる画像データを画像処理することで、欠陥などを検査したり、その大きさなどを計測したりする。一例として、本実施の形態においては、ワーク２は、ベルトコンベヤなどの搬送ライン６によって搬送される。すなわち、ワーク２は、搬送ライン６上を所定の搬送方向に所定速度で移動する。
【００３５】
この発明の実施の形態に従う画像処理装置は、異なる露光条件でワーク２を複数回撮像することで複数の画像を取得し、これらの取得した画像がそれぞれ有する色情報および輝度を反映した合成画像を生成する。このような画像合成処理によって、撮像部８が本来有するダイナミックレンジに比較して、より広いダイナミックレンジでの撮像を実現する。
【００３６】
特に、本実施の形態によれば、搬送ライン６上を移動するワーク２についての画像合成処理に適した画像処理装置を提供する。具体的には、本実施の形態に従う画像処理装置は、１枚の合成画像の生成に必要な複数の画像を取得する過程において、ワーク２の移動に追従して、取得されたそれぞれの画像に含まれる目的のワーク２（特定の被測定物）の位置をそれぞれ特定する。そして、この特定結果を利用して、これらの複数の画像についての位置合わせを行った上で、画像合成処理を実行する。これにより、移動するワーク２についても、より適切にダイナミックレンジを拡大した撮像を行うことができる。
【００３７】
図２を参照して、本実施の形態に従う画像処理装置では、撮像処理（ステップＳ１）、動き追従処理（ステップＳ２）、画像合成処理（ステップＳ３）、後処理（ステップＳ４）が実行される。
【００３８】
ステップＳ１の撮像処理では、撮像部８を用いて異なる露光条件で複数回撮像を行うことにより、それぞれの撮像タイミングにおける撮像部８の視野の内容を示す複数の画像（以下「入力画像」とも称す。）が取得される。より具体的には、同一の撮像部８を用いて、ｎ種類の露光条件（典型的には、露光時間ｔ１，ｔ２，…，ｔｎ）についての一連の撮像によって得られるｎ個の入力画像ＩＭＧ１＿１，ＩＭＧ１＿２，…，ＩＭＧ１＿ｎの間では、目的のワーク２の現れる位置が異なったものとなっている。これは、一連の撮像の間に、ワーク２が移動するためである。そのため、これらの入力画像ＩＭＧ１＿１，ＩＭＧ１＿２，…，ＩＭＧ１＿ｎを、そのまま画像合成処理をしたとしても、目的のダイナミックレンジを拡大した合成画像を生成することができない。
【００３９】
そこで、ステップＳ２の動き追従処理において、一連の複数回撮像により得られた複数の画像の組である、複数の入力画像に含まれる特定のワーク２の位置がそれぞれ特定される。
【００４０】
続いて、ステップＳ３の画像合成処理において、複数の入力画像に対応する特定のワーク２の位置を基準とした範囲の画像（以下「部分画像」とも称す。）について、複数の部分画像を合成することでダイナミックレンジを拡大した合成画像が生成される。後述するように、この画像合成処理には、輝度合成処理、階調値変換処理、色合成処理、最終生成処理などが含まれる。
【００４１】
その後、ステップＳ４の後処理において、この合成画像についての表示処理や計測処理が実行される。
【００４２】
以下の説明では、本実施の形態に従う画像処理装置の構成および画像合成処理について説明した後に、本実施の形態に従う画像処理装置における一つの特徴点である、「動き追従処理」について説明する。本実施の形態においては、「動き追従処理」の実現例として、「モデル登録型」および「逐次抽出型」についてそれぞれ説明する。詳細な内容については後述するが、「モデル登録型」では、予め登録された、目的のワーク２を示す参照画像（パターン）または目的のワーク２の特徴情報を、取得されたそれぞれの画像内で探索（サーチ）することにより、当該目的のワークの位置が特定される。一方、「逐次抽出型」では、異なる露光条件からなる一連の複数回撮像において順次取得される一組の画像について、最初に取得される入力画像内の目的のワーク２の位置を基準として、後続の入力画像について位置合わせが行われる。
【００４３】
［Ｂ１．全体装置構成］
再度、図１を参照して、搬送ライン６に対して固定配置された撮像部８は、ワーク２がその視野内に到達すると、後述するようなダイナミックレンジを拡大するための複数回の撮像を開始する。このようなワーク２の到達は、搬送ライン６に設けたセンサによって検出される。典型的には、図１に示すように、搬送ライン６の両サイドに光電センサを配置し、その光電センサからの検出信号（以下、「トリガ信号」とも称す。）に応答して、撮像部８による撮像が開始される。より具体的には、光電センサは、同一の光軸上に配置された受光部４ａと投光部４ｂとからなり、投光部４ｂから放射される光がワーク２で遮蔽されることを受光部４ａが検出することによって、トリガ信号が出力される。なお、画像合成処理が中止されている期間中には、撮像部８は、所定の周期で繰り返し撮像を行うようにしてよい。
【００４４】
なお、このような光電センサは、撮像部８の視野中心にワーク２が位置した状態を検出するように配置されるのが理想的であるが、光電センサでの検出遅れなどを考慮して、撮像部８の視野中心よりも搬送ライン６の上流側に配置されることが多い。このように、光電センサを配置する位置（以下「トリガ位置」とも称す。）は、撮像部８による撮像開始タイミングに影響を与えるので、重要な調整項目である。したがって、本実施の形態に従う画像処理装置は、知識の少ないユーザであっても、このようなトリガ位置を容易に調整できるような機能も提供する。この機能の詳細については、後述する。
【００４５】
なお、ワーク２の移動速度、すなわち搬送ライン６の搬送速度を「ライン速度」とも称す。なお、搬送ライン６のライン速度の変更などを含む各種制御は、図示しないＰＬＣ（Programmable Logic Controller）などによって制御されてもよい。
【００４６】
撮像部８による複数回の撮像によって取得された複数の入力画像は、本実施の形態に従う画像処理装置を典型的に具現化するコンピュータ１００へ伝送される。本実施の形態においては、主として、カラーの入力画像を扱う処理について説明する。
【００４７】
一例として、撮像部８は、レンズなどの光学系に加えて、ＣＣＤ（Coupled Charged Device）やＣＩＳ（Complementary Metal Oxide Semiconductor Image Sensor）センサといった、複数の画素に区画された撮像素子を含んで構成される。各画素に対応する撮像素子は、入射する光に対して１つまたは複数の分光感度を有している。
【００４８】
より具体的には、撮像部８の撮像素子は、典型的には、各画素について、光の三原色に基づく「赤色」「緑色」「青色」のそれぞれに分光感度を有している。そして、撮像部８の撮像素子は、入射する光についての「赤色」「緑色」「青色」の３色の検出値（Ｒ輝度、Ｇ輝度、Ｂ輝度）を出力する。ここで、たとえば、Ｒ輝度は、撮像素子に入射する光のうち、赤色の分光感度に含まれる波長成分に相当する光強度（ある露光時間内に入射した光エネルギー）の大きさを示す。Ｇ輝度およびＢ輝度についても、それぞれ対応の分光感度に含まれる波長成分に相当する光強度の大きさを示す。また、本実施の形態においては、Ｒ輝度、Ｇ輝度、Ｂ輝度は、いずれも８ビット（０〜２５５階調）の範囲で規定されるものとする。
【００４９】
なお、撮像部が有する分光感度は３つ（３バンド）に限定されることなく、より多くの色に分光感度をもつようにしてもよい。このようなマルチバンドの撮像部を用いることで、より撮像可能な色域を拡大させることができる。あるいは、光の三原色の補色である「シアン」「マゼンダ」「黄色」の３色の検出値（Ｃ輝度、Ｍ輝度、Ｙ輝度）を分光感度として有していてもよい。また、単板式のＣＣＤなどを用いる場合には、各画素が「赤色」「緑色」「青色」のうちいずれか１色だけについて受光感度を有している場合がある。このような場合には、図示しない補間部によって、「赤色」「緑色」「青色」の各々についての輝度をもつ入力画像を生成してもよい。
【００５０】
また、撮像部８は、撮像時の露光条件（典型的には、露光時間）を変更可能である。この露光条件とは、１回の撮像において撮像素子に入射する光エネルギーを調整するための値であり、代表的に、機械的または電子的なシャッター速度、光学系のしぼり量、および被測定物へ照射する照明強度などによって調整される。本実施の形態では、露光条件の代表例として、被測定物への照明強度は一定であるとして、「露光時間」を調整する構成について例示するが、露光時間に限られず、しぼり量や照明強度などを調整するようにしてもよい。これらの別形態については、後述する。
【００５１】
一方、コンピュータ１００は、ＦＤ（Flexible Disk）駆動装置１１１およびＣＤ−ＲＯＭ（Compact Disk-Read Only Memory)駆動装置１１３を搭載するコンピュータ本体１０１と、モニタ１０２と、キーボード１０３と、マウス１０４とを含む。そして、コンピュータ本体１０１は、予め格納されたプログラムを実行することで、本実施の形態に従う画像処理装置を実現する。
【００５２】
［Ｂ２．ハードウェア構成］
図３は、この発明の実施の形態に従うコンピュータ１００のハードウェア構成を示す概略構成図である。
【００５３】
図３を参照して、コンピュータ本体１０１は、図１に示すＦＤ駆動装置１１１およびＣＤ−ＲＯＭ駆動装置１１３に加えて、相互にバスで接続された、ＣＰＵ（Central Processing Unit）１０５と、メモリ１０６と、固定ディスク１０７と、表示画面出力部１０８と、カメラインターフェイス部１０９と、ＰＬＣインターフェイス部１１５と、センサインターフェイス部１１７とを含む。
【００５４】
ＦＤ駆動装置１１１にはＦＤ１１２が装着可能であり、ＣＤ−ＲＯＭ駆動装置１１３にはＣＤ−ＲＯＭ１１４が装着可能である。上述したように、本実施の形態に従う画像処理装置は、ＣＰＵ１０５がメモリ１０６などのコンピュータハードウェアを用いて、プログラムを実行することで実現される。一般的に、このようなプログラムは、ＦＤ１１２やＣＤ−ＲＯＭ１１４などの記録媒体に格納されて、またはネットワークなどを介して流通する。そして、このようなプログラムは、ＦＤ駆動装置１１１やＣＤ−ＲＯＭ駆動装置１１３などにより記録媒体から読取られて、記録装置である固定ディスク１０７に一旦格納される。さらに、固定ディスク１０７からメモリ１０６に読出されて、ＣＰＵ１０５により実行される。
【００５５】
ＣＰＵ１０５は、プログラムされた命令を逐次実行することで、各種の演算を実施する演算処理部である。メモリ１０６は、ＣＰＵ１０５でのプログラム実行に応じて、各種の情報を一時的に格納する。
【００５６】
表示画面出力部１０８は、ＣＰＵ１０５が出力する情報を表示するための表示部であるモニタ１０２に接続され、モニタ１０２に表示させる表示用画像データを出力する。より具体的には、表示画面出力部１０８は、ＣＰＵ１０５からの内部コマンドに従って描画処理を行うことで、画像メモリ上に表示用の画像データを逐次生成する。なお、モニタ１０２は、一例としてＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode Ray Tube）などから構成される。後述するように、本実施の形態に従うモニタ１０２には、ワーク２を複数回撮像することで生成される合成画像、１回あたりの画像合成処理に要する見込みの処理時間、合成画像の「明るさ」についてのヒストグラムなどが表示される。
【００５７】
カメラインターフェイス部１０９は、被測定物を撮像して画像データを生成するための撮像部８に接続され、撮像部８で撮像された画像データが入力される。すなわち、カメラインターフェイス部１０９は、コンピュータ本体１０１と撮像部８との間のデータ通信を仲介する。より具体的には、カメラインターフェイス部１０９は、画像バッファ１０９ａと露光時間設定部１０９ｂとを含む。画像バッファ１０９ａは、撮像部８で撮像され逐次伝送される入力画像を一旦蓄積し、１回の撮像分の入力画像が蓄積されると、その蓄積されたデータをメモリ１０６または固定ディスク１０７へ転送する。露光時間設定部１０９ｂは、ＣＰＵ１０５からの内部コマンドに従って、それぞれの撮像開始前に撮像部８にコマンドを送信し、撮像部８における露光時間を設定する。
【００５８】
ＰＬＣインターフェイス部１１５は、コンピュータ本体１０１と図示しないＰＬＣとの間のデータ通信を仲介するための装置である。また、センサインターフェイス部１１７は、上述した光電センサなどからのトリガ信号を受信して、ＣＰＵ１０５へ伝達する。
【００５９】
固定ディスク１０７は、ＣＰＵ１０５が実行するプログラムや入力画像などを格納する不揮発性の記録装置である。
【００６０】
キーボード１０３およびマウス１０４は、外部から入力を受付ける入力部である。より具体的には、キーボード１０３は、入力されるキーに応じたユーザからの指令を受付ける。また、マウス１０４は、クリックやスライドなどの動作に応じたユーザからの指令を受付ける。
【００６１】
また、コンピュータ１００には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【００６２】
［Ｂ３．動作モード］
本実施の形態に従う視覚センサシステム１は、ワーク２を複数回撮像することで合成画像を生成するとともに、必要に応じて当該合成画像に対して検査や計測を実行する「稼動モード」と、ワーク２についての画像合成処理に係る設定を行うための「設定モード」とを選択することが可能である。ユーザは、「設定モード」において、モニタ１０２に表示される画像合成処理によって生成された合成画像を参照しながら、画像合成処理に係る設定を入力する。
【００６３】
［Ｃ．画像合成処理］
次に、合成画像を生成するための画像合成処理について説明する。本実施の形態に従う画像合成処理は、主として撮像部８のダイナミックレンジを拡大させるためのものである。
【００６４】
図４は、ワークとして腕時計の裏面を撮像した場合の入力画像の一例を示す図である。
図４（ａ）は、露光時間が相対的に長い条件下で１回の撮像により取得された入力画像を示し、図４（ｂ）は、露光時間が相対的に短い条件下で１回の撮像により取得された入力画像を示す。なお、図４（ａ）および図４（ｂ）において、入射する光強度は同じ条件であるとする。図４に示すワークは、金属製の時計本体部と皮革製のバンド部とを含む。両者の反射率は大きく異なるので、各部から放射される光強度（単位時間当たりに放射される光エネルギー）にも大きな差がある。
【００６５】
そのため、露光時間が長くなると、相対的に反射率の高い時計本体部は白飛びを生じてしまい、有効な輝度を取得することができない。すなわち、図４（ａ）に示すように、時計本体部に記された文字が識別できなくなっていることがわかる。これに対して、露光時間が短くなると、相対的に反射率の低いバンド部から十分に光エネルギーを受光することができず、有効な輝度を取得することができない。すなわち、図４（ｂ）に示すように、バンド部は黒つぶれを生じており、ステッチなどの欠陥が識別できなくなっていることがわかる。
【００６６】
そこで、本実施の形態に従う画像処理装置は、同一のワーク２を異なる露光条件（露光時間）で複数回撮像し、取得された複数の入力画像から合成画像を生成する。入力画像は、撮像部８に入射する光強度の分布を示す値（各色の輝度分布）を含んでおり、本実施の形態に従う画像処理装置は、各画素に対応するそれぞれの入力画像に含まれる光強度を示す値（各色の輝度）と、対応する入力画像の撮像時における露光条件（露光時間）とに基づいて、合成画像の各画素の色情報（以下、「合成色情報」とも称す。）および輝度（以下、「合成輝度」とも称す。）を算出する。そして、合成色情報及び合成輝度に基づいて、合成画像が生成される。
【００６７】
すなわち、合成輝度は、撮像部８の撮像素子に入射する光強度に応じた輝度値に相当し、有効ダイナミックレンジ内で一定以上の輝度分解能を有する。さらに、それぞれの合成輝度から、撮像部８の撮像素子に入射する光強度の分布に応じた輝度値分布が算出される。なお、有効ダイナミックレンジとは、合成輝度の最小値と最大値との差、あるいはこれらの間の範囲を意味する。
【００６８】
概略すると、この合成輝度の算出処理では、各画素について、入力画像のそれぞれにおける光強度を示す値（輝度）が露光時間で規格化される。そして、その規格化された光強度の大きさが適切な範囲にあるものが優先的に採用される。言い換えれば、合成画像における各画素の合成輝度は、複数の入力画像の対応する画素がそれぞれもつ情報のうち、ワーク２から放射される光強度（単位時間当たりに入射する光エネルギー）に適した露光時間で撮像された画素がもつ情報を主成分として算出される。このような処理によって、適切な露光時間で撮像された輝度をもつ画素の集合として、合成画像を生成できる。図４（ｃ）は、本実施の形態に従う画像合成処理によって生成された合成画像の一例を示す図である。図４（ｃ）に示すように、上述の画像合成処理を行うことで、図４（ａ）のような白飛びや図４（ｂ）に示すような黒つぶれを含まない合成画像を生成できる。
【００６９】
広いダイナミックレンジを有限の階調をもつ１枚の画像で表現するためには、非線形なトーンマッピングをすることが有効である。トーンマッピングには、種々の方法があり、関数を用いて算出される非線形トーンマッピングの代表例としては、対数変換やガンマ補正などがある。あるいは、関数ではなく予め定められたルックアップテーブルを用いることにより任意の形状のトーンマッピングを行うこともできる。一方、トーンマッピングをかけるタイミングとして、加算処理を行った後に処理する場合と、加算処理の前に処理する場合の２つの方法が可能である。つまりトーンマッピングには複数のバリエーションがあり、また、処理タイミングとして２つの方法があることになる。
【００７０】
本実施の形態では、これらの処理の一例として、対数変換を行った後に加算処理を行う場合の構成を示す。
【００７１】
［Ｄ１．全体制御構造］
上述したように、本実施の形態に従う画像処理装置は、主として以下の３つの処理を実行する。
【００７２】
（１）ワークを異なる露光時間で複数回撮像する処理（撮像処理）
（２）一連の複数回撮像により得られた複数の入力画像に含まれる特定のワーク２の位置の特定（動き追従処理）
（３）複数の入力画像に含まれる特定のワーク２の位置を基準とした部分画像を合成することでダイナミックレンジを拡大した合成画像の生成（画像合成処理）
そして、画像合成処理は、主として、以下の４つのサブ処理からなる。
【００７３】
（３−１）撮像された入力画像の輝度から合成輝度を算出する処理（輝度合成処理）
（３−２）算出された合成輝度から階調値を算出する処理（階調値変換処理）
（３−３）撮像された入力画像の色情報から合成色情報を算出する処理（色合成処理）
（３−４）合成色情報と階調値とから合成画像を生成する処理（最終生成処理）
以下、まず（１）〜（３）の処理の概略について説明した後、（２）動き追従処理の実現例として、「モデル登録型」および「逐次抽出型」の詳細な内容について説明する。
【００７４】
図５は、この発明の実施の形態に従う画像処理装置の全体制御構造を示す機能ブロック図である。
【００７５】
図５を参照して、本実施の形態に従う画像処理装置は、上述の（１）撮像処理を実現するための制御構造として、撮像制御部２００と、選択部２０２と、画像メモリ２０４ａ〜２０４ｈとを含み、上述の（２）動き追従処理を実現するための制御構造として、動き追従制御部２３０と、抽出部２０５ａ〜２０５ｈとを含み、上述の（３−１）輝度合成処理を実現するための制御構造として、画像情報分離部２０６ａ〜２０６ｈと、輝度合成部２１０と、ヒストグラム生成部２１８とを含み、上述の（３−２）階調値変換処理を実現するための制御構造として、トーンマッピング部２１４と、明るさ上下限設定部２１６とを含み、上述の（３−３）色合成処理を実現するための制御構造として、画像情報分離部２０６ａ〜２０６ｈと、色合成部２０８を含み、上述の（３−４）最終生成処理を実現するための制御構造として、画像生成部２１２を含む。
【００７６】
以下、本実施の形態に従う画像処理装置における各処理の内容を各機能ブロックの動作とともに説明する。
【００７７】
（１）撮像処理
図５を参照して、撮像制御部２００は、撮像部８を用いて同一のワーク２を異なる露光条件（露光時間）で複数回撮像を行うことにより複数の入力画像を取得する。これらの入力画像は、それぞれの撮像タイミングにおける撮像部８の視野の内容を示すものとなる。撮像制御部２００は、ユーザ設定に応じて、どのように露光時間を順次切替えるかについて決定する。より具体的には、本実施の形態に従う撮像部８は、一例として、シャッター速度を任意に設定可能な電子シャッターを有しており、これにより露光時間を任意に変更可能である。その変更可能な露光時間は、一例として「１／１２５秒」，「１／２５０秒」，「１／５００秒」，「１／１０００秒」，「１／２０００秒」，「１／４０００秒」，「１／８０００秒」，「１／１６０００秒」の８通りを標準として含む。この変更可能な露光時間群は、「１／１２５秒」を基準（最も遅い値）として、２のべき乗で順次早くなるように設定されている。
【００７８】
撮像制御部２００は、予め定められる設定（撮像回数および各撮像における露光時間など）に従って、各撮像前に撮像部８への露光時間の逐次設定と、撮像部８を用いて当該設定された露光時間でワーク２の撮像とを繰返す。さらに、撮像制御部２００は、各撮像に同期して、選択部２０２に選択指令を与え、撮像部８がワーク２を逐次撮像することで生成される入力画像を画像メモリ２０４ａ〜２０４ｈに逐次的に記憶させる。
【００７９】
選択部２０２は、撮像部８と、画像メモリ２０４ａ〜２０４ｈとの間に配置され、撮像制御部２００からの選択指令に応じて、画像メモリ２０４ａ〜２０４ｈのいずれか１つと撮像部８とを電気的に接続する。このような動作によって、これにより、撮像部８がワーク２を撮像することで生成される入力画像は、画像メモリ２０４ａ〜２０４ｈに逐次的に記憶される。なお、以下では、画像メモリ２０４ａ〜２０４ｈを総称して「画像メモリ２０４」とも記す。
【００８０】
画像メモリ２０４は、撮像部８の露光時間に対応付けて構成されており、対応する特定の露光時間において撮像された入力画像を記憶する。たとえば、画像メモリ２０４ａは、露光時間が「１／１２５秒」の条件で撮像された入力画像をもっぱら記憶し、画像メモリ２０４ｂは、露光時間が「１／２５０秒」の条件で撮像された入力画像をもっぱら記憶するといった具合である。
【００８１】
なお、後述するように、合成画像を生成する際には、撮像部８に設定可能なすべての露光時間でワーク２を撮像する必要はない。すなわち、ワーク２が放射する光強度に応じて、適切な「明るさ」範囲を含むように、複数の露光時間が設定される。
【００８２】
（２）動き追従処理
動き追従制御部２３０は、それぞれの露光時間において撮像された入力画像について、目的のワーク２の位置をそれぞれ特定する。そして、動き追従制御部２３０は、それぞれの特定した位置に基づいて、一連の複数回撮像によって得られる入力画像の組に対して、各画像内に現れている目的のワーク２を基準として位置合わせを行うための指令を抽出部２０５ａ〜２０５ｈに与える。なお、以下では、抽出部２０５ａ〜２０５ｈを総称して「抽出部２０５」とも記す。
【００８３】
抽出部２０５ａ〜２０５ｈは、動き追従制御部２３０からの指令に従って、それぞれ対応の画像メモリ２０４ａ〜２０４ｈに記憶された入力画像のうち、目的のワーク２が現れている領域（部分画像）をそれぞれ抽出して、対応する画像情報分離部２０６ａ〜２０６ｈへそれぞれ出力する。なお、抽出部２０５ａ〜２０５ｈがそれぞれ抽出する部分画像の大きさは、いずれも同じである。
【００８４】
あるいは、抽出部２０５ａ〜２０５ｈは、それぞれ対応の画像メモリ２０４ａ〜２０４ｈに記憶された入力画像を、動き追従制御部２３０からの指令に従う相対的な位置ずれ量をもって、応する画像情報分離部２０６ａ〜２０６ｈへそれぞれ出力する。
【００８５】
（３−１）輝度合成処理
画像情報分離部２０６ａ〜２０６ｈは、それぞれ抽出部２０５ａ〜２０５ｈに対応付けられており、対応の抽出部２０５で抽出された部分画像から、色情報および輝度をそれぞれ抽出する。代表的に、入力画像（すなわち、部分画像）は、各画素に入射する光エネルギーに応じた値である３色の輝度（Ｒ輝度、Ｇ輝度、Ｂ輝度）から構成されるものとする。入力画像の色情報は、これらの３色の輝度を規格化した上で、各輝度の相対関係（相対比）を表わしたものである。また、入力画像の輝度は、各画素に入射する光エネルギーを総合的に表わしたものであり、３色の輝度の平均値（あるいは、総和）に相当する。
【００８６】
そして、画像情報分離部２０６ａ〜２０６ｈは、抽出した色情報を色合成部２０８へ出力するとともに、抽出した輝度を色合成部２０８および輝度合成部２１０へ出力する。
【００８７】
輝度合成部２１０は、撮像部８による一連の複数回の撮像（１枚の合成画像を生成するのに必要なすべての撮像）が完了した後、それぞれの部分画像の輝度を対応する露光時間によってそれぞれ規格化した上で、各画素の合成輝度を算出する。上述したように、撮像部８における露光時間を変更することで、撮像に適した光強度の範囲が変動する。すなわち、露光時間が相対的に短ければ、光強度のより大きな範囲の撮像に適し、露光時間が相対的に長ければ、光強度のより小さな範囲の撮像に適する。
【００８８】
そこで、本明細書においては、ワークから放射される光強度の大きさに応じた「明るさ」という指標を用いる。なお、「明るさ」は、撮像部８の性能に依存する相対的な値であり、同じ「明るさ」であっても、撮像素子の感度や光学系の開放値などが異なれば、実際の光強度（もしくは、光エネルギー）は異なったものとなる。
【００８９】
一般的に、撮像部８（撮像素子）に入射する光エネルギーの大きさは、露光時間に比例すると考えられる。そのため、本明細書における「明るさ」としては、代表的に、撮像部８で検出された輝度を露光時間で割り、その値について対数をとったものを採用する。したがって、本明細書における「明るさ」は、単位露光時間あたりの光エネルギー（すなわち、光強度）の大きさを示す指標である。このような「明るさ」を用いることで、撮像部８に設定可能な各露光時間に対応させて、撮像部８による撮像に適した「明るさ」範囲を予め規定することができる。
【００９０】
より具体的には、本実施の形態に従う撮像部８に設定可能な８つの露光時間は、２のべき乗で順次短くなるようになっているので、各露光時間と「明るさ」との対応関係を図６のように定めることができる。
【００９１】
図６は、撮像部８に設定される露光時間と撮像に適した「明るさ」範囲との関係の一例を示す図である。図６を参照して、露光時間が「１／１２５秒」である場合に撮像に適した「明るさ」範囲を「１０〜３０」に設定すると、露光時間を１／２倍した「１／２５０秒」である場合には、撮像に適した「明るさ」範囲を「１０」だけ加算した「２０〜４０」に設定できる。このように逐次設定することで、露光時間を「１／１２５秒」〜「１／１６０００秒」の範囲に対応付けて、「１０〜１００」の「明るさ」範囲をカバーするように設定できる。
【００９２】
また、各「明るさ」範囲を複数の露光時間がカバーするように構成することが好ましい。図６に示す例においては、「明るさ」範囲が１０〜９０の範囲では、少なくとも２つの露光時間によってカバーするように設定されている。すなわち、たとえばその「明るさ」範囲に「６０」を含む露光時間は、「１／１０００秒」，「１／２０００秒」，「１／４０００秒」の３つである。このような設定を行うことで、ユーザが入力する「明るさ」上下限範囲（後述する）が狭い場合であっても、異なる露光時間で複数回の撮像が行なわれるように設定される。
【００９３】
この図６に示す露光時間と「明るさ」範囲との関係は、撮像部８で撮像可能な「明るさ」範囲のうち、ユーザによって必要な「明るさ」範囲が設定されると、当該設定に対応する複数の露光時間の各々での撮像が行なわれるようになる。すなわち、撮像部８に設定可能なすべての露光時間において撮像が行なわれるのではなく、特定の露光時間における撮像のみを行うことで、１枚の合成画像の生成に要する処理時間を短縮することもできる。
【００９４】
より具体的には、ユーザによって、たとえば「明るさ」範囲が「３０〜５０」に設定された場合には、その範囲内に含まれる「１／２５０秒」，「１／５００秒」，「１／１０００秒」の露光時間で１処理あたり３回の撮像が行なわれる。
【００９５】
再度、図５を参照して、輝度合成部２１０は、ワーク２に対する一連の撮像によって取得された複数の部分画像を用いて、合成画像の各画素の輝度である合成輝度を算出する。より具体的には、輝度合成部２１０は、合成画像の各画素（座標位置ｉ）に対応するＰ個の部分画像におけるそれぞれの画素の輝度を露光時間で規格化することで、各画素の合成輝度Ｅｉを算出する。輝度合成部２１０による合成輝度Ｅｉの算出式は（１）式のようになる。
【００９６】
【数１】
2010134915.tif 000003
【００９７】
（１）式において、「ｌｎ（ｇ（Ｚｉ，ｊ）−ｌｎΔｔｊ）」の項が、各入力画像における輝度を露光時間で規格化した上で、「明るさ」として評価した値に相当する。これは、たとえば同じ輝度「１２８」であっても、露光時間が相対的に短ければ、その実際の「明るさ」はより大きな値として評価すべきであり、露光時間が相対的に長ければ、その実際の「明るさ」はより小さな値として評価すべきであるという技術思想に基づくものである。すなわち、上記の項は、ｌｎ｛ｇ（Ｚｉ，ｊ）／Δｔｊ｝と変形できるように、対応の部分画像の撮像時の露光時間に応じた係数１／Δｔｊを乗じることで露光時間による規格化（＝ｇ（Ｚｉ，ｊ）／Δｔｊ）を行い、この規格化した値を用いて合成輝度Ｅｉが算出される。
【００９８】
代表的に、合成輝度Ｅｉは、図６に示す各露光時間と「明るさ」範囲との関係に従って、０〜１００の範囲の値として算出される。なお、理解を容易にするために、０〜１００の範囲で表しているが、合成して得られる画像の「明るさ」の階調は、１回の撮像で取得される画像がもつ階調（たとえば、８ビット）よりも大きくなることから、データとしては、小数点以下の桁も有する値である（たとえば、１６ビットのデータを用いて小数点以下４桁までの値として取扱う）。
【００９９】
上式においては、さらに、重み関数ｗ（Ｚ）と撮像部８の撮像素子の応答関数ｇ（Ｚ）を導入している。図７を参照して、これらの関数について説明する。
【０１００】
図７は、重み関数および応答関数の特性の一例を示す図である。図７（ａ）は、重み関数ｗ（Ｚ）の特性を示し、図７（ｂ）は、応答関数ｇ（Ｚ）の特性を示す。
【０１０１】
図７（ａ）を参照して、重み関数ｗ（Ｚ）は、撮像部８から出力される輝度の値に応じて、その信頼度を反映するための関数である。すなわち、ある露光時間において、撮像部８から出力される輝度のうち、その下限値（０）または上限値（２５５）に近い値は、その中間値（１２８）に近い値に比較して信頼度が低いと考えられる。換言すれば、仮に撮像部８がある露光時間において最も適した「明るさ」をもつ被測定物を撮像すると、その輝度はほぼ中間値になると考えられる。
【０１０２】
そこで、このような特性を考慮して、重み関数ｗ（Ｚ）としては、輝度階調値の中間値の近傍に比較して、下限値または上限値の近傍の値がより小さくなるような関数を用いることが好ましい。一例として、本実施の形態では、輝度階調値の中間値が最大値（１２８）となるとともに、下限値および上限値でそれぞれゼロとなるような三角形状の重み関数を採用する。このような重み関数を採用することで、露光時間毎の入力画像のうち、その輝度が所定範囲内にあるものを優先的に採用して合成輝度が算出される。
【０１０３】
また、図７（ｂ）を採用して、応答関数ｇ（Ｚ）は、撮像部８から出力される輝度分布と実際に撮像部８に入力する光エネルギー分布との間の非線形性を補償するための関数である。たとえば、ＣＣＤなどの撮像素子では、入力する光エネルギーあるいは光強度と出力される電圧信号との関係は非線形となる。このような非線形特性はガンマ特性などとも称される。応答関数ｇ（Ｚ）は、このようなガンマ特性を補償して、撮像部８から出力される輝度を、実際に撮像部８に入力する光エネルギーに比例するように補正するものである。なお、図７（ｂ）には、簡単化のため、撮像部８から出力される輝度が入力する光エネルギーと比例関係にある場合の応答関数ｇ（Ｚ）を示す。
【０１０４】
なお、上式中の定数項の「Ｃ」は、各露光時間と「明るさ」範囲との関係を図６のように定めた場合に生じるオフセットを補償するための項であり、各露光時間と「明るさ」範囲との関係に応じて適宜設定することができる。
【０１０５】
また、上式中では、ネイピア数「ｅ」を底にした自然対数を用いているが、必ずしも「ｅ」に限定されるものではなく、「２」を底にした対数や「１０」を底にした常用対数などを用いてもよい。
【０１０６】
再度、図５を参照して、輝度合成部２１０は、算出した合成輝度Ｅｉをヒストグラム生成部２１８へ出力する。ヒストグラム生成部２１８は、合成輝度Ｅｉについてのヒストグラムを生成する。すなわち、ヒストグラム生成部２１８は、合成輝度Ｅｉの分布をモニタ１０２に表示させるための分布データを生成する。より具体的には、輝度合成部２１０は、各画素の合成輝度Ｅｉを所定幅の階級に区分した上で各階級の頻度を算出する。これは、ユーザが、輝度合成部２１０によって算出される合成輝度Ｅｉのうち相対的に比率の高い範囲を参照しながら、「明るさ」上限値および「明るさ」下限値を初期設定することを支援する。
【０１０７】
また、ヒストグラム生成部２１８は、ユーザ設定に応じて、ヒストグラムの生成処理を中断または再開可能に構成されてもよい。
【０１０８】
（３−２）階調値変換処理
トーンマッピング部２１４は、輝度合成部２１０で算出された合成輝度Ｅｉをモニタ１０２に表示すべき階調値に変換する。具体的には、トーンマッピング部２１４は、各画素の合成輝度Ｅｉ（輝度範囲：０〜１００；但し、２５６階調より大きな階調をもつ）を合成画像の対応する画素の階調値Ｙｉ（たとえば、０〜２５５階調値）に割当てることで、合成画像の濃度を決定する。なお、各画素の合成輝度Ｅｉの分解能（ダイナミックレンジ）は、入力画像より高くなるので、合成画像の階調値を入力画像の階調値より細分化することで、より精度の高い合成画像を生成および表示できる。
【０１０９】
トーンマッピング部２１４は、明るさ上下限設定部２１６によって設定される対応関係に従って、合成輝度Ｅｉから階調値Ｙｉへの変換を実行する。具体的には、トーンマッピング部２１４は、明るさ上下限設定部２１６から、階調値への割当てを行うべき「明るさ」上下限の設定値を受けて、当該範囲内の合成輝度Ｅｉを対応する階調値Ｙｉへ変換する。この階調値Ｙｉの分布は、規定の数値範囲内の階調値で示される規定範囲階調値の分布に相当する。
【０１１０】
図８は、トーンマッピング部２１４による割当て処理を説明するための図である。
図８を参照して、説明を簡素化するために、トーンマッピング部２１４が線形の割当て処理を行う場合について例示する。最も簡単な例としては、輝度範囲が０〜１００である合成輝度Ｅｉの比例関係を保ったまま、０〜２５５の範囲の階調値への割当てである。これにより、モニタが持つ表示能力より大きな階調をもつデータを、モニタの持つ表示能力に合わせた階調（たとえば、８ビット表示）で表示することができる。
【０１１１】
上述したように、「明るさ」上限値Ｅｍａｘと「明るさ」下限値Ｅｍｉｎが設定された場合には、トーンマッピング部２１４は、以下のような式に従って、階調値Ｙｉへの割当てを行う。
【０１１２】
Ｙｉ＝２５５×（Ｅｉ−Ｅｍｉｎ）／（Ｅｍａｘ−Ｅｍｉｎ）
すなわち、トーンマッピング部２１４において、合成輝度Ｅｉから階調値Ｙｉへの変換に用いられる対応関係は、「明るさ」上限値Ｅｍａｘおよび「明るさ」下限値Ｅｍｉｎを変更することで、適宜更新されることになる。
【０１１３】
なお、「明るさ」上限値Ｅｍａｘより大きな合成輝度Ｅｉをもつ画素は、すべて最大の階調値（たとえば、２５５）に変換されるので、その明るさについての情報は失われる。同様に、「明るさ」下限値Ｅｍｉｎより小さな合成輝度Ｅｉをもつ画素についても、すべて最小の階調値（たとえば、０）に変換されるので、その明るさについての情報は失われる。したがって、その合成輝度Ｅｉの値が「明るさ」下限値Ｅｍｉｎから「明るさ」上限値Ｅｍａｘの範囲にある画素のみが合成画像上で有効な階調値をもつ画素となる。
【０１１４】
以下の説明では、「明るさ」下限値Ｅｍｉｎから「明るさ」上限値Ｅｍａｘの範囲を、『「明るさ」上下限範囲』とも称する。
【０１１５】
図９は、「明るさ」上下限範囲の設定に係る処理を説明するための図である。図９を参照して、ヒストグラム生成部２１８（図５）において生成された、合成画像の「明るさ」についてのヒストグラムがモニタ１０２に表示される。ユーザは、このモニタ１０２に表示されるヒストグラムを参照しながら、「明るさ」下限値Ｅｍｉｎおよび「明るさ」上限値Ｅｍａｘを設定する。すなわち、ユーザは、拡大された撮像部８のダイナミックレンジの全範囲を示すヒストグラム上で、合成画像としてモニタ１０２に表示するべきダイナミックレンジの範囲を設定する。典型的には、撮像対象のワーク２から放射される光強度に応じて、適切な「明るさ」の範囲にある画素が、モニタ１０２に有効な階調値をもつものとして表示される。
【０１１６】
したがって、「明るさ」上下限範囲は、合成輝度Ｅｉの有効ダイナミックレンジに含まれ、かつ、一般的な使用においては、合成輝度Ｅｉの有効ダイナミックレンジよりも狭い範囲に設定される。そして、この「明るさ」上下限範囲内の合成輝度Ｅｉは、既定の数値範囲内の階調値で表される既定範囲階調値である階調値Ｙｉに対応させて変換されて、合成輝度Ｅｉの分布が既定範囲階調値分布に相当する階調値Ｙｉの分布に変換される。
【０１１７】
＜計算例＞
一例として、それぞれ３つの露光時間「１／２５０秒」，「１／５００秒」，「１／１０００秒」において撮像が行なわれることで入力画像が取得された場合において、３つの入力画像の座標位置ｉにおける輝度が、それぞれ「１９０」，「１００」，「５０」であるとする。この場合において、当該座標位置ｉに対応する画素の合成輝度Ｅｉは以下のように算出される。但し、ｗ（１９０）＝６５，ｗ（１００）＝１００，ｗ（５０）＝５０である。
【０１１８】
Ｅｉ＝１０×｛６５×（ｌｏｇ１９０＋ｌｏｇ２５０−１）＋１００×（ｌｏｇ１００＋ｌｏｇ５００−１）＋５０×（ｌｏｇ５０＋ｌｏｇ１０００−１）｝／（６５＋１００＋５０）＝３７
そして、ユーザによって、「明るさ」上限値Ｅｍａｘが「６０」で、「明るさ」下限値Ｅｍｉｎが「３０」に設定された場合には、合成画像の座標位置ｉの階調値Ｙｉは以下のように算出される。
【０１１９】
Ｙｉ＝２５５×（３７−３０）／（６０−３０）＝２５
（３−３）色合成処理
再度図５を参照して、色合成部２０８は、複数の部分画像の色情報から合成色情報を算出する。後述するように、合成画像は、色合成部２０８で算出される各画素の合成色情報に、トーンマッピング部２１４によって算出される対応する階調値（濃度）を乗じて得られる。そのため、色合成部２０８から出力される合成色情報は、各画素の濃度の情報をもたない、「赤色」、「緑色」、「青色」の相対的な比を示す値となる。
【０１２０】
また、色合成部２０８は、上述の輝度合成部２１０と同様に、各座標位置に対応する複数の入力画像におけるそれぞれの画素の色情報に基づいて、合成画像の各画素の合成色情報を算出する。より具体的には、色合成部２０８は、各部分画像の色情報と、その信頼度に応じた重みとを乗算した値を累積加算することで、合成色情報を算出する。
【０１２１】
ここで、ｊ番目の部分画像の座標位置ｉ（０≦ｉ≦画素数ｎ）における色情報を（ｒｉ，ｊ，ｇｉ，ｊ，ｂｉ，ｊ）とする。但し、色合成部２０８は、画像情報分離部２０６ａ〜２０６ｈから出力される色情報を、ｒｉ，ｊ＋ｇｉ，ｊ＋ｂｉ，ｊ＝１が成立するように予め規格化する。また、ｊ番目の部分画像の座標位置ｉにおける輝度をＺｉ，ｊとする。この規格化された色情報および輝度を用いると、合成色情報（ｒｉ，ｇｉ，ｂｉ）の算出式は（２．１）〜（２．３）式のようになる。
【０１２２】
【数２】
2010134915.tif 000004
【０１２３】
ここで、重み関数ｗ（Ｚ）は、図７（ａ）と同様の特性を有する。すなわち重み関数ｗ（Ｚ）は、撮像部８から出力される輝度の値に応じて、その信頼度を反映するための関数である。この重み関数ｗ（Ｚ）の技術的な意味については、上述したので詳細な説明は繰返さない。
【０１２４】
そして、色合成部２０８は、算出した合成色情報を画像生成部２１２へ出力する。
（３−４）最終生成処理
画像生成部２１２は、輝度合成部２１０およびトーンマッピング部２１４によって算出された階調値Ｙｉを、対応する合成色情報（ｒｉ，ｇｉ，ｂｉ）に順次乗じることによって、座標位置ｉの画素の画像情報を順次算出し、これによって合成画像を生成する。
【０１２５】
すなわち、合成画像の座標位置ｉの座標における絶対的な色情報（Ｒｉ，Ｇｉ，Ｂｉ）は、以下のように表わすことができる。
【０１２６】
（Ｒｉ，Ｇｉ，Ｂｉ）＝Ｙｉ×（ｒｉ，ｇｉ，ｂｉ）
以上のような手順に従って、合成画像が最終的に生成される。
【０１２７】
なお、上述したように、合成画像は、それぞれの入力画像の一部を抽出して生成されるので、合成画像の大きさは、入力画像の大きさに比較して小さくなる。そのため、モニタ１０２に入力画像の大きさの表示領域を確保している場合には、合成画像の周辺に予め定められた色情報（たとえば、黒一色または白一色など）を付加して、入力画像と同じ大きさの合成画像を出力するようにしてもよい。
【０１２８】
（その他）
撮像制御部２００は、撮像開始から１枚の合成画像の生成までに要する見込みの処理時間（合成時間）を算出する。より具体的には、撮像制御部２００は、撮像部８による撮像回数、各撮像における露光時間、画像合成処理の処理量などを考慮して合成時間を推定する。ユーザは、この合成時間を参照して、実際の生産ラインに適用可能な設定であるか否かを判断する。
【０１２９】
［Ｄ２．動き追従処理の概要］
以下、図１０および図１１を参照して、本実施の形態に従う動き追従処理の概要について説明する。
【０１３０】
図１０は、この発明の実施の形態に従う動き追従処理による効果を説明するための図である。図１１は、この発明の実施の形態に従って生成される合成画像を関連技術により生成された合成画像と比較する図である。
【０１３１】
図１０（ａ）を参照して、上述したように、本実施の形態に従う画像合成処理では、１枚の合成画像を生成するために、対象のワークを異なる露光条件で複数回撮像する必要がある。そのため、このワークが搬送ライン６上を移動する場合には、一連の撮像を行っている間に、撮像部８とワークとの相対位置関係が変化する。
【０１３２】
一例として、１枚の合成画像を生成するために、ワーク２が位置１に到達したタイミングで、１番目の撮像が開始されたとする。その後、引き続く２番目の撮像が行なわれたタイミングでは、ワーク２は位置２へ移動していたとする。さらにその後、３番目の撮像が行なわれたタイミングでは、ワーク２は位置３へ移動していたとする。
【０１３３】
このように、１枚の合成画像に必要な複数の入力画像の取得に要する時間内に、撮像部８の視野内においてワーク２が無視できない程度移動するような場合には、それぞれの入力画像におけるワーク２が写る場所が互いに異なったものとなる。
【０１３４】
典型的な一例として、図１０（ｂ）に示すように、１番目の撮像により取得された入力画像では、ワーク２の像がそのほぼ中心に位置しているとしても、２番目の撮像により取得された入力画像では、ワーク２の像が搬送ライン６の下流側に位置することになり、さらに３番目の撮像により取得された入力画像では、ワーク２の像は搬送ライン６のさらに下流側に位置することになる。
【０１３５】
なお、露光時間がライン速度に比較して比較的短い場合であっても、撮像素子からの画像読出しや各種処理などに所定の時間を要するので、共通の撮像素子で複数回の撮像を行う限りにおいて、一連の撮像に要する時間は比較的長くなり得る。
【０１３６】
図１０（ｂ）に示すような入力画像に対して、関連技術により画像合成処理を行うと、図１１（ａ）に示すような、ずれた状態の画像が現れることとなる。なお、本実施の形態において解決しようとする「画像のずれ」は、主として、複数回の撮像を行う際の、撮像間での被写体の移動によって生じるものであり、通常のデジタルカメラなどで生じる１回の撮像、すなわちある露光時間内にカメラ本体の位置が変化することで生じる、いわゆる「手ブレ」とは異なるものである。
【０１３７】
これに対して、本実施の形態によれば、複数回の撮像によって取得された複数の入力画像のそれぞれに含まれるワーク２の位置を特定し、ワーク２が実質的に同じ位置となるように、それぞれの入力画像を合成するものである。言い換えれば、一連の撮像によって取得された複数の入力画像の間の相対的な位置関係を適宜調整した上で、画像合成処理を実行するとも言える。
【０１３８】
このように、複数の入力画像の間で、ワーク２の位置が実質的に同じになるように調整するので、生成される合成画像の大きさは、入力画像の大きさに比較して小さくなる。
【０１３９】
［Ｅ１．動き追従処理（モデル登録型）の概要］
本実施の形態に従う動き追従処理（モデル登録型）においては、複数の露光条件で複数回撮像を行うことにより得られる入力画像の組に対して、予め登録された、目的のワーク２を示す参照画像（パターン）を各入力画像内で探索（サーチ）処理することにより、目的のワーク２の位置をそれぞれ特定する。なお、目的のワーク２を示す参照画像（パターン）に代えて、または、これに加えて、目的のワーク２の特徴情報（エッジ画像やエッジ位置）を各入力画像内でサーチ処理することにより、目的のワーク２の位置がそれぞれ特定されてもよい。
【０１４０】
したがって、本実施の形態に従う動き追従処理（モデル登録型）においては、設定モードにおいて、目的のワーク２を示す参照画像（パターン）、および、目的のワーク２の特徴情報の少なくとも一方が予め登録される。そして、稼動モードにおいて、当該登録された参照画像または特徴情報を対象の入力画像内でサーチすることにより、目的のワーク２の位置がそれぞれ特定される。
【０１４１】
図１２は、この発明の実施の形態に従う動き追従処理（モデル登録型）の概要を説明するための図である。なお、図１２には、説明を簡素化するために、３枚の入力画像に基づいて、１枚の合成画像が生成される場合について例示する。
【０１４２】
図１２を参照して、まず、「設定モード」において、それぞれの入力画像におけるワーク２の位置を特定するためのモデル画像である参照画像ＲＥＦが登録される。なお、参照画像ＲＥＦは、撮像部８で撮像されたカラー画像のままでもよいし、グレイスケール画像に変換されたものであってもよい。さらに、参照画像ＲＥＦそのものではなく、ワーク２の特徴情報（エッジ画像やエッジ位置）などであってもよい。
【０１４３】
特に、本実施の形態に従う動き追従処理（モデル登録型）では、露光条件の別に参照画像ＲＥＦが登録されることが好ましい。これは、それぞれの露光条件下での撮像によって取得された入力画像において、後述のサーチ処理で有効に認識される特徴情報が異なる場合が多いと考えられるからである。すなわち、たとえば、光強度が相対的に低い部分は、露光時間が相対的に短い条件で取得された入力画像では輝度が低すぎて、優位な情報として扱われないが、露光時間が相対的に長い条件で取得された入力画像では、優位な情報として扱われると考えられる。
【０１４４】
そのため、本実施の形態に従う参照画像ＲＥＦの登録処理（設定モード）では、合成画像を生成するための複数の入力画像を取得するための露光条件と同じ露光条件で、基準とすべきワーク（基準ワーク）を複数回撮像し、それぞれの撮像によって取得された複数の入力画像ＩＭＧ３から、基準ワークに対応する領域が参照画像ＲＥＦとして抽出される。すなわち、稼動モードとは別の一連の複数回撮像により得られた入力画像の組から、参照画像として指定された領域がそれぞれ抽出され、当該抽出した複数の参照画像（あるいは、後述するように、抽出した複数の参照画像のそれぞれに含まれる目的のワーク２の特徴情報）がそれぞれの露光条件に対応付けて登録される。そして、動き追従処理におけるサーチ処理には、それぞれの入力画像についての露光条件に対応付けられた参照画像（あるいは、特徴情報）が用いられる。なお、基準ワークは、実質的に静止した状態で撮像部８により撮像される。そして、それぞれの入力画像ＩＭＧ３から抽出された複数の参照画像ＲＥＦ（もしくは、基準ワークの特徴情報）は、それぞれの露光条件に対応付けて登録される。
【０１４５】
その後、稼動モードにおいて、予め定められた、異なる露光条件でワーク２を複数回撮像することで複数の入力画像ＩＭＧ１が取得される。続いて、それぞれの入力画像ＩＭＧ１における参照画像ＲＥＦに基づくサーチ処理が実行され、参照画像ＲＥＦに対応する位置がそれぞれ特定される。
【０１４６】
続いて、それぞれ特定された位置に基づいて、複数の入力画像ＩＭＧ１から所定の大きさをもつ部分画像ＩＭＧ２がそれぞれ抽出される。さらに、この抽出された複数の部分画像ＩＭＧ２に対して、上述したような画像合成処理が実行され、合成画像ＯＵＴＩＭＧが生成される。最終的に、この生成された合成画像ＯＵＴＩＭＧがモニタ１０２などに表示される。なお、この表示処理では、入力画像ＩＭＧ１と合成画像ＯＵＴＩＭＧとの大きさの差を補間するための処理などが併せて実行される。
【０１４７】
［Ｅ２．動き追従処理（モデル登録型）におけるユーザインターフェイス例］
本実施の形態に従う画像合成処理についての理解を容易にするために、図１３〜図１７を参照して、ユーザインターフェイスの一例について説明する。
【０１４８】
図１３〜図１６は、この発明の実施の形態に従う画像処理装置のモニタ１０２に表示される「設定モード」における画面表示例を示す図である。図１７は、この発明の実施の形態に従う画像処理装置のモニタ１０２に表示される「稼動モード」における画面表示例を示す図である。なお、ＣＰＵ１０５および表示画面出力部１０８（図３参照）などが協働することで、図１３〜図１７に示すような設定画面を表示させる。このような画面表示は、ＯＳ（Operating System）の一部として組込まれるＧＵＩ（Graphical User Interface）プログラムによって実現され、またＧＵＩは、ユーザがキーボード１０３やマウス１０４により操作される画面上のカーソルを用いて、さまざまなユーザ設定を行うための環境も提供する。
【０１４９】
（設定モード）
「設定モード」では各種設定を行うことが可能であり、図１３〜図１７に示すように、一例として、「カメラ設定」「ＨＤＲ設定」「動き追従設定」「画像調整設定」「ホワイトバランス」「キャリブレーション」の計６個のタブが選択可能な画面が表示される。以下の説明では、本実施の形態に従う動き追従処理を含む画像合成処理に係る主たる設定を行うための「ＨＤＲ設定」タブ４１０および「動き追従設定」タブ４１１がそれぞれ選択された場合のユーザインターフェイスについて説明する。なお、その他の初期設定（撮像部８などの設定）は完了しているものとし、設定モードでは、撮像部８の視野には、基準ワークが静止した状態で配置されているものとする。すなわち、撮像部８の撮像によって、基準ワークの像を含む入力画像が取得されているものとする。
【０１５０】
図１３には、「ＨＤＲ設定」タブ４１０が選択された場合に表示される設定モード画面４００の一例を示す。この図１３に示す設定モード画面４００は、露光条件を含む画像合成処理に係る設定（以下「合成処理設定」とも称す。）を決定するためのユーザ操作（入力操作）を受付ける。より具体的には、ユーザは、この設定モード画面４００において、対象とするワーク２および周辺環境に適した、「明るさ」上下限範囲（「明るさ」上限値および下限値）を設定する。
【０１５１】
設定モード画面４００は、ヒストグラム表示エリア４２０を含む画像合成設定入力エリア４３０と、撮像設定表示エリア４４６と、画像表示エリア４１２と、全体表示エリア４１４と、表示制御アイコン群４１３とを含む。
【０１５２】
画像合成設定入力エリア４３０のヒストグラム表示エリア４２０には、合成画像の「明るさ」についてのヒストグラム４２３が表示されるとともに、ユーザ設定された「明るさ」上限値および下限値を示すインジケータ４２２および４２４がそれぞれ表示される。なお、ヒストグラム４２３は、ヒストグラム生成部２１８（図５）によって適時生成される。
【０１５３】
また、画像合成設定入力エリア４３０は、「明るさ」上下限範囲設定エリア４４０を含む。この「明るさ」上下限範囲設定エリア４４０には、「明るさ」下限値を設定するためのスライドバー４４２、および「明るさ」上限値を設定するためのスライドバー４４４が設けられる。このスライドバー４４２および４４４の操作に従って、ユーザ設定された「明るさ」上下限範囲が明るさ上下限設定部２１６（図５）に入力される。さらに、「明るさ」上下限範囲設定エリア４４０には、「明るさ」下限値および上限値の直接的な数値入力を受付ける数値入力ボックスも設けられる。
【０１５４】
ユーザは、表示されるヒストグラム４２３を参照しながら、スライドバー４４２もしくは４４４の位置をマウスなどによって操作し、または、対応の数値入力ボックスにテンキーなどを操作して直接的に数値を入力するなどして、所望の「明るさ」上下限範囲を設定する。初期値の「明るさ」上下限範囲としては、ヒストグラム４２３のほぼ全体をカバーできるような範囲が好ましい。なお、これらのユーザ設定に連動して、インジケータ４２２および４２４の表示位置が更新される。
【０１５５】
このようなユーザによる「明るさ」上下限範囲の設定に応じて、露光条件を含む合成処理設定の内容が決定される。なお、この合成処理設定は、１回の画像合成処理に許容される時間などを条件として決定される場合もある。
【０１５６】
撮像設定表示エリア４４６には、このように決定された合成処理設定の内容が表示される。具体的な一例として、撮像設定表示エリア４４６には、１回の画像合成に要する入力画像の枚数（撮像枚数）および１回の画像合成に要する時間（合成時間）などが表示される。
【０１５７】
画像表示エリア４１２には、上述のように決定された合成処理設定の内容に従って、撮像および画像合成処理された結果である合成画像が表示される。この画像表示エリア４１２に表示される合成画像は、稼動モードにおいて検査や計測に用いられる合成画像に相当する。そのため、ユーザもしくは調整員は、この画像表示エリア４１２の表示を参照して、「明るさ」上下限範囲や周辺環境（特に、照明環境）などを調整する。この画像表示エリア４１２に表示される合成画像は、リアルタイムで更新されるので、上述のようなユーザ操作によって、「明るさ」上下限範囲が変更されると、当該変更後の「明るさ」上下限範囲を反映した合成画像が表示される。さらに、表示制御アイコン群４１３に対するユーザ操作に応じて、画像表示エリア４１２に表示される合成画像のサイズが変更可能となっている。
【０１５８】
全体表示エリア４１４には、画像表示エリア４１２に表示される画像が表示される。但し、全体表示エリア４１４には、画像表示エリア４１２での表示サイズとは独立して、表示対象の画像が常に全体表示される。すなわち、画像表示エリア４１２には、画像表示エリア４１２に表示中の画像が画像全体のうちいずれの領域にあるのかを示す。これにより、ユーザは、合成画像の全体を把握しながら、注目すべき部分（領域）を拡大して観察することもできる。
【０１５９】
なお、設定モードにおいて、画像表示エリア４１２に表示される画像は、リアルタイムに更新される合成画像であってもよいし、ユーザが任意に指定したタイミングで生成された合成画像であってもよい。さらに、撮像部８が所定の露光時間で撮像した入力画像がそのまま画像表示エリア４１２に表示されるようにしてもよい。さらに、図示しないダイアログなどを操作して、画像表示エリア４１２に表示される画像の種類を任意に選択できるようにすることがより好ましい。
【０１６０】
以上のような操作によって、露光条件を含む合成処理設定の内容が決定された後、「動き追従設定」タブ４１１が選択されると、図１４に示すような設定モード画面４０２が表示される。この図１４に示す設定モード画面４０２は、動き追従処理に係る設定を行うためのユーザ操作を受付ける。
【０１６１】
設定モード画面４０２は、動き追従設定入力エリア４５０と、撮像設定表示エリア４４６と、画像表示エリア４１２と、全体表示エリア４１４と、表示制御アイコン群４１３とを含む。動き追従設定入力エリア４５０を除いて、その他のエリアは、図１３に示す設定モード画面４００と同様であるので、詳細な説明は繰返さない。
【０１６２】
動き追従設定入力エリア４５０は、動き追従チェックボックス４５１と、領域設定ボタン４５３と、ガイド表示ボタン４５４と、ライン速度入力ボックス４５７と、ワークサイズ入力ボックス４５８と、ライン移動方向チェックボックス群４５９とを含む。
【０１６３】
動き追従チェックボックス４５１は、本実施の形態に係る動き追従処理の有効化／無効化の設定を受付ける。この動き追従チェックボックス４５１がチェックされることで、動き追従処理が有効化される。
【０１６４】
領域設定ボタン４５３は、基準ワークを撮像することで取得される入力画像のうち、参照画像ＲＥＦとして抽出するための領域設定を受付ける。なお、本実施の形態においては、入力画像のうち参照画像ＲＥＦとして抽出するための領域の大きさは、画像合成処理に用いる部分画像の大きさと同一として決定される場合について例示する。すなわち、ユーザが、領域設定ボタン４５３を選択して設定する領域の大きさと同一の大きさの部分画像がそれぞれの入力画像から抽出され、合成画像が生成される。言い換えれば、入力画像から抽出すべき部分画像の大きさとして予め設定された大きさの領域が参照画像ＲＥＦとして抽出される。
【０１６５】
この領域設定ボタン４５３が選択されると、図１５に示す領域設定画面４０４が表示される。この図１５に示す領域設定画面４０４には、参照画像ＲＥＦとして抽出すべき領域の形状を選択するアイコン群４６０が表示される。ユーザが、これらのアイコン群４６０のいずれかを選択すると、選択された形状の領域４１６が画像表示エリア４１２に表示されている入力画像に重ねて表示される。なお、参照画像ＲＥＦとして抽出すべき領域４１６の形状は、基本的に、長方形のみとなるようにしてもよい。
【０１６６】
ユーザは、画像表示エリア４１２に表示される基準ワークを撮像した画像を参照しながら、領域４１６を適切な大きさおよび位置に設定する。具体的には、ユーザは、画像表示エリア４１２に表示される領域４１６に対して、マウス操作（たとえば、クリックおよびドラッグなど）することで、その大きさおよび位置をインタラクティブに変更可能である。すなわち、ユーザ操作に応じて、入力画像から抽出すべき部分画像の大きさとして予め設定された大きさの領域とは独立した大きさの領域が参照画像ＲＥＦとして抽出される。
【０１６７】
さらに、領域設定画面４０４には、領域４１６の大きさおよび位置を座標値によって設定するための座標値設定エリア４７０が設けられる。この座標値設定エリア４７０には、領域４１６の対角頂点の座標値（数値）を受付ける数値入力ボックス４７１，４７２，４７４，４７５と、領域４１６の位置をシフトするための十字ボタン４７３，４７６とが設けられる。
【０１６８】
さらに、領域設定画面４０４には、基準ワークを静止状態に維持する必要があることをユーザに通知する支援メッセージ４７７も表示される。
【０１６９】
この領域設定画面４０４において、参照画像ＲＥＦとして抽出すべき領域４１６の大きさおよび位置をユーザが設定した後、「ＯＫ」ボタンを選択することで、図１４に示す設定モード画面４０２に復帰する。なお、参照画像ＲＥＦとして抽出すべき領域４１６が既に設定されている場合には、画像表示エリア４１２にその範囲を示すインジケータをさらに表示するようにしてもよい。
【０１７０】
以上のような手順に従って、参照画像ＲＥＦとして抽出すべき領域４１６が設定されると、合成処理設定に含まれる露光条件に従って基準ワークを複数回撮像し、それぞれの撮像によって取得された入力画像からそれぞれ領域４１６が抽出され、参照画像ＲＥＦとして登録される。
【０１７１】
再度、図１４を参照して、ガイド表示ボタン４５４は、目的のワーク２についての合成画像を生成可能な最大範囲の大きさを示すガイドの表示指示を受付ける。このガイド表示ボタン４５４が選択されると、図１６に示すように、画像表示エリア４１２に表示されている撮像部８により撮像された画像上に、ガイド枠４１９が表示される。より具体的には、ＣＰＵ１０５が上記ガイド枠４１９の範囲を示す情報（内部コマンド）を表示画面出力部１０８に対して与えることで、モニタ１０２にガイド枠４１９が表示される。
【０１７２】
上述したように、本実施の形態に従う画像合成処理では、入力画像の一部が抽出されて合成画像が生成される。そのため、よりユーザフレンドリな画像処理装置を提供する観点からは、先に決定されている合成処理設定の下で、どの範囲まで画像合成処理の対象とすることができるかをユーザに通知することが重要である。そこで、本実施の形態に従う動き追従処理では、合成画像として出力することが可能な最大範囲を示すガイド枠４１９を表示する。なお、ガイド枠４１９の大きさは、撮像部８の視野内における被測定物であるワーク２の移動速度（ユーザによって設定）と、合成処理設定に含まれるそれぞれの露光条件下において複数の入力画像を取得するために要する時間（ユーザによって設定された撮影条件によって予め算出）とに基づいて算出される。なお、ワーク２の移動速度とは、ワーク２が移動する速さ（速度の絶対値）および移動方向を含む。すなわち、ガイド枠４１９は、入力画像のサイズに比較して、ワーク２の移動方向に沿った両端だけ短くなる。
【０１７３】
また、ライン速度入力ボックス４５７、ワークサイズ入力ボックス４５８、およびライン移動方向チェックボックス群４５９は、図１６に示すガイド枠４１９を算出するためのパラメータを受付ける。すなわち、ユーザは、ワーク２を搬送する搬送ライン６の実測のライン速度（搬送速度）をライン速度入力ボックス４５７に数値入力する。なお、実測のライン速度とは、典型的には［ｍｍ／ｓ］の単位で規定される。また、ユーザは、合成画像として生成する領域（部分画像ＩＭＧ２）の実寸法（典型的には、ワーク２の表面における最大の実測サイズ）をワークサイズ入力ボックス４５８に数値入力する。なお、領域の実寸法とは、典型的には［ｍｍ］の単位で規定される。さらに、ユーザは、ワーク２の搬送方向を、対応するライン移動方向チェックボックス群４５９を選択することで入力する。図１４には、一例として、ワーク２が紙面右側から左側へ移動する場合の設定例を示す。
【０１７４】
なお、このガイド枠４１９の大きさの算出処理の詳細な内容については、後述する。
図１６に示すように、ユーザは、画像表示エリア４１２において、撮像部８により撮像された画像上に表示されるガイド枠４１９を参照して、図１５に示すような手順に従って、参照画像ＲＥＦとして抽出すべき領域４１６（図１６には、設定済の領域４１６を示す設定枠４１７を示す）を設定することができる。さらに、ガイド枠４１９を超えて領域４１６設定しようとすると、警告メッセージが通知されるようにしてよい。
【０１７５】
なお、ガイド枠４１９は、合成画像として出力することが可能な最大の大きさを示すものであり、その全体が画像表示エリア４１２に収まっていれば、その表示位置はいずれであってもよい。但し、ガイド枠４１９は、画像表示エリア４１２の中心に配置されることが好ましい。
【０１７６】
あるいは、図１５に示すような手順に従って、参照画像ＲＥＦとして抽出すべき領域４１６の最初の設定点を基準にして、ガイド枠４１９の表示位置を更新するようにしてもよい。
【０１７７】
このようなガイド枠４１９を表示することで、知識の少ないユーザであっても、参照画像ＲＥＦとして抽出するための領域設定を容易に行うことができる。
【０１７８】
以上のように、露光条件を含む合成処理設定が確定し、参照画像が登録されると、「稼動モード」へ移行することが可能となる。
【０１７９】
（稼動モード）
「稼動モード」では、搬送ライン６によって、光電センサからトリガ信号が出力されるトリガ位置までワーク２が搬送されると、上述した画像合成処理が開始される。
【０１８０】
図１７には、あるタイミングで生成された合成画像を表示する稼動モード画面３００の一例を示す。この図１７に示す稼動モード画面３００は、生成された合成画像３１２を表示する合成画像表示エリア３１０を含む。なお、この合成画像表示エリア３１０は、入力画像の全体を表示可能なサイズに設定されており、生成された合成画像３１２以外の部分には、補間するための黒色表示３１４がなされる。さらに、合成画像３１２に対して、図示しない光学的な計測や検査が実行される。
【０１８１】
［Ｅ３．動き追従処理（モデル登録型）の制御構造］
図１８は、図５に示す動き追従制御部２３０のより詳細な制御構造を示す機能ブロック図である。図１８を参照して、動き追従処理（モデル登録型）を提供する動き追従制御部２３０は、その制御構造として、参照画像登録部２３１と、参照画像格納部２３２と、参照画像選択部２３３と、入力画像選択部２３４と、サーチ処理部２３５と、抽出指令生成部２３６と、異常監視部２３７と、履歴表示生成部２３８と、撮像時間算出部２３９と、ガイド表示生成部２４０とを含む。以下、図１２をも参照しつつ、図１８に示す各制御ブロックについて説明する。
【０１８２】
参照画像登録部２３１は、設定モードにおいて、先に決定された合成処理設定に含まれる露光条件に従って、基準ワークを複数回撮像することにより取得される入力画像ＩＭＧ３（図１２）から、参照画像ＲＥＦとして抽出すべき領域４１６（図１５）を参照画像ＲＥＦとしてそれぞれ抽出する。そして、参照画像登録部２３１は、抽出した参照画像ＲＥＦをそれぞれの露光条件に対応付けて、参照画像格納部２３２に登録する。
【０１８３】
なお、設定モードにおいて取得されるそれぞれの入力画像ＩＭＧ３（図１２）についても、対応するそれぞれの画像メモリ２０４に記憶されるので、参照画像登録部２３１は、露光条件毎に、対応する画像メモリ２０４から入力画像ＩＭＧ３を選択的に読出す。
【０１８４】
また、図１２に示すように、この参照画像ＲＥＦの登録は、静止した基準ワークを撮像して得られる入力画像ＩＭＧ３に基づいて実行されるので、参照画像ＲＥＦとして抽出される領域は、いずれの入力画像ＩＭＧ３についても同一となる。そのため、ユーザにとってみれば、露光条件毎に複数の参照画像ＲＥＦを登録することを意識することなく、一回の操作によって、参照画像ＲＥＦの登録処理を完了することができる。
【０１８５】
参照画像格納部２３２は、参照画像登録部２３１から出力される参照画像ＲＥＦをその露光条件に対応付けて記憶する。典型的には、参照画像格納部２３２は、露光条件別にファイルを保持しており、各ファイルに対応する参照画像ＲＥＦのデータを格納する。
【０１８６】
参照画像選択部２３３は、稼動モードにおいて、後述する入力画像選択部２３４と同期して、処理される入力画像ＩＭＧ１（図１２）の露光条件に対応する参照画像ＲＥＦを参照画像格納部２３２から読出して、サーチ処理部２３５へ順次出力する。
【０１８７】
入力画像選択部２３４は、稼動モードにおいて、撮像部８による撮像によって入力画像ＩＭＧ１が対応する画像メモリ２０４に記憶されると、それぞれの画像メモリ２０４から入力画像ＩＭＧ１を選択的に順次読出して、サーチ処理部２３５および履歴表示生成部２３８へ出力する。
【０１８８】
サーチ処理部２３５は、入力画像選択部２３４からの入力画像ＩＭＧ１に対して、参照画像選択部２３３からの参照画像ＲＥＦに基づいてサーチ処理を行い、入力画像ＩＭＧ１における参照画像ＲＥＦに対応する位置をそれぞれ特定する。このサーチ処理部２３５が特定した位置は、サーチ結果として、抽出指令生成部２３６、異常監視部２３７、および履歴表示生成部２３８へ出力される。
【０１８９】
抽出指令生成部２３６は、サーチ処理部２３５からのサーチ結果（参照画像ＲＥＦに対応する位置の情報）に基づいて、対象の入力画像ＩＭＧ１から部分画像ＩＭＧ２を抽出するための抽出指令を、対応の抽出部２０５（図５）へ出力する。なお、本実施の形態では、部分画像ＩＭＧ２の大きさは、参照画像ＲＥＦとして抽出される領域の大きさと同じものとして扱われる構成について例示するので、抽出指令生成部２３６は、対象の入力画像ＩＭＧ１から、参照画像ＲＥＦと同じ大きさをもつ部分画像ＩＭＧ２を抽出させる。
【０１９０】
異常監視部２３７は、稼動モードにおいて、サーチ処理部２３５が入力画像ＩＭＧ１における参照画像ＲＥＦに対応する位置の特定に失敗した場合、および、抽出指令生成部２３６による入力画像ＩＭＧ１からの部分画像ＩＭＧ２の抽出が異常と判断された場合などに、ユーザなどに対して、エラー（異常発生情報）を通知する。より具体的には、異常監視部２３７は、サーチ処理部２３５から出力されるサーチ結果および抽出指令生成部２３６から出力される抽出指令に基づいて、異常の有無を判断する。この異常有無の判断および通知されるエラーの内容などの詳細については、後述する。
【０１９１】
履歴表示生成部２３８は、異常監視部２３７と協同して、稼動モードにおいて何らかの異常が発生した場合に、当該処理におけるそれぞれの部分画像ＩＭＧ２の位置などの履歴（ログ）をユーザに通知する。
【０１９２】
撮像時間算出部２３９は、予め決定されている合成処理設定に含まれる露光条件に基づいて、１枚の合成画像を生成するために要する複数の入力画像の撮像に要する時間（撮像時間）を算出する。この撮像時間は、最初の露光開始から最後の露光終了までに要する時間に相当し、各撮像に要する露光時間に加え、撮像素子で捕捉された画像の読出時間などが含まれる。
【０１９３】
ガイド表示生成部２４０は、撮像時間算出部２３９で算出された撮像時間に加え、ユーザ操作によって入力される、ライン速度・領域実寸・移動方向などの値に基づいて、図１６に示すガイド表示を行うためのガイド表示情報を出力する。
【０１９４】
［Ｅ４．動き追従処理（モデル登録型）におけるサーチ処理］
図１９を参照して、サーチ処理部２３５におけるサーチ処理の詳細について説明する。
【０１９５】
図１９は、この発明の実施の形態に従うサーチ処理の詳細を説明するための図である。図１９（ａ）は、予め登録される参照画像ＲＥＦを示し、図１９（ｂ）は、サーチ処理の具体例を示す。
【０１９６】
図１９（ａ）に示すように、設定モードにおいて、静止状態にある基準ワークを撮像して取得される入力画像ＩＭＧ３のうち、所定領域が参照画像ＲＥＦとして登録される。そして、稼動モードにおいて、ワーク２を撮像して取得された入力画像ＩＭＧ１に対して、参照画像ＲＥＦに基づくサーチ処理が実行される。
【０１９７】
このサーチ処理では、図１９（ｂ）に示すように、入力画像ＩＭＧ１のうち参照画像ＲＥＦと同じもしくは類似した画像が探索される。この探索の結果、図１９（ｂ）に示す例では、参照画像ＲＥＦの対応する領域２３５２が特定されている。このようなサーチ処理（パターンサーチ、あるいはパターンマッチング）としては、公知の種々の方法を採用することが可能である。一例として、正規化相互相関を利用する方法や、画像に現れるエッジ部分に着目したエッジコードマッチング法などを採用することができる。前者の例としては、「正規化相関演算の単調関数化による高速テンプレートマッチング」、池田他、電気情報通信学会論文誌、Ｄ−ＩＩ  Ｖｏｌ．Ｊ８３−ＤＩＩ  Ｎｏ．９  ｐｐ．１８６１−１８６９、２０００年９月などにその一手法が開示されている。
【０１９８】
なお、サーチ領域を入力画像ＩＭＧ１の全体とすることなく、その一部に限定してもよい（図１９（ｂ）に示すサーチ領域２３５１）。特に、本実施の形態に従う視覚センサシステム１では、搬送ライン６を移動するワーク２を撮像するので、このワーク２の移動方向や移動距離を考慮して、そのサーチ領域を限定してもよい。具体的には、同一のワーク２を連続的に撮像した一連の入力画像ＩＭＧ１に対しては、先のサーチ処理によって特定された位置より下流側の範囲にサーチ領域を限定してもよい。これにより、サーチ処理をより高速化することができる。
【０１９９】
また、対象の搬送ライン６によっては、ワーク２が回転しながら搬送される場合もあり、このような場合には、回転を考慮したサーチ処理を行うことが好ましい。なお、このような回転を考慮したサーチ処理が行なわれた場合には、入力画像ＩＭＧ１から抽出される部分画像ＩＭＧ２も回転したものとなっていることもある。そのため、画像合成が行なわれる前に、部分画像ＩＭＧ２自体も所定方向に整列させることが好ましい。
【０２００】
［Ｅ５．動き追従処理（モデル登録型）におけるガイド表示処理］
図２０および図２１を参照して、ガイド表示生成部２４０におけるガイド表示処理の詳細について説明する。
【０２０１】
図２０は、この発明の実施の形態に従うガイド枠の算出方法を説明するための図である。図２１は、この発明の実施の形態に従う処理タイミングを説明するための図である。
【０２０２】
本実施の形態に従う動き追従処理を行うためには、１枚の合成画像を生成するために要する複数の入力画像の撮像に要する時間（撮像時間）内におけるワーク２の移動前後において、いずれも部分画像ＩＭＧ２が撮像部８の視野内に収まっていなければならない。言い換えれば、部分画像ＩＭＧ２のワーク２の移動方向における長さと、撮像時間内におけるワーク２の移動距離との合計が、撮像部８の視野のワーク２の移動方向における長さ以下でなければならない。
【０２０３】
一例として、３枚の入力画像に基づいて１枚の合成画像が生成される場合における処理タイミングは、図２１に示すようになる。この図２１では、時刻ｔ１において、１番目の撮像の露光が開始される。この露光は、時刻ｔ１〜ｔ２の間継続する。その後、時刻ｔ２〜ｔ３の間、１番目の露光によって取得された画像が、撮像素子から読出される。すなわち、時刻ｔ１〜ｔ３の間で１番目の撮像が行なわれる。以下同様にして、時刻ｔ３〜ｔ４の間に２番目の撮像が行なわれ、時刻ｔ４〜ｔ６の間に３番目の撮像が行なわれる。そして、１枚の合成画像を生成するために要する複数の入力画像の撮像に要する撮像時間Ｔは、時刻ｔ１〜ｔ５の期間に相当する。
【０２０４】
図２０に示すように、搬送ライン６の搬送方向が紙面左右方向であるとし、１枚の合成画像を生成するために要する複数の入力画像の撮像に要する時間（撮像時間）をＴ［ｓ］、ライン速度をＶ［ｍｍ／ｓ］、入力画像ＩＭＧ１の搬送方向におけるサイズをＷ［ｐｉｘ（画素）］、部分画像ＩＭＧ２の搬送方向における最大の大きさをＸ［ｐｉｘ］≡Ｙ［ｍｍ］とすると、以下の式が成立しなければならない。なお、Ｘは撮像部８の視野内における画素単位での長さを示し、Ｙは実寸法を示す。
【０２０５】
（Ｗ−Ｘ）／Ｗ＝（Ｖ×Ｔ）／（Ｖ×Ｔ＋Ｙ）
この式をＸについて解くと、
Ｘ＝Ｗ×Ｙ／（Ｖ×Ｔ＋Ｙ）
となる。一例として、撮像時間Ｔ＝０．１５［ｓ］、ライン速度Ｖ＝１００［ｍｍ／ｓ］、部分画像ＩＭＧ２の搬送方向における最大の実寸法Ｙ＝３０［ｍｍ］とすると、Ｘ＝４２７［ｐｉｘ］となる。
【０２０６】
なお、上述の例では、搬送方向が紙面左右方向である場合について例示したが、紙面上下方向であっても同様の手順によって算出できる。なお、撮像部８の視野内において、搬送ライン６がいずれか一方向の搬送方向をもつ限りにおいて、その向きはいずれであってもよい。しかしながら、部分画像ＩＭＧ２を効率的に抽出することを考慮すると、搬送方向が撮像部８の視野（通常は、方形状）のいずれか一辺と平行となるように、配置するのが好ましい。
【０２０７】
また、上述の例において、部分画像ＩＭＧ２の搬送方向における最大の実寸法Ｙ［ｍｍ］を用いたのは、一般的に、ライン速度が実測値である［ｍｍ／ｓ］などの単位でしか得られないためである。すなわち、実測値のライン速度を部分画像ＩＭＧ２の搬送方向における最大の実寸法で換算することで、撮像部８の視野におけるワーク２の移動速度、すなわち［ｐｉｘ／ｓ］の次元をもつライン速度を算出する。また、部分画像ＩＭＧ２の搬送方向における最大の実寸法を入力する方法に代えて、撮像部８の視野にワーク２と並べて目盛りが付されている物差しなどを配置することで、撮像によって得られた入力画像から、必要な実寸法を測定することもできる。
【０２０８】
なお、［ｐｉｘ／ｓ］の次元をもつライン速度を取得できる場合には、部分画像ＩＭＧ２の搬送方向における最大の実寸法を入力する必要はない。
【０２０９】
このような算出処理によって算出された部分画像ＩＭＧ２の搬送方向における最大長さＸが、図１６に示すガイド枠の長さとして用いられる。
【０２１０】
［Ｅ６．動き追従処理（モデル登録型）における並列処理］
再度図２１を参照して、本実施の形態に従う画像合成処理においては、１枚の合成画像の生成に要する時間を短縮するために、撮像処理とサーチ処理とを並列的に実行することが好ましい。
【０２１１】
より具体的には、図２１に示すように、１番目の撮像によって入力画像が取得される時刻ｔ３において、当該１番目の撮像によって取得された入力画像に対するサーチ処理（ＳＱ１）が開始される。この時刻ｔ３においては、撮像部８による２番目の撮像も開始される。サーチ処理に要する時間が、撮像部８における１回分の撮像処理に要する時間よりも短い場合には、３番目の撮像の開始タイミングである時刻ｔ４において、２番目の撮像により取得された入力画像に対するサーチ処理（ＳＱ２）が並列実行できる。
【０２１２】
その後、３番目の撮像処理の終了に引き続いて、３番目の撮像により取得された入力画像に対するサーチ処理（ＳＱ３）および画像合成処理（ＳＱ４）が実行される。
【０２１３】
このように、撮像処理とサーチ処理とを並列実行することで、全体として、処理に要する時間を、サーチ処理に要する時間分だけ短縮することができる。
【０２１４】
［Ｅ７．動き追従処理（モデル登録型）における異常監視処理その１］
図２２および図２３を参照して、稼動モードにおける異常監視（エラー通知）処理の詳細について説明する。
【０２１５】
図２２は、この発明の実施の形態に従う画像処理装置のモニタ１０２に表示される「稼動モード」におけるエラー通知の画面表示例を示す図である。図２２に示す稼動モード画面３０２では、合成画像表示エリア３１０に、異常が発生した場合の状況を示す履歴が表示される。具体的には、合成画像表示エリア３１０では、複数の入力画像における参照画像に対応する位置の特定の異常を監視する場合には、１枚の合成画像を生成する過程で抽出された部分画像ＩＭＧ２のそれぞれの領域が、撮像部８の視野と対応付けて表示される。
【０２１６】
すなわち、図２２に示す例では、１番目の撮像によって取得された入力画像ＩＭＧ１から抽出された部分画像ＩＭＧ２およびその領域を示す枠３２１が表示される。同様に、２〜４番目の撮像によって取得された入力画像ＩＭＧ１からそれぞれ抽出された部分画像ＩＭＧ２およびそれらの領域を示す枠３２２〜３２４も同時に表示される。なお、図２２に示す表示は、履歴表示生成部２３８（図１８）から出力されるデータによって実現される。いわば、複数の入力画像ＩＭＧ１が多重露光画像のように表示される。
【０２１７】
図２２に示す例では、４番目の撮像によって取得された入力画像ＩＭＧ１から抽出された部分画像ＩＭＧ２が、撮像部８の視野の外にはみ出していることがわかる。すなわち、４番目の撮像によって取得された入力画像からの部分画像の抽出が異常であると判断される。これは、動き追従処理が失敗していることを意味する。
【０２１８】
このような場合には、ユーザに対してエラーを通知するために、４番目の撮像によって取得された入力画像に対応する部分画像の領域を示す枠３２４の表示形態（典型的には、表示色や点滅表示など）を異常の生じていない他の枠の表示形態とは異なったものとする。
【０２１９】
このように、１枚の合成画像を生成する過程で抽出された部分画像ＩＭＧ２の領域の一連の位置が同一画面上に表示されるので、部分画像ＩＭＧ２の領域が時系列に従って、どのように変化しているのかを一見して把握することができる。
【０２２０】
さらに、図２２に示す稼動モード画面３０２では、異常発生の内容をユーザに通知するメッセージ３３０も表示される。このメッセージ３３０では、発生した異常の種別毎に区別してエラーが通知される。より具体的には、入力画像ＩＭＧ１からの部分画像ＩＭＧ２の抽出が異常である場合（はみ出し枚数）と、入力画像ＩＭＧ１における参照画像ＲＥＦに対応する位置の特定（サーチ処理）が異常である場合（サーチ失敗枚数）とに区分され、それぞれの異常が発生した回数（部分画像の枚数）を示す数値が表示される。
【０２２１】
なお、図２２に示す場合において、モデル画像に対応する領域が探索された場合には、はみ出しとして検知してもよい。
【０２２２】
図２３は、この発明の実施の形態に従う入力画像ＩＭＧ１からの部分画像ＩＭＧ２の抽出が異常となった場合を説明するための図である。
【０２２３】
図２３（ａ）に示すように、図１９（ａ）と同様な参照画像ＲＥＦが予め登録されているものとし、いずれかの露光条件において撮像された入力画像ＩＭＧ１に対してサーチ処理が実行された結果の一例を図２３（ｂ）に示す。図２３（ｂ）に示す例では、参照画像ＲＥＦの対応する領域２３５２＃が特定されているものの、図１９（ｂ）に示す例とは異なり、その領域２３５２＃の一部の領域は、入力画像ＩＭＧ１の範囲外にはみ出している。この領域２３５２＃のはみ出し部分には、画像情報が存在しないので、予め設定されている合成処理設定を満足する合成画像を生成することができない。そのため、このような場合には、処理異常として、エラー通知を行う。
【０２２４】
また、サーチ処理によって、参照画像ＲＥＦの対応する領域を特定することができなかった場合、すなわち、入力画像ＩＭＧ１内に参照画像ＲＥＦと同じもしくは類似した画像が含まれない場合にも、予め設定されている合成処理設定を満足する合成画像を生成することができないので、処理異常として、エラー通知を行う。
【０２２５】
［Ｅ８．動き追従処理（モデル登録型）における異常監視処理その２］
異常監視処理の別形態として、抽出された部分画像ＩＭＧ２の領域の時間的な位置変化が本来の変化を示すか否かに応じて、異常の有無を判断してもよい。この本来の変化は、典型的には、ワーク２の搬送速度から推定される。以下、図２４および図２５を参照して、稼動モードにおける異常監視処理の別形態について説明する。
【０２２６】
図２４は、この発明の実施の形態に従う異常監視処理の別形態について説明する図である。図２５は、図２４に示す処理を実現するための異常監視部２３７における制御構造の一例を示す図である。
【０２２７】
図２４を参照して、たとえば、搬送ライン６の搬送方向が紙面右側から左側であるとすると、被測定物であるワーク２の動きに追従する部分画像ＩＭＧ２についても、この搬送方向に沿って、その位置が時間的に変化するはずである。すなわち、図２４（ａ）に示すように、１番目の撮像によって得られた入力画像ＩＭＧ１から抽出された部分画像ＩＭＧ２の位置（符号１）、２番目の撮像によって得られた入力画像ＩＭＧ１から抽出された部分画像ＩＭＧ２の位置（符号２）、といったように、部分画像ＩＭＧ２の位置は、本来、紙面右側から左側に時系列で移動するはずである。
【０２２８】
しかしながら、図２４（ｂ）に示すように、４番目の撮像によって得られた入力画像ＩＭＧ１から抽出された部分画像ＩＭＧ２の位置（符号４）の位置が、３番目の撮像によって得られた入力画像ＩＭＧ１から抽出された部分画像ＩＭＧ２の位置（符号３）に比較して、搬送方向とは逆方向に変化しているような場合には、異常であると判断することができる。このように、抽出された部分画像ＩＭＧ２の領域の時間的な位置変化に基づいて、異常の有無を判断することもできる。
【０２２９】
このような異常の有無を判断する制御構造として、図２５に示すように、異常監視部２３７は、遅延素子２３７１と、ベクトル減算器２３７２と、評価部２３７３とを含む。
【０２３０】
遅延素子２３７１は、抽出指令生成部２３６（図１８）から出力される抽出指令（抽出位置）が入力されるとともに、当該抽出位置の情報を１枚の画像合成処理に要する時間だけ遅延させる。これは、時間的に隣接する画像合成処理の間で、部分画像ＩＭＧ２の抽出位置を比較するためである。
【０２３１】
ベクトル減算器２３７２は、遅延素子２３７１からの出力と、抽出指令生成部２３６からの抽出位置との間のベクトル差分を算出する。なお、ベクトル減算器２３７２には、少なくとも入力画像ＩＭＧ１の２次元の座標値が抽出位置として入力されるので、それぞれの座標値に含まれる各成分同士の差分を計算することで、ベクトル差分が算出される。
【０２３２】
評価部２３７３は、ベクトル減算器２３７２で算出されるベクトル差分の基づいて、異常の有無を判断する。典型的には、ベクトル減算器２３７２で算出されるベクトル差分のいずれかの成分が「負」値となった場合には、異常であると判断される。
【０２３３】
［Ｅ９．動き追従処理（モデル登録型）における撮像部の調整］
図１６に示すように、撮像部８により撮像された画像上に表示されるガイド枠４１９を参照して、参照画像ＲＥＦとして抽出すべき領域４１６（本実施の形態では、部分画像ＩＭＧ２として抽出される大きさと同じ）をユーザが容易に設定する方法について例示したが、このガイド枠４１９を参照することで、撮像部８の視野調整も容易化する。
【０２３４】
図２６は、この発明の実施の形態に従う視野調整中における画面表示例を示す図である。図２７は、この発明の実施の形態に従う各種調整操作を説明するための図である。
【０２３５】
撮像部８の視野調整を行う場合には、画像表示エリア４１２にガイド枠４１９を表示させるとともに、画像表示エリア４１２に表示される被測定物のワーク２の大きさがガイド枠４１９の大きさと比較して適切となるように、撮像部８の位置などを調整する。なお、このとき画像表示エリア４１２には、所定の露光条件で撮像部８が連続的に撮像する画像をリアルタイムで表示するようにするのが好ましい。
【０２３６】
あるセッティングにおいて、撮像部８によって撮像された画像が図２６（ａ）のように表示されたとすると、ガイド枠４１９に対してワーク２の大きさが小さすぎるので、撮像部８の視野をより狭くすることになる。一方、図２６（ｃ）のようにガイド枠４１９をはみ出してワーク２が表示されたとすると、ガイド枠４１９に対してワーク２の大きさが大きすぎるので、撮像部８の視野をより広くすることになる。
【０２３７】
そして、図２６（ｂ）に示すような、ガイド枠４１９に対して、ワーク２が適度な大きさで表示されるようになるまで、撮像部８の視野が調整される。
【０２３８】
この撮像部８の視野調整の方法としては、撮像部８が単焦点レンズであるような場合には、図２７（ａ）に示すように、ワーク２に対する撮像部８の距離を調整することで、視野調整が行なわれる。また、ズームレンズを有する撮像部８＃を用いる場合には、図２７（ｂ）に示すように、撮像部８＃にズームレンズを駆動するための指令を与えることで、視野調整が行なわれる。
【０２３９】
なお、図２７に示すように、必要に応じて、トリガ信号の発生タイミングを調整するために、光電センサの取付位置を調整してもよい。
【０２４０】
［Ｅ１０．動き追従処理（モデル登録型）における全体処理手順］
図２８は、この発明の実施の形態に従う画像処理装置における全体処理（モデル登録型）を示すフローチャートである。図２８に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。なお、初期モードは「設定モード」であるとする。
【０２４１】
図２８を参照して、ＣＰＵ１０５は、モード切替え指令を受付けたか否かを判断する（ステップＳ１００）。モード切替え指令を受付けていない場合（ステップＳ１００においてＮＯの場合）には、ＣＰＵ１０５は、設定モード画面を表示する（ステップＳ１０２）。続いて、設定モード画面上の「ＨＤＲ設定」タブ４１０が選択されたか否かを判断する（ステップＳ１０４）。設定モード画面上の「ＨＤＲ設定」タブ４１０が選択された場合（ステップＳ１０４においてＹＥＳの場合）には、ＣＰＵ１０５は、合成処理設定サブルーチンを実行する（ステップＳ１０６）。
【０２４２】
一方、設定モード画面上の「ＨＤＲ設定」タブ４１０が選択されていない場合（ステップＳ１０４においてＮＯの場合）には、ＣＰＵ１０５は、設定モード画面上の「動き追従設定」タブ４１１が選択されたか否かを判断する（ステップＳ１０８）。設定モード画面上の「動き追従設定」タブ４１１が選択された場合（ステップＳ１０８においてＹＥＳの場合）には、ＣＰＵ１０５は、動き追従（モデル登録型）設定サブルーチンを実行する（ステップＳ１１０）。そして、処理はリターンする。
【０２４３】
これに対して、モード切替え指令を受付けた場合（ステップＳ１００においてＹＥＳの場合）には、ＣＰＵ１０５は、「稼動モード」（モデル登録型）へ移行する（ステップＳ１１２）。そして、図３２に示す処理が実行される。
【０２４４】
（合成処理設定サブルーチン）
図２９は、図２８に示す合成処理設定サブルーチンにおける処理を示すフローチャートである。図２９に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。
【０２４５】
図２９を参照して、ＣＰＵ１０５は、撮像部８に設定可能なすべての露光時間・撮像回数でワーク２を撮像する（ステップＳ２００）。そして、ＣＰＵ１０５は、必要な回数の撮像が完了したか否かを判断する（ステップＳ２０２）。必要な回数の撮像が完了していない場合（ステップＳ２０２においてＮＯの場合）には、ＣＰＵ１０５は、ステップＳ２００の処理を繰返す。
【０２４６】
必要な回数の撮像が完了している場合（ステップＳ２０２においてＹＥＳの場合）には、ＣＰＵ１０５は、画像合成処理サブルーチン（設定モード）を実行する（ステップＳ２０４）。この画像合成処理サブルーチン（設定モード）の実行により、撮像により取得された複数の入力画像から合成画像が生成される。そして、ＣＰＵ１０５は、生成した合成画像をモニタ１０２などに表示する（ステップＳ２０６）。
【０２４７】
続いて、ＣＰＵ１０５は、生成された合成画像に含まれる合成輝度Ｅｉに基づいて、ヒストグラムを生成する（ステップＳ２０８）。
【０２４８】
続いて、ＣＰＵ１０５は、ユーザにより、「明るさ」上下限範囲の設定が入力されたか否かを判断する（ステップＳ２１０）。「明るさ」上下限範囲の設定が入力されていない場合（ステップＳ２１０においてＮＯの場合）には、入力されるまで待つ。
【０２４９】
「明るさ」上下限範囲の設定が入力された場合（ステップＳ２１０においてＹＥＳの場合）には、ＣＰＵ１０５は、入力された「明るさ」上下限範囲をカバーするように、撮像部８による露光時間および撮像回数を含む合成処理設定を決定する（ステップＳ２１２）。そして、処理は図２８のメインフローに戻る。
【０２５０】
（画像合成処理サブルーチン（設定モード））
図３０は、図２９に画像合成処理サブルーチン（設定モード）における処理を示すフローチャートである。図３０に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。
【０２５１】
図３０を参照して、ＣＰＵ１０５は、図１３に示す設定モード画面４００を表示する（ステップＳ３００）。続いて、ＣＰＵ１０５は、座標位置ｉを初期値（ｉ＝１）に設定し（ステップＳ３０２）、撮像された複数の入力画像の座標位置ｉに対応するそれぞれの画素の色情報および輝度を取得する（ステップＳ３０４）。
【０２５２】
続いて、ＣＰＵ１０５は、複数の入力画像の座標位置ｉに対応するそれぞれの画素の輝度に基づいて、座標位置ｉの合成輝度Ｅｉを算出し（ステップＳ３０６）、さらに、ユーザ設定された、「明るさ」上下限範囲に基づいて、合成輝度Ｅｉから階調値Ｙｉを算出する（ステップＳ３０８）。
【０２５３】
同様に、ＣＰＵ１０５は、複数の入力画像の座標位置ｉに対応するそれぞれの画素の輝度および色情報に基づいて、座標位置ｉの合成色情報（ｒｉ，ｇｉ，ｂｉ）を算出する（ステップＳ３１０）。
【０２５４】
なお、ステップＳ３０６およびＳ３０８の処理と、ステップＳ３１０の処理とを並列的に実行してもよい。
【０２５５】
さらに、ＣＰＵ１０５は、算出した階調値Ｙｉを座標位置ｉの合成色情報（ｒｉ，ｇｉ，ｂｉ）に乗じることで、合成画像の座標位置ｉの座標における絶対的な色情報（Ｒｉ，Ｇｉ，Ｂｉ）を算出する（ステップＳ３１２）。
【０２５６】
そして、ＣＰＵ１０５は、座標位置ｉが入力画像に含まれる最後の座標であるか否かを判断する（ステップＳ３１４）。座標位置ｉが入力画像に含まれる最後の座標でない場合（ステップＳ３１４においてＮＯの場合）には、ＣＰＵ１０５は、現在の座標位置ｉに「１」を加算して（ステップＳ３１６）、ステップＳ３０４以下の処理を繰返す。
【０２５７】
一方、座標位置ｉが入力画像に含まれる最後の座標である場合（ステップＳ３１４においてＹＥＳの場合）には、ＣＰＵ１０５は、各座標位置における絶対的な色情報（Ｒｉ，Ｇｉ，Ｂｉ）を含む合成画像を出力する（ステップＳ３１８）。そして、処理はリターンする。
【０２５８】
（動き追従設定サブルーチン）
図３１は、図２８に示す動き追従設定（モデル登録型）サブルーチンにおける処理を示すフローチャートである。図３１に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。
【０２５９】
図３１を参照して、ＣＰＵ１０５は、図１４に示す設定モード画面４０２を表示する（ステップＳ４００）。続いて、ＣＰＵ１０５は、動き追従チェックボックス４５１がチェックされているか否かを判断する（ステップＳ４０２）。動き追従チェックボックス４５１がチェックされていない場合（ステップＳ４０２においてＮＯの場合）には、処理は図２８のメインフローに戻る。
【０２６０】
一方、動き追従チェックボックス４５１がチェックされている場合（ステップＳ４０２においてＹＥＳの場合）には、ＣＰＵ１０５は、領域設定ボタン４５３が選択されたか否かを判断する（ステップＳ４０４）。領域設定ボタン４５３が選択された場合（ステップＳ４０４においてＹＥＳの場合）には、ＣＰＵ１０５は、図１５に示す領域設定画面４０４を表示する（ステップＳ４０６）。そして、ＣＰＵ１０５は、参照画像ＲＥＦとして抽出すべき領域４１６の大きさおよび位置を受付ける（ステップＳ４０８）。
【０２６１】
領域設定ボタン４５３が選択されていない場合（ステップＳ４０４においてＮＯの場合）、もしくはステップＳ４０８の実行後、ＣＰＵ１０５は、ガイド表示ボタン４５４が選択されたか否かを判断する（ステップＳ４１０）。ガイド表示ボタン４５４が選択された場合（ステップＳ４１０においてＹＥＳの場合）には、ＣＰＵ１０５は、図２９に示すステップＳ２１２において決定された合成処理設定における撮像時間、およびユーザ入力されたライン速度・領域実寸・移動方向の値に基づいて、当該合成処理設定を満足できる最大範囲の大きさを示すガイドの長さを算出する（ステップＳ４１２）。さらに、ＣＰＵ１０５は、この算出されたガイド長さに応じて、表示中の画像上にガイド枠４１９を表示する（ステップＳ４１４）。
【０２６２】
ガイド表示ボタン４５４が選択されていない場合（ステップＳ４１０においてＮＯの場合）、もしくはステップＳ４１４の実行後、ＣＰＵ１０５は、ライン速度入力ボックス４５７へ数値が入力されたか否かを判断する（ステップＳ４１６）。ライン速度入力ボックス４５７へ数値が入力された場合（ステップＳ４１６においてＹＥＳの場合）には、ＣＰＵ１０５は、入力された数値の妥当性を検証した後、ライン速度の設定値として格納する（ステップＳ４１８）。
【０２６３】
ライン速度入力ボックス４５７へ数値が入力されていない場合（ステップＳ４１６においてＮＯの場合）、もしくはステップＳ４１８の実行後、ＣＰＵ１０５は、ワークサイズ入力ボックス４５８へ数値が入力されたか否かを判断する（ステップＳ４２０）。ワークサイズ入力ボックス４５８へ数値が入力された場合（ステップＳ４２０においてＹＥＳの場合）には、ＣＰＵ１０５は、入力された数値の妥当性を検証した後、ワークサイズの設定値として格納する（ステップＳ４２２）。
【０２６４】
ワークサイズ入力ボックス４５８へ数値が入力されていない場合（ステップＳ４２０においてＮＯの場合）、もしくはステップＳ４２２の実行後、ＣＰＵ１０５は、ライン移動方向チェックボックス群４５９のいずれかがチェックされたか否かを判断する（ステップＳ４２４）。ライン移動方向チェックボックス群４５９のいずれかがチェックされた場合（ステップＳ４２４においてＹＥＳの場合）には、ＣＰＵ１０５は、チェックされたチェックボックスに対応する方向をライン移動方向の設定値として格納する（ステップＳ４２６）。
【０２６５】
ライン移動方向チェックボックス群４５９のいずれかがチェックされていない場合（ステップＳ４２４においてＮＯの場合）、もしくはステップＳ４２６の実行後、処理は図２８のメインフローに戻る。
【０２６６】
（稼動モード）
図３２は、この発明の実施の形態に従う画像処理装置における「稼動モード」（モデル登録型）における処理を示すフローチャートである。図３２に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。
【０２６７】
図３２を参照して、ＣＰＵ１０５は、図１７に示す稼動モード画面３００を表示する（ステップＳ５００）。続いて、ＣＰＵ１０５は、光電センサからトリガ信号を受信したか否かを判断する（ステップＳ５０２）。すなわち、対象のワーク２が撮像部８の視野内に到達したか否かが判断される。光電センサからトリガ信号を受信していない場合（ステップＳ５０２においてＮＯの場合）には、ステップＳ５０２の処理を繰返す。
【０２６８】
光電センサからトリガ信号を受信した場合（ステップＳ５０２においてＹＥＳの場合）には、ＣＰＵ１０５は、図２９に示すステップＳ２１２において決定された合成処理設定に従う露光時間でワーク２を撮像する（ステップＳ５０４）。続いて、ＣＰＵ１０５は、撮像した露光時間に対応する参照画像を読出し（ステップＳ５０６）、読出した参照画像に基づいて入力画像に対してサーチ処理を行う（ステップＳ５０８）。
【０２６９】
さらに、ＣＰＵ１０５は、サーチ処理が成功したか否かを判断する（ステップＳ５１０）。サーチ処理が成功しなかった場合（ステップＳ５１０においてＮＯの場合）には、以後の処理は中断し、処理はステップＳ５１８へ進む。
【０２７０】
サーチ処理が成功した場合（ステップＳ５１０においてＹＥＳの場合）には、ＣＰＵ１０５は、サーチ処理によって特定した参照画像の位置に基づいて、対象の入力画像から部分画像を抽出する（ステップＳ５１２）。さらに、ＣＰＵ１０５は、合成処理設定に含まれるすべての撮像が終了したか否かを判断する（ステップＳ５１４）。合成処理設定に含まれるすべての撮像が終了していない場合（ステップＳ５１４においてＮＯの場合）には、ステップＳ５０４以降の処理が繰返される。なお、図２１を用いて説明したように、ステップＳ５０４の処理と、ステップＳ５０６〜Ｓ５１２の処理とを並列的に実行してもよい。
【０２７１】
合成処理設定に含まれるすべての撮像が終了した場合（ステップＳ５１４においてＹＥＳの場合）には、抽出されたそれぞれの部分画像の位置に基づいて、異常発生の有無を判断する（ステップＳ５１６）。異常発生と判断された場合（ステップＳ５１６においてＹＥＳの場合）には、ＣＰＵ１０５は、エラーをモニタ１０２に表示する（ステップＳ５１８）。そして、処理は図２８のメインフローに戻る。
【０２７２】
一方、異常発生が無いと判断された場合（ステップＳ５１６においてＮＯの場合）には、ＣＰＵ１０５は、画像合成処理サブルーチン（稼動モード）を実行する（ステップＳ５２０）。この画像合成処理サブルーチン（稼動モード）の実行により、複数の入力画像からそれぞれ抽出された複数の部分画像に基づく合成画像が生成される。さらに、ＣＰＵ１０５は、生成した合成画像をモニタ１０２に表示する（ステップＳ５２２）。
【０２７３】
続いて、ＣＰＵ１０５は、生成された合成画像に基づいて検査計測処理を実行する（ステップＳ５２４）。なお、検査計測処理の一例としては、たとえば、予め登録された画像パターンに一致する部分を探索するサーチ処理や、ワークのエッジを検出してエッジ間の距離を計測するエッジスキャン処理などが挙げられる。
【０２７４】
最終的に、ＣＰＵ１０５は、その検査計測処理の結果をモニタ１０２などに表示する（ステップＳ５２６）とともに、ＰＬＣなどの外部装置へ出力する（ステップＳ５２８）。そして、処理は図２８のメインフローに戻る。
【０２７５】
（画像合成処理サブルーチン（稼動モード））
図３３は、図３２に示す画像合成処理サブルーチン（稼動モード）における処理を示すフローチャートである。図３３に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。
【０２７６】
図３３を参照して、ＣＰＵ１０５は、座標位置ｉを初期値（ｉ＝１）に設定し（ステップＳ６００）、撮像された複数の部分画像の座標位置ｉに対応するそれぞれの画素の色情報および輝度を取得する（ステップＳ６０２）。
【０２７７】
続いて、ＣＰＵ１０５は、複数の部分画像の座標位置ｉに対応するそれぞれの画素の輝度に基づいて、座標位置ｉの合成輝度Ｅｉを算出し（ステップＳ６０４）、さらに、ユーザ設定された、「明るさ」上下限範囲に基づいて、合成輝度Ｅｉから階調値Ｙｉを算出する（ステップＳ６０６）。
【０２７８】
同様に、ＣＰＵ１０５は、複数の部分画像の座標位置ｉに対応するそれぞれの画素の輝度および色情報に基づいて、座標位置ｉの合成色情報（ｒｉ，ｇｉ，ｂｉ）を算出する（ステップＳ６０８）。
【０２７９】
さらに、ＣＰＵ１０５は、算出した階調値Ｙｉを座標位置ｉの合成色情報（ｒｉ，ｇｉ，ｂｉ）に乗じることで、合成画像の座標位置ｉの座標における絶対的な色情報（Ｒｉ，Ｇｉ，Ｂｉ）を算出する（ステップＳ６１０）。
【０２８０】
そして、ＣＰＵ１０５は、座標位置ｉが部分画像に含まれる最後の座標であるか否かを判断する（ステップＳ６１２）。座標位置ｉが部分画像に含まれる最後の座標でない場合（ステップＳ６１２においてＮＯの場合）には、ＣＰＵ１０５は、現在の座標位置ｉに「１」を加算して（ステップＳ６１４）、ステップＳ６０２以下の処理を繰返す。
【０２８１】
一方、座標位置ｉが部分画像に含まれる最後の座標である場合（ステップＳ６１２においてＹＥＳの場合）には、ＣＰＵ１０５は、各座標位置における絶対的な色情報（Ｒｉ，Ｇｉ，Ｂｉ）を含む合成画像を出力する（ステップＳ６１６）。そして、処理はリターンする。
【０２８２】
［Ｅ１１．動き追従処理（モデル登録型）を採用した場合の作用効果］
この発明の実施の形態によれば、被測定物であるワークを複数回撮像してダイナミックレンジを拡大した合成画像を生成する場合において、それぞれ取得される入力画像からワークの移動に応じた領域を抽出して、合成画像が生成される。そのため、ワークが搬送ライン上を移動する場合であっても、生成された合成画像における画像ずれの発生を抑制できる。
【０２８３】
また、この発明の実施の形態によれば、動き追従処理に向けた、視覚センサシステム１の各部分の配置位置を含む各種設定を行う際には、撮像部で撮像された基準ワークなどの画像上にガイド枠が表示される。このガイド枠は、合成画像として出力することが可能な最大範囲を示す。このようなユーザフレンドリな表示を行うことで、知識の少ないユーザであっても、合成画像の生成に用いる部分画像の大きさや撮像部の視野などを容易かつ適切に設定することができる。
【０２８４】
また、この発明の実施の形態によれば、複数の異なる露光条件でワークを撮像して得られるそれぞれの入力画像に対して、動き追従処理（サーチ処理）を行うための参照画像（もしくは、参照情報）が、それぞれの露光条件の別に登録される。それぞれの露光条件下で撮像された入力画像の間では、それぞれに現れる特徴も異なったもとなるが、本実施の形態のように、露光条件別に参照情報を登録することで、より効率的なサーチ処理を行うことができる。
【０２８５】
さらに、上述のような露光条件別の参照画像（もしくは、参照情報）の登録は、ユーザが基準ワークを撮像して得られる入力画像上で、参照画像とすべき領域を１回だけ指定することで完了されるので、ユーザに煩わしさを与えることがない。
【０２８６】
［Ｅ１２．動き追従処理（モデル登録型）についての第１変形例］
上述の実施の形態に従う画像処理装置では、基準ワークを撮像した画像そのものを参照画像ＲＥＦとして予め登録する構成について例示した。このような参照画像そのものに代えて、あるいは参照画像とともに、基準ワークの特徴情報を登録するようにしてよい。このような特徴情報に基づいてサーチ処理を行うことで、サーチ処理に要する時間をより短縮することもできる。
【０２８７】
図３４は、この発明の実施の形態に従う動き追従処理（モデル登録型）についての第１変形例に対応する参照画像登録部２３１＃のより詳細な制御構造を示す機能ブロック図である。なお、この参照画像登録部２３１＃は、図１８に示す参照画像登録部２３１に対応する。
【０２８８】
図３４を参照して、参照画像登録部２３１＃は、入力画像選択部２３１１と、抽出部２３１２と、特徴情報取得部２３１３とを含む。
【０２８９】
入力画像選択部２３１１は、画像メモリ２０４ａ〜２０４ｈにそれぞれ格納される基準ワークを撮像することで取得される入力画像ＩＭＧ３を選択的に読出し、抽出部２３１２へ出力する。抽出部２３１２は、入力画像選択部２３１１から受けた入力画像ＩＭＧ３から、ユーザによって指定された、参照画像ＲＥＦとして抽出すべき領域（図１６の領域４１６に相当）を抽出する。そして、抽出部２３１２は、この抽出した領域の画像を特徴情報取得部２３１３へ出力する。
【０２９０】
特徴情報取得部２３１３は、抽出部２３１２から受けた画像から、サーチ処理に用いるための特徴情報を取得する。この特徴情報としては、エッジパターンやエッジ位置などを含む。そして、特徴情報取得部２３１３は、この取得した特徴情報を対応する露光条件と対応付けて格納する。
【０２９１】
稼動モードにおいては、この露光条件と対応付けて格納された特徴情報が読出され、読出された特徴情報に基づいてサーチ処理が実行される。
【０２９２】
その他の構造および制御構造などについては、上述の実施の形態と同様であるので、詳細な説明は繰返さない。
【０２９３】
なお、上述の実施の形態では、基準ワークを撮像することで取得される入力画像のうち、参照画像ＲＥＦとして抽出すべき領域をユーザが設定する構成について例示したが、本第１変形例と同様に、この参照画像ＲＥＦ自体の抽出についても、特徴情報などに基づいて、自動的に抽出されるようにしてもよい。
【０２９４】
本第１変形例によれば、サーチ処理をより効率的、かつ短時間に行うことができる。
［Ｅ１３．動き追従処理（モデル登録型）についての第２変形例］
上述の実施の形態においては、基準ワークを撮像して取得される入力画像ＩＭＧ３のうち参照画像ＲＥＦとして登録される領域の大きさを、画像合成処理に用いられる部分画像ＩＭＧ２の大きさと同一とする場合について例示した。しかしながら、サーチ処理に用いる参照画像ＲＥＦの大きさおよび位置と、実際に出力されるべき合成画像の大きさおよび位置とは必ずしも一致するとは限らない。
【０２９５】
たとえば、ワーク表面のキズ検査などを行う場合を考えると、検査対象の部分は濃淡のない鏡面などであることもある。このような場合には、検査対象の部分の参照画像に基づくサーチ処理がうまく実行できないことも多いと考えられる。そこで、検査対象ではない他の部分の付されている模様などを参照画像として登録しておき、動き追従処理を行うことが好ましい場合もある。
【０２９６】
従って、以下では、基準ワークを撮像して取得される入力画像ＩＭＧ３から参照画像ＲＥＦとして抽出される領域と、合成画像を生成するために入力画像ＩＭＧ１からそれぞれ抽出される部分画像ＩＭＧ２の大きさとを独立に設定可能な構成について例示する。
【０２９７】
図３５は、この発明の実施の形態に従う動き追従処理（モデル登録型）についての第２変形例に係る設定を行うための設定モード画面４０２Ａを示す図である。
【０２９８】
図３５に示す設定モード画面４０２Ａは、図１４に示す設定モード画面４０２において、動き追従設定入力エリア４５０に代えて動き追従設定入力エリア４５０Ａを表示するようにしたものに相当する。動き追従設定入力エリア４５０Ａは、動き追従設定入力エリア４５０において、領域設定ボタン４５３に代えて、モデル設定ボタン４５５および合成領域設定ボタン４５６を含むようにしたものである。その他のボタン配列などについては、図１４に示す設定モード画面４０２と同様であるので、詳細な説明は繰返さない。
【０２９９】
モデル設定ボタン４５５は、基準ワークを撮像して取得される入力画像ＩＭＧ３から参照画像ＲＥＦとして抽出される領域の設定を受付ける。より具体的には、モデル設定ボタン４５５が選択されると、図３６に示すような領域設定画面４０６が表示される。この領域設定画面４０６では、上述した図１５に示す領域設定画面４０４と同様の手順によって、ユーザは、基準ワークを撮像して取得される入力画像ＩＭＧ３から参照画像ＲＥＦとして抽出される領域４１８を設定する。
【０３００】
再度図３５を参照して、合成領域設定ボタン４５６が選択されると、図１５と同様の設定モード画面４０２が表示され、ユーザは、合成画像を生成するために入力画像ＩＭＧ１からそれぞれ抽出される部分画像ＩＭＧ２の大きさを設定する。
【０３０１】
さらに、それぞれの領域が設定されると、両者の間の相対的な位置関係についても登録される。この相対的な位置関係は、サーチ処理によって、入力画像ＩＭＧ１における参照画像ＲＥＦに対応する位置が特定された後、合成画像を生成するためにいずれの領域を抽出するのかを判断するために用いられる。
【０３０２】
その他の構造および制御構造などについては、上述の実施の形態と同様であるので、詳細な説明は繰返さない。
【０３０３】
本第２変形例によれば、多種多様なワークの検査や計測に対応することができる。
［Ｆ１．動き追従処理（逐次抽出型）の概要］
本実施の形態に従う動き追従処理（逐次抽出型）においては、複数の露光条件で複数回撮像を行うことにより得られる入力画像の組に対して、ある入力画像内の予め設定された領域を目的のワーク２（特定の被測定物）を示す参照画像として抽出し、当該抽出された参照画像を後続して取得される入力画像内で探索することにより、当該後続の入力画像における目的のワーク２の位置を特定する。すなわち、本実施の形態に従う動き追従処理（逐次抽出型）においては、撮像部８により順次撮像される画像に対して、モデル抽出およびモデル探索が動的に逐次実行される。
【０３０４】
図３７は、この発明の実施の形態に従う動き追従処理（逐次抽出型）の概要を説明するための図である。なお、図３７には、説明を簡素化するために、３枚の入力画像に基づいて、１枚の合成画像が生成される場合について例示する。この例では、一連の撮像によって、入力画像ＩＭＧ１＿１，ＩＭＧ１＿２，ＩＭＧ１＿３の順に画像が得られるとする。なお、入力画像ＩＭＧ１＿１，ＩＭＧ１＿２，ＩＭＧ１＿３は、露光時間が単調に短くなるように露光条件が設定されているものとする。
【０３０５】
図３７（ａ）を参照して、入力画像ＩＭＧ１＿１に対して、予め設定された領域が参照画像（パターン１）として抽出される。すなわち、当該領域が目的のワーク２を示す参照画像として設定される。そして、この先に抽出されているパターン１を用いて、入力画像ＩＭＧ１＿２内でサーチ（探索）処理を行うことによって、入力画像ＩＭＧ１＿２における目的のワーク２の位置を特定するとともに、当該特定したワーク２の位置に応じて、入力画像ＩＭＧ１＿２から新たな参照画像（パターン２）を抽出する。
【０３０６】
このとき、後段の画像合成処理の前処理として、一連の複数回撮像によって取得される入力画像の組について、最初に取得される入力画像内の目的のワーク２の位置を基準として、後続の入力画像について位置合わせが行われる。すなわち、入力画像ＩＭＧ１＿２内の目的のワーク２の位置に応じて、入力画像ＩＭＧ１＿１と入力画像ＩＭＧ１＿２との間の相対的な位置関係が決定される。典型的には、図３７（ａ）に示すように、入力画像ＩＭＧ１＿１を基準として、入力画像ＩＭＧ１＿２の（入力画像ＩＭＧ１＿１に対する相対的な）位置調整が行われる。
【０３０７】
図３７（ｂ）を参照して、続いて、後続の入力画像ＩＭＧ１＿３が取得されると、当該後続の入力画像ＩＭＧ１＿３に対して、直近に抽出されたモデル（この場合には、入力画像ＩＭＧ１＿２から抽出されたパターン２）を用いてサーチ処理を行うことによって、入力画像ＩＭＧ１＿３における目的のワーク２の位置を特定する。そして、上述の入力画像ＩＭＧ１＿２と同様に、入力画像ＩＭＧ１＿１を基準として、入力画像ＩＭＧ１＿３の（入力画像ＩＭＧ１＿１に対する相対的な）位置調整が行われる。
【０３０８】
以下、同様の処理が一連の撮像によって得られる入力画像の組に対して順次実行される。
【０３０９】
このように、撮像部８の撮像により順次取得される入力画像に対して、動的にサーチ処理が繰返されるので、目的のワーク２を示す参照画像（パターン）または目的のワーク２の特徴情報を予め登録しておく必要がない。
【０３１０】
言い換えれば、動き追従処理（逐次抽出型）においては、撮像部８による一連の複数回撮像において、１番目に取得される入力画像内の予め設定された領域を目的のワーク２を示す１番目の参照画像（パターン）として抽出する。なお、最初に取得される入力画像から、目的のワーク２を示す参照画像（パターン）として抽出する範囲は、後述するように、ユーザによって設定される。そして、当該１番目のパターンを２番目に取得される入力画像内で探索することにより、当該２番目に取得される入力画像における目的のワーク２の位置を特定する。さらに、当該２番目に取得される入力画像内において探索された当該１番目のパターンの位置に応じた領域を目的のワーク２を示す２番目のパターンとして抽出する。さらに、当該２番目のパターンを３番目に取得される入力画像内で探索することにより、当該３番目に取得される入力画像における目的のワーク２の位置を特定する。
【０３１１】
上述したように、一連の撮像によって得られる入力画像の組に対して、パターン抽出と抽出したパターンを用いたサーチ処理が順次実行される。そのため、先に取得された入力画像から抽出される目的のワーク２を示すパターンは、後続の入力画像に含まれる目的のワーク２の画像と、明るさなどの画像処理上で使用されるパラメータについて、近似している必要がある。そのため、本実施の形態に従う動き追従処理（逐次抽出型）においては、複数の露光条件の間での相違量がなるべく少なくなるように、一連の撮像が行われる。典型的には、露光条件の典型例である露光時間についてみれば、図３７に示すように、「１／１０００秒」→「１／２０００秒」→「１／４０００秒」というように、露光時間が単調減少するように一連の露光条件が設定されることが好ましい。あるいは、「１／４０００秒」→「１／２０００秒」→「１／１０００秒」というように、露光時間が単調増加するように一連の露光条件が設定されてもよい。
【０３１２】
言い換えれば、「１／１０００秒」→「１／４０００秒」→「１／２０００秒」というように露光条件を設定すると、「１／１０００秒」の露光時間での撮像によって得られる入力画像と、「１／４０００秒」の露光時間での撮像によって得られる入力画像との間では、画像に含まれる「明るさ」が相対的に大きく異なるようになる。そのため、「１／１０００秒」の露光時間での撮像によって得られる入力画像から抽出されたパターンを用いて、「１／４０００秒」の露光時間での撮像によって得られる入力画像内でサーチをすると、サーチ精度（入力画像間の位置合わせ精度）が低下し得る。
【０３１３】
したがって、露光時間をその値の大きさの順序に従って並べた順序で、一連の撮像を行うことが好ましい。このように露光条件を設定することで、サーチ精度（入力画像間の位置合わせ精度）を向上させることができる。
【０３１４】
図３８は、この発明の実施の形態に従う動き追従処理（逐次抽出型）の全体処理概要を説明するための図である。
【０３１５】
図３８を参照して、撮像部８が露光時間ｔ１で撮像することで取得される入力画像（最初の入力画像）に対して、予めユーザ設定されているモデル領域がパターンとして抽出される。そして、この抽出されたパターンを用いて、撮像部８が露光時間ｔ２で撮像することで取得される入力画像（２番目の入力画像）に対して、サーチ処理が実行される。そして、このサーチ処理の結果に従って、２番目の入力画像から新たなパターンが抽出（パターンの更新）されるとともに、２番目の入力画像に対する位置調整が行われる。
【０３１６】
以下同様にして、一連の撮像によって得られる入力画像の組に対して、サーチ処理およびパターン抽出が逐次的に実行されると、位置調整後の入力画像の組が得られる。
【０３１７】
その後、この位置調整後の入力画像の組に対して、画像合成処理が実行される。なお、入力画像の間で相対的な位置調整が行われるので、図３８に示すように、画像合成処理に用いることができない範囲（図３８の黒ベタの範囲）が生じる。すなわち、実質的には、入力画像の組のうち、画像合成処理に用いられる範囲の画像（部分画像）が抽出されることになる。
【０３１８】
そして、画像合成処理によって得られた合成画像に基づく表示処理が実行される。
［Ｆ２．動き追従処理（逐次抽出型）における画像合成領域の低減］
上述の図３８に示すように、撮像部８の視野範囲内に対する目的のワーク２の移動方向に沿った長さについては、一連の複数回撮像に要する時間とワーク２の移動速度との関係に応じて定まる範囲まで短くなる。一方、ワーク２の移動方向とは直交する方向には、入力画像の位置調整が行われないので、画像合成処理の対象となってしまう。
【０３１９】
そこで、本実施の形態に従う画像処理装置では、入力画像のうち合成画像の生成対象とする領域を、ユーザによって設定された方向および領域に限定する機能を搭載していてもよい。すなわち、入力画像のうち合成画像の生成対象とする領域を、目的のワーク２を含む合成画像を生成できる領域に限定することで、画像合成処理に要する時間を低減することができる。これにより、１枚の合成画像を生成するために要する時間を短縮でき、タクトタイムの向上などを実現することができる。以下、このような画像合成領域を低減するための機能について、図３９〜図４２を参照して、説明する。
【０３２０】
図３９および図４０は、この発明の実施の形態に従う動き追従処理（逐次抽出型）における画像合成領域の低減処理を提供する画面表示例を示す図である。図４１は、この発明の実施の形態に従う動き追従処理（逐次抽出型）における画像合成領域の設定操作中の画面表示例を示す図である。図４２は、この発明の実施の形態に従う動き追従処理（逐次抽出型）において画像合成領域が低減されている場合に表示される「稼動モード」における画面表示例を示す図である。
【０３２１】
動き追従処理（逐次抽出型）における画像合成領域の低減処理に係るユーザインターフェイスとしては、図３９および図４０に示すような設定モード画面４０３が提供される。この設定モード画面４０３は、図１４に示す設定モード画面４０２において、多重表示チェックボックス４６１が追加されたものに相当する。より具体的には、この多重表示チェックボックス４６１がチェックされると、ライン移動方向チェックボックス群４５９におけるチェック内容に応じた方向に、画像表示エリア４１２に領域調整バーが表示される。すなわち、原則として、ユーザがライン移動方向チェックボックス群４５９をチェックすることで設定するワーク２の移動方向とは直交する方向に沿って、その領域を調整できるように領域調整バーが表示される。
【０３２２】
図３９（ａ）に示す例では、ライン移動方向チェックボックス群４５９に含まれる４つのチェックボックスのうち、ワーク２が紙面上方向に向かって移動することが設定されているので、紙面左右方向に画像合成領域を調整するための、画像表示エリア４１２上に領域調整バー４６２および４６３がオーバレイ表示される。これらの領域調整バー４６２および４６３は、ユーザ操作に従って、紙面左右方向にその位置を変更可能になっており、領域調整バー４６２と領域調整バー４６３とで囲まれる範囲が、画像合成領域となる。すなわち、ユーザは、マウス操作などによって、領域調整バー４６２および／または領域調整バー４６３を任意に操作することで、図３９（ｂ）に示すような画像合成領域を設定できる。
【０３２３】
同様に、図４０（ａ）に示す例では、ライン移動方向チェックボックス群４５９に含まれる４つのチェックボックスのうち、ワーク２が紙面右方向に向かって移動することが設定されているので、紙面上下方向に画像合成領域を調整するための、画像表示エリア４１２上に領域調整バー４６４および４６５がオーバレイ表示される。これらの領域調整バー４６４および４６５は、ユーザ操作に従って、紙面上下方向にその位置を変更可能になっており、領域調整バー４６４と領域調整バー４６５とで囲まれる範囲が、画像合成領域となる。すなわち、ユーザは、マウス操作などによって、領域調整バー４６４および／または領域調整バー４６５を任意に操作することで、図４０（ｂ）に示すような画像合成領域を設定できる。
【０３２４】
上述の図３９および図４０に示すように、ユーザが領域調整バーを操作して画像合成領域を設定した後、ワーク２についての一連の撮像を試験的に行う（テストラン）ことでその妥当性を評価することもできる。
【０３２５】
すなわち、図３９または図４０に示す設定モード画面４０３において、多重表示チェックボックス４６１が追加されていると、図４１に示すように、一連の撮像によって取得された入力画像の組が画像表示エリア４１２に重畳して表示される。ユーザは、この図４１に示すような入力画像の重畳表示を参照して、領域調整バーを適切な位置に設定することで、目的のワーク２が写っている必要十分な範囲を画像合成領域に設定することができる。
【０３２６】
なお、図４１からわかるように、ワーク２の移動速度および／または撮像間隔によっては、一連の連続撮像の間にワーク２が移動する距離は変動する。そのため、画像合成領域としては、入力画像の一部に設定される矩形状ではなく、図３９および図４０に示すような、ワーク２の移動方向に沿った全長を含む領域とすることが好ましい。
【０３２７】
上述のように画像合成領域が設定されると、「稼動モード」においては、図４２に示すような画面が表示される。すなわち、図４２に示す稼動モード画面３０４においては、領域調整バーによって設定された領域についての合成画像が表示されるとともに、それ以外の範囲は、画像合成処理の対象とはされず、無効な領域であることが表示される。典型的には、画像合成領域外の領域は、予め定められた黒色や白色といったベタ塗りの状態で表示される。
【０３２８】
上述のように、画像合成領域を低減することで、画像合成処理の対象となる画像のデータ量が削減され、これに伴って、処理量（計算量）が削減されるため、全体の処理が高速化される。
【０３２９】
なお、上述の図３９〜図４１においては、ワーク２が紙面縦方向または紙面横方向のいずれか一方に移動する場合について例示したが、紙面斜め方向に移動する場合などには、ライン移動方向チェックボックス群４５９に含まれる４つのチェックボックスのうち、ワーク２の移動方向を示す２つの方向（たとえば、紙面左方向と紙面上方向）についてチェックを入れることで、当該ワーク２の移動方向に応じた向きに、一組の領域調整バーが表示されるようにしてもよい。
【０３３０】
［Ｆ３．動き追従処理（逐次抽出型）におけるモデル領域設定］
図３８に示す一連の撮像の１番目に取得される入力画像からのパターンは、当該入力画像に対して予め設定されるモデル領域に従って抽出される。このパターン領域のユーザ設定は、上述の図１５に示すような領域設定画面４０４を用いて行われる。このとき、上述した画像合成領域を低減するための機能によって、画像合成領域が低減されている場合には、この画像合成領域より大きな範囲をモデル領域に設定する必要がないと考えられる。すなわち、画像合成領域は、目的のワーク２についての合成画像の生成に必要十分な範囲に設定されるので、先に設定されている画像合成領域より大きな範囲をモデル領域、すなわち、目的のワーク２が存在する範囲として設定する必要性は低い場合が多い。
【０３３１】
そこで、本実施の形態に従う画像処理装置は、上述の画像合成領域の低減処理と連動して、モデル領域を設定する機能を搭載していてもよい。これにより、ユーザから見れば、モデル領域の設定をより効率的に行うことができる。以下、このような画像合成領域と連動してモデル領域を設定するための機能について、図４３および図４４を参照して、説明する。
【０３３２】
図４３は、この発明の実施の形態に従う動き追従処理（逐次抽出型）におけるモデル領域の設定機能を提供する画面表示例を示す図である。図４４は、この発明の実施の形態に従う動き追従処理（逐次抽出型）におけるモデル領域の設定機能による効果を説明するための図である。
【０３３３】
図４３（ａ）は、上述の図４０に示す設定モード画面４０３において、予めモデル領域４６６が設定されている場合を示す。すなわち、ユーザは、図１５に示す領域設定画面４０４上で操作を行うことで、画像表示エリア４１２に表示される入力画像に対して、モデル領域４６６を設定する。その後、上述の画像合成領域を低減するために、領域調整バー４６４および４６５が表示されているものとする。
【０３３４】
この図４３（ａ）に示す状態で、ユーザが領域調整バー４６４および／または領域調整バー４６５を操作して、画像合成領域を低減したとする。すると、この画像合成領域の紙面上下方向の長さの低減に伴って、モデル領域４６６も紙面上下方向にその長さが低減される。これにより、必要以上に大きな範囲をモデル領域４６６として抽出することを抑制できる。
【０３３５】
すなわち、図４４（ａ）に示すように、入力画像内に占めるワーク２の範囲が相対的に小さい場合には、領域調整バー４６４および４６５によって定義される合成画像領域を、ワーク２の範囲に対応させて処理の高速化を図ることが可能となる。図４４（ｂ）には、ワーク２の紙面上下方向の幅に対応して、合成画像領域が設定されている場合が示されている。
【０３３６】
このとき、ワーク２の示す範囲より相対的に大きな範囲がモデル領域４６６に設定されている場合には、このモデル領域４６６についても、変更後の合成画像領域に応じたサイズに変更される。
【０３３７】
なお、図４３および図４４においては、合成画像領域（領域調整バーによって定義される範囲）の一方の長さと、モデル領域４６６の対応する辺の長さとが一致する場合について例示したが、モデル領域４６６を合成画像領域より狭い範囲や広い範囲に自動的に設定するようにしてもよい。
【０３３８】
上述のように、モデル領域を目的とするワークに応じた範囲に限定することで、抽出されるパターンに目的のワーク２以外の不要な情報が混入することを抑制でき、これにより、サーチ処理の精度を向上させることができる。また、抽出されるパターンの情報量が低減できるので、全体処理を高速化できる。
【０３３９】
また、ユーザから見れば、モデル領域の設定をより効率的に行うことができる。
［Ｆ４．動き追従処理（逐次抽出型）におけるサーチ領域の効率的な設定］
上述したように、本実施の形態に従う動き追従処理（逐次抽出型）においては、先行の入力画像から抽出されたパターンを用いて、後続の入力画像内でサーチ処理が行われる。ところで、ワーク２は、移動しているので、後続の入力画像内に表れるワーク２の位置は、後続の入力画像内に表れるワーク２の位置に対して、ワーク２の移動方向に沿ってずれていることになる。そこで、このような入力画像内における目的のワーク２の位置変化に応じて、サーチ処理の対象とすべき領域（サーチ領域）を削減することで、サーチ処理に要する時間の短縮およびサーチ精度を向上させることができる。以下、このようなサーチ領域を効率的に設定するための機能について、図４５および図４６を参照して、説明する。
【０３４０】
図４５は、この発明の実施の形態に従う動き追従処理（逐次抽出型）におけるサーチ領域の効率的な設定機能を提供する画面表示例を示す図である。図４６は、この発明の実施の形態に従う動き追従処理（逐次抽出型）におけるサーチ領域の効率的な設定機能による効果を説明するための図である。
【０３４１】
図４５は、画像表示エリア４１２上にサーチ領域が設定されている設定モード画面４０１を示す。この設定モード画面４０１においては、１番目に取得される入力画像についてのサーチ領域が入力画像の全体に設定されるとともに、２番目以降に取得される入力画像についてのサーチ領域は、連続する撮像タイミングの間におけるワーク２の移動量に応じて動的に設定される。すなわち、本機能においては、後続して取得される入力画像についてのサーチ処理を、ユーザにより操作に応じて設定された撮像部８の視野内におけるワーク２の移動速度と、ユーザにより設定された露光条件下において一連の入力画像を取得するために要する時間との積によって算出される移動量に応じた領域に限定して行う。
【０３４２】
より具体的には、ユーザは、設定モード画面４０１のライン速度入力ボックス４５７に対して、ワーク２の移動速度を設定する。この移動速度としては、ユーザは、ワーク２を搬送する搬送ライン６の実測のライン速度（搬送速度）などを入力する。典型的には、実測のライン速度としては、物理的な移動速度である［ｍｍ／ｓ］の単位が用いられる。
【０３４３】
代替的に、撮像部８の視野におけるライン速度を用いてもよい。具体的には、撮像部８の視野において、ワーク２が単位時間当たりに移動する画素数である［ｐｉｘ／ｓ］の単位を用いてもよい。なお、後述する本機能に係るサーチ領域の限定処理では、単位時間当たりに移動する画素数が必要となるので、ユーザがライン速度（搬送速度）を［ｍｍ／ｓ］などの単位で入力した場合であっても、予め設定された、撮像部８の視野範囲に対応する物理的な長さと、当該視野範囲に含まれる画素数との関係から、［ｐｉｘ／ｓ］の単位でのワーク２の移動速度が算出される。
【０３４４】
また、ユーザは、ライン移動方向チェックボックス群４５９に含まれる４つのチェックボックスのうち、撮像部８の視野におけるワーク２の移動方向に対応する向きをチェックする。
【０３４５】
すると、本実施の形態に従う画像処理装置は、予め設定されている撮像条件に基づいて、一連の連続撮像に係る撮像間隔（先行の撮像タイミングと後続の撮像タイミングとの差）を算出し、ユーザが設定したワーク２の移動速度にこの撮像間隔を乗じることで、ワーク２の移動量を算出する。そして、本実施の形態に従う画像処理装置は、元のサーチ領域（１番目）を、ワーク２の移動方向に沿って、この算出した移動量だけ短縮した領域を後続の入力画像についてのサーチ領域（２番目）として動的に決定する。以下同様にして、３番目以降に取得される入力画像についても、同様にサーチ領域が動的に決定される。
【０３４６】
すなわち、図４６（ａ）に示すように、入力画像内に占めるワーク２の範囲が相対的に小さい場合、および／または、誤サーチを生じ得る他のワークなどが写り込んでいる場合などには、図４６（ｂ）に示すように、サーチ領域を適切な範囲に限定することで、サーチ精度を向上させることができる。また、サーチ処理の対象となる画像（情報量）が低減できるので、サーチ処理自体を高速化できる。
【０３４７】
なお、上述したようなサーチ領域の効率的な決定機能は、上述した、この発明の実施の形態に従う動き追従処理（モデル登録型）にも適用可能である。動き追従処理（モデル登録型）において適用する場合においても、ユーザは、ワーク２の移動速度およびワーク２の移動方向を設定するだけで、画像処理装置において連続する撮像間でのワーク２の移動量を算出できるので、一連の撮像によって得られる入力画像の組について、それぞれ適切な範囲をサーチ領域に設定できる。
【０３４８】
［Ｆ５．合成画像領域、モデル領域、サーチ領域の関係］
上述した、合成画像領域、モデル領域、サーチ領域は、基本的には、互いに独立して設定可能である。
【０３４９】
図４７は、この発明の実施の形態に従う動き追従処理（逐次抽出型）における各領域を説明するための図である。
【０３５０】
図４７（ａ）には、入力画像に対して、モデル領域および合成画像領域が設定されている例を示す。上述したように、モデル領域は、合成画像領域の設定にリンクして設定されるが、常にこのような関係が成立しなくともよい。
【０３５１】
たとえば、あるワーク上の特定の部分を検査しようとする場合において、本実施の形態に従う動き追従処理の精度を高めるために、当該検査対象の部分とは異なる部分に動き追従処理用のマーク（トラッキング用のマーク）を付与しておくような使用形態が想定される。この場合には、モデル領域としては、トラッキング用のマークが付与されている部分に設定される一方で、合成画像領域としては、検査対象の部分に設定される。
【０３５２】
また、図４７（ｂ）には、入力画像に対して、モデル領域およびサーチ領域が設定されている例を示す。モデル領域およびサーチ領域についても、互いに独立して設定することができるが、原理的には、サーチ領域は、モデル領域より大きい範囲に設定される。なお、ワーク２の移動方向が特定の方向に定まっている場合には、合成画像領域の範囲にリンクして、サーチ領域を設定してもよい。
【０３５３】
［Ｆ６．動き追従処理（逐次抽出型）における位置ずれ補正］
上述したように、本実施の形態に従う動き追従処理（逐次抽出型）においては、図３７に示すように、入力画像内の目的のワーク２を基準として位置合わせが行われる。この位置合わせについて、連続する撮像タイミングの間におけるワーク２の移動量（理論値）に基づいて、その誤検出の監視および／または誤差の補正を行うことができる。
【０３５４】
そこで、本実施の形態に従う画像処理装置は、動き追従処理（逐次抽出型）における位置ずれを補正する機能を搭載していてもよい。これにより、より安定して合成画像を生成することができる。以下、このような位置ずれの補正機能について、図４８〜図５０を参して、説明する。
【０３５５】
図４８は、この発明の実施の形態に従う動き追従処理（逐次抽出型）における位置ずれの補正機能の内容を説明するための図である。図４９は、図４８に対応する移動量の一例を示す図である。図５０は、この発明の実施の形態に従う動き追従処理（逐次抽出型）における位置ずれの補正機能に係る機能ブロック図である。
【０３５６】
図４８（ａ）を参照して、たとえば、一連の複数回撮像によって、４枚の入力画像ＩＭＧ１が順次取得されたとする。この入力画像ＩＭＧ１に対して、サーチ処理が実行され、ワーク２の位置が特定されると、図４８（ｂ）に示すように、ワーク２を基準として位置合わせが行われる。以下の説明では、取得順序において隣接する２つの入力画像の間の相対的な位置ずれ量（ベクトル量）に着目する。
【０３５７】
すなわち、図４８（ｂ）に示すように、１番目の入力画像を基準として（図４８（ｂ）では、１番目の入力画像の左上の頂点位置を基準点Ｏ１としている）、２番目の入力画像の位置ずれ量（符号５２１）が算出される。同様に、２番目の入力画像を基準として（図４８（ｂ）では、２番目の入力画像の左上の頂点位置を基準点Ｏ２としている）、３番目の入力画像の位置ずれ量（符号５２３）が算出される。また、３番目の入力画像を基準として（図４８（ｂ）では、３番目の入力画像の左上の頂点位置を基準点Ｏ３としている）、４番目の入力画像の位置ずれ量（符号５２３）が算出される。以下、同様にして、取得される一組に含まれる入力画像の間の位置ずれ量が算出される。
【０３５８】
このように算出される位置ずれ量の各々は、対応する撮像タイミングの時間差に応じた、ワーク２の移動量に相当する。すなわち、１番目の入力画像が取得された撮像タイミングと、２番目の入力画像が取得された撮像タイミングとの時間差に、ワーク２の移動速度を乗じて得られる移動量が、１番目の入力画像と２番目の入力画像との間の位置ずれ量に相当する。そのため、この位置ずれ量の各々が、予想されるワーク２の移動量からずれた場合には、サーチ処理が失敗したと判断することができる。さらに、このような場合には、予想されるワーク２の移動量に応じて、位置ずれ量（対象の入力画像の調整位置）を補正することができる。
【０３５９】
すなわち、本位置ずれの補正機能は、撮像部８による一連の複数回撮像において、入力画像内の目的のワーク２を基準として位置合わせを行う場合の、先行の入力画像と後続の入力画像との相対的な位置ずれ量が、ユーザによって設定される撮像部８の視野内におけるワーク２の移動速度と、ユーザによって設定される露光条件下において当該先行および後続の入力画像を取得するために要する時間との積によって算出される移動量から乖離している場合に、当該移動量と対応するように、当該先行の入力画像と当該後続の入力画像との相対的な位置関係を補正する。典型的には、算出される移動量が予め定められた値以上離れているか否かに基づいて、位置関係が補正される。
【０３６０】
たとえば、図４８（ｃ）には、２番目の入力画像に対する３番目の入力画像の位置ずれ量が他の位置ずれ量より大きくなっており、誤検知であると判断できる。この図４８（ｃ）に対応する位置ずれ量の値を図４９（ａ）に示す。
【０３６１】
図４９（ａ）を参照して、２番目の入力画像に対する３番目の入力画像（２→３）の位置ずれ量（ｘ，ｙ）＝（４０，２０）となっており、他の入力画像間の位置ずれ量（ｘ，ｙ）＝（２４，０），（２３，１），（２４，０）と比較して、乖離していることがわかる。
【０３６２】
本位置ずれの補正機能は、このような乖離に基づいて、サーチ処理の失敗を検出するとともに、誤検出であると判断された位置ずれ量を、図４９（ｂ）に示すような値に補正する。
【０３６３】
以下、上述のような位置ずれの補正機能を具現化する方法として、（１）ワーク２の移動量を用いる方法と、（２）他の位置ずれ量についての統計値を用いる方法について説明する。
【０３６４】
（１．ワークの移動量を用いる方法）
本方法では、ユーザが設定するワーク２の移動量および移動方向から、ワーク２が等速直線運動をしているとして、各撮像タイミングにおけるワーク２の移動量を推定する。そして、この推定されたワーク２の移動量を用いて、サーチ処理の失敗の有無、および、補正後の位置ずれ量を算出する。
【０３６５】
図５０（ａ）に具体的な処理ブロックの一例を示す。この処理ブロックでは、バッファ５０２が各入力画像についてのサーチ結果（ワーク２の位置を特定するための情報を含む）を順次格納する。続いて、位置ずれ量算出部５０４がこのバッファ５０２に格納されるサーチ結果に基づいて、入力画像間の相対的な位置ずれ量を算出する。この算出された位置ずれ量は、比較部５０６へ順次入力される。一方、ユーザが設定した露光条件に基づいて、時間算出部５１０が各撮像タイミングの間の時間差（撮像間隔）を算出する。すると、移動量算出部５１２が、ユーザが設定したワーク２の移動速度と時間算出部５１０によって算出された撮像間隔とを乗じて移動量の絶対値を算出するとともに、ユーザが設定したワーク２の移動方向に応じて、算出した移動量（ベクトル）を算出する。すなわち、移動量（絶対値）＝（ワーク２の移動速度）×（撮像間隔）の関係に従って、ワーク２の移動量が算出される。この算出された移動量（ベクトル）は、（予想）移動量として比較部５０６および移動量算出部５１２へ入力される。
【０３６６】
比較部５０６は、位置ずれ量算出部５０４から順次入力される位置ずれ量と、対応する（予想）移動量とを比較して、両者の間が乖離しているか否かを判断する。両者の間が乖離していなければ、位置ずれ量算出部５０４で算出された位置ずれ量がそのまま出力される。一方、両者の間が乖離している場合には、補正量算出部５０８が（予想）移動量を用いて補正量を算出する。すると、加算部５１４において、位置ずれ量算出部５０４で算出された位置ずれ量に補正量が加算され、補正後の位置ずれ量が出力される。
【０３６７】
（２．他の位置ずれ量についての統計値を用いる方法）
本方法では、一連の複数回撮像によって得られる複数の入力画像について算出される位置ずれ量の統計値（典型的には、平均値）、もしくは、過去に実行された、一連の複数回撮像での実績値の統計値を用いて、サーチ処理の失敗の有無、および、補正後の位置ずれ量を算出する。
【０３６８】
図５０（ｂ）に具体的な処理ブロックの一例を示す。この処理ブロックでは、図５０（ａ）に示すブロック図に比較して、時間算出部５１０および移動量算出部５１２に代えて、順次算出される位置ずれ量を記憶するバッファ５１６と、平均値算出部５１８とが設けられている。バッファ５１６には、一連の複数回撮像が実行されるたびに算出される、位置ずれ量が順次記憶される。
【０３６９】
平均値算出部５１８は、ある一連の複数回撮像において算出された位置ずれ量の平均値、および／または、複数回に亘って実行済の、同一の入力画像間についての位置ずれ量の平均値を算出する。すなわち、前者の平均値は、ある一連の複数回撮像について、１番目の入力画像と２番目の入力画像との間の位置ずれ量、２番目の入力画像と３番目の入力画像との間の位置ずれ量、３番目の入力画像と４番目の入力画像との間の位置ずれ量、…の平均値を意味する。これに対して、後者の平均値は、たとえば、一連の複数回撮像が繰り返し実行された場合において、１番目の入力画像と２番目の入力画像との間の位置ずれ量についての平均値を意味する。
【０３７０】
そして、平均値算出部５１８において算出される平均値が、ワーク２についての（予想）移動量として使用される。
【０３７１】
その他の処理については、図５０（ａ）と同様であるので、詳細な説明は繰返さない。
［Ｆ７．動き追従処理（逐次抽出型）における全体処理手順］
図５１は、この発明の実施の形態に従う画像処理装置における全体処理（逐次抽出型）を示すフローチャートである。図５１に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。なお、初期モードは「設定モード」であるとする。
【０３７２】
図５１に示すフローチャートは、図２８に示すモデル登録型に係る全体処理を示すフローチャートに比較して、ステップＳ１１２に代えて、ステップＳ１１３を実行するようにし、かつ、ステップＳ１１０に代えて、ステップＳ１１１を実行するようにしたものである。すなわち、ステップＳ１１１において、ＣＰＵ１０５は、図５２に示す動き追従（モデル登録型）設定サブルーチンを実行する。また、ステップＳ１１３において、ＣＰＵ１０５は、「稼動モード」（逐次抽出型）へ移行する。そして、後述する図５３のフローチャートに示す処理が実行される。その他のステップについては、図２８と同様であるので、詳細な説明は繰返さない。
【０３７３】
（動き追従設定サブルーチン）
図５２は、図５１に示す動き追従（逐次抽出型）設定サブルーチンにおける処理を示すフローチャートである。図５２に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。
【０３７４】
図５２を参照して、ＣＰＵ１０５は、図３９および図４０などに示す設定モード画面４０３を表示する（ステップＳ４５０）。続いて、ＣＰＵ１０５は、動き追従チェックボックス４５１がチェックされているか否かを判断する（ステップＳ４５２）。動き追従チェックボックス４５１がチェックされていない場合（ステップＳ４５２においてＮＯの場合）には、処理は図５１のメインフローに戻る。
【０３７５】
一方、動き追従チェックボックス４５１がチェックされている場合（ステップＳ４５２においてＹＥＳの場合）には、ＣＰＵ１０５は、領域設定ボタン４５３が選択されたか否かを判断する（ステップＳ４５４）。領域設定ボタン４５３が選択された場合（ステップＳ４５４においてＹＥＳの場合）には、ＣＰＵ１０５は、図４３などに示す設定モード画面４０３を表示する（ステップＳ４５６）。そして、ＣＰＵ１０５は、１番目の入力画像から参照画像（パターン）として抽出すべきモデル領域４６６の範囲（大きさおよび位置）を受付ける（ステップＳ４５８）。
【０３７６】
領域設定ボタン４５３が選択されていない場合（ステップＳ４５４においてＮＯの場合）、もしくはステップＳ４５８の実行後、ＣＰＵ１０５は、ライン速度入力ボックス４５７へ数値が入力されたか否かを判断する（ステップＳ４６０）。ライン速度入力ボックス４５７へ数値が入力された場合（ステップＳ４６０においてＹＥＳの場合）には、ＣＰＵ１０５は、入力された数値の妥当性を検証した後、ライン速度の設定値として格納する（ステップＳ４６２）。
【０３７７】
ライン速度入力ボックス４５７へ数値が入力されていない場合（ステップＳ４６０においてＮＯの場合）、もしくはステップＳ４６２の実行後、ＣＰＵ１０５は、ワークサイズ入力ボックス４５８へ数値が入力されたか否かを判断する（ステップＳ４６４）。ワークサイズ入力ボックス４５８へ数値が入力された場合（ステップＳ４６４においてＹＥＳの場合）には、ＣＰＵ１０５は、入力された数値の妥当性を検証した後、ワークサイズの設定値として格納する（ステップＳ４６６）。
【０３７８】
ワークサイズ入力ボックス４５８へ数値が入力されていない場合（ステップＳ４６４においてＮＯの場合）、もしくはステップＳ４６６の実行後、ＣＰＵ１０５は、ライン移動方向チェックボックス群４５９のいずれかがチェックされたか否かを判断する（ステップＳ４６８）。ライン移動方向チェックボックス群４５９のいずれかがチェックされた場合（ステップＳ４６８においてＹＥＳの場合）には、ＣＰＵ１０５は、チェックされたチェックボックスに対応する方向をライン移動方向の設定値として格納する（ステップＳ４７０）。
【０３７９】
ライン移動方向チェックボックス群４５９のいずれかがチェックされていない場合（ステップＳ４６８においてＮＯの場合）、もしくはステップＳ４７０の実行後、多重表示チェックボックス４６１がチェックされているか否かを判断する（ステップＳ４７２）。多重表示チェックボックス４６１がチェックされていない場合（ステップＳ４７２においてＮＯの場合）には、処理は図５１のメインフローに戻る。
【０３８０】
一方、多重表示チェックボックス４６１がチェックされている場合（ステップＳ４７２においてＹＥＳの場合）には、ＣＰＵ１０５は、ライン移動方向チェックボックス群４５９のチェック状態に応じて、設定モード画面４０３の画像表示エリア４１２上に、画像合成領域を定義するための領域調整バーを表示する（ステップＳ４７４）。そして、ＣＰＵ１０５は、ユーザによって領域調整バーの位置が変更されたか否かを判断する（ステップＳ４７６）。ユーザによって領域調整バーの位置が変更された場合（ステップＳ４７６においてＹＥＳの場合）には、ＣＰＵ１０５は、変更後の領域調整バーの位置に従って、画像合成領域を更新するとともに、モデル領域の範囲を連動して更新する（ステップＳ４７８）。ユーザによって領域調整バーの位置が変更されていない場合（ステップＳ４７６においてＮＯの場合）、もしくはステップＳ４７８の実行後、処理は図５１のメインフローに戻る。
【０３８１】
（稼動モード）
図５３は、この発明の実施の形態に従う画像処理装置における「稼動モード」（逐次抽出型）における処理を示すフローチャートである。図５３に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。
【０３８２】
図５３を参照して、ＣＰＵ１０５は、図４２に示すような稼動モード画面３０４を表示する（ステップＳ５５０）。続いて、ＣＰＵ１０５は、光電センサからトリガ信号を受信したか否かを判断する（ステップＳ５５２）。すなわち、対象のワーク２が撮像部８の視野内に到達したか否かが判断される。光電センサからトリガ信号を受信していない場合（ステップＳ５５２においてＮＯの場合）には、ステップＳ５５２の処理を繰返す。
【０３８３】
光電センサからトリガ信号を受信した場合（ステップＳ５５２においてＹＥＳの場合）には、ＣＰＵ１０５は、図２９に示すステップＳ２１２において決定された合成処理設定に従う１番目の露光時間でワーク２を撮像する（ステップＳ５５４）。そして、ＣＰＵ１０５は、撮像により取得された入力画像のうち、予め設定されているモデル領域をパターンとして抽出する（ステップＳ５５６）。
【０３８４】
続いて、ＣＰＵ１０５は、図２９に示すステップＳ２１２において決定された合成処理設定に従う次の露光時間でワーク２を撮像する（ステップＳ５５８）。続いて、ＣＰＵ１０５は、サーチ領域の限定が有効化されているか否かを判断する（ステップＳ５６０）。サーチ領域の限定が有効化されている場合（ステップＳ５６０においてＹＥＳの場合）には、ＣＰＵ１０５は、ユーザによって設定されているワーク２の移動速度および撮像間隔などに基づいて決定される範囲に、サーチ領域を限定する（ステップＳ５６２）。
【０３８５】
サーチ領域の限定が有効化されていない場合（ステップＳ５６０においてＮＯの場合）、もしくはステップＳ５６２の実行後、ＣＰＵ１０５は、直近の撮像によって得られた入力画像から抽出されているパターンについて、新たな取得された入力画像に対してサーチ処理を行う（ステップＳ５６４）。そして、ＣＰＵ１０５は、サーチ結果から、入力画像内のワーク２の位置を特定するとともに、目的のワーク２を基準とした位置合わせが行われるように、取得した入力画像の相対位置を調整する（ステップＳ５６６）。続いて、ＣＰＵ１０５は、サーチ結果に従って、取得した入力画像内からワーク２を示す新たなパターンを抽出する（ステップＳ５６８）。
【０３８６】
その後、ＣＰＵ１０５は、合成処理設定に含まれるすべての撮像が終了したか否かを判断する（ステップＳ５７０）。合成処理設定に含まれるすべての撮像が終了していない場合（ステップＳ５７０においてＮＯの場合）には、ステップＳ５５８以降の処理が繰返される。
【０３８７】
合成処理設定に含まれるすべての撮像が終了した場合（ステップＳ５７０においてＹＥＳの場合）には、ＣＰＵ１０５は、取得順序において隣接する２つの入力画像の間の相対的な位置ずれ量の各々について、サーチ処理失敗の有無判断、および、位置ずれ補正を行う（ステップＳ５７２）。続いて、ＣＰＵ１０５は、位置調整後の一連の入力画像から、ユーザによって設定されている合成画像領域内の画像をそれぞれ抽出し（ステップＳ５７４）、この抽出した画像の組について、画像合成処理サブルーチン（稼動モード）を実行する（ステップＳ５７６）。この画像合成処理サブルーチン（稼動モード）の実行により、複数の入力画像から抽出されたそれぞれの画像に基づく合成画像が生成される。さらに、ＣＰＵ１０５は、生成した合成画像をモニタ１０２に表示する（ステップＳ５７８）。
【０３８８】
続いて、ＣＰＵ１０５は、生成された合成画像に基づいて検査計測処理を実行する（ステップＳ５８０）。なお、検査計測処理の一例としては、たとえば、予め登録された画像パターンに一致する部分を探索するサーチ処理や、ワークのエッジを検出してエッジ間の距離を計測するエッジスキャン処理などが挙げられる。
【０３８９】
最終的に、ＣＰＵ１０５は、その検査計測処理の結果をモニタ１０２などに表示する（ステップＳ５８２）とともに、ＰＬＣなどの外部装置へ出力する（ステップＳ５８４）。そして、処理は図５１のメインフローに戻る。
【０３９０】
［Ｆ８．動き追従処理（逐次抽出型）を採用した場合の作用効果］
このように、撮像部８の撮像により順次取得される入力画像に対して、動的にサーチ処理が繰返されるので、目的のワーク２を示す参照画像（パターン）または目的のワーク２の特徴情報を予め登録しておく必要がない。
【０３９１】
特に、登録されたモデルと目的とするワークの現在の状態との間にずれが生じた場合であっても、動的にモデルが抽出されるので、照明環境などの変化に対する耐性を高めることができる。
【０３９２】
なお、この逐次処理型の動き追従処理においても、モデル登録型と同様に、撮像処理とサーチ処理とを並列実行することで、処理に要する時間を、サーチ処理に要する時間分だけ短縮することができる。さらに、逐次抽出型の動き追従処理においてはサーチ処理だけでなく、サーチ用のパターン抽出処理も撮像処理と並列実行することができる。
【０３９３】
［Ｇ１．ユーザ支援機能］
上述したような動き追従処理を含む画像合成処理では、撮像部８の視野、光電センサの検出位置（トリガ位置）、撮像回数、ライン速度、ワーク２のサイズなどの多くのパラメータを調整して、適切な撮像状態に設定する必要がある。上述したように、ユーザによるこのような調整を支援する機能として、図１６および図２６に示すような設定モードにおけるガイド表示や、図２２に示すような稼動モードにおけるエラー通知などが提供される。このような機能に加えて、搬送ライン６上に実際のワーク２を流して、試行錯誤的にこれらのパラメータを調整したいというニーズも存在する。そこで、この発明の実施の形態に従う画像処理装置に対して、このような試行錯誤的な調整を支援するための機能を付加してもよい。
【０３９４】
本支援機能を概略すると、先に決定されている合成処理設定に含まれる複数の異なる撮像条件に従う複数回の撮像を、被測定物であるワーク２が搬送ライン６のトリガ位置（基準位置）を通過したタイミングで開始することで取得された複数の入力画像を、撮像部８の視野内におけるワーク２の移動方向（搬送方向）についての方向および縮尺を一致させて表示する。
【０３９５】
図５４は、この発明の実施の形態に従う画像処理装置において提供される動き追従処理に係る設定を行うための設定モード画面４０２Ｂを示す図である。
【０３９６】
図５４に示す設定モード画面４０２Ｂは、図１４に示す設定モード画面４０２において、動き追従設定入力エリア４５０に代えて動き追従設定入力エリア４５０Ｂを表示するようにしたものに相当する。動き追従設定入力エリア４５０Ｂは、動き追従設定入力エリア４５０において、外部トリガ同期重畳表示チェックボックス４５２を含むようにしたものである。その他のボタン配列などについては、図１４に示す設定モード画面４０２と同様であるので、詳細な説明は繰返さない。
【０３９７】
外部トリガ同期重畳表示チェックボックス４５２は、動き追従処理の有効化／無効化の設定を受付ける。この動き追従チェックボックス４５１がチェックされることで、本支援機能が有効化される。すなわち、動き追従チェックボックス４５１がチェックされることで、光電センサからトリガ信号を受信したタイミング、すなわちワーク２がトリガ位置を通過したタイミングで、先に決定されている合成処理設定の撮像条件に従って、撮像部８によりワーク２が順次撮像される。そして、それぞれの撮像によって取得された複数の入力画像が撮像部８の視野に対応付けて重畳して表示される。
【０３９８】
一例として、図５４に示される例では、搬送ライン６を流れるワーク２に対して、３回の撮像が行なわれ、それぞれの撮像によって取得された入力画像４９１，４９２，４９３が、画像表示エリア４１２に重ねて表示される。この入力画像４９１，４９２，４９３の搬送方向における最大の長さが、１枚の合成画像を生成するために必要な複数の入力画像の撮像に要する撮像時間の間にワーク２が移動する距離に相当する。この撮像時間の間にワーク２が移動する距離が、撮像部８の視野内に収まるように、撮像部８の視野やトリガ位置が調整される（図２７参照）。
【０３９９】
なお、撮像部８の視野内におけるワーク２の移動方向（搬送方向）についての方向および縮尺を一致させて表示する一例として、図５４には、複数の入力画像を重ねて表示する形態を示したが、このような形態に代えて、たとえば、搬送方向と直交する紙面左端を基準にして、紙面上下方向にそれぞれの入力画像を整列表示してもよい。
【０４００】
その他の構造および制御構造などについては、上述の実施の形態と同様であるので、詳細な説明は繰返さない。
【０４０１】
上述の支援機能によれば、搬送ラインに実際にワークを流した状態を確認しつつ、各種パラメータの調整を行うことができる。そのため、それぞれの搬送ラインに適した調整をより容易に行うことができる。
【０４０２】
［Ｇ２．しぼり量の調整による露光条件の変更］
上述の実施の形態では、異なる露光条件を得る手段として、撮像部８の撮像時における露光時間を調整する構成について例示した。一方、以下の変形例においては、光学系のしぼり量を調整する構成について説明する。
【０４０３】
一般的に、光学系のしぼり量は、レンズの焦点距離を有効口径で除算した値であるＦ値で定義される。このＦ値の大きさは、撮像素子に入射する光強度の二乗に反比例する。したがって、図６に示すような露光条件と「明るさ」範囲との関係を実現するためには、各撮像におけるＦ値を「１０」，「１０／√２」，「５」，…といった順に変更すればよい。この場合、（１）式に示す露光時間による規格化（＝ｇ（Ｚｉ，ｊ）／Δｔｊ）と同様の処理は、Ｆ値の二乗を乗じることで実現される。
【０４０４】
なお、本変形例に示すように、しぼり量を順次変更する場合には、ワーク２に対する照明強度は一定とし、かつ各撮像における露光時間も一定（たとえば、１／４０００秒）とする。
【０４０５】
その他の処理については、上述の実施の形態と同様であるので、詳細な説明は繰返さない。
【０４０６】
本変形例によれば、異なる露光条件で複数回撮像を行う際の各撮像における露光時間を一定に保つことができる。厳密に言えば、露光時間がワーク２の移動速度に比較して長くなった場合には、１回の撮像（露光）中におけるワーク２の移動量も無視できなくなり得る。これに対して、本変形例では、いずれの露光条件であっても、露光時間が一定に保たれるので、露光時間の変更に伴う入力画像内におけるワーク２の撮像精度を高めることができる。
【０４０７】
［Ｇ３．照明強度の調整による露光条件の変更］
上述の実施の形態では、異なる露光条件を得る手段として、撮像部８の撮像時における露光時間を調整する構成について例示した。一方、以下のさらに別の変形例においては、ワーク２に照射する照明強度を調整する構成について説明する。
【０４０８】
一般的に、搬送ライン上で検査や計測の対象とするワーク２は、自発光することはない。すなわち、ワーク２がＬＥＤ（Light Emitting Diode）などの発光体であったとしても、キズなどの検査は非発光状態で行なわれる。そのため、ワーク２から放射される光強度は、当該ワーク２に入射する照明光に依存して決まることになる。そこで、撮像部８の露光条件という意味において、撮像部８の撮像対象であるワーク２に対して照射する照明光の強度を調整することで、異なる露光条件を実現することができる。
【０４０９】
図５５は、この発明の実施の形態に従う画像処理装置に用いられる撮像部８の撮像面を示す平面図である。図５５に示す撮像部８は、撮像素子への光を取込むレンズ８１と、レンズ８１の周囲に配置された複数の発光部８２とを含む。発光部８２は、典型的には、白色ＬＥＤなどの比較的波長範囲の広い光源が用いられる。さらに、撮像部８には、図示しない電力調整部から発光部８２を点灯するための電力が供給される。この発光部８２を点灯するための電力は、後述するような条件に従って、撮像（露光タイミング）と同期して順次変更される。
【０４１０】
発光部８２から照射される光強度は、供給される電力［Ｗ］に比例すると考えられるので、ワーク２から放射される光強度も発光部８２に供給される電力に比例するとみなすことができる。たとえば、発光部８２に固定値４［Ｗ］を供給しつつ、露光時間を１／５００［秒］，１／１０００［秒］，１／２０００［秒］と順次変更して撮像した場合に取得される入力画像の組と、露光時間を１／２０００［秒］に固定しつつ、発光部８２に供給する電力を１［Ｗ］，２［Ｗ］，４［Ｗ］と順次変更して撮像した場合に取得される入力画像の組とは、実質的に一致するものと考えられる。なお、発光部８２以外の照明光の影響は、無視できるものとする。
【０４１１】
図５６は、この発明の実施の形態に従う発光部８２の照明強度（供給電力）と撮像に適した「明るさ」範囲との関係の一例を示す図である。図５６を参照して、発光部８２の照明強度、すなわち発光部８２へ供給する電力を２倍ずつ順次増加させることで、図５と同様の露光条件の切替えを実現できる。
【０４１２】
さらに、このように取得された複数の入力画像に基づいて合成画像を生成する場合における合成輝度Ｅｉの算出式は、上述の（１）式と同様な（３）式のようになる。
【０４１３】
【数３】
2010134915.tif 000005
【０４１４】
（３）式において、「ｌｎ（ｇ（Ｚｉ，ｊ）−ｌｎΔｐｊ）」の項が、各入力画像における輝度を照明強度で規格化した上で、「明るさ」として評価した値に相当する。なお、その他の画像合成処理は、上述の実施の形態と同様であるので、詳細な説明は繰返さない。
【０４１５】
図５７は、この発明の実施の形態に従う処理タイミングを説明するための図である。図５７を参照して、本変形例では、１枚の合成画像の生成に用いられる複数の入力画像を取得する際には、各撮像における露光時間は一定値に保たれる。すなわち、トリガ信号を受けて時刻ｔ１１から撮像が開始され、時刻ｔ１１〜ｔ１２の間、露光が継続する。他の撮像における露光時間についても、この露光時間と同じ値に維持される。
【０４１６】
このように、本変形例によれば、異なる露光条件で複数回撮像を行う際の各撮像における露光時間を一定に保つことができる。本変形例では、いずれの露光条件であっても、露光時間が一定に保たれるので、露光時間の変更に伴う入力画像内におけるワーク２の撮像精度を高めることができる。
【０４１７】
［Ｇ４．組み合わせによる露光条件の変更］
上述の実施の形態において説明した露光時間の調整、上述したしぼり量の調整、および上述した照明強度の調整のうち、任意の複数のものを組み合わせて、異なる露光条件を実現してもよい。
【０４１８】
［Ｈ．その他の実施の形態］
本発明に係るプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【０４１９】
また、本発明に係るプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
【０４２０】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記録媒体とを含む。
【０４２１】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【０４２２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０４２３】
１  視覚センサシステム、２  ワーク、４ａ  受光部、４ｂ  投光部、６  搬送ライン、８  撮像部、８１  レンズ、８２  発光部８２、１００  コンピュータ、１０１  コンピュータ本体、１０２  モニタ、１０３  キーボード、１０４  マウス、１０６  メモリ、１０７  固定ディスク、１０９  カメラインターフェイス部、１１１  ＦＤ駆動装置、１１３  ＣＤ−ＲＯＭ駆動装置、１１５  ＰＬＣインターフェイス部、１１７  センサインターフェイス部、２００  撮像制御部、２０２  選択部、２０４，２０４ａ〜２０４ｈ  画像メモリ、２０５，２０５ａ〜２０５ｈ  抽出部、２０６，２０６ａ〜２０６ｈ  画像情報分離部、２０８  色合成部、２１０  輝度合成部、２１２  画像生成部、２１４  トーンマッピング部、２１６  上下限設定部、２１８  ヒストグラム生成部、２３０  追従制御部、２３１  参照画像登録部、２３２  参照画像格納部、２３３  参照画像選択部、２３４  入力画像選択部、２３５  サーチ処理部、２３６  抽出指令生成部、２３７  異常監視部、２３８  履歴表示生成部、２３９  撮像時間算出部、２４０  ガイド表示生成部、２３１１  入力画像選択部、２３１２  抽出部、２３１３  特徴情報取得部、２３７１  遅延素子、２３７２  ベクトル減算器、２３７３  評価部、５０２，５１６  バッファ、５０４  位置ずれ量算出部、５０６  比較部、５０８  移動量算出部、５０８  補正量算出部、５１０  時間算出部、５１２  移動量算出部、５１４  加算部、５１８  平均値算出部。
【図１】
2010134915.tif 000006
【図３】
2010134915.tif 000007
【図５】
2010134915.tif 000008
【図６】
2010134915.tif 000009
【図７】
2010134915.tif 000010
【図８】
2010134915.tif 000011
【図９】
2010134915.tif 000012
【図１８】
2010134915.tif 000013
【図２１】
2010134915.tif 000014
【図２４】
2010134915.tif 000015
【図２５】
2010134915.tif 000016
【図２７】
2010134915.tif 000017
【図２８】
2010134915.tif 000018
【図２９】
2010134915.tif 000019
【図３０】
2010134915.tif 000020
【図３１】
2010134915.tif 000021
【図３２】
2010134915.tif 000022
【図３３】
2010134915.tif 000023
【図３４】
2010134915.tif 000024
【図４９】
2010134915.tif 000025
【図５０】
2010134915.tif 000026
【図５１】
2010134915.tif 000027
【図５２】
2010134915.tif 000028
【図５３】
2010134915.tif 000029
【図５５】
2010134915.tif 000030
【図５６】
2010134915.tif 000031
【図５７】
2010134915.tif 000032
【図２】
2010134915.tif 000033
【図４】
2010134915.tif 000034
【図１０】
2010134915.tif 000035
【図１１】
2010134915.tif 000036
【図１２】
2010134915.tif 000037
【図１３】
2010134915.tif 000038
【図１４】
2010134915.tif 000039
【図１５】
2010134915.tif 000040
【図１６】
2010134915.tif 000041
【図１７】
2010134915.tif 000042
【図１９】
2010134915.tif 000043
【図２０】
2010134915.tif 000044
【図２２】
2010134915.tif 000045
【図２３】
2010134915.tif 000046
【図２６】
2010134915.tif 000047
【図３５】
2010134915.tif 000048
【図３６】
2010134915.tif 000049
【図３７】
2010134915.tif 000050
【図３８】
2010134915.tif 000051
【図３９】
2010134915.tif 000052
【図４０】
2010134915.tif 000053
【図４１】
2010134915.tif 000054
【図４２】
2010134915.tif 000055
【図４３】
2010134915.tif 000056
【図４４】
2010134915.tif 000057
【図４５】
2010134915.tif 000058
【図４６】
2010134915.tif 000059
【図４７】
2010134915.tif 000060
【図４８】
2010134915.tif 000061
【図５４】
2010134915.tif 000062