(57)【特許請求の範囲】
【請求項１】
露光量を変更可能な撮像装置に接続された画像処理装置であって、
前記撮像装置は、複数の画素に区画された撮像素子を含み、
前記画像処理装置は、
前記撮像装置に、異なる露光量で被測定物を順次撮影させることにより、前記撮像素子の各画素に入射する光強度を示す値を含む画像データを複数生成する撮影制御手段と、
複数の前記画像データに基づいて合成画像データを生成する合成手段と、
前記合成画像データの輝度情報の算出に用いられる第１内部変数を格納する記憶部とを備え、
前記合成手段は、前記撮影制御手段による各画像データの生成に応答して、当該画像データの前記光強度を示す値を当該画像データの撮影時の露光量で規格化した値を用いて、前記記憶部に格納される前記第１内部変数を順次更新し、前記撮影制御手段による一連の撮影の完了後に、前記記憶部に格納されている前記第１内部変数に基づいて、前記輝度情報を算出し、
前記撮影制御手段は、前記合成手段による前記第１内部変数の更新処理とは独立して前記被測定物を繰返し撮影させ、前記合成手段は、先の撮影によって生成された画像データについての前記第１内部変数の更新処理を、前記撮影制御手段による引き続く撮影が完了するまでに完了させる、画像処理装置。
【請求項２】
前記撮像素子は、入射する光に対して複数の分光感度を有しているとともに、前記複数の分光感度の別に前記光強度を示す値をそれぞれ出力し、
前記記憶部は、前記合成画像データの色情報の算出に用いられる第２内部変数をさらに格納し、
前記合成手段は、前記撮影制御手段による各画像データの生成に応答して、当該画像データの前記分光感度別の光強度を示す値に基づいて、前記記憶部に格納される前記第２内部変数を順次更新し、前記撮影制御手段による一連の撮影の完了後に、前記記憶部に格納されている前記第２内部変数に基づいて、前記色情報を算出する、請求項１に記載の画像処理装置。
【請求項３】
前記撮像素子の各々は、複数の分光感度のうちいずれか１つの分光感度を有しており、
前記合成手段は、前記撮影制御手段による一連の撮影の完了後に、各撮像素子が有する分光感度の分布に基づいて、前記記憶部に格納されている前記第１内部変数で各画素についての補間を行うことで、前記合成画像データの色情報を生成する、請求項１に記載の画像処理装置。
【請求項４】
露光量を変更可能な撮像装置に接続され、前記撮像装置に異なる露光量で被測定物を複数回撮影させることにより生成される複数の画像データに基づいて合成画像データを生成可能な画像処理装置であって、
前記撮像装置は、複数の画素に区画された撮像素子を含み、
前記画像処理装置は、演算処理部と、前記演算処理部による演算結果を格納する記憶部とを備え、
前記記憶部は、
前記撮像装置が被測定物を撮影することで生成される１枚分の画像データを格納する領域と、
前記合成画像データの輝度情報の算出に用いられる第１内部変数を格納する領域とを含み、
前記第１内部変数の値は、前記撮像装置による被測定物の各回の撮影毎に更新され、
前記被測定物の一連の撮影の完了後に、前記記憶部に格納されている前記第１内部変数に基づいて、前記合成画像データの輝度情報が算出され、
前記被測定物の撮影は前記第１内部変数の更新とは独立して実行され、先の撮影によって生成された画像データについての前記第１内部変数の更新処理は引き続く撮影が完了するまでに完了する、画像処理装置。
【請求項５】
前記撮像素子は、入射する光に対して複数の分光感度を有しているとともに、前記複数の分光感度の別に光強度を示す値をそれぞれ出力し、
前記記憶部は、前記合成画像データの色情報の算出に用いられる第２内部変数をさらに格納し、
前記記憶部に格納される前記第２内部変数は、各画像データの生成に応答して、当該画像データの前記分光感度別の光強度を示す値に基づいて順次更新され、一連の撮影の完了後に、前記記憶部に格納されている前記第２内部変数に基づいて、前記色情報が算出される、請求項４に記載の画像処理装置。
【請求項６】
露光量を変更可能な撮像装置を用いた画像処理方法であって、
前記撮像装置は、複数の画素に区画された撮像素子を含み、
前記画像処理方法は、
前記撮像装置を所定の露光量に設定して被測定物を撮影することにより、前記撮像素子の各画素に入射する光強度を示す値を含む画像データを生成するステップと、
複数の異なる露光量の各々について、前記画像データを生成するステップを繰返すステップと、
前記画像データが生成される毎に、前記生成された画像データの前記光強度を示す値を当該画像データの撮影時の露光量で規格化した値を用いて、記憶部に格納される第１内部変数を更新するステップと、
前記複数の異なる露光量についての一連の撮影の完了後に、前記記憶部に格納されている前記第１内部変数に基づいて、合成画像データを生成するステップとからなり、
前記繰返すステップは、前記第１内部変数を更新するステップとは独立して実行され、前記第１内部変数を更新するステップにおいて、先の撮影によって生成された画像データについての前記第１内部変数の更新処理は、引き続く撮影が完了するまでに完了する、画像処理方法。
【請求項７】
前記撮像素子は、入射する光に対して複数の分光感度を有しているとともに、前記複数の分光感度の別に前記光強度を示す値をそれぞれ出力し、
前記合成画像データを生成するステップは、各画像データの生成に応答して、当該画像データの前記分光感度別の光強度を示す値に基づいて、前記記憶部に格納される、前記合成画像データの色情報の算出に用いられる第２内部変数を順次更新し、一連の撮影の完了後に、前記記憶部に格納されている前記第２内部変数に基づいて、前記色情報を算出するステップを含む、請求項６に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、被測定物を異なる露光量で複数回撮影して得られる複数の画像データを用いて、ダイナミックレンジを拡大した合成画像データを生成可能な画像処理装置および画像処理方法に関するものである。
【背景技術】
【０００２】
ＦＡ（Factory Automation）分野などにおいては、ワークなどの被測定物に生じる欠陥などを光学的に検査したり、その大きさなどを光学的に計測したりする装置として、いわゆる視覚センサが実用化されている。
【０００３】
このような視覚センサを用いて検査や計測を行なう場合には、被測定物を適切に撮影する必要がある。一般的に、ＣＣＤ（Coupled Charged Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサなどからなる撮像装置のダイナミックレンジ（輝度を表現可能な階調範囲）は有限である。そのため、撮影時の露光量が長くなると、全面的もしくは部分的に白飛び（ハレーション）を生じてしまい、被測定物の輝度情報および色情報を正確に取得できない。逆に、撮影時の露光量が短くなると、全面的もしくは部分的に黒つぶれを生じてしまい、有効な輝度情報を取得できない。さらに、局所的に反射率が異なる部分をもつ被測定物や曲率の大きな部分をもつ被測定物では、照明などの影響を受けて、部分的な白飛びや黒つぶれが発生し得る。
【０００４】
このように、同一の被測定物から放射される光パワー（単位時間当たりに入射する光エネルギー）の最小値と最大値との差が、撮像装置のダイナミックレンジの範囲を超える場合には、被測定物の全体を適切に撮影することができないという問題があった。
【０００５】
そこで、同一の被測定物を異なる露光量で複数回撮影し、これによって得られる複数の画像データを合成することで、ダイナミックレンジを拡大させる技術が知られている。このような処理は、ハイダイナミック合成処理やスーパーラチチュード処理（Super Latitude process；ＳＬ処理）とも称される。たとえば特開２００２−３３４３２６号公報（特許文献１）には、ダイナミックレンジ拡大を少ない計算処理負荷によって実現する視覚センサが開示されている。
【特許文献１】特開２００２−３３４３２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
一般的に、１つの合成画像データを生成するための撮影回数が多くなるほど、ダイナミックレンジの拡大および合成画像の精度向上を期待できるが、撮影回数の増大に伴って合成画像データの生成に要する処理時間が長くなるという問題があった。
【０００７】
そこで、この発明は、これらの問題を解決するためになされたものであり、その目的は、合成画像データの生成に要する処理時間を短縮できる画像処理装置および画像処理方法を提供することである。
【課題を解決するための手段】
【０００８】
この発明のある局面に従えば、露光量を変更可能な撮像装置に接続された画像処理装置を提供する。撮像装置は、複数の画素に区画された撮像素子を含む。画像処理装置は、撮像装置に、異なる露光量で被測定物を順次撮影させることにより、撮像素子の各画素に入射する光強度を示す値を含む画像データを複数生成する撮影制御手段と、複数の画像データに基づいて合成画像データを生成する合成手段と、合成画像データの輝度情報の算出に用いられる第１内部変数を格納する記憶部とを備える。合成手段は、撮影制御手段による各画像データの生成に応答して、当該画像データの光強度を示す値を当該画像データの撮影時の露光量で規格化した値を用いて、記憶部に格納される第１内部変数を順次更新し、撮影制御手段による一連の撮影の完了後に、記憶部に格納されている第１内部変数に基づいて、輝度情報を算出する。
【０００９】
好ましくは、合成手段は、撮影制御手段による処理とは独立に、第１内部変数の更新処理を実行する。
【００１０】
好ましくは、撮像素子は、入射する光に対して複数の分光感度を有しているとともに、複数の分光感度の別に光強度を示す値をそれぞれ出力し、記憶部は、合成画像データの色情報の算出に用いられる第２内部変数をさらに格納し、合成手段は、撮影制御手段による各画像データの生成に応答して、当該画像データの分光感度別の光強度を示す値に基づいて、記憶部に格納される第２内部変数を順次更新し、撮影制御手段による一連の撮影の完了後に、記憶部に格納されている第２内部変数に基づいて、色情報を算出する。
【００１１】
好ましくは、撮像素子の各々は、複数の分光感度のうちいずれか１つの分光感度を有しており、合成手段は、撮影制御手段による一連の撮影の完了後に、各撮像素子が有する分光感度の分布に基づいて、記憶部に格納されている第１内部変数で各画素についての補間を行なうことで、合成画像データの色情報を生成する。
【００１２】
この発明の別の局面に従えば、露光量を変更可能な撮像装置に接続され、撮像装置に異なる露光量で被測定物を複数回撮影させることにより生成される複数の画像データに基づいて合成画像データを生成可能な画像処理装置を提供する。撮像装置は、複数の画素に区画された撮像素子を含む。画像処理装置は、演算処理部と、演算処理部による演算結果を格納する記憶部とを備える。記憶部は、撮像装置が被測定物を撮影することで生成される１枚分の画像データを格納する領域と、合成画像データの輝度情報の算出に用いられる第１内部変数を格納する領域とを含む。第１内部変数の値は、撮像装置による被測定物の各回の撮影毎に更新され、被測定物の一連の撮影の完了後に、記憶部に格納されている第１内部変数に基づいて、合成画像データの輝度情報が算出される。
【００１３】
この発明のさらに別の局面に従えば、露光量を変更可能な撮像装置を用いた画像処理方法を提供する。撮像装置は、複数の画素に区画された撮像素子を含む。画像処理方法は、撮像装置を所定の露光量に設定して被測定物を撮影することにより、撮像素子の各画素に入射する光強度を示す値を含む画像データを生成するステップと、複数の異なる露光量の各々について、画像データを生成するステップを繰返すステップと、画像データが生成される毎に、生成された画像データの光強度を示す値を当該画像データの撮影時の露光量で規格化した値を用いて、記憶部に格納される内部変数を更新するステップと、複数の異なる露光量についての一連の撮影の完了後に、記憶部に格納されている内部変数に基づいて、合成画像データを生成するステップとからなる。
【００１４】
好ましくは、内部変数を更新するステップは、対象の画像データが生成された後、引き続く画像データを生成するステップの実行とは独立に、記憶部に格納される内部変数を更新する。
【発明の効果】
【００１５】
この発明のある局面によれば、合成画像データの生成に要する処理時間を短縮できる。
【発明を実施するための最良の形態】
【００１６】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００１７】
［実施の形態］
＜全体装置構成＞
図１は、この発明の実施の形態に従う画像処理装置を含む視覚センサシステム１の全体構成を示す概略図である。
【００１８】
図１を参照して、視覚センサシステム１は、代表的に生産ラインなどに組込まれ、被測定物（以下「ワーク」とも称す。）における欠陥などを光学的に検査したり、その大きさなどを光学的に計測したりする。一例として、この発明の実施の形態においては、ワーク２は、ベルトコンベヤなどの搬送機構６によって搬送され、搬送されたワーク２は、撮像装置８によって順次撮影される。撮像装置８によって撮影された画像データ（以下「入力画像データ」とも称す。）は、本実施の形態に従う画像処理装置を実現する代表例であるコンピュータ１００へ伝送される。本実施の形態においては、主として、カラーの入力画像データを扱う処理について説明する。
【００１９】
なお、撮像装置８で撮影されるワーク２に対して光を照射する照明機構をさらに設けてもよい。
【００２０】
また、ワーク２が撮像装置８の撮影範囲に到達したことは、搬送機構６の両端に配置された光電センサによって検出される。具体的には、光電センサは、同一の光軸上に配置された受光部４ａと投光部４ｂとからなり、投光部４ｂから放射される光がワーク２で遮蔽されることを受光部４ａで検出することによって、ワーク２の到達を検出する。なお、搬送機構６の制御自体は、図示しないＰＬＣ（Programmable Logic Controller）などによって制御される。
【００２１】
撮像装置８は、上述した光電センサによってワーク２の到着が検出されると、これに応じてワーク２の撮影を開始する。あるいは、連続的に撮影を行っておき、ワーク２の到着が検出されると、後述するワーク２の検査や計測を行なうようにしてもよい。
【００２２】
一例として、撮像装置８は、レンズなどの光学系に加えて、ＣＣＤ（Coupled Charged Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサといった、複数の画素に区画された撮像素子を含んで構成される。各画素に対応する撮像素子は、入射する光に対して１つまたは複数の分光感度を有している。
【００２３】
より具体的には、撮像装置８の撮像素子は、一例として、各画素について、光の三原色に基づく「赤色」「緑色」「青色」のそれぞれに分光感度を有している。そして、撮像装置８の撮像素子は、入射する光についての「赤色」「緑色」「青色」の３色の検出値（Ｒ輝度、Ｇ輝度、Ｂ輝度）を出力する。ここで、たとえば、Ｒ輝度は、撮像素子に入射する光のうち、赤色の分光感度に含まれる波長成分に相当する光のエネルギー（光強度）の大きさを示す。Ｇ輝度およびＢ輝度についても、それぞれ対応の分光感度に含まれる波長成分に相当する光のエネルギー（光強度）の大きさを示す。また、本実施の形態においては、Ｒ輝度、Ｇ輝度、Ｂ輝度は、いずれも８ビット（０〜２５５階調）の範囲で規定されるものとする。
【００２４】
なお、撮像素子が有する分光感度は３つ（３バンド）に限定されることなく、より多くの色に分光感度をもつようにしてもよい。このようなマルチバンドの撮像素子を用いることで、より撮像可能な色域を拡大させることができる。あるいは、光の三原色の補色である「シアン」「マゼンダ」「黄色」の３色の検出値（Ｃ輝度、Ｍ輝度、Ｙ輝度）を分光感度として有していてもよい。また、単板式のＣＣＤなどを用いる場合には、各画素が「赤色」「緑色」「青色」のうち１色だけについて受光感度を有している場合がある。このような場合には、図示しない補間部によって、「赤色」「緑色」「青色」の各々についての輝度をもつ入力画像データを生成してもよい。
【００２５】
特に、本実施の形態に従う撮像装置８は、撮影時の露光量を変更可能である。この露光量とは、各撮像時において撮像素子に入射する光エネルギーを調整するための値であり、代表的に、光学系のしぼり量や機械的または電子的なシャッター速度によって調整される。本実施の形態では、露光量の代表例として「露光時間」を調整する構成について例示するが、露光時間に限られず、しぼり量などを調整するようにしてもよい。
【００２６】
一方、コンピュータ１００は、ＦＤ（Flexible Disk）駆動装置１１１およびＣＤ−ＲＯＭ（Compact Disk-Read Only Memory)駆動装置１１３を搭載するコンピュータ本体１０１と、モニタ１０２と、キーボード１０３と、マウス１０４とを含む。そして、コンピュータ本体１０１は、予め格納されたプログラムを実行することで、本実施の形態に従う画像処理装置を実現する。
【００２７】
＜ハードウェア構成＞
図２は、コンピュータ１００のハードウェア構成を示す概略構成図である。
【００２８】
図２を参照して、コンピュータ本体１０１は、図１に示すＦＤ駆動装置１１１およびＣＤ−ＲＯＭ駆動装置１１３に加えて、相互にバスで接続された、ＣＰＵ（Central Processing Unit）１０５と、メモリ１０６と、固定ディスク１０７と、カメラインターフェイス部１０９と、ＰＬＣインターフェイス部１１５と、センサインターフェイス部１１７とを含む。
【００２９】
ＦＤ駆動装置１１１にはＦＤ１１２が装着可能であり、ＣＤ−ＲＯＭ駆動装置１１３にはＣＤ−ＲＯＭ１１４が装着可能である。上述したように、本実施の形態に従う画像処理装置は、ＣＰＵ１０５がメモリ１０６などのコンピュータハードウェアを用いて、プログラムを実行することで実現される。一般的に、このようなプログラムは、ＦＤ１１２やＣＤ−ＲＯＭ１１４などの記録媒体に格納されて、またはネットワークなどを介して流通する。そして、このようなプログラムは、ＦＤ駆動装置１１１やＣＤ−ＲＯＭ駆動装置１１３などにより記録媒体から読取られて、記憶装置である固定ディスク１０７に一旦格納される。さらに、固定ディスク１０７からメモリ１０６に読出されて、ＣＰＵ１０５により実行される。
【００３０】
ＣＰＵ１０５は、プログラムされた命令を順次実行することで、各種の演算を実施する演算処理部である。メモリ１０６は、ＣＰＵ１０５でのプログラム実行に応じて、各種の情報を一時的に記憶する。
【００３１】
カメラインターフェイス部１０９は、コンピュータ本体１０１と撮像装置８との間のデータ通信を仲介するための装置であり、画像バッファ１０９ａと露光時間設定部１０９ｂとを含む。画像バッファ１０９ａは、撮像装置８で撮影され順次伝送される入力画像データを一旦蓄積し、１回の撮影分の入力画像データが蓄積されると、その蓄積されたデータをメモリ１０６または固定ディスク１０７へ転送する。露光時間設定部１０９ｂは、ＣＰＵ１０５からの内部コマンドに従って、撮影前に撮像装置８にコマンドを送信し、撮像装置８における露光時間を設定する。
【００３２】
ＰＬＣインターフェイス部１１５は、コンピュータ本体１０１と図示しないＰＬＣとの間のデータ通信を仲介するための装置である。また、センサインターフェイス部１１７は、上述した光電センサなどからの検出信号を受信して、ＣＰＵ１０５へ伝達する。
【００３３】
固定ディスク１０７は、ＣＰＵ１０５が実行するプログラムや入力画像データなどを記憶する不揮発性の記憶装置である。
【００３４】
コンピュータ本体１０１に接続されるモニタ１０２は、ＣＰＵ１０５が出力する情報を表示するための表示装置であって、一例としてＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode Ray Tube）などから構成される。後述するように、本実施の形態に従うモニタ１０２は、ワーク２を撮影して生成される合成画像、１回あたりの処理に要する見込みの処理時間、合成画像を構成する画素の輝度についてのヒストグラムなどを表示する。
【００３５】
マウス１０４は、クリックやスライドなどの動作に応じたユーザからの指令を受付ける。キーボード１０３は、入力されるキーに応じたユーザからの指令を受付ける。
【００３６】
また、コンピュータ１００には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【００３７】
＜動作モード＞
本実施の形態に従う視覚センサシステム１は、ワーク２を撮影することで生成される合成画像データを用いて実際に検査や計測を実行する「稼動モード」と、ワーク２についての合成処理に係る設定を行なうための「設定モード」とを選択することが可能である。
【００３８】
ユーザは、「設定モード」において、モニタ１０２に表示される合成画像データに基づく合成画像を参照しながら、適切な撮影条件を設定する。また、「稼動モード」では、実際に生産ラインを流れるワーク２を撮影して得られる合成画像データを生成し、この合成画像データに対して検査や計測が行われる。
【００３９】
＜画像合成処理＞
次に、合成画像データを生成するための画像合成処理について説明する。本実施の形態に従う画像合成処理は、主として撮像装置８のダイナミックレンジを拡大させるためのものである。
【００４０】
図３は、ワークとして腕時計の裏面を撮影した場合の入力画像データを示す図である。
図３（ａ）は、露光時間が相対的に長い条件下で１回の撮影により得られた撮影画像を示し、図３（ｂ）は、露光時間が相対的に短い条件下で１回の撮影により得られた撮影画像を示す。なお、図３（ａ）および図３（ｂ）において、入射する光の強度は同じ条件である。図３に示すワークは、金属製の時計本体部と皮革製のバンド部とを含む。両者の反射率は大きく異なるので、各部から放射される光パワー（単位時間当たりに放射される光エネルギー）にも大きな差がある。
【００４１】
そのため、露光時間が長くなると、相対的に反射率の高い時計本体部は白飛びを生じてしまい、輝度情報を取得することができない。すなわち、図３（ａ）に示すように、時計本体部に記された文字が識別できなくなっていることがわかる。これに対して、露光時間が短くなると、相対的に反射率の低いバンド部から十分に光エネルギーを受光することができず、有効な輝度情報を取得することができない。すなわち、図３（ｂ）に示すように、バンド部は黒つぶれを生じており、ステッチなどの欠陥が識別できなくなっていることがわかる。
【００４２】
そこで、本実施の形態に従う画像処理装置は、同一のワークを異なる露光量（露光時間）で複数回撮影し、撮影された複数の入力画像データから合成画像データを生成する。入力画像データは、撮像装置８の各画素に入射する光強度を示す値（各色の輝度）を含んでおり、本実施の形態に従う画像処理装置は、各画素に対応するそれぞれの入力画像データの光強度を示す値（各色の輝度）と、対応する入力画像データの撮影時の露光量とに基づいて、合成画像データの各画素の色情報（以下、「合成色情報」とも称す。）および輝度情報（以下、「合成輝度情報」とも称す。）を算出する。そして、合成色情報及び合成輝度情報に基づいて、合成画像データが生成される。
【００４３】
概略すると、この合成輝度情報の算出処理では、入力画像データそれぞれにおける対応する画素における光強度を示す値（輝度）を露光量で規格化した上で、その規格化された輝度が適切であるものが優先的に採用される。言い換えれば、合成画像データにおける各画素の合成輝度情報は、複数の入力画像データの対応する画素がそれぞれもつ情報のうち、ワークから放射される光パワー（単位時間当たりに入射する光エネルギー）に適した露光量で撮影された画素がもつ情報を主成分として算出される。このような処理によって、適切な露光量で撮影された輝度をもつ画素の集合として、合成画像データを生成できる。図３（ｃ）は、本実施の形態に従う画像合成処理によって生成された合成画像データの一例を示す図である。図３（ｃ）に示すように、上述の画像合成処理を行なうことで、図３（ａ）のような白飛びや図３（ｂ）に示すような黒つぶれを含まない合成画像データを生成できる。
【００４４】
広いダイナミックレンジを有限の階調をもつ１枚の画像（合成輝度情報）で表現するためには、非線形なトーンマッピングをすることが有効である。トーンマッピングには、種々の方法があり、関数を用いて算出される非線形トーンマッピングの代表例としては、対数変換やガンマ補正などがある。あるいは、関数ではなく予め定められたルックアップテーブルを用いることにより任意の形状のトーンマッピングを行なうこともできる。一方、トーンマッピングをかけるタイミングとして、加算処理を行った後に処理する場合と、加算処理の前に処理する場合の２つの方法が可能である。つまりトーンマッピングには複数のバリエーションがあり、また、処理タイミングとして２つの方法があることになる。
【００４５】
本実施の形態では、これらの処理の一例として、対数変換を行った後に加算処理を行なう場合の構成を示す。また、後述する本実施の形態の第３変形例では、加算処理を行なった後に、対数変換を行なう構成を例示し、後述する本実施の形態の第４変形例では、加算処理を行なった後に、ガンマ補正を行なう構成を例示する。本発明は、これらの処理の組み合わせに限定されることなく、他の公知または周知の処理を用いた他の組み合わせを採用することができる。
【００４６】
本実施の形態に従う画像合成処理は、主として以下の４つの処理によって実現される。
（１）ワークを異なる露光量で順次撮影する処理（撮影処理）
（２）撮影された入力画像データの輝度情報から合成輝度情報を算出する処理（輝度合成処理）
（３）撮影された入力画像データの色情報から合成色情報を算出する処理（色合成処理）
（４）合成色情報と合成輝度情報とから合成画像データを生成する処理（生成処理）
特に、本実施の形態に従う画像処理装置は、上述の（２）および（３）の処理を、（１）の撮影処理と同時並行的に実行することで、合成画像データの生成に要する時間を短縮する。以下では、本実施の形態に従う画像処理装置における画像処理処理についての理解を容易にするために、上述の（１）のすべての処理が完了した後に、上述の（２）〜（４）の処理を一括して実行する構成（一括処理方式）について説明した後、本実施の形態に従う画像処理装置における画像処理方法について説明する。
【００４７】
＜Ｉ．一括処理方式に係る制御構造＞
図４は、この発明に関連する一括処理方式の画像処理装置の制御構造を示す機能ブロック図である。
【００４８】
図４を参照して、本発明に関連する一括処理方式の画像処理装置は、上述の（１）撮影処理を実現するための制御構造として、撮影制御部２００と、選択部２０２と、画像メモリ２０４ａ〜２０４ｈと、画像情報抽出部２０６ａ〜２０６ｈとを含み、上述の（２）輝度合成処理を実現するための制御構造として、輝度合成部２１０と、トーンマッピング部２１４と、明るさ上下限設定部２１６と、ヒストグラム生成部２１８とを含み、上述の（３）色合成処理を実現するための制御構造として、色合成部２０８を含み、上述の（４）生成処理を実現するための制御構造として、画像生成部２１２を含む。さらに、一括処理方式の画像処理装置は、処理時間算出部２２２を含む。
【００４９】
以下、一括処理方式の画像処理装置における各処理の内容を各機能ブロックの動作とともに説明する。
【００５０】
（１）撮影処理
図４を参照して、撮影制御部２００は、撮像装置８に同一のワークを異なる露光量で複数回撮影させることにより複数の入力画像データを生成する。撮影制御部２００は、ユーザ設定に応じて、どのように露光量を変更するかについて決定する。より具体的には、本実施の形態に従う撮像装置８は、一例として、シャッター速度を任意に設定可能な電子シャッターを有しており、これにより露光時間を任意に変更可能となる。その変更可能な露光時間は、一例として「１／１０秒」，「１／２０秒」，「１／４０秒」，「１／８０秒」，「１／１６０秒」，「１／３２０秒」，「１／６４０秒」，「１／１２８０秒」の８通りを標準として含む。この変更可能な露光時間群は、「１／１０秒」を基準（最も遅い値）として、２のべき乗で順次早くなるように設定されている。
【００５１】
撮影制御部２００は、予め定められる撮影回数および各撮影における露光量に従って、各撮影前に撮像装置８の露光時間を順次設定し、各設定された露光時間において撮像装置８を用いてワークを順次撮影させる。さらに、撮影制御部２００は、各撮影に同期して、選択部２０２に選択指令を与え、撮像装置８がワークを順次撮影することで生成される入力画像データを画像メモリ２０４ａ〜２０４ｈに逐次的に格納させる。
【００５２】
選択部２０２は、撮像装置８と、画像メモリ２０４ａ〜２０４ｈとの間に配置され、撮影制御部２００からの選択指令に応じて、画像メモリ２０４ａ〜２０４ｈのいずれか１つと撮像装置８とを電気的に接続する。このような動作によって、これにより、撮像装置８がワークを撮影することで生成される入力画像データは、画像メモリ２０４ａ〜２０４ｈに逐次的に格納される。なお、以下では、画像メモリ２０４ａ〜２０４ｈを総称して「画像メモリ２０４」とも記す。
【００５３】
画像メモリ２０４は、撮像装置８の露光時間に対応付けて構成されており、対応する特定の露光時間において撮影された入力画像データを格納する。たとえば、画像メモリ２０４ａは、露光時間が「１／１０秒」の条件で撮影された入力画像データのみを格納し、画像メモリ２０４ｂは、露光時間が「１／２０秒」の条件で撮影された入力画像データのみを格納するといった具合である。
【００５４】
画像情報抽出部２０６ａ〜２０６ｈは、それぞれ画像メモリ２０４ａ〜２０４ｈに対応付けられており、対応の画像メモリ２０４に格納された入力画像データから、色情報および輝度情報をそれぞれ抽出する。代表的に、入力画像データが各画素に入射する光強度を示す値である３色の輝度（Ｒ輝度、Ｇ輝度、Ｂ輝度）からなるものとすると、入力画像データの色情報は、これらの３色の輝度を規格化した上で、各輝度の相対関係（相対比）を表わしたものである。また、入力画像データの輝度情報は、各画素に入射する光強度を総合的に表わしたものであり、３色の輝度の平均値（あるいは、総和）に相当する。
【００５５】
そして、画像情報抽出部２０６ａ〜２０６ｈは、抽出した色情報を色合成部２０８へ出力するとともに、抽出した輝度情報を色合成部２０８および輝度合成部２１０へ出力する。
【００５６】
（２）輝度合成処理
（２−１）合成輝度算出
輝度合成部２１０は、撮像装置８による一連の撮影（予め設定された露光時間におけるすべての撮影）が完了した後、それぞれの入力画像データの輝度情報を対応する露光量によってそれぞれ規格化した上で、各画素の合成輝度を算出する。上述したように、撮像装置８における露光時間を変更することで、撮影に適した光パワーの範囲が変動する。すなわち、露光時間が相対的に短ければ、光パワーのより大きな範囲の撮影に適し、露光時間が相対的に長ければ、光パワーのより小さな範囲の撮影に適する。
【００５７】
そこで、本明細書においては、ワークから放射される光エネルギーの大きさを示す「明るさ」という指標を用いる。なお、「明るさ」は、撮像装置８の性能に依存する相対的な値であり、同じ「明るさ」であっても、撮像素子の感度や光学系の開放値などが異なれば、実際の光エネルギーは異なったものとなる。
【００５８】
一般的に、撮像装置８（撮像素子）に入射する光エネルギーの大きさは、露光時間に比例すると考えられる。そのため、本明細書における「明るさ」としては、代表的に、撮像装置８で検出された輝度を露光時間で割り、その値について対数をとったものを採用する。したがって、本明細書における「明るさ」は、単位露光時間あたりの光エネルギー（光パワー）の大きさを示す指標である。このような「明るさ」を用いることで、撮像装置８に設定可能な各露光時間に対応させて、撮像装置８による撮影に適した「明るさ」範囲を予め規定することができる。
【００５９】
より具体的には、本実施の形態に従う撮像装置８に設定可能な８つの露光時間は、２のべき乗で順次短くなるようになっているので、各露光時間と「明るさ」との対応関係を図５のように定めることができる。
【００６０】
図５は、撮像装置８に設定される露光時間と撮影に適した「明るさ」範囲との関係の一例を示す図である。
【００６１】
図５を参照して、露光時間が「１／１０秒」である場合に撮影に適した「明るさ」範囲を「１０〜３０」に設定すると、露光時間を１／２倍した「１／２０秒」である場合には、撮影に適した「明るさ」範囲を「１０」だけ加算した「２０〜４０」に設定できる。このように順次設定することで、露光時間を「１／１０秒」〜「１／１２８０秒」の範囲に対応付けて、「１０〜１００」の「明るさ」範囲をカバーするように設定できる。なお、この「明るさ」範囲は撮像装置８の性能に依存する相対的な値であり、同じ「明るさ」であっても、撮像素子の感度や光学系の開放値などが異なれば、実際の明るさは異なったものとなる。
【００６２】
また、各「明るさ」範囲を複数の露光時間がカバーするように構成することが好ましい。図５に示す例においては、「明るさ」範囲が１０〜９０の範囲では、少なくとも２つの露光時間によってカバーするように設定されている。すなわち、たとえば「明るさ」が「５０」に対応する露光時間は、「１／４０秒」，「１／８０秒」，「１／１６０秒」の３つである。このような設定を行なうことで、ユーザが入力する「明るさ」上下限値の範囲（後述する）が狭い場合であっても、異なる露光時間で複数回の撮影が選択されるようになる。
【００６３】
この図５に示す露光時間と「明るさ」範囲との関係は、撮像装置８で撮影可能な「明るさ」範囲のうち、ユーザによって必要な「明るさ」範囲が設定されると、当該設定に対応する複数の露光時間の各々での撮影が行なわれるようになる。すなわち、撮像装置８に設定可能なすべての露光時間において撮影が行なわれるのではなく、特定の露光時間における撮影のみを行なうことで、画像合成処理に係る処理時間を短縮することもできる。
【００６４】
より具体的には、ユーザによって、「明るさ」範囲が「３０〜６０」に設定された場合には、その範囲内に含まれる「１／２０秒」，「１／４０秒」，「１／８０秒」の露光時間で１処理あたり３回の撮影が行なわれる。
【００６５】
再度、図４を参照して、輝度合成部２１０は、ワークに対する一連の撮影によって得られた複数の入力画像データを用いて、合成画像データの各画素の輝度である合成輝度を算出する。より具体的には、輝度合成部２１０は、合成画像データの各画素（座標位置ｉ）に対応するＰ個の入力画像データにおけるそれぞれの画素の輝度を露光時間で規格化することで、各画素の合成輝度Ｅｉを算出する。輝度合成部２１０による合成輝度Ｅｉの算出式は（１）式のようになる。
【００６６】
【数１】
0004946928.tif 000002
【００６７】
（１）式において、「ｌｎ（ｇ（Ｚｉ，ｊ）−ｌｎΔｔｊ）」の項が、各入力画像データにおける輝度を露光時間で規格化した上で、「明るさ」として評価した値に相当する。これは、たとえば同じ輝度「１２８」であっても、露光時間が相対的に短ければ、その実際の「明るさ」はより大きな値として評価すべきであり、露光時間が相対的に長ければ、その実際の「明るさ」はより小さな値として評価すべきであるという技術思想に基づくものである。すなわち、上記の項は、ｌｎ｛ｇ（Ｚｉ，ｊ）／Δｔｊ｝と変形できるように、対応の入力画像データの撮影時の露光量に応じた係数１／Δｔｊを乗じることで露光時間による規格化（＝ｇ（Ｚｉ，ｊ）／Δｔｊ）を行い、この規格化した値を用いて合成輝度Ｅｉが算出される。
【００６８】
代表的に、合成輝度Ｅｉは、図５に示す各露光時間と「明るさ」範囲との関係に従って、０〜１００の範囲の値として算出される。なお、理解を容易にするために、０〜１００の範囲で表しているが、合成して得られる画像の「明るさ」の階調は、１回の撮影で得られる画像がもつ階調（たとえば、８ビット）よりも大きくなることから、データとしては、小数点以下の桁も有する値である（たとえば、１６ビットのデータを用いて小数点以下４桁までの値として取扱う）。
【００６９】
上式においては、さらに、重み関数ｗ（Ｚ）と撮像装置８の撮像素子の応答関数ｇ（Ｚ）を導入している。図６を参照して、これらの関数について説明する。
【００７０】
図６は、重み関数および応答関数の特性の一例を示す図である。図６（ａ）は、重み関数ｗ（Ｚ）の特性を示し、図６（ｂ）は、応答関数ｇ（Ｚ）の特性を示す。
【００７１】
図６（ａ）を参照して、重み関数ｗ（Ｚ）は、撮像装置８から出力される輝度の値に応じて、その信頼度を反映するための関数である。すなわち、ある露光量において、撮像装置８から出力される輝度のうち、その下限値（０）または上限値（２５５）に近い値は、その中間値（１２８）に近い値に比較して信頼度が低いと考えられる。換言すれば、仮に撮像装置８がある露光量において最も適した「明るさ」をもつ被測定物を撮影すると、その輝度はほぼ中間値になると考えられる。
【００７２】
そこで、このような特性を考慮して、重み関数ｗ（Ｚ）としては、輝度階調値の中間値の近傍に比較して、下限値または上限値の近傍の値がより小さくなるような関数を用いることが好ましい。一例として、本実施の形態では、輝度階調値の中間値が最大値（１２８）となるとともに、下限値および上限値でそれぞれゼロとなるような三角形状の重み関数を採用する。このような重み関数を採用することで、露光時間毎の入力画像データのうち、その輝度が所定範囲内にあるものを優先的に採用して合成輝度が算出される。
【００７３】
また、図６（ｂ）を採用して、応答関数ｇ（Ｚ）は、撮像装置８から出力される輝度と実際に撮像装置８に入力する光エネルギーとの間の非線形性を補償するための関数である。たとえば、ＣＣＤなどの撮像素子では、入力する光エネルギーあるいは光量と出力される電圧信号との関係は非線形となる。このような非線形特性はガンマ特性などとも称される。応答関数ｇ（Ｚ）は、このようなガンマ特性を補償して、撮像装置８から出力される輝度を、実際に撮像装置８に入力する光エネルギーに比例するように補正するものである。なお、図６（ｂ）には、簡単化のため、撮像装置８から出力される輝度が入力する光エネルギーと比例関係にある場合の応答関数ｇ（Ｚ）を示す。
【００７４】
なお、上式中の定数項の「Ｃ」は、各露光時間と「明るさ」範囲との関係を図５のように定めた場合に生じるオフセットを補償するための項であり、各露光時間と「明るさ」範囲との関係に応じて適宜設定することができる。
【００７５】
また、上式中では、ネイピア数「ｅ」を底にした自然対数を用いているが、必ずしも「ｅ」に限定されるものではなく、「２」を底にした対数や「１０」を底にした常用対数などを用いてもよい。
【００７６】
（２−２）トーンマッピング
再度、図４を参照して、輝度合成部２１０は、算出した合成輝度Ｅｉをトーンマッピング部２１４へ出力する。トーンマッピング部２１４は、合成輝度Ｅｉに基づいて合成画像データを生成するための輝度情報を算出する。具体的には、トーンマッピング部２１４は、各合成輝度Ｅｉ（輝度範囲：０〜１００；但し、２５６階調より大きな階調をもつ）を合成画像データの輝度範囲（たとえば、０〜２５５階調値）に割り当てることで、合成画像データの輝度情報を算出する。なお、各合成輝度Ｅｉの分解能（ダイナミックレンジ）は、入力画像データより高くなるので、合成画像データの輝度範囲を入力画像データより多階調化することで、より精度の高い合成画像データを生成できる。
【００７７】
特に、トーンマッピング部２１４は、後述するようにユーザによる「明るさ」上下限の設定に応じて、合成輝度Ｅｉのうち所定範囲を合成画像データの輝度範囲に割り当てる。
【００７８】
図７は、トーンマッピング部２１４による割り当て処理を説明するための図である。
図７を参照して、説明を簡素化するために、トーンマッピング部２１４が線形の割り当て処理を行なう場合について例示する。最も簡単な例としては、輝度範囲が０〜１００である合成輝度Ｅｉの比例関係を保ったまま、０〜２５５の範囲の階調値への割り当てである。これにより、モニタが持つ表示能力より大きな階調をもつデータを、モニタの持つ表示能力に合わせた階調（たとえば、８ビット表示）で表示することができる。
【００７９】
上述したように、ユーザによって「明るさ」上限値Ｂｍａｘと「明るさ」下限値Ｂｍｉｎが設定された場合には、トーンマッピング部２１４は、以下のような式に従って、輝度Ｙｉへの割り当てを行なう。
【００８０】
Ｙｉ＝２５５×（Ｅｉ−Ｂｍｉｎ）／（Ｂｍａｘ−Ｂｍｉｎ）
（計算例）
一例として、それぞれ３つの露光時間「１／２０秒」，「１／４０秒」，「１／８０秒」において撮影が行なわれることで入力画像データが取得された場合において、３つの入力画像データの座標位置ｉにおける輝度が、それぞれ「１９０」，「１００」，「５０」であるとする。この場合において、当該座標位置ｉに対応する画素の合成輝度Ｅｉは以下のように算出される。但し、Ｗ（１９０）＝６５，Ｗ（１００）＝１００，Ｗ（５０）＝５０である。
【００８１】
Ｅｉ＝１０×｛６５×（ｌｏｇ１９０＋ｌｏｇ２０−８）＋１００×（ｌｏｇ１００＋ｌｏｇ４０−８）＋５０×（ｌｏｇ５０＋ｌｏｇ８０−８）｝／（６５＋１００＋５０）＝４０
そして、ユーザによって、「明るさ」上限値Ｂｍａｘが「６０」で、「明るさ」下限値Ｂｍｉｎが「３０」に設定された場合には、合成画像データの輝度Ｙｉは以下のように算出される。
【００８２】
Ｙｉ＝２５５×（４０−３０）／（６０−３０）＝８５
（２−３）ヒストグラム生成
再度、図４を参照して、輝度合成部２１０は、算出した合成輝度Ｅｉをヒストグラム生成部２１８へも出力する。ヒストグラム生成部２１８は、合成輝度Ｅｉについてのヒストグラムを生成する。すなわち、ヒストグラム生成部２１８は、各画素の合成輝度Ｅｉを所定幅の階級に区分した上で画素数を積算していく。これは、ユーザが、輝度合成部２１０によって算出される合成輝度Ｅｉのうち相対的に比率の高い範囲を参照しながら、上述の「明るさ」上限値および「明るさ」下限値を設定することを助ける。
【００８３】
また、ヒストグラム生成部２１８は、後述するユーザ設定に応じて、ヒストグラムの生成処理を中断または再開可能に構成される。
【００８４】
（３）色合成処理
図４を参照して、色合成部２０８は、複数の入力画像データの色情報から合成色情報を算出する。後述するように、合成画像データの各画素は、色合成部２０８で算出される合成色情報に、輝度合成部２１０およびトーンマッピング部２１４によって算出される合成輝度情報を乗じて得られるため、色合成部２０８から出力される合成色情報は、「赤色」、「緑色」、「青色」の相対的な比を示す値となる。
【００８５】
また、色合成部２０８は、上述の輝度合成部２１０と同様に、各座標位置に対応する複数の入力画像データにおけるそれぞれの画素の色情報に基づいて、合成画像データの各画素の合成色情報を算出する。より具体的には、色合成部２０８は、各入力画像データの色情報と、その信頼度に応じた重みとを乗算した値を累積加算することで、合成色情報を算出する。
【００８６】
ここで、ｊ番目の入力画像データの座標位置ｉ（０≦ｉ≦画素数ｎ）における色情報を（ｒｉ，ｊ，ｇｉ，ｊ，ｂｉ，ｊ）とする。但し、色合成部２０８は、画像情報抽出部２０６ａ〜２０６ｈから出力される色情報を、ｒｉ，ｊ＋ｇｉ，ｊ＋ｂｉ，ｊ＝１が成立するように規格化する。また、ｊ番目の入力画像データの座標位置ｉにおける輝度をＺｉ，ｊとする。この規格化された色情報および輝度を用いると、合成色情報（ｒｉ，ｇｉ，ｂｉ）の算出式は（２．１）〜（２．３）式のようになる。
【００８７】
【数２】
0004946928.tif 000003
【００８８】
ここで、重み関数ｗ（Ｚ）は、図６（ａ）と同様の特性を有する。すなわち重み関数ｗ（Ｚ）は、撮像装置８から出力される輝度の値に応じて、その信頼度を反映するための関数である。この重み関数ｗ（Ｚ）の技術的な意味については、上述したので詳細な説明は繰返さない。
【００８９】
そして、色合成部２０８は、算出した合成色情報を画像生成部２１２へ出力する。
（４）生成処理
画像生成部２１２は、輝度合成部２１０およびトーンマッピング部２１４によって算出された輝度Ｙｉを、対応する合成色情報（ｒｉ，ｇｉ，ｂｉ）に順次乗じることによって、座標位置ｉの画素の画像情報を順次算出し、これによって合成画像データを生成する。
【００９０】
すなわち、合成画像データの座標位置ｉの座標における絶対的な色情報（Ｒｉ，Ｇｉ，Ｂｉ）は、以下のように表わすことができる。
【００９１】
（Ｒｉ，Ｇｉ，Ｂｉ）＝Ｙｉ×（ｒｉ，ｇｉ，ｂｉ）
以上のような手順に従って、合成画像データが生成される。
【００９２】
＜ＩＩ．並行処理方式に係る制御構造＞
図８は、この発明の実施の形態に従う画像処理装置の制御構造を示す機能ブロック図である。
【００９３】
図８を参照して、この発明の実施の形態に従う画像処理装置は、上述の（１）撮影処理を実現するための制御構造として、撮影制御部３００と、画像メモリ３０２とを含み、上述の（２）輝度合成処理を実現するための制御構造として、輝度情報更新部３０６と、分子メモリ３０７Ｎと、分母メモリ３０７Ｄと、輝度情報合成部３１０と、トーンマッピング部２１４と、明るさ上下限設定部２１６と、ヒストグラム生成部２１８とを含み、上述の（３）色合成処理を実現するための制御構造として、色情報更新部３０４と、Ｒメモリ３０５Ｒと、Ｇメモリ３０５Ｇと、Ｂメモリ３０５Ｂと、色情報合成部３０８とを含み、上述の（４）生成処理を実現するための制御構造として、画像生成部２１２を含む。さらに、本実施の形態に従う画像処理装置は、処理時間算出部３２２を含む。
【００９４】
なお、画像メモリ３０２、分子メモリ３０７Ｎ、分母メモリ３０７Ｄ、Ｒメモリ３０５Ｒ、Ｇメモリ３０５Ｇ、およびＢメモリ３０５Ｂは、本実施の形態に従う画像処理装置の記憶部であるメモリ１０６または固定ディスク１０７にそれぞれの領域が確保されることで、実現される。画像メモリ３０２は、撮像装置８の撮像素子の画素サイズに対応した２次元配列を３プレーン分（Ｒ，Ｇ，Ｂ）含む構成となっており、その他のメモリの各々は、撮像装置８の撮像素子の画素サイズに対応した２次元配列になっている。なお、図８と本発明との関係については、分子メモリ３０７Ｎおよび分母メモリ３０７Ｄに格納される内部変数が「第１内部変数」に対応し、Ｒメモリ３０５Ｒ、Ｇメモリ３０５Ｇ、Ｂメモリ３０５Ｂに格納される内部変数が「第２内部変数」に対応する。そして、「１枚分の画像データを格納する領域」が画像メモリ３０２に相当し、「第１内部変数を格納する領域」が「分子メモリ３０７Ｎ、分母メモリ３０７Ｄ」に相当する。
【００９５】
以下、並行処理方式を採用する本実施の形態に従う画像処理装置における各処理の内容を各機能ブロックの動作とともに説明する。
【００９６】
（１）撮影処理
図８を参照して、撮影制御部３００は、撮像装置８に同一のワークを異なる露光量で複数回撮影させることにより複数の入力画像データを生成する。より具体的には、撮影制御部２００は、予め定められる撮影回数および各撮影における露光量に従って、各撮影前に撮像装置８の露光時間を設定し、各設定された露光時間における撮像装置８でワークを順次撮影させる。ある露光量において撮影された１つの入力画像データは、カメラインターフェイス部１０９の画像バッファ１０９ａ（図１）に一旦蓄積された後、画像メモリ３０２へ転送される。上述したように、画像メモリ３０２は、１つの入力画像データを格納できるサイズに構成されており、１つの入力画像データが画像メモリ３０２に格納される毎に、後述する輝度情報更新部３０６および色情報更新部３０４における処理が開始される。
【００９７】
なお、入力画像データが画像メモリ３０２に格納された後、撮像装置８によって引き続く撮影が行なわれて入力画像データが新たに生成されると、当該入力画像データは画像メモリ３０２に上書きして格納される。そのため、後述する輝度情報更新部３０６および色情報更新部３０４における１回の処理は、撮像装置８による撮影とは独立して並行処理され、新たな入力画像データが生成されるまでに完了するように構成される。
【００９８】
（２）輝度合成処理
本実施の形態に従う画像処理装置は、撮像装置８によるワークの撮影が行なわれる毎に、合成画像データの合成輝度情報の算出に用いられる内部関数を順次更新し、一連の撮影の完了後に当該内部関数の値に基づいて、合成輝度情報を算出する。
【００９９】
より具体的には、図８を参照して、分子メモリ３０７Ｎには、上述の（１）式の分子の内部変数が格納され、分母メモリ３０７Ｄには、上述の（１）式の分母の内部変数が格納される。そして、輝度情報更新部３０６は、画像メモリ３０２に新たな入力画像データが格納される毎に、上述の（１）式の分子および分母にそれぞれ含まれる積算処理を実行することで、分子メモリ３０７Ｎおよび分母メモリ３０７Ｄにそれぞれ格納される内部変数を更新する。一例として、ワークをＰ回撮影することで生成されるＰ枚の入力画像データに基づいて、１つの合成画像データが合成される場合を考えると、輝度情報更新部３０６における各入力画像データの生成時における処理は、以下のようになる。
【０１００】
【数３】
0004946928.tif 000004
【０１０１】
輝度情報更新部３０６は、１枚目の入力画像データが生成されると、（３．１）式に示されるように、当該入力画像データの座標位置ｉ（０≦ｉ≦画素数ｎ）における輝度Ｚｉ，１および対応の露光時間Δｔ１を用いて、座標位置ｉについての分子暫定値Ａ（１）ｉを算出する。同時に、輝度情報更新部３０６は、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，１を用いて、分母暫定値Ｂ（１）ｉを算出する。なお、合成画像データの生成に係る一連の撮影が開始される前には、分子メモリ３０７Ｎおよび分母メモリ３０７Ｄはゼロリセットされているものとする。
【０１０２】
引き続いて、２枚目の入力画像データが生成されると、輝度情報更新部３０６は（３．２）式に示されるように、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，２および対応の露光時間Δｔ２を用いて、分子暫定値Ａ（１）ｉを分子暫定値Ａ（２）ｉに更新する。同時に、輝度情報更新部３０６は、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，１を用いて、分母暫定値Ｂ（１）ｉを分子暫定値Ｂ（２）ｉに更新する。
【０１０３】
さらに、同様の処理がＰ枚分の入力画像データについて繰返される。このＰ枚分の入力画像データについての更新処理の完了後、分子メモリ３０７Ｎおよび分母メモリ３０７Ｄには、（３．３）式に示されるように、それぞれ分子暫定値Ａ（Ｐ）ｉおよび分母暫定値Ｂ（Ｐ）ｉが格納された状態となる。ここで、分子暫定値Ａ（Ｐ）ｉおよび分母暫定値Ｂ（Ｐ）ｉは、それぞれ（１）式の分子および分母に相当する。
【０１０４】
分子暫定値Ａ（Ｐ）ｉおよび分母暫定値Ｂ（Ｐ）ｉが算出された後、輝度情報合成部３１０は、以下の（４）式に示される演算を実行して、合成輝度Ｅｉを算出する。この輝度情報合成部３１０により算出された合成輝度Ｅｉは、トーンマッピング部２１４およびヒストグラム生成部２１８へ出力される。
【０１０５】
【数４】
0004946928.tif 000005
【０１０６】
トーンマッピング部２１４では、上述したのと同様のトーンマッピング処理が実行され、合成輝度情報が算出される。そして、この算出された合成輝度情報は、画像生成部２１２へ出力される。また、ヒストグラム生成部２１８では、上述したヒストグラム生成処理が実行される。なお、トーンマッピング部２１４およびヒストグラム生成部２１８における動作および処理については、上述したので、詳細な説明は繰返さない。
【０１０７】
（３）色合成処理
本実施の形態に従う画像処理装置は、上述の輝度合成処理と並行して、合成画像データの合成色情報の算出に用いられる内部関数を順次更新し、一連の撮影の完了後に当該内部関数の値に基づいて、合成色情報を算出する。
【０１０８】
より具体的には、図８を参照して、Ｒメモリ３０５Ｒには、上述の（２．１）式の分子の内部変数が格納され、Ｇメモリ３０５Ｇには、上述の（２．２）式の分子の内部変数が格納され、Ｂメモリ３０５Ｂには、上述の（２．３）式の分子の内部変数が格納される。なお、上述の（２．１）〜（２．３）式の分母は、上述の（１）式の分母と同じであるので、後述するように、分母メモリ３０７Ｄに格納される内部変数が利用される。そして、色情報更新部３０４は、画像メモリ３０２に新たな入力画像データが格納される毎に、上述の（２．１）〜（２．３）式の分子にそれぞれ含まれる積算処理を実行することで、それぞれＲメモリ３０５Ｒ、Ｇメモリ３０５Ｇ、Ｂメモリ３０５Ｂに格納される内部変数を更新する。一例として、ワークをＰ回撮影することで生成されるＰ枚の入力画像データに基づいて、１つの合成画像データが合成される場合を考えると、色情報更新部３０４における各入力画像データの生成時における処理は、以下のようになる。
【０１０９】
【数５】
0004946928.tif 000006
【０１１０】
色情報更新部３０４は、１枚目の入力画像データが生成されると、（５．１）式に示されるように、当該入力画像データの座標位置ｉ（０≦ｉ≦画素数ｎ）における輝度Ｚｉ，１および色情報をｒｉ，１を用いて、座標位置ｉについてのＲ暫定値ｒ（１）ｉを算出する。同時に、色情報更新部３０４は、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，１および色情報をｇｉ，１を用いて、座標位置ｉについてのＧ暫定値ｇ（１）ｉを算出する。また同様に、色情報更新部３０４は、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，１および色情報をｂｉ，１を用いて、座標位置ｉについてのＢ暫定値ｂ（１）ｉを算出する。なお、合成画像データの生成に係る一連の撮影が開始される前には、Ｒメモリ３０５Ｒ、Ｇメモリ３０５Ｇ、Ｂメモリ３０５Ｂはゼロリセットされているものとする。
【０１１１】
引き続いて、２枚目の入力画像データが生成されると、色情報更新部３０４は（５．２）式に示されるように、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，２および色情報をｒｉ，２を用いて、Ｒ暫定値ｒ（１）ｉをＲ暫定値ｒ（２）ｉに更新する。同時に、色情報更新部３０４は、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，２および色情報をｇｉ，２を用いて、Ｇ暫定値ｒ（１）ｉをＧ暫定値ｒ（２）ｉに更新する。また同様に、色情報更新部３０４は、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，２および色情報をｂｉ，２を用いて、Ｂ暫定値ｒ（１）ｉをＢ暫定値ｒ（２）ｉに更新する。
【０１１２】
さらに、同様の処理がＰ枚分の入力画像データについて繰返される。このＰ枚分の入力画像データについての更新処理の完了後、Ｒメモリ３０５Ｒ、Ｇメモリ３０５Ｇ、Ｂメモリ３０５Ｂには、（５．３）式に示されるように、それぞれＲ暫定値ｒ（Ｐ）ｉ、Ｇ暫定値ｇ（Ｐ）ｉ、Ｂ暫定値ｂ（Ｐ）ｉが格納された状態となる。ここで、Ｒ暫定値ｒ（Ｐ）ｉ、Ｇ暫定値ｇ（Ｐ）ｉ、Ｂ暫定値ｂ（Ｐ）ｉは、それぞれ（２．１）〜（２．３）式の分子に相当する。
【０１１３】
Ｒ暫定値ｒ（Ｐ）ｉ、Ｇ暫定値ｇ（Ｐ）ｉ、Ｂ暫定値ｂ（Ｐ）ｉが算出された後、色情報合成部３０８は、分母メモリ３０７Ｄに格納されている分母暫定値Ｂ（Ｐ）ｉを参照して、以下の（６）式に示される演算を実行して、合成色情報（ｒｉ，ｇｉ，ｂｉ）を算出する。さらに、色情報合成部３０８は、算出した合成色情報を画像生成部２１２へ出力する。
【０１１４】
【数６】
0004946928.tif 000007
【０１１５】
（４）生成処理
画像生成部２１２は、トーンマッピング部２１４から出力された輝度Ｙｉと、対応する合成色情報（ｒｉ，ｇｉ，ｂｉ）とを順次乗じることによって、合成画像データを生成する。なお、画像生成部２１２における動作および処理については、上述したので、詳細な説明は繰返さない。
【０１１６】
以上のような手順に従って、合成画像データが生成される。
＜処理時間＞
本実施の形態に従う画像処理装置による合成画像データの生成に要する時間を、上述の一括処理方式の画像処理装置による合成画像データの生成に要する時間と比較して説明する。
【０１１７】
図９は、この発明の実施の形態に従う画像処理装置における処理時間を説明するための図である。図９（ａ）は、入力画像データの生成に係る処理を示し、図９（ｂ）は、一括処理方式の画像処理装置における合成画像データの生成に係る処理を示し、図９（ｃ）は、本実施の形態に従う画像処理装置における合成画像データの生成に係る処理を示す。なお、図９では、理解を容易にするために、３つの入力画像から合成画像データが生成される場合について例示する。
【０１１８】
図９（ａ）に示すように、撮像装置８によるワークの１回分の撮影に係る処理は、画像処理装置から撮像装置８への露光時間の設定、撮像装置８による実際の撮影（露光）、および撮像装置８から画像処理装置への撮影画像の伝送、といった３つの処理を含む。図９に示す場合には、異なる複数（３つ）の露光時間のそれぞれについて、上記の処理が繰返される。なお、３回分の撮影の開始タイミングをそれぞれ時刻ｔ１，ｔ２，ｔ３としている。
【０１１９】
図９（ｂ）を参照して、一括処理方式の画像処理装置では、各回の撮影が完了し、次の撮影を行なうための露光時間の設定開始とほぼ同時に、当該撮影によって生成された入力画像データの画像バッファ１０９ａ（図２）から画像メモリ２０４（図４）への転送がそれぞれ開始される（時刻ｔ１，ｔ２，ｔ３）。さらに、最後の入力画像データの転送が完了すると、合成処理が開始される（時刻ｔ４）。一括処理方式の画像処理装置では、上述の（１）式および（２．１）〜（２．３）式に示す演算処理が一括して実行されるので、相対的に演算処理量が多くなり、合成画像データの生成に要する時間が長くなる。
【０１２０】
一方、図９（ｃ）を参照して、本実施の形態に従う画像処理装置においても、各回の撮影が完了すると、当該撮影によって生成された入力画像データの画像バッファ１０９ａ（図２）から画像メモリ３０２（図８）への転送がそれぞれ開始される（時刻ｔ１，ｔ２，ｔ３）。さらに、入力画像データの転送後のそれぞれにおいて、輝度情報更新部３０６および色情報更新部３０４（図８）による内部変数の更新処理がそれぞれ実行される。すなわち、入力画像データが生成される毎に、図９（ｂ）に示される合成処理に含まれる一部の処理が断片的に実行される。その結果、最後の入力画像データの転送が完了すると、当該最後の入力画像データに基づく内部変数の更新が行なわれた後、それぞれの内部変数に基づいて、合成輝度情報および合成色情報が算出された上で、合成画像データが生成される。
【０１２１】
以上のように、本実施の形態に従う画像処理装置によれば、入力画像データが生成される毎に、合成画像データを生成するために必要な内部変数を順次更新しておくことで、合成画像データの生成に要する時間を分散することができる。その結果、１つの合成画像データの生成に要する時間を、一括処理方式の画像処理装置に比較して短縮することができ。
【０１２２】
なお、処理時間算出部３２２（図８）は、上述の図９に示すような関係に基づいて、１つの合成画像データの生成に要する見込みの処理時間を算出する。より具体的には、処理時間算出部３２２は、撮影制御部２００からの情報に基づいて、撮像装置８による撮影回数および各撮影における露光時間などを考慮して、処理時間を推定する。なお、図９（ｃ）に示す最終的な合成画像データの生成処理（上述の（４）式や（６）式などの演算処理）に係る処理データ量は、１つの合成画像データの生成に用いる入力画像データの数に依存することなく一定であるため、図９（ｃ）に示す合成処理に要する時間はほぼ一定となる。この処理時間算出部３２２で算出された見込み処理時間は、ユーザに向けて表示される。
【０１２３】
＜画面表示例＞
図１０は、この発明の実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【０１２４】
図１０を参照して、「設定モード」が選択されると、モニタ１０２には設定モード画面４００が表示される。なお、ＣＰＵ１０５および図示しないグラフィックボードなどが協働することで、モニタ１０２に設定モード画面４００を表示させる。このような画面表示は、ＯＳ（Operating System）の一部として組込まれるＧＵＩ（Graphical User Interface）プログラムによって実現され、またＧＵＩは、ユーザがキーボード１０３やマウス１０４により操作される画面上のカーソルを用いて、さまざまなユーザ設定を行なうための環境も提供する。
【０１２５】
設定モード画面４００には、設定値入力エリア４１０と、ヒストグラム表示エリア４２０と、合成画像表示エリア４３０と、撮影情報表示エリア４４０と、表示モード選択エリア４５０とを含む。
【０１２６】
設定値入力エリア４１０には、「明るさ」上限値を設定するためのスライドバー４１２、「明るさ」下限値を設定するためのスライドバー４１４が配置される。このスライドバー４１２および４１４の操作によって設定される「明るさ」上下限値は、上述した明るさ上下限設定部２１６（図８）に入力される。そして、この「明るさ」上下限値に応じて、図５に示す関係に基づいて必要な露光時間が選択され、撮像装置８における撮影回数および露光時間が変更される。
【０１２７】
ヒストグラム表示エリア４２０には、ヒストグラム生成部２１８（図８）で生成されたヒストグラムが視覚的に表示される。さらに、このヒストグラム上には、上述のスライドバー４１２，４１４の操作によって設定される「明るさ」上下限値に対応する位置に、それぞれの値に対応する位置表示がなされる。
【０１２８】
合成画像表示エリア４３０には、設定された「明るさ」上下限値に応じて生成される合成画像データに基づく合成画像が表示される。この合成画像表示エリア４３０に表示される合成画像は、稼動モードにおいて検査や計測に用いられる合成画像データを表示するものであり、ユーザは、この合成画像表示エリア４３０の表示を参照して、ワークに対する照明条件や「明るさ」上下限値などの設定を調整する。
【０１２９】
また、合成画像表示エリア４３０の表示画像は、画像生成部２１２（図８）によって合成画像データが生成される毎に更新される。そのため、ユーザに対して、実質的に合成画像を動画のように表示することができる。
【０１３０】
撮影情報表示エリア４４０には、「撮影時間」、「撮影回数」、「シャッター速度」が表示される。「撮影時間」は、処理時間算出部３２２（図８）によって算出される、１つの合成画像データの生成に要する見込みの処理時間である。また、「撮影回数」は、合成画像データの生成に必要な撮影回数（すなわち、入力画像データの枚数）を表示し、「シャッター速度」は、撮像装置８に設定されている（あるいは、設定可能な）露光時間の最大値と最小値とを表示する。すなわち、表示される「撮影時間」は、１つの合成画像データの生成に用する処理周期を示す。
【０１３１】
表示モード選択エリア４５０には、ヒストグラム表示エリア４２０におけるヒストグラムの表示／非表示を選択するラジオボタン４５４が表示される。ラジオボタン４５４によって、ヒストグラムの非表示が選択されると、ヒストグラム表示エリア４２０におけるヒストグラム表示が行なわれない。
【０１３２】
さらに、設定モード画面４００には、「ＯＫ」ボタン４６２と、「ＣＡＮＣＥＬ」ボタン４６４とが配置されており、ユーザが「ＯＫ」ボタン４６２を選択すると、各項目において設定された値が固定ディスク１０７などに格納された上で「稼動モード」に移行する。一方、ユーザが「ＣＡＮＣＥＬ」ボタン４６４を選択すると、各項目において設定された値が固定ディスク１０７などに格納されずに「稼動モード」に移行する。
【０１３３】
＜「明るさ」上下限値の設定＞
撮影制御部３００（図８）は、ユーザが設定する「明るさ」上下限値に応じて、図５に示す関係を参照して、撮影回数および各撮影における露光時間を決定する。このとき、トーンマッピング部２１４が、合成輝度の対応する範囲を合成画像データの輝度範囲に割り当てるので、ワークのうち任意の「明るさ」をもつ領域に着目した合成画像を表示することもできる。
【０１３４】
たとえば、指定された「明るさ」の下限値を「０」とし、上限値を「２５５」に割り当てて、０〜２５５階調の画像として表示することができる。
【０１３５】
図１１は、この発明の実施の形態に従う画像処理装置における「明るさ」上下限値と合成画像との関係の一例を示す図である。なお、ワークは、図３と同一の腕時計の裏面とした。
【０１３６】
図１１（ａ）に示すように、ヒストグラムに有効な画素が現れる範囲を「明るさ」上下限値に設定することで、反射率が大きく異なる金属製の時計本体部および皮革製のバンド部が明瞭に撮影されていることがわかる。
【０１３７】
一方、図１１（ｂ）に示すように、主として皮革製のバンド部に相当する画素の範囲を「明るさ」上下限値に設定すると、皮革製のバンド部はより明瞭に撮影されるが、金属製の時計本体部については、白飛びが生じていることがわかる。逆に、図１１（ｃ）に示すように、主として金属製の時計本体部に相当する画素の範囲を「明るさ」上下限値に設定すると、金属製の時計本体部はより明瞭に撮影されるが、皮革製のバンド部については、黒つぶれが生じていることがわかる。
【０１３８】
また、図１１（ｄ）に示すように、ヒストグラムの全範囲を「明るさ」上下限値に設定すると、画像全体について明瞭に撮影されているが、図１１（ａ）に比較すると、コントラストが低下していることがわかる。
【０１３９】
このように、ユーザは対象とするワークに応じて、適切な「明るさ」上下限値を調整することで、検査や計測に適した合成画像データを生成させることができる。
【０１４０】
＜処理手順＞
図１２は、この発明の実施の形態に従う画像処理装置における合成画像データの生成処理を示すフローチャートである。図１２に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。
【０１４１】
図１２を参照して、ＣＰＵ１０５は、ユーザ設定される「明るさ」上下限値を受付ける（ステップＳ１００）。ユーザは、設定モード画面４００（図１０）上の表示されるスライドバー４１２および／または４１４を操作して、所望の「明るさ」上下限値を設定する。なお、何らのユーザ操作もなされていない場合には、デフォルト値（例えば、０〜１００の範囲など）が「明るさ」上下限値として設定される。さらに、ＣＰＵ１０５は、設定された「明るさ」上下限値に基づいて、撮影回数および各撮影における露光時間（露光量）を決定する（ステップＳ１０２）。さらに、ＣＰＵ１０５は、内部変数を格納する分子メモリ３０７Ｎ、分母メモリ３０７Ｄ、Ｒメモリ３０５Ｒ、Ｇメモリ３０５Ｇ、およびＢメモリ３０５Ｂをゼロリセットする（ステップＳ１０４）。
【０１４２】
続いて、ＣＰＵ１０５は、カメラインターフェイス部１０９（図２）を介して、ステップＳ１０２において決定した露光時間のうち第１の露光時間を撮像装置８に対して設定し（ステップＳ１０６）、ワークの撮影を実行させる。その後、ＣＰＵ１０５は、画像バッファ１０９ａ（図２）に蓄積される入力画像データを画像メモリ３０２（図８）へ転送する（ステップＳ１０８）。
【０１４３】
入力画像データの転送後、ＣＰＵ１０５は、当該入力画像データに基づいて、分子メモリ３０７Ｎ、分母メモリ３０７Ｄ、Ｒメモリ３０５Ｒ、Ｇメモリ３０５Ｇ、およびＢメモリ３０５Ｂに格納される内部変数を更新する（ステップＳ１１０）。同時に、ＣＰＵ１０５は、ステップＳ１０２において決定した露光時間のうち未設定の露光時間が存在するか否かを判断し（ステップＳ１１２）、未設定の露光時間が存在する場合（ステップＳ１１２においてＹＥＳの場合）には、未設定の露光時間のうちいずれかを撮像装置８に対して設定し（ステップＳ１１４）、ワークの撮影を実行させる。
【０１４４】
さらに、ＣＰＵ１０５は、ステップＳ１０５において設定したすべての露光時間についての一連の撮影が完了したか否かを判断する（ステップＳ１１６）。一連の撮影が完了していない場合（ステップＳ１１６においてＮＯの場合）には、ＣＰＵ１０５は、ステップＳ１０８以下の処理を再度実行する。
【０１４５】
一連の撮影が完了している場合（ステップＳ１１６においてＹＥＳの場合）には、ＣＰＵ１０５は、当該時点において分子メモリ３０７Ｎ、分母メモリ３０７Ｄ、Ｒメモリ３０５Ｒ、Ｇメモリ３０５Ｇ、およびＢメモリ３０５Ｂに格納されている内部変数に基づいて、合成輝度および合成色情報を算出する（ステップＳ１１８）とともに、算出した合成輝度Ｅｉについてのヒストグラムを生成する（ステップＳ１２０）。このヒストグラムは、設定モード画面４００のヒストグラム表示エリア４２０に表示される。
【０１４６】
さらに、ＣＰＵ１０５は、ステップＳ１１８において算出した合成輝度を、ステップＳ１００において設定された「明るさ」上下限値に従って、所定の輝度範囲に割り当てることで、合成輝度情報を算出する（ステップＳ１２２）。最終的に、ＣＰＵ１０５は、ステップＳ１１８において算出した合成色情報と、ステップＳ１２０において算出した合成輝度情報とに基づいて、合成画像データを生成する（ステップＳ１２４）。そして、この合成画像データに基づく合成画像は、設定モード画面４００の合成画像表示エリア４３０に表示され、あるいは固定ディスク１０７（図２）に格納されたり、外部出力されたりする。
【０１４７】
＜本実施形態の作用効果＞
この発明の実施の形態によれば、撮像装置８による撮影と並行して、撮影済みの入力画像データの輝度情報および色情報についての積算処理が実行されるので、一連の撮影が完了した後に実行すべき演算処理量を低減できる。そのため、撮影終了後に膨大な演算処理を行なう必要がなく、合成画像データの生成に要する処理時間を短縮できる。
【０１４８】
［実施の形態の第１変形例］
上述の本実施の形態に従う画像処理装置では、カラーの入力画像データからカラーの合成画像データを生成する構成について例示したが、モノクロ（グレイスケール）の入力画像データからモノクロの合成画像データを生成することも可能である。
【０１４９】
図１３は、この発明の実施の形態の第１変形例に従う画像処理装置の制御構造を示す機能ブロック図である。
【０１５０】
図１３を参照して、この発明の実施の形態の第１変形例に従う画像処理装置は、図８に示す本実施の形態に従う画像処理装置の制御構造において、色情報更新部３０４、Ｒメモリ３０５Ｒ、Ｇメモリ３０５Ｇ、Ｂメモリ３０５Ｂ、色情報合成部３０８、および画像生成部２１２を除いたものに相当する。
【０１５１】
すなわち、本実施の形態の第１変形例に従う画像処理装置では、上述の（３）色合成処理および（４）生成処理が不要となり、トーンマッピング部２１４が算出する合成輝度情報がそのまま合成画像データとして出力される。
【０１５２】
図１３に示す各部位の動作および処理内容については、上述したものと同様であるので、詳細な説明は繰返さない。
【０１５３】
［実施の形態の第２変形例］
上述の本実施の形態に従う画像処理装置では、各画素が３色の輝度（Ｒ輝度、Ｇ輝度、Ｂ輝度）を出力する構成について例示した。すなわち、撮像装置８から出力される入力画像データの各画素が色情報を有している場合に適用できる構成について例示した。
【０１５４】
一方、この発明の実施の形態の第２変形例では、主として単板式のＣＣＤを用いたときのように、各画素が３色の分光感度のうち１色の分光感度のみを有している場合に、より好ましい構成について例示する。
【０１５５】
図１４は、この発明の実施の形態の第２変形例に従う画像処理装置の制御構造を示す機能ブロック図である。図１５は、この発明の実施の形態の第２変形例に従う画像処理装置に接続される撮像装置８Ａの構成を示す図である。図１６は、図１５に示す撮像装置８Ａにより生成される入力画像データの補間処理を説明するための図である。
【０１５６】
図１４を参照して、この発明の実施の形態の第２変形例に従う画像処理装置は、図８に示す本実施の形態に従う画像処理装置の制御構造において、色情報更新部３０４、Ｒメモリ３０５Ｒ、Ｇメモリ３０５Ｇ、Ｂメモリ３０５Ｂ、色情報合成部３０８、および画像生成部２１２を取り除くとともに、画像補間部３２４、画像メモリ３２６と、色情報抽出部３２８、および輝度情報抽出部３３０を付加したものに相当する。
【０１５７】
また、図１５を参照して、撮像装置８Ａは、行列状の画素に区画された撮像素子を含み、各画素は、赤色（Ｒ）、緑色（Ｇ）、青色（Ｂ）のいずれかの分光感度が割り当てられている。そのため、撮像装置８Ａの各画素からは、単色の分光感度に含まれる波長成分に相当する光のエネルギー量（光強度）を示す値（輝度）が出力される。図１６に示すような補間処理を行なうことで、このような撮像装置８Ａからの信号に基づいて、入力画像データが生成される。
【０１５８】
図１６を参照して、撮像装置８Ａから出力される輝度を分光感度別（色別）に分離し、各画素を各色プレーンの対応する座標に割り当てると、図１６（ａ）〜図１６（ｃ）に示す、Ｒプレーン、Ｇプレーン、Ｂプレーンが生成される。
【０１５９】
図１６（ａ）に示すＲプレーン上において、赤色の分光感度をもつ画素同士は、１画素分ずつ離れて配置されている。そのため、赤色の分光感度を持たない画素、すなわち赤色の輝度情報が存在しない画素の輝度については、当該画素に隣接する画素の輝度を用いた補間処理により算出される。たとえば、画素Ｒ１と画素Ｒ３との間に存在する各画素の輝度については、（画素Ｒ１の輝度＋画素Ｒ３の輝度）／２などのように算出される。
【０１６０】
以下、図１６（ｂ）に示すＧプレーンおよび図１６（ｃ）に示すＢプレーンについても、同様の補間処理が実行される。
【０１６１】
再度、図１４を参照して、本実施の形態の第２変形例に従う画像処理装置は、上述した本実施の形態の第１変形例に従う画像処理装置における処理と同様に、まず、入力画像データの色情報を考慮することなく合成輝度Ｅｉを算出する。ここで、合成輝度Ｅｉは、単色プレーン上の輝度に相当する。そして、本実施の形態の第２変形例に従う画像処理装置は、この合成輝度Ｅｉを用いて、上述の図１６に示したような補間処理を行なうことで、３プレーン分の輝度情報をもつカラーの画像データを擬似的に生成する。さらに、この擬似的に生成されたカラーの画像データを用いて、上述と同様の処理によって合成画像データを生成する。
【０１６２】
より具体的には、撮影制御部３００、画像メモリ３０２、輝度情報更新部３０６、分子メモリ３０７Ｎ、分母メモリ３０７Ｄ、および輝度情報合成部３１０は、図１３に示す本実施の形態の第１変形例に従う画像処理装置と同様の処理を実行し、座標位置ｉ（１≦ｉ≦画素数ｎ）についての合成輝度Ｅｉを算出する。この座標位置ｉについての合成輝度Ｅｉは、画像補間部３２４へ出力される。
【０１６３】
画像補間部３２４は、図１５に示すような撮像装置８Ａの撮像素子の分光感度についてのマップ３２５を参照して、上述したような補間処理を実行する。すなわち、画像補間部３２４は、色情報を持たない単色プレーン上の画像データである合成輝度Ｅｉを受けて、Ｒ，Ｇ，Ｂの３プレーンの画像データを生成する。画像補間部３２４で生成された画像データは、画像メモリ３２６へ一旦格納される。
【０１６４】
この画像メモリ３２６に格納された画像データに基づいて、輝度情報抽出部３３０および色情報抽出部３２８が合成画像データを生成するための処理を実行する。すなわち、輝度情報抽出部３３０は、画像メモリ３２６に格納された画像データから各画素の合成輝度を抽出し、トーンマッピング部２１４およびヒストグラム生成部２１８へ出力する。また、色情報抽出部３２８は、画像メモリ３２６に格納された画像データから各画素の色情報（合成色情報）を抽出し、画像生成部２１２へ出力する。
【０１６５】
トーンマッピング部２１４では、上述したのと同様のトーンマッピング処理が実行され、合成輝度情報が算出される。そして、この算出された合成輝度情報は、画像生成部２１２へ出力される。また、ヒストグラム生成部２１８では、上述したヒストグラム生成処理が実行される。さらに、画像生成部２１２は、トーンマッピング部２１４から出力された合成輝度情報と、色情報抽出部３２８からの合成色情報とに基づいて、合成画像データを生成する。なお、トーンマッピング部２１４、ヒストグラム生成部２１８および画像生成部２１２における動作および処理については、上述したので、詳細な説明は繰返さない。
【０１６６】
以上のような手順に従って、合成画像データが生成される。
この発明の実施の形態の第２変形例では、単板式のＣＣＤなどのように、各画素が単色の分光感度をもつような場合であっても、カラーの合成画像データをより短い時間で生成することができる。
【０１６７】
［実施の形態の第３変形例］
上述の本実施の形態に従う画像処理装置では、（１）式に示されるように、各画素の輝度を規格化した値（＝ｇ（Ｚｉ，ｊ）／Δｔｊ）の対数をとった上で、重み付きの加重平均を算出（加算処理）することで、各画素の合成輝度Ｅｉを算出する例について説明した。このような算出方法に代えて、各画素の輝度を規格化した値についての重み付きの加重平均を算出（加算処理）した上で、対数をとって各画素の合成輝度Ｅｉを算出してもよい。以下、このような算出方法を用いる場合について例示する。なお、本第３変形例に従う画像処理装置では、各画素の合成輝度Ｅｉの算出式が異なる点、およびそれに伴って、輝度情報更新部３０６（図８，図１３，図１４）による分子メモリ３０７Ｎおよび分母メモリ３０７Ｄの更新処理の内容が異なる点を除いて、上述の本字実施の形態に従う画像処理装置における構成および処理と同様であるので、詳細な説明は繰返さない。
【０１６８】
具体的には、本第３変形例に従う各画素の合成輝度Ｅｉの算出式は、（７）式のようになる。
【０１６９】
【数７】
0004946928.tif 000008
【０１７０】
（７）式において、「（ｇ（Ｚｉ，ｊ）／Δｔｊ）」の項が、各入力画像データにおける各画素の輝度を露光時間で規格化した上で、「明るさ」として評価した値に相当する。そして、この規格化した値に対して重み付きの加重平均を算出（加算処理）した上で、対数が計算される。
【０１７１】
上述の実施の形態と同様に、撮像装置８によるワークの撮影が行なわれる毎に、合成画像データの合成輝度情報の算出に用いられる内部関数が順次更新され、一連の撮影の完了後に当該内部関数の値に基づいて合成輝度情報を算出する。
【０１７２】
より具体的には、ワークをＰ回撮影することで生成されるＰ枚の入力画像データに基づいて、１つの合成画像データが合成される場合を考えると、輝度情報更新部３０６（図８，図１３，図１４）における各入力画像データの生成時における処理は、以下のようになる。
【０１７３】
【数８】
0004946928.tif 000009
【０１７４】
輝度情報更新部３０６は、１枚目の入力画像データが生成されると、（８．１）式に示されるように、当該入力画像データの座標位置ｉ（０≦ｉ≦画素数ｎ）における輝度Ｚｉを対応の露光時間Δｔ１を規格化した値を用いて、座標位置ｉについての分子暫定値Ａ（１）ｉを算出する。同時に、輝度情報更新部３０６は、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，１を用いて、分母暫定値Ｂ（１）ｉを算出する。
【０１７５】
引き続いて、２枚目の入力画像データが生成されると、輝度情報更新部３０６は（８．２）式に示されるように、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，２および対応の露光時間Δｔ２を用いて、分子暫定値Ａ（１）ｉを分子暫定値Ａ（２）ｉに更新する。同時に、輝度情報更新部３０６は、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，１を用いて、分母暫定値Ｂ（１）ｉを分子暫定値Ｂ（２）ｉに更新する。
【０１７６】
さらに、同様の処理がＰ枚分の入力画像データについて繰返される。このＰ枚分の入力画像データについての更新処理の完了後、分子メモリ３０７Ｎおよび分母メモリ３０７Ｄには、（８．３）式に示されるように、それぞれ分子暫定値Ａ（Ｐ）ｉおよび分母暫定値Ｂ（Ｐ）ｉが格納された状態となる。
【０１７７】
分子暫定値Ａ（Ｐ）ｉおよび分母暫定値Ｂ（Ｐ）ｉが算出された後、輝度情報合成部３１０（図２）は、以下の（９）式に示される演算を実行して、合成輝度Ｅｉを算出する。
【０１７８】
【数９】
0004946928.tif 000010
【０１７９】
以上のような処理に従って、合成画像データの合成輝度Ｅｉを算出できる。
この発明の実施の形態の第３変形例では、合成輝度を最終的に出力する直前に対数演算を１回だけ実行すればよく、比較的長い時間を要する処理を簡素化できるので、より演算処理を簡素化し、かつ演算処理に要する時間を短縮することができる。
【０１８０】
［実施の形態の第４変形例］
上述の本実施の形態に従う画像処理装置では、（１）式に示されるように、各画素の輝度を規格化した値（＝ｇ（Ｚｉ，ｊ）／Δｔｊ）の対数をとった上で、重み付きの加重平均を算出（加算処理）することで、各画素の合成輝度Ｅｉを算出する例について説明した。このような算出方法に代えて、各画素の輝度を規格化した値についての重み付きの加重平均を算出（加算処理）した上で、ガンマ補正（γべき乗）を行って各画素の合成輝度Ｅｉを算出してもよい。以下、このような算出方法を用いる場合について例示する。なお、本第４変形例に従う画像処理装置では、各画素の合成輝度Ｅｉの算出式が異なる点、およびそれに伴って、輝度情報更新部３０６（図８，図１３，図１４）による分子メモリ３０７Ｎおよび分母メモリ３０７Ｄの更新処理の内容が異なる点を除いて、上述の本字実施の形態に従う画像処理装置における構成および処理と同様であるので、詳細な説明は繰返さない。
【０１８１】
具体的には、本第４変形例に従う各画素のガンマ補正後の合成輝度Ｏｉの算出式は、（１０．１）のようになり、合成輝度Ｅｉの算出式は、（１０．２）式のようになる。
【０１８２】
【数１０】
0004946928.tif 000011
【０１８３】
（１０．１）式において、γはガンマ補正量を調整するための変数であり、ａおよびｂは任意に設定可能な定数である。ガンマ補正は、上述の実施の形態の第３変形例に示すような対数変換と、線形変換との中間的な補正特性を示し、その補正量は、γの大きさで定まる。すなわち、γ＝１のときは、線形変換（重み付きの加重平均そのもの）となり、γ→０のときは、対数変換と近似した補正特性を示す。また、０＜γ＜１のときは、線形変換と対数変換との間の中間的な補正特性を示す。
【０１８４】
（１０．２）式において、「（ｇ（Ｚｉ，ｊ）／Δｔｊ）」の項が、各入力画像データにおける各画素の輝度を露光時間で規格化した上で、「明るさ」として評価した値に相当する。そして、この規格化した値に対して重み付きの加重平均を算出される。
【０１８５】
上述の実施の形態と同様に、撮像装置８によるワークの撮影が行なわれる毎に、合成画像データの合成輝度情報の算出に用いられる内部関数が順次更新され、一連の撮影の完了後に当該内部関数の値に基づいて合成輝度情報を算出する。
【０１８６】
より具体的には、ワークをＰ回撮影することで生成されるＰ枚の入力画像データに基づいて、１つの合成画像データが合成される場合を考えると、輝度情報更新部３０６（図８，図１３，図１４）における各入力画像データの生成時における処理は、以下のようになる。
【０１８７】
【数１１】
0004946928.tif 000012
【０１８８】
輝度情報更新部３０６は、１枚目の入力画像データが生成されると、（１１．１）式に示されるように、当該入力画像データの座標位置ｉ（０≦ｉ≦画素数ｎ）における輝度Ｚｉを対応の露光時間Δｔ１を規格化した値を用いて、座標位置ｉについての分子暫定値Ａ（１）ｉを算出する。同時に、輝度情報更新部３０６は、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，１を用いて、分母暫定値Ｂ（１）ｉを算出する。
【０１８９】
引き続いて、２枚目の入力画像データが生成されると、輝度情報更新部３０６は（１１．２）式に示されるように、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，２および対応の露光時間Δｔ２を用いて、分子暫定値Ａ（１）ｉを分子暫定値Ａ（２）ｉに更新する。同時に、輝度情報更新部３０６は、当該入力画像データの座標位置ｉにおける輝度Ｚｉ，１を用いて、分母暫定値Ｂ（１）ｉを分子暫定値Ｂ（２）ｉに更新する。
【０１９０】
さらに、同様の処理がＰ枚分の入力画像データについて繰返される。このＰ枚分の入力画像データについての更新処理の完了後、分子メモリ３０７Ｎおよび分母メモリ３０７Ｄには、（１１．３）式に示されるように、それぞれ分子暫定値Ａ（Ｐ）ｉおよび分母暫定値Ｂ（Ｐ）ｉが格納された状態となる。
【０１９１】
分子暫定値Ａ（Ｐ）ｉおよび分母暫定値Ｂ（Ｐ）ｉが算出された後、輝度情報合成部３１０（図２）は、以下の（１２）式に示される演算を実行して、合成輝度Ｅｉに対してガンマ補正を行なって得られる合成輝度Ｏｉを算出する。
【０１９２】
【数１２】
0004946928.tif 000013
【０１９３】
以上のような処理に従って、合成画像データのガンマ補正後の合成輝度Ｏｉを算出できる。
【０１９４】
この発明の実施の形態の第４変形例では、γべき乗の演算を最終的に出力する直前に１回だけ実行すればよく、より演算処理を簡素化し、かつ演算処理に要する時間を短縮することができる。また、γの値を任意に設定できるため、撮影環境や照明環境などに応じた適切にガンマ補正を行った画像を得ることができる。
【０１９５】
［その他の実施の形態］
本発明に係るプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【０１９６】
また、本発明に係るプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
【０１９７】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記録媒体とを含む。
【０１９８】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【０１９９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２００】
【図１】この発明の実施の形態に従う画像処理装置を含む視覚センサシステム１の全体構成を示す概略図である。
【図２】コンピュータ１００のハードウェア構成を示す概略構成図である。
【図３】ワークとして腕時計の裏面を撮影した場合の入力画像データを示す図である。
【図４】この発明に関連する一括処理方式の画像処理装置の制御構造を示す機能ブロック図である。
【図５】撮像装置８に設定される露光時間と撮影に適した「明るさ」範囲との関係の一例を示す図である。
【図６】重み関数および応答関数の特性の一例を示す図である。
【図７】トーンマッピング部２１４による割り当て処理を説明するための図である。
【図８】この発明の実施の形態に従う画像処理装置の制御構造を示す機能ブロック図である。
【図９】この発明の実施の形態に従う画像処理装置における処理時間を説明するための図である。
【図１０】この発明の実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【図１１】この発明の実施の形態に従う画像処理装置における「明るさ」上下限値と合成画像との関係の一例を示す図である。
【図１２】この発明の実施の形態に従う画像処理装置における合成画像データの生成処理を示すフローチャートである。
【図１３】この発明の実施の形態の第１変形例に従う画像処理装置の制御構造を示す機能ブロック図である。
【図１４】この発明の実施の形態の第２変形例に従う画像処理装置の制御構造を示す機能ブロック図である。
【図１５】この発明の実施の形態の第２変形例に従う画像処理装置に接続される撮像装置８Ａの構成を示す図である。
【図１６】図１５に示す撮像装置８Ａにより生成される入力画像データの補間処理を説明するための図である。
【符号の説明】
【０２０１】
１  視覚センサシステム、２  ワーク、４ａ  受光部、４ｂ  投光部、６  搬送機構、８，８Ａ  撮像装置、１００  コンピュータ、１０１  コンピュータ本体、１０２  モニタ、１０３  キーボード、１０４  マウス、１０６  メモリ、１０７  固定ディスク、１０９  カメラインターフェイス部、１０９ａ  画像バッファ、１０９ｂ  露光時間設定部、１１１  ＦＤ駆動装置、１１３  ＣＤ−ＲＯＭ駆動装置、１１５  ＰＬＣインターフェイス部、１１７  センサインターフェイス部、２００，３００  撮影制御部、２０２  選択部、２０４，２０４ａ〜２０４ｈ  画像メモリ、２０６ａ〜２０６ｈ  画像情報抽出部、２０８  色合成部、２１０  輝度合成部、２１２  画像生成部、２１４  トーンマッピング部、２１６  明るさ上下限設定部、２１８  ヒストグラム生成部、２２２，３２２  処理時間算出部、３０２，３２６  画像メモリ、３０４  色情報更新部、３０５Ｂ，３０５Ｇ，３０５Ｒ，３０７Ｄ，３０７Ｎ  メモリ、３０６  輝度情報更新部、３０８  色情報合成部、３１０  輝度情報合成部、３２４  画像補間部、３２５  マップ、３２８  色情報抽出部、３３０  輝度情報抽出部。
【図１】
0004946928.tif 000014
【図２】
0004946928.tif 000015
【図４】
0004946928.tif 000016
【図５】
0004946928.tif 000017
【図６】
0004946928.tif 000018
【図７】
0004946928.tif 000019
【図８】
0004946928.tif 000020
【図９】
0004946928.tif 000021
【図１２】
0004946928.tif 000022
【図１３】
0004946928.tif 000023
【図１４】
0004946928.tif 000024
【図１５】
0004946928.tif 000025
【図１６】
0004946928.tif 000026
【図３】
0004946928.tif 000027
【図１０】
0004946928.tif 000028
【図１１】
0004946928.tif 000029