(57)【要約】【課題】被測定物を異なる露光量で複数回撮影して得られる複数の画像データを用いて、ダイナミックレンジを拡大した合成画像データを生成可能な画像処理装置において、撮像素子からの検出値を適切に補正（代表的に、ホワイトバランス補正）できるようにすることを目的とする。【解決手段】色合成部２０８は、標準色（白色）を有する標準体ＳＴＤを異なる露光量で複数回撮影して得られる複数の画像データを用いて、合成色情報（ｒ（２）ｉ，ｇ（２）ｉ，ｂ（２）ｉ）を算出する。ホワイトバランス算出部２２０は、この色合成部２０８により算出された合成色情報（ｒ（２）ｉ，ｇ（２）ｉ，ｂ（２）ｉ）に基づいて、色別の補正値αｒ，αｇ，αｂを算出する。【選択図】図４
2009224971.tif 000002
【特許請求の範囲】
【請求項１】
露光量を変更可能な撮像装置に接続された画像処理装置であって、
前記撮像装置は、複数の画素に区画された撮像素子を含み、
前記撮像素子は、各画素について、入射する光に対して複数の分光感度を有するとともに、前記複数の分光感度のそれぞれにおける複数の検出値を出力し、
前記画像処理装置は、
前記撮像装置に、異なる露光量で被測定物を複数回撮影させることにより、各画素の前記複数の検出値を含む画像データを複数生成する撮影制御手段と、
前記画像データに含まれる前記複数の検出値を分光感度別の補正値を用いて補正する補正手段と、
補正後の複数の検出値から、各画素における前記複数の検出値の相対関係を示す色情報と、前記撮像素子の各画素に入射した光の強度を示す輝度情報と、を抽出する画像情報抽出手段と、
複数の前記画像データの前記色情報および前記輝度情報に基づいて、合成画像データを生成する合成手段とを備え、
前記合成手段は、
各画素に対応する前記複数の画像データそれぞれについての前記輝度情報の値を、対応する画像データの生成時における前記露光量でそれぞれ規格化した上で、前記合成画像データの輝度情報である合成輝度情報を算出する輝度合成手段と、
各画素に対応する前記複数の画像データそれぞれについての前記色情報の値に基づいて、前記合成画像データの色情報である合成色情報を算出する色合成手段と、
前記合成輝度と前記合成色情報とに基づいて、前記合成画像データを生成する画像生成手段とを含み、さらに
前記被測定物として標準色を有する標準体を用いた場合に算出される前記合成色情報に基づいて、前記分光感度別の補正値を算出する補正値算出手段を備える、画像処理装置。
【請求項２】
前記補正値算出手段は、前記分光感度別の補正値に用いる前記合成色情報の算出前に、前記補正手段における既存の分光感度別の補正値をリセットする、請求項１に記載の画像処理装置。
【請求項３】
前記合成色情報は、各分光感度における輝度の比を含み、
前記補正値算出手段は、各分光感度における輝度の逆比から前記分光感度別の補正値を算出する、請求項１または２に記載の画像処理装置。
【請求項４】
前記補正値算出手段は、前記画像データのうち対象領域の設定を受付け、前記合成色情報のうち前記対象領域に含まれる値に基づいて、前記分光感度別の補正値を算出する、請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記補正値算出手段は、前記合成輝度情報が所定条件を満足しているか否かを判断し、前記所定条件を満足している場合に、前記分光感度別の補正値を算出する、請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記複数の分光感度は、赤色、緑色、青色を含む、請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記標準体は、白色を有する、請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記合成手段は、それぞれの前記輝度情報の値に対応する画像データの撮影時の露光量に応じた係数を乗じることでそれぞれ規格化した値を累積加算することで、前記合成輝度情報を算出する、請求項１〜７のいずれか１項に記載の画像処理装置。
【請求項９】
前記合成手段は、前記輝度情報のそれぞれの値のうち、所定範囲内にあるものを優先的に採用して、前記合成輝度情報を算出する、請求項１〜５のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、被測定物を異なる露光量で複数回撮影して得られる複数の画像データを用いて、ダイナミックレンジを拡大した合成画像データを生成可能な画像処理装置に関するものである。
【背景技術】
【０００２】
ＦＡ（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）などから構成される。後述するように、本実施の形態に従うモニタ１０２は、ワーク２を撮影して生成される合成画像データに基づく合成画像、１回あたりの処理に要する見込みの処理時間、合成画像データを構成する画素の輝度についてのヒストグラムなどを表示する。
【００３７】
マウス１０４は、クリックやスライドなどの動作に応じたユーザからの指令を受付ける。キーボード１０３は、入力されるキーに応じたユーザからの指令を受付ける。
【００３８】
また、コンピュータ１００には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【００３９】
＜動作モード＞
本実施の形態に従う視覚センサシステム１は、ワーク２から生成される合成画像データを用いて実際に検査や計測を実行する「稼動モード」と、ワーク２に応じて適切な画像合成処理についての設定を行なう「設定モード」とを選択することが可能である。
【００４０】
「設定モード」では、モニタ１０２に合成画像データに基づく合成画像が表示され、ユーザはこの表示される合成画像を参照しながら、適切な撮影条件を設定することができる。特に、本実施の形態に従う画像処理装置では、後述するように、撮像装置８についてのホワイトバランス調整が可能である。このホワイトバランス調整時には、被測定物として、標準色（白色）を有する標準体が撮像装置８の撮影範囲に配置され、この標準体を撮影して得られる入力画像データに基づいて、ホワイトバランス補正に係る各色（分光感度別）の補正値が決定される。
【００４１】
また、「稼動モード」では、実際に生産ラインを流れるワーク２を撮影して得られる合成画像データを生成し、この合成画像データを用いてワーク２の検査や計測が行われる。
【００４２】
＜画像合成処理＞
まず、合成画像データを生成するための画像合成処理について説明する。本実施の形態に従う画像合成処理は、主として撮像装置８のダイナミックレンジを拡大させるためのものである。
【００４３】
図３は、ワークとして腕時計の裏面を撮影した場合の撮影画像の一例を示す図である。
図３（ａ）は、露光時間が相対的に長い条件下で１回の撮影により得られた撮影画像を示し、図３（ｂ）は、露光時間が相対的に短い条件下で１回の撮影により得られた撮影画像を示す。なお、図３（ａ）および図３（ｂ）において、入射する光の強度は同じ条件であるとする。
【００４４】
図３に示すワークは、金属製の時計本体部と皮革製のバンド部とを含む。両者の反射率は大きく異なるので、同一の照明環境下であっても、各部から放射される光パワー（単位時間当たりに放射される光エネルギー）にも大きな差がある。そのため、露光時間が長くなると、相対的に反射率の高い時計本体部は白飛びを生じてしまい、輝度情報を正しく取得することができない。すなわち、図３（ａ）に示すように、時計本体部に記された文字が識別できなくなっていることがわかる。
【００４５】
これに対して、露光時間が短くなると、相対的に反射率の低いバンド部から十分に光エネルギーを受光することができず、有効な輝度情報を取得することができない。すなわち、図３（ｂ）に示すように、バンド部は黒つぶれを生じており、ステッチなどの欠陥が識別できなくなっていることがわかる。
【００４６】
そこで、本実施の形態に従う画像合成処理では、異なる露光量（露光時間）で同一のワークを複数回撮影し、撮影された複数の入力画像データに基づいて、各座標位置に対応するそれぞれの輝度情報に基づいて当該座標位置の画素の合成輝度情報を算出する。この合成輝度情報の各々は、撮像装置８の撮像素子の各撮像用画素に入射する光の強度を示す値である。そして、この算出した合成輝度情報に基づいて合成画像データが生成される。概略すると、この合成輝度情報の算出処理では、各入力画像データそれぞれにおいて対応する画素のうち、適切な露光時間になっている画素が優先的に採用される。言い換えれば、ワークを表現する合成画像データの各画素の合成輝度情報は、主として、ワークの当該画素に対応する部分から放射される光パワー（単位時間当たりに入射する光エネルギー）に適した露光時間で撮影された画素の情報を用いて算出される。このような処理によって、適切な露光時間で撮影された輝度情報をもつ画素の集合として、合成画像データを生成できる。図３（ｃ）は、本実施の形態に従う画像合成処理によって生成された合成画像データの一例を示す図である。図３（ｃ）に示すように、本実施の形態に従う画像合成処理によれば、図３（ａ）のような白飛びや図３（ｂ）に示すような黒つぶれの発生を抑制した合成画像データを生成できる。
【００４７】
本実施の形態に従う画像合成処理は、主として以下の５つの処理によって実現される。
（１）異なる露光時間でワークを複数回撮影する処理（撮影処理）
（２）撮影された入力画像データに対するホワイトバランス補正（補正処理）
（３）補正後の入力画像データの輝度情報から合成輝度を算出する処理（輝度合成処理）
（４）補正後の入力画像データの色情報から合成色情報を算出する処理（色合成処理）
（５）合成色情報と合成輝度情報とから合成画像データを生成する処理（生成処理）
＜制御構造＞
図４は、この発明の実施の形態に従う画像処理装置の制御構造を示す機能ブロック図である。
【００４８】
図４を参照して、本実施の形態に従う画像処理装置は、上述の（１）撮影処理を実現するための制御構造として、撮影制御部２００と、選択部２０２と、画像バッファ２０４ａ〜２０４ｈとを含む。また、本実施の形態に従う画像処理装置は、上述の（２）補正処理を実現するための制御構造として、補正部２０５ａ〜２０５ｈと、ホワイトバランス算出部２２０とを含む。本実施の形態に従う画像処理装置は、上述の（３）輝度合成処理を実現するための制御構造として、輝度合成部２１０と、トーンマッピング部２１４と、明るさ上下限設定部２１６と、ヒストグラム生成部２１８とを含み、上述の（４）色合成処理を実現するための制御構造として、色合成部２０８を含む。さらに、本実施の形態に従う画像処理装置は、上述の（５）生成処理を実現するための制御構造として、画像生成部２１２を含む。本実施の形態に従う画像処理装置は、（３）輝度合成処理および（４）色合成処理で用いる色情報および輝度情報を抽出するための画像情報抽出部２０６ａ〜２０６ｈをさらに含む。
【００４９】
以下、上述の画像合成処理に係る各処理の内容を各機能ブロックの動作とともに説明する。
【００５０】
＜（１）撮影処理＞
図４を参照して、撮影制御部２００は、撮像装置８に異なる露光時間でワークを複数回撮影させることにより複数の入力画像データを生成する。撮影制御部２００は、ユーザ設定に応じて、どのように露光時間を変更するかについて決定する。より具体的には、本実施の形態に従う撮像装置８は、一例として、シャッター速度を任意に設定可能な電子シャッターを有しており、これにより露光時間を任意に変更可能となる。その変更可能な露光時間は、一例として「１／１０秒」，「１／２０秒」，「１／４０秒」，「１／８０秒」，「１／１６０秒」，「１／３２０秒」，「１／６４０秒」，「１／１２８０秒」の８通りとする。この変更可能な露光時間群は、「１／１０秒」を基準（最も遅い値）として、２のべき乗で順次早くなるように設定されている。撮影制御部２００は、このような露光時間群の全部または一部に含まれる露光時間のそれぞれにおいて、撮像装置８にワークを順次撮影させて入力画像データを順次生成する。この露光時間の切替えに同期して、撮影制御部２００は、選択部２０２に選択指令を与える。
【００５１】
選択部２０２は、撮像装置８と、複数の画像バッファ２０４ａ〜２０４ｈとの間に配置され、撮影制御部２００からの選択指令に応じて、画像バッファ２０４ａ〜２０４ｈのいずれか１つと撮像装置８とを電気的に接続する。以下では、画像バッファ２０４ａ〜２０４ｈを総称して「画像バッファ２０４」とも記す。これにより、撮像装置８で撮影された露光時間別の入力画像データは、撮影制御部２００からの選択指令に応じた１つの画像バッファ２０４へ伝送される。
【００５２】
画像バッファ２０４は、撮像装置８からの入力画像データを一時的に格納する記憶部であり、撮像装置８における露光時間に対応付けて構成される。すなわち、各画像バッファ２０４は、対応する特定の露光時間において撮影された入力画像データのみを選択的に格納するように構成される。たとえば、画像バッファ２０４ａに露光時間「１／１０秒」が割り当てられている場合には、画像バッファ２０４ａは、露光時間が「１／１０秒」とされた時に撮影された入力画像データのみを格納する。このような機能は、撮影制御部２００が、撮像装置８に対して撮影条件を出力するのと同期して、選択部２０２に対して当該撮影条件に対応する選択指令を出力することで実現される。
【００５３】
また、撮影制御部２００は、撮像装置８による一連の撮影（たとえば、露光時間が「１／１０秒」〜「１／１２８０秒」までの８回分の撮影）を逐次的に繰返す。したがって、各画像バッファ２０４に格納される入力画像データは、この一連の撮影に要する周期毎に更新されることになる。なお、後述するように、上述したような露光時間群のすべてについての撮影が常に実行されるわけではなく、その必要な一部の露光時間についてのみ撮影が実行される場合もある。
【００５４】
＜（２）補正処理＞
補正部２０５ａ〜２０５ｈは、それぞれ画像バッファ２０４ａ〜２０４ｈに格納される入力画像データに対して、各入力画像データに含まれる各画素の輝度に色別（分光感度別）の補正値を乗じることで、ホワイトバランス補正（補正処理）を行なう。以下では、補正部２０５ａ〜２０５ｈを総称して「補正部２０５」とも記す。
【００５５】
図５は、補正部２０５における処理を示す機能ブロック図である。図６は、ホワイトバランス補正を概念的に説明するための図である。
【００５６】
図５を参照して、同一のワークをｊ番目に撮影することで得られた入力画像データに含まれる各画素（座標位置ｉ）の各色の輝度を（Ｒ（１）ｉ，ｊ），（Ｇ（１）ｉ，ｊ），（Ｂ（１）ｉ，ｊ）とすると、補正部２０５は、各画素の輝度に対して色別の補正値αｒ，αｇ，αｂをそれぞれ乗じて、補正後の輝度（Ｒ（２）ｉ，ｊ），（Ｇ（２）ｉ，ｊ），（Ｂ（２）ｉ，ｊ）を算出する。すなわち、以下のような関係が成立する。
【００５７】
Ｒ（２）ｉ，ｊ＝αｒ×Ｒ（１）ｉ，ｊ
Ｇ（２）ｉ，ｊ＝αｇ×Ｇ（１）ｉ，ｊ
Ｂ（２）ｉ，ｊ＝αｂ×Ｂ（１）ｉ，ｊ
なお、撮像装置８は、二次元的に区画された複数の画素を有するのが通常であるが、このような場合であっても、各画素をユニークに特定できるように座標位置ｉを割り当てるものとする。また、色別の補正値αｒ，αｇ，αｂは、後述するように、ホワイトバランス算出部２２０によって算出される。
【００５８】
このようなホワイトバランス補正は、標準色（白色）を有する標準体を撮影した入力画像データを基準として、撮像装置８の分光感度を人間の目の受光感度特性に一致させようとするものである。これは、同一の標準体であっても、照明環境（照明スペクトル）が異なれば、この標準体から放射（反射）される光のスペクトルは異なったものとなる。ＲＧＢ表色系において、「白色」は、少なくともＲ輝度、Ｇ輝度、Ｂ輝度が互いに略一致した状態を意味するが、上述のような照明環境が異なった場合には、この状態（各輝度のバランス）がくずれる。
【００５９】
このようなバランスが崩れた状態を図６（ａ）に示す。図６（ａ）において、輝度Ｒ（１），Ｇ（１），Ｂ（１）は互いに１２０°ずつ方向角が異なるように配置されたベクトルとして表わされる。本来は、輝度（Ｒ（１）ｉ，ｊ），（Ｇ（１）ｉ，ｊ），（Ｂ（１）ｉ，ｊ）によって張られる外形が正三角形とならなければならないが、これが崩れていることが分かる。この結果、モニタ１０２（図１，図２）では、本来「白色」として表示されるべき色が異なった色として表現される。
【００６０】
補正部２０５は、図６（ａ）に示すようなバランスが崩れた輝度間の関係を、図６（ｂ）に示すようなバランスされた状態に補正するものである。図６（ｂ）において、輝度（Ｒ（２）ｉ，ｊ），（Ｇ（２）ｉ，ｊ），（Ｂ（２）ｉ，ｊ）のベクトルの大きさは互いに同一であり、輝度Ｒ（２），Ｇ（２），Ｂ（２）によって張られる外形は正三角形となる。
【００６１】
逆に言えば、色別の補正値αｒ，αｇ，αｂは、白色を有する標準体を撮影した入力画像データのＲ輝度、Ｇ輝度、Ｂ輝度の逆比から算出することができる。
【００６２】
補正部２０５ａ〜２０５ｈは、いずれも共通の補正値αｒ，αｇ，αｂを用いて、すべての画素の輝度に対して補正処理を行なうことができる。なお、補正部２０５ａ〜２０５ｈは、それぞれ異なる露光時間で撮影された入力画像データに対してホワイトバランス補正を行なうので、露光時間別に補正値αｒ，αｇ，αｂをそれぞれ算出しておき、処理対象の入力画像データの露光時間に対応する補正値αｒ，αｇ，αｂを選択的に用いるようにしてもよい。
【００６３】
画像情報抽出部２０６ａ〜２０６ｈは、補正部２０５ａ〜２０５ｈによってそれぞれ補正された後の入力画像データから色情報および輝度情報を抽出する。ここで、色情報は、各画素におけるＲ輝度、Ｇ輝度、Ｂ輝度の相対関係を示し、輝度情報は、各画素に入射した光の強度を示す。以下では、画像情報抽出部２０６ａ〜２０６ｈを総称して「画像情報抽出部２０６」とも記す。
【００６４】
具体的には、同一のワークをｊ番目に撮影することで得られた入力画像データに対応する各画素（座標位置ｉ）の色情報を（ｒ（１）ｉ，ｊ），（ｇ（１）ｉ，ｊ），（ｂ（１）ｉ，ｊ）とすると、以下の関係が成立する。
【００６５】
ｒ（１）ｉ，ｊ＝Ｒ（２）ｉ，ｊ／（Ｒ（２）ｉ，ｊ＋Ｇ（２）ｉ，ｊ＋Ｂ（２）ｉ，ｊ）
ｇ（１）ｉ，ｊ＝Ｇ（２）ｉ，ｊ／（Ｒ（２）ｉ，ｊ＋Ｇ（２）ｉ，ｊ＋Ｂ（２）ｉ，ｊ）
ｂ（１）ｉ，ｊ＝Ｂ（２）ｉ，ｊ／（Ｒ（２）ｉ，ｊ＋Ｇ（２）ｉ，ｊ＋Ｂ（２）ｉ，ｊ）
但し、ｒ（１）ｉ，ｊ＋ｇ（１）ｉ，ｊ＋ｂ（１）ｉ，ｊ＝１
すなわち、画像情報抽出部２０６から出力される色情報は、入力画像データに対するホワイトバランス補正を実行した後の輝度（Ｒ（２）ｉ，ｊ），（Ｇ（２）ｉ，ｊ），（Ｂ（２）ｉ，ｊ）を規格化した上で、各輝度の相対関係（相対比）を表わしたものである。
【００６６】
また、同一のワークをｊ番目に撮影することで得られた入力画像データに対応する各画素（座標位置ｉ）の輝度情報をＺｉとすると、以下の関係が成立する。
【００６７】
Ｚｉ＝（Ｒ（２）ｉ，ｊ＋Ｇ（２）ｉ，ｊ＋Ｂ（２）ｉ，ｊ）／３
すなわち、画像情報抽出部２０６から出力される輝度情報は、入力画像データに対するホワイトバランス補正を実行した後の各色輝度の平均値である。
【００６８】
画像情報抽出部２０６は、抽出した色情報を色合成部２０８へ出力するとともに、抽出した輝度情報を色合成部２０８および輝度合成部２１０へ出力する。
【００６９】
＜（３）輝度合成処理＞
図４を参照して、輝度合成部２１０は、複数の入力画像データそれぞれについての輝度情報の値を対応する露光量によってそれぞれ規格化した上で、合成画像データの合成輝度情報を算出する。上述したように、上述したように、露光時間を変更することで、撮影に適した光パワーの範囲が変動する。すなわち、露光時間が相対的に短ければ、光パワーのより大きな範囲の撮影に適し、露光時間が相対的に長ければ、光パワーのより小さな範囲の撮影に適する。
【００７０】
一般的に、撮像装置８の撮像素子に入射する光エネルギーは、露光時間に比例すると考えられる。一方、「明るさ」は対数として示すことができる。そこで、撮像装置８に設定可能な各露光時間に対応させて、撮像装置８による撮影に適した「明るさ」範囲を予め規定することができる。
【００７１】
より具体的には、本実施の形態に従う撮像装置８に設定可能な８つの露光時間は、２のべき乗で順次短くなるように設定されているので、各露光時間と「明るさ」範囲との関係の一例を図７のように定めることができる。
【００７２】
図７は、撮像装置８に設定される露光時間と撮影に適した「明るさ」範囲との関係の一例を示す図である。
【００７３】
図７を参照して、露光時間が「１／１０秒」である場合に撮影に適した「明るさ」範囲を「１０〜３０」に設定すると、露光時間を１／２倍した「１／２０秒」である場合には、撮影に適した「明るさ」範囲を「１０」だけ加算した「２０〜４０」に設定できる。このように順次設定することで、露光時間を「１／１０秒」〜「１／１２８０秒」の範囲に対応付けて、「１０〜１００」の「明るさ」範囲をカバーするように設定できる。なお、この「明るさ」範囲は撮像装置８の性能に依存する相対的な値であり、同じ「明るさ」であっても、撮像素子の感度や光学系の開放値などが異なれば、実際の明るさは異なったものとなる。
【００７４】
また、各「明るさ」範囲を複数の露光時間がカバーするように構成することが好ましい。図７に示す例においては、「明るさ」範囲が１０〜９０の範囲では、少なくとも２つの露光時間によってカバーするように設定されている。すなわち、たとえば「明るさ」が「５０」に対応する露光時間は、「１／４０秒」，「１／８０秒」，「１／１６０秒」の３つである。このような設定を行なうことで、ユーザが入力する「明るさ」上下限値の範囲（後述する）が狭い場合であっても、異なる露光時間で複数回の撮影が選択されるようになる。
【００７５】
この図７に示す露光時間と「明るさ」範囲との関係は、撮像装置８で撮影可能な「明るさ」範囲のうち、ユーザによって必要な「明るさ」範囲が設定されると、当該設定に対応する複数の露光時間の各々での撮影が行なわれるようになる。すなわち、撮像装置８に設定可能なすべての露光時間において撮影が行なわれるのではなく、特定の露光時間における撮影のみを行なうことで、画像合成処理に係る処理時間を短縮することもできる。
【００７６】
より具体的には、ユーザによって、「明るさ」範囲が「３０〜６０」に設定された場合には、その範囲内に含まれる「１／２０秒」，「１／４０秒」，「１／８０秒」の露光時間で１処理あたり３回の撮影が行なわれる。
【００７７】
再度、図４を参照して、輝度合成部２１０は、ワークを複数回撮影して得られる複数の入力画像データを用いて、合成画像データの各画素の輝度である合成輝度を算出する。より具体的には、輝度合成部２１０は、合成画像データの各画素（座標位置ｉ）に対応するｐ個の入力画像データにおけるそれぞれの画素の輝度を露光時間（光エネルギーあるいは光量）で規格化することで、各画素の合成輝度Ｅｉを算出する。輝度合成部２１０による合成輝度Ｅｉの算出式は以下のようになる。
【００７８】
【数１】
2009224971.tif 000003
【００７９】
上式において、「ｌｏｇ２（ｇ（Ｚｉ，ｊ）／Ｔｊ）」の項が、各入力画像データにおける輝度を露光時間で規格化した上で、「明るさ」として評価した値に相当する。これは、たとえば同じ輝度「１２８」であっても、露光時間が相対的に短ければ、その実際の「明るさ」はより大きな値として評価すべきであり、露光時間が相対的に長ければ、その実際の「明るさ」はより小さな値として評価すべきであるという技術思想に基づくものである。すなわち、対応の入力画像データの撮影時の露光量に応じた係数１／Ｔｊを乗じることで露光時間による規格化を行い、この規格化した値を累積加算することで合成輝度Ｅｉが算出される。
【００８０】
代表的に、合成輝度Ｅｉは、図７に示す各露光時間と「明るさ」範囲との関係に従って、０〜１００の範囲の値として算出される。なお、理解を容易にするために、０〜１００の範囲で表しているが、合成して得られる画像の「明るさ」の階調は、１つの露光時間で得られる画像がもつ階調（たとえば、８ビット）よりも大きくなることから、データとしては、小数点以下の桁も有する値である（たとえば、１６ビットのデータを用いた場合には小数点以下４桁）。
【００８１】
上式においては、さらに、重み関数ｗ（Ｚ）と撮像装置８の応答関数ｇ（Ｚ）を導入している。図８を参照して、これらの関数について説明する。
【００８２】
図８は、重み関数および応答関数の特性の一例を示す図である。図８（ａ）は、重み関数ｗ（Ｚ）の特性を示し、図８（ｂ）は、応答関数ｇ（Ｚ）の特性を示す。
【００８３】
図８（ａ）を参照して、重み関数ｗ（Ｚ）は、撮像装置８から出力される輝度の値に応じて、その信頼度を反映するための関数である。すなわち、ある露光時間において、撮像装置８から出力される輝度のうち、その下限値（０）または上限値（２５５）に近い値は、その中間値（１２８）に近い値に比較して信頼度が低いと考えられる。換言すれば、仮に撮像装置８がある露光時間において最も適した「明るさ」のワークを撮影すると、その輝度はほぼ中間値になると考えられる。
【００８４】
そこで、このような特性を考慮して、重み関数ｗ（Ｚ）としては、輝度階調の中間値の近傍に比較して、下限値または上限値の近傍の値がより小さくなるような関数を用いることが好ましい。一例として、本実施の形態では、輝度階調の中間値が最大値（１２８）となるとともに、下限値および上限値でそれぞれゼロとなるような三角形状の重み関数を採用する。これに代えて、輝度階調に対して凸状の関数を用いてもよい。このような重み関数を採用することで、露光時間毎の入力画像データのうち、その輝度が所定範囲内にあるものを優先的に採用して合成輝度が算出される。
【００８５】
また、図８（ｂ）を参照して、応答関数ｇ（Ｚ）は、撮像装置８から出力される輝度と実際に撮像装置８に入力する光エネルギーとの間の非線形性を補償するための関数である。たとえば、ＣＣＤなどの撮像素子では、入力する光エネルギーあるいは光量と出力される電圧信号との関係は非線形となる。このような非線形特性はガンマ特性などとも称される。応答関数ｇ（Ｚ）は、このようなガンマ特性を補償して、撮像装置８から出力される輝度を、実際に撮像装置８に入力する光エネルギーに比例するように補正するものである。なお、図８（ｂ）には、簡単化のため、撮像装置８から出力される輝度が入力する光エネルギーと比例関係にある場合の応答関数ｇ（Ｚ）を示す。
【００８６】
なお、上式中の定数項の「−８」は、各露光時間と「明るさ」範囲との関係を図７のように定めた場合に生じるオフセットを補償するための項であり、各露光時間と「明るさ」範囲との関係に応じて適宜設定することができる。
【００８７】
また、上式中では、「２」を底にした対数を用いているが、必ずしも「２」に限定されるものではなく、ネイピア数「ｅ」を底にした自然対数や「１０」を底にした常用対数などを用いてもよい。
【００８８】
（トーンマッピング）
再度、図４を参照して、輝度合成部２１０は、算出した合成輝度Ｅｉをトーンマッピング部２１４へ出力する。トーンマッピング部２１４は、合成輝度Ｅｉに基づいて合成画像データを生成するための合成輝度情報を生成する。具体的には、トーンマッピング部２１４は、各合成輝度Ｅｉ（輝度範囲：０〜１００；但し、２５６階調より大きな階調をもつ）を合成画像データの輝度範囲（たとえば、０〜２５５階調）に割り当てることで、合成画像データの合成輝度情報を生成する。なお、各合成輝度Ｅｉの分解能（ダイナミックレンジ）は、入力画像データより高くなるので、合成画像データの輝度範囲をより多階調化することで、より精度の高い合成画像データを生成できる。
【００８９】
特に、トーンマッピング部２１４は、後述するようにユーザによる「明るさ」上下限の設定に応じて、合成輝度Ｅｉのうち所定範囲を合成画像データの輝度範囲に割り当てる。
【００９０】
図９は、トーンマッピング部２１４による割り当て処理を説明するための図である。
図９を参照して、説明を簡素化するために、トーンマッピング部２１４が線形の割り当て処理を行なう場合について例示する。最も簡単な例としては、輝度範囲が０〜１００である合成輝度Ｅｉの比例関係を保ったまま、０〜２５５の範囲の階調値への割り当てである。これにより、モニタが持つ表示能力より大きな階調をもつデータを、モニタの持つ表示能力に合わせた階調（たとえば、８ビット表示）で表示することができる。
【００９１】
上述したように、ユーザによって「明るさ」上限値Ｅｍａｘと「明るさ」下限値Ｅｍｉｎが設定された場合には、トーンマッピング部２１４は、以下のような式に従って、合成輝度情報Ｙｉへの割り当てを行なう。
【００９２】
Ｙｉ＝２５５×（Ｅｉ−Ｅｍｉｎ）／（Ｅｍａｘ−Ｅｍｉｎ）
（計算例）
上述したように３つの露光時間「１／２０秒」，「１／４０秒」，「１／８０秒」において撮影された３つの入力画像データの座標位置ｉにおける輝度が、それぞれ「１９０」，「１００」，「５０」である場合には、当該座標位置ｉに対応する画素の合成輝度Ｅｉは以下のように算出される。但し、Ｗ（１９０）＝６５，Ｗ（１００）＝１００，Ｗ（５０）＝５０である。
【００９３】
Ｅｉ＝１０×｛６５×（ｌｏｇ１９０＋ｌｏｇ２０−８）＋１００×（ｌｏｇ１００＋ｌｏｇ４０−８）＋５０×（ｌｏｇ５０＋ｌｏｇ８０−８）｝／（６５＋１００＋５０）＝４０
そして、ユーザによって、「明るさ」上限値Ｅｍａｘが「６０」で、「明るさ」下限値Ｅｍｉｎが「３０」に設定された場合には、合成画像データの合成輝度情報Ｙｉは以下のように算出される。
【００９４】
Ｙｉ＝２５５×（４０−３０）／（６０−３０）＝８５
（ヒストグラム生成）
再度、図４を参照して、輝度合成部２１０は、算出した合成輝度Ｅｉをヒストグラム生成部２１８へも出力する。ヒストグラム生成部２１８は、合成輝度Ｅｉについてのヒストグラムを生成する。すなわち、ヒストグラム生成部２１８は、各画素の合成輝度Ｅｉを所定幅の階級に区分した上で画素数を積算していく。これは、ユーザが、輝度合成部２１０によって算出される合成輝度Ｅｉのうち相対的に比率の高い範囲を参照しながら、上述の「明るさ」上限値および「明るさ」下限値を設定することを助ける。
【００９５】
また、ヒストグラム生成部２１８は、後述するユーザ設定に応じて、ヒストグラムの生成処理を中断または再開可能に構成される。
【００９６】
＜（４）色合成処理＞
図４を参照して、色合成部２０８は、複数の入力画像データの色情報から合成色情報を算出する。後述するように、合成画像データの各画素は、色合成部２０８で算出される合成色情報に、輝度合成部２１０およびトーンマッピング部２１４によって算出される合成輝度情報を乗じて得られるため、色合成部２０８から出力される合成色情報は、「赤色」、「緑色」、「青色」の相対的な比を示す値となる。
【００９７】
色合成部２０８は、上述の輝度合成部２１０と同様に、各座標位置に対応する複数の入力画像データにおけるそれぞれの画素の色情報に基づいて、合成画像データの各画素の合成色情報を算出する。より具体的には、色合成部２０８は、各入力画像データの色情報と、その信頼度に応じた重みとを乗算した値を累積加算することで、合成色情報を生成する。色合成部２０８による合成色情報（ｒ（２）ｉ，ｇ（２）ｉ，ｂ（２）ｉ）の算出式は以下のようになる。
【００９８】
【数２】
2009224971.tif 000004
【００９９】
ここで、重み関数ｗ（Ｚ）は、図８（ａ）と同様の特性を有する。すなわち重み関数ｗ（Ｚ）は、撮像装置８から出力される輝度の値に応じて、その信頼度を反映するための関数である。この重み関数ｗ（Ｚ）の技術的な意味については、上述したので詳細な説明は繰返さない。
【０１００】
そして、色合成部２０８は、算出した合成色情報を画像生成部２１２へ出力する。
＜（５）生成処理＞
画像生成部２１２は、輝度合成部２１０およびトーンマッピング部２１４によって生成された合成輝度情報Ｙｉを、対応する合成色情報（ｒ（２）ｉ，ｇ（２）ｉ，ｂ（２）ｉ）に順次乗じることによって、座標位置ｉの画素の画像情報を順次算出し、これによって合成画像データを生成する。
【０１０１】
すなわち、合成画像データの座標位置ｉの座標における絶対的な色情報（Ｒ（３）ｉ，Ｇ（３）ｉ，Ｂ（３）ｉ）は、以下のように表わすことができる。
【０１０２】
（Ｒ（３）ｉ，Ｇ（３）ｉ，Ｂ（３）ｉ）＝Ｙｉ×（ｒ（２）ｉ，ｇ（２）ｉ，ｂ（２）ｉ）
以上のような（１）〜（５）の手順に従って、合成画像データが生成される。なお、（１）の撮影処理では一連の撮影動作が繰返し実行され、この撮影処理の繰返し実行に同期して、（２）〜（５）の処理も実行される。
【０１０３】
＜処理時間算出＞
再度、図４を参照して、処理時間算出部２２２は、１つの合成画像データの生成に要する見込みの処理時間を算出する。より具体的には、処理時間算出部２２２は、撮影制御部２００からの情報に基づいて、撮像装置８による撮影回数、各撮影における露光時間、画像合成処理の処理量などを考慮して、処理時間を推定する。この処理時間は、稼動モードにおいて、１つの合成画像データを生成するために要する時間に相当し、ユーザは、この処理時間を参照して、実際の生産ラインに適用可能な設定を決定する。
【０１０４】
＜画面表示例＞
図１０は、この発明の実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【０１０５】
図１０を参照して、「設定モード」が選択されると、モニタ１０２には設定モード画面３００が表示される。なお、ＣＰＵ１０５および図示しないグラフィックボードなどが協働することで、モニタ１０２に設定モード画面３００を表示させる。このような画面表示は、ＯＳ（Operating System）の一部として組込まれるＧＵＩ（Graphical User Interface）プログラムによって実現され、またＧＵＩは、ユーザがキーボード１０３やマウス１０４により操作される画面上のカーソルを用いて、さまざまなユーザ設定を行なうための環境も提供する。
【０１０６】
設定モード画面３００には、「明るさ」上下限入力エリア３１０と、ヒストグラム表示エリア３２０と、合成画像表示エリア３３０と、撮影情報表示エリア３４０と、表示モード選択エリア３５０とを含む。
【０１０７】
「明るさ」上下限入力エリア３１０には、「明るさ」上限値を設定するためのスライドバー３１２、および「明るさ」下限値を設定するためのスライドバー３１４が配置される。このスライドバー３１２および３１４の操作によって設定される「明るさ」上下限値は、「明るさ」上下限設定部２１６（図４）に入力される。そして、この「明るさ」上下限値に応じて、図７に示す関係に基づいて必要な露光時間が選択され、撮像装置８における撮影回数および露光時間が変更される。
【０１０８】
ヒストグラム表示エリア３２０には、ヒストグラム生成部２１８（図４）で生成されたヒストグラムが視覚的に表示される。さらに、このヒストグラム上には、上述のスライドバー３１２，３１４の操作によって設定される「明るさ」上下限値に対応する位置に、それぞれを示す位置表示がなされる。
【０１０９】
合成画像表示エリア３３０には、設定された「明るさ」上下限値に応じて生成される合成画像データに基づく合成画像が表示される。この合成画像表示エリア３３０に表示される合成画像は、稼動モードにおいて検査や計測に用いられる画像データを表示するものであり、ユーザは、この合成画像表示エリア３３０の表示を参照して、ワークに対する照明条件や「明るさ」上下限値などの設定を調整する。
【０１１０】
また、合成画像表示エリア３３０の表示は、画像生成部２１２によって合成画像データが生成される毎に更新される。そのため、ユーザに対して、実質的に動画のように合成画像を表示することができる。なお、この合成画像表示の更新周期は、撮像装置８による撮影時間および画像合成処理に要する時間に依存するため、本実施の形態に従う画像処理装置では、後述するように、この更新周期を短縮可能に構成されている。
【０１１１】
撮影情報表示エリア３４０には、「撮影時間」、「撮影回数」、「シャッター速度」が表示される。「撮影時間」は、処理時間算出部２２２（図４）によって算出される、１つの合成画像データの生成に要する見込みの処理時間である。また、「撮影回数」は、合成画像データの生成に必要な撮影回数（すなわち、入力画像データの枚数）を表示し、「シャッター速度」は、撮像装置８に設定されている（あるいは、設定可能な）シャッター速度の範囲を表示する。すなわち、表示される「撮影時間」は、処理時間を含む１回の計測周期を意味する。
【０１１２】
表示モード選択エリア３５０には、ヒストグラム表示エリア３２０におけるヒストグラムの表示／非表示を選択するラジオボタンが表示される。ラジオボタンによって、ヒストグラムの非表示が選択されると、ヒストグラム表示エリア３２０におけるヒストグラム表示が行なわれない。
【０１１３】
さらに、設定モード画面３００には、「ＯＫ」ボタン３６２と、「ＣＡＮＣＥＬ」ボタン３６４とが配置されており、ユーザが「ＯＫ」ボタン３６２を選択すると、各項目において設定された値が固定ディスク１０７などに格納された上で「稼動モード」に移行する。一方、ユーザが「ＣＡＮＣＥＬ」ボタン３６４を選択すると、各項目において設定された値が固定ディスク１０７などに格納されずに「稼動モード」に移行する。
【０１１４】
＜「明るさ」上下限値の設定＞
撮影制御部２００（図４）は、ユーザが設定する「明るさ」上下限値に応じて、図７に示す関係を参照して、ワークの測定に係る露光時間および撮影回数を決定する。このとき、トーンマッピング部２１４が、合成輝度の対応する範囲を合成画像データの輝度範囲に割り当てるので、ワークのうち任意の「明るさ」をもつ領域に着目した合成画像を表示することもできる。
【０１１５】
たとえば、指定された「明るさ」の下限値を「０」とし、上限値を「２５５」に割り当てて、０〜２５５階調の画像として表示することができる。
【０１１６】
図１１は、この発明の実施の形態に従う画像処理装置における「明るさ」上下限値と合成画像との関係の一例を示す図である。なお、ワークは、図３と同一の腕時計の裏面である。
【０１１７】
図１１（ａ）に示すように、ヒストグラムに有効な画素が現れる範囲を「明るさ」上下限値に設定することで、反射率が大きく異なる金属製の時計本体部および皮革製のバンド部が明瞭に撮影されていることがわかる。
【０１１８】
一方、図１１（ｂ）に示すように、主として皮革製のバンド部に相当する画素の範囲を「明るさ」上下限値に設定すると、皮革製のバンド部はより明瞭に撮影されるが、金属製の時計本体部については、白飛びが生じていることがわかる。逆に、図１１（ｃ）に示すように、主として金属製の時計本体部に相当する画素の範囲を「明るさ」上下限値に設定すると、金属製の時計本体部はより明瞭に撮影されるが、皮革製のバンド部については、黒つぶれが生じていることがわかる。
【０１１９】
また、図１１（ｄ）に示すように、ヒストグラムの全範囲を「明るさ」上下限値に設定すると、画像全体について明瞭に撮影されているが、図１１（ａ）に比較すると、コントラストが低下していることがわかる。
【０１２０】
このように、ユーザは対象とするワークに応じて、適切な「明るさ」上下限値を調整することで、検査や計測に適した合成画像データを生成させることができる。
【０１２１】
＜ホワイトバランス調整＞
再度、図４を参照して、ホワイトバランス算出部２２０は、被測定物として標準色（白色）を有する標準体を撮影した入力画像データから算出される合成色情報に基づいて、ホワイトバランス補正に用いる色別の補正値αｒ，αｇ，αｂをそれぞれ算出する。なお、ホワイトバランス算出部２２０は、「設定モード」に設定された場合に処理を実行する。
【０１２２】
図１２は、ホワイトバランス調整に係る手順を示す概略図である。
図１２を参照して、ホワイトバランス調整を行なう場合には、撮像装置８の撮影範囲内に、通常のワークに代えて、標準色（白色）を有する標準体ＳＴＤを配置し、この標準体ＳＴＤを撮影して得られる画像データに基づいて、色別の補正値αｒ，αｇ，αｂが算出される。
【０１２３】
より具体的には、上述の画像合成処理と同様に、撮像装置８が異なる露光時間で標準体ＳＴＤを複数回撮影することで複数の入力画像データが生成される。このとき、合成画像データの生成前に、既存の色別の補正値αｒ，αｇ，αｂは、ホワイトバランス算出部２２０（図４）によりいずれも「１」にリセットされる。すなわち、補正部２０５（図４）は、入力画像データに対して何らの補正も行なっていない情報を出力する。これは、予め補正値αｒ，αｇ，αｂの影響を受けている補正後の輝度を用いると、補正値αｒ，αｇ，αｂを正確に決定するのが難しくなるためである。なお、ホワイトバランス調整の精度をより高めるためには、図７に示す露光時間群のすべてにおいて撮影が行なわれることが好ましい。
【０１２４】
その後、上述と同様の処理が実行されることで、色合成部２０８により合成色情報（ｒ（２）ｉ，ｇ（２）ｉ，ｂ（２）ｉ）が算出される。ホワイトバランス算出部２２０は、この色合成部２０８により算出された合成色情報（ｒ（２）ｉ，ｇ（２）ｉ，ｂ（２）ｉ）に基づいて、色別の補正値αｒ，αｇ，αｂを算出する。
【０１２５】
この合成色情報（ｒ（２）ｉ，ｇ（２）ｉ，ｂ（２）ｉ）は、合成画像データにおけるＲ輝度、Ｇ輝度、Ｂ輝度の相対関係（輝度値の比）を示しており、ホワイトバランス算出部２２０は、この輝度値の比の逆比から色別の補正値αｒ，αｇ，αｂを算出する。具体的な色別の補正値αｒ，αｇ，αｂの算出式は以下のようになる。
【０１２６】
αｒ＝β×１／ＡＶＥ（ｒ（２）ｉ）｛１≦ｉ≦ｎ｝
αｂ＝β×１／ＡＶＥ（ｂ（２）ｉ）｛１≦ｉ≦ｎ｝
αｇ＝β×１／ＡＶＥ（ｇ（２）ｉ）｛１≦ｉ≦ｎ｝
但し、β＝（ＡＶＥ（ｒ（２）ｉ）＋ＡＶＥ（ｇ（２）ｉ）＋ＡＶＥ（ｂ（２）ｉ））／３｛１≦ｉ≦ｎ｝
ここで、ＡＶＥは、平均値の算出関数を意味し、ｎは、合成色情報に含まれる画素の数である。また、βは、補正値αｒ，αｇ，αｂを規格化するための補正係数であり、合成色情報（ｒ（２）ｉ，ｇ（２）ｉ，ｂ（２）ｉ）の各成分の平均値に相当する。
【０１２７】
すなわち、ホワイトバランス算出部２２０は、合成色情報の成分毎の平均値（平均輝度）を算出し、この平均輝度の逆比に基づいて、色別の補正値αｒ，αｇ，αｂを算出する。
【０１２８】
図４に示すように、ホワイトバランス算出部２２０は、ユーザによる直接的な色別の補正値αｒ，αｇ，αｂの設定を受付可能であり、上述のように算出した色別の補正値αｒ，αｇ，αｂをモニタ１０２（図１，図２）に表示するとともに、ユーザ設定に応じて、色別の補正値αｒ，αｇ，αｂを変更する。そして、ホワイトバランス算出部２２０は、このように決定された色別の補正値αｒ，αｇ，αｂを補正部２０５ａ〜２０５ｈに出力し、それ以降の画像合成処理に反映させる。
【０１２９】
さらに、ホワイトバランス算出部２２０は、ユーザからの領域設定を受付けるようにしてもよい。この領域設定は、標準体ＳＴＤ（図１３）の大きさが撮像装置８の撮影範囲より小さい場合において、生成された入力画像データの一部の領域に対応する合成色情報を指定し、この指定された合成色情報のみから、色別の補正値αｒ，αｇ，αｂを算出するために用いられる。すなわち、ホワイトバランス算出部２２０は、ユーザからの領域設定に従って、合成色情報（ｒ（２）ｉ，ｇ（２）ｉ，ｂ（２）ｉ）のうち当該領域設定に含まれる情報のみを抽出し、この抽出した情報に基づいて、上式に従って色別の補正値αｒ，αｇ，αｂを算出する。
【０１３０】
さらに、ホワイトバランス算出部２２０は、トーンマッピング部２１４によって算出される合成輝度情報Ｙｉが所定条件を満足しているか否かを判断し、当該所定条件を満足している場合に限って、色別の補正値αｒ，αｇ，αｂを算出するようにしてもよい。一般的に、各色の輝度が高すぎて飽和すると、輝度情報が失われ、ホワイトバランス補正に係る補正値を算出できない。一方、各色の輝度が最大の階調に比較して低すぎる場合には、ホワイトバランス調整の精度が低下する。そのため、各色の輝度は、階調レンジの適切な範囲であることが望ましい。上述したように、本実施の形態に従う画像処理装置では、撮像装置８のダイナミックレンジを拡大させるため、撮影対象や撮影環境によらず、適切な輝度情報を取得できる場合が多いが、極端に暗い場合や、極端に明るい場合などの特殊な照明環境下においては、適切な輝度情報を取得できない場合がある。このような場合には、ホワイトバランス補正に係る色別の補正値αｒ，αｇ，αｂを適切に算出することはできない。したがって、合成輝度情報Ｙｉが適切な範囲に存在する場合に限って、色別の補正値αｒ，αｇ，αｂの算出処理を実行するようにするのが好ましい。
【０１３１】
そこで、ホワイトバランス算出部２２０は、トーンマッピング部２１４が標準体ＳＴＤを撮影して得られる画像データに基づいて算出した合成輝度情報Ｙｉが所定条件を満足しているか否か（代表的には、階調レンジのうち特定の範囲内に存在するか否か）を判断し、この所定条件を満足している場合に限って、色別の補正値αｒ，αｇ，αｂを算出するようにしてもよい。このように、合成輝度情報Ｙｉを監視することで、不適切な色別の補正値αｒ，αｇ，αｂが算出されることを抑制できる。
【０１３２】
（画面表示例）
図１３は、この発明の実施の形態に従う画像処理装置のモニタに表示されるホワイトバランス調整時における画面表示例を示す図である。図１３には、「設定モード」において設定される項目のうち「ホワイトバランス」が選択されている場合を示す。
【０１３３】
図１３に示すホワイトバランス調整画面４００には、合成画像表示エリア４０２およびホワイトバランス設定表示エリア４１０が表示される。合成画像表示エリア４０２には、画像生成部２１２（図４）によって生成された合成画像データが表示される。このホワイトバランス調整時には、標準体ＳＴＤ（図１２）の合成画像が表示されることになる。
【０１３４】
ホワイトバランス設定表示エリア４１０は、色別の補正値αｒ，αｇ，αｂをそれぞれ表示する補正値表示エリア４１２，４１６，４２０と、色別の補正値αｒ，αｇ，αｂに対する変更値をそれぞれ設定するためのスライドバー４１４，４１８，４２２と、自動設定ボタン４２４とを含む。補正値表示エリア４１２，４１６，４２０には、ホワイトバランス算出部２２０（図４）で算出された、あるいは現在設定されている色別の補正値αｒ，αｇ，αｂの値がそれぞれ表示される。また、ユーザによってスライドバー４１４，４１８，４２２が操作されると、各操作に応じた指令がホワイトバランス算出部２２０（図４）へ与えられ、ホワイトバランス算出部２２０が保持する色別の補正値αｒ，αｇ，αｂのうち対応する値が変更される。
【０１３５】
また、自動設定ボタン４２４がユーザによって選択されると、ホワイトバランス算出部２２０（図４）は、色別の補正値αｒ，αｇ，αｂを算出するために、現在撮影されている入力画像データに基づいて、上述したようなホワイトバランス調整処理を実行する。また、ホワイトバランス設定表示エリア４１０には、自動調整可否表示エリア４２０が設けられている。ホワイトバランス算出部２２０（図４）は、トーンマッピング部２１４によって算出される合成輝度情報Ｙｉが所定条件を満足している場合に限って、自動調整可否表示エリア４２０に「自動調整可能です。」の文字を表示し、色別の補正値αｒ，αｇ，αｂの算出が可能であることをユーザに通知する。
【０１３６】
さらに、ホワイトバランス調整画面４００には、ホワイトバランス調整などの対象とすべき領域設定を行なうための設定ボタン４２６が設けられており、この設定ボタン４２６がユーザによって選択されると、合成画像表示エリア４０２に領域設定枠４２８が表示される。この領域設定枠４２８は、ユーザによるマウス１０４（図１）などの操作に従って、任意の移動や大きさ変更が可能となっている。そして、ホワイトバランス算出部２２０は、この領域設定枠４２８によって指定された領域設定に従って、合成色情報（ｒ（２）ｉ，ｇ（２）ｉ，ｂ（２）ｉ）のうち当該領域設定に含まれる情報のみを抽出し、この抽出した情報に基づいて、上式に従って色別の補正値αｒ，αｇ，αｂを算出する。
【０１３７】
さらに、ホワイトバランス調整画面４００には、「ＯＫ」ボタン４３２と、「ＣＡＮＣＥＬ」ボタン４３６とが配置されており、ユーザが「ＯＫ」ボタン４３２を選択すると、ホワイトバランス算出部２２０（図４）によって算出された色別の補正値αｒ，αｇ，αｂが固定ディスク１０７（図２）などに格納された上で「稼動モード」に移行する。一方、ユーザが「ＣＡＮＣＥＬ」ボタン４３６を選択すると、色別の補正値αｒ，αｇ，αｂの変更などは破棄されて元の状態に戻る。
【０１３８】
以上のような画面操作によって、ホワイトバランス補正に係る色別の補正値αｒ，αｇ，αｂの算出および変更が実現される。
【０１３９】
＜稼動モード＞
以下、稼動モードにおける処理の一例について説明する。生成された合成画像データを用いてワークの検査や計測を行なう方法は従来から様々なものが提案されているが、本実施の形態においては、代表的に、予め登録された画像パターンに一致する部分を探索するサーチ処理と、ワークのエッジを検出してエッジ間の距離を計測するエッジスキャン処理とについて例示する。なお、稼動モードにおける処理は、これらの処理に限られない。
【０１４０】
図１４は、稼動モードの一例であるサーチ処理の表示例を示す図である。図１５は、稼動モードの一例であるエッジスキャン処理の表示例を示す図である。
【０１４１】
図１４を参照して、「稼動モード」においてサーチ処理が選択されると、モニタ１０２には稼動モード画面４００Ａが表示される。この稼動モード画面４００Ａにおいて、ユーザは、対象領域４５２を予め設定するとともに、検出すべき画像パターンを登録する。すると、ＣＰＵ１０５は、上述の画像合成処理によって合成画像データのうち、対象領域４５２に対して登録パターンとの相関値を順次算出することで、登録パターンと一致するエリア４５４を特定する。さらに、ＣＰＵ１０５は、特定したエリア４５４の位置情報などをモニタ１０２に表示する。
【０１４２】
このようなサーチ処理によれば、特定種類のワークが連続的に生産されている場合に、異なる種類の混入ワークなどを検出することができる。
【０１４３】
図１５を参照して、「稼動モード」においてエッジスキャン処理が選択されると、モニタ１０２には稼動モード画面４００Ｂが表示される。この稼動モード画面４００Ｂにおいて、ユーザは、対象領域４６２を予め設定する。すると、ＣＰＵ１０５は、上述の画像合成処理によって合成画像データのうち、対象領域４６２に対して色差が所定のしきい値以上である２つの箇所（エッジ位置）を特定する。そして、ＣＰＵ１０５は、この特定した２点の間を結ぶ直線４６４を規定し、この２点間の図面上の距離（たとえば、ピクセル値）を算出する。
【０１４４】
このようなエッジスキャン処理によれば、エッジ間距離を規定値と比較することで、ワークの製造不良などを検出することができる。
【０１４５】
上述した処理以外にも、特定の色範囲をもつ画素数の数をカウントする色面積算出処理などを行なってもよい。
【０１４６】
＜処理手順＞
図１６は、この発明の実施の形態に従う画像処理装置における全体処理を示すフローチャートである。図１６に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。なお、初期モードは「稼動モード」であるとする。
【０１４７】
図１６を参照して、ＣＰＵ１０５は、モード切替えの指令が与えられたか否かを判断する（ステップＳ１００）。モード切替えの指令が与えられていない場合（ステップＳ１００においてＮＯの場合）には、ＣＰＵ１０５は、ステップＳ１０２からステップＳ１１４までの検査計測処理を実行する。
【０１４８】
すなわち、ＣＰＵ１０５は、光電センサによるワーク２の到着が検出された否かを判断する（ステップＳ１０２）。ワーク２が到着していない場合（ステップＳ１０２においてＮＯの場合）には、ステップＳ１０２の処理を繰返す。
【０１４９】
ワーク２が到着した場合（ステップＳ１０２においてＹＥＳの場合）には、ＣＰＵ１０５は、固定ディスク１０７に予め格納された設定に従って、設定された露光時間でワーク２を撮影する（ステップＳ１０４）。そして、ＣＰＵ１０５は、設定された回数の撮影が完了したか否かを判断する（ステップＳ１０６）。設定された回数の撮影が完了していない場合（ステップＳ１０６においてＮＯの場合）には、ＣＰＵ１０５は、ステップＳ１０４の処理を繰返す。
【０１５０】
設定された回数の撮影が完了している場合（ステップＳ１０６においてＹＥＳの場合）には、ＣＰＵ１０５は、画像合成処理サブルーチンを実行し、撮影された入力画像データから合成画像データを生成する（ステップＳ１０８）。
【０１５１】
続いて、ＣＰＵ１０５は、生成された合成画像データに基づいて検査計測処理を実行する（ステップＳ１１０）。そして、ＣＰＵ１０５は、その検査計測処理の結果をモニタ１０２などに表示する（ステップＳ１１２）とともに、ＰＬＣなどの外部装置へ出力する（ステップＳ１１４）。そして、処理は最初に戻る。
【０１５２】
これに対して、モード切替えの指令が与えられた場合（ステップＳ１００においてＹＥＳの場合）には、ＣＰＵ１０５は、「設定モード」へ移行する（ステップＳ１１８）。
【０１５３】
図１７は、この発明の実施の形態に従う画像処理装置におけるホワイトバランス調整に係る処理を示すフローチャートである。図１７に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。
【０１５４】
図１７を参照して、ＣＰＵ１０５は、「設定モード」において「ホワイトバランス」の項目が選択されたか否かを判断する（ステップＳ２００）。「ホワイトバランス」の項目が選択されていない場合（ステップＳ２００においてＮＯの場合）には、ＣＰＵ１０５は、ステップＳ２００の処理を繰返す。
【０１５５】
「ホワイトバランス」の項目が選択されている場合（ステップＳ２００においてＹＥＳの場合）には、ＣＰＵ１０５は、既存のホワイトバランス補正に係る色別の補正値αｒ，αｇ，αｂをリセットする（ステップＳ２０２）。続いて、ＣＰＵ１０５は、撮像装置８に設定可能な露光時間において、順次撮影を行なう（ステップＳ２０４）。このとき、ホワイトバランス調整を行なおうとするユーザは、ワークに代えて、白色を有する標準体ＳＴＤを撮像装置８の撮影範囲に配置する。すると、ＣＰＵ１０５は、画像合成処理サブルーチンを実行し、標準体ＳＴＤを撮影して得られた入力画像データから合成画像データ（合成色情報および合成輝度情報を含む）を生成する（ステップＳ２０６）。
【０１５６】
ＣＰＵ１０５は、合成画像データの生成に使用した合成輝度情報が所定条件を満足しているか否かを判断する（ステップＳ２０８）。合成輝度情報が所定条件を満足していない場合（ステップＳ２０８においてＮＯの場合）には、ＣＰＵ１０５は、ステップＳ２００以下の処理を繰返す。このとき、ホワイトバランス調整画面４００（図１３）に「自動調整不可能です。」の文字を表示してもよい。
【０１５７】
一方、合成輝度情報が所定条件を満足している場合（ステップＳ２０８においてＹＥＳの場合）には、ＣＰＵ１０５は、ホワイトバランス調整画面４００の自動設定ボタン４２４（図１３）が選択されたか否かを判断する（ステップＳ２１０）。このとき、ホワイトバランス調整画面４００（図１３）に「自動調整可能です。」の文字を表示してもよい。自動設定ボタン４２４が選択された場合（ステップＳ２１０においてＹＥＳの場合）には、ＣＰＵ１０５は、合成色情報に基づいてホワイトバランス補正に係る色別の補正値αｒ，αｇ，αｂを算出する（ステップＳ２１２）。ＣＰＵ１０５は、ホワイトバランス調整画面４００の補正値表示エリア４１２，４１６，４２０に算出した色別の補正値αｒ，αｇ，αｂを表示する。
【０１５８】
ステップＳ２１２の実行後、あるいは自動設定ボタン４２４が選択されなかった場合（ステップＳ２１０においてＮＯの場合）には、ＣＰＵ１０５は、色別の補正値αｒ，αｇ，αｂに対する変更が入力されたか否かを判断する（ステップＳ２１４）。色別の補正値αｒ，αｇ，αｂに対する変更が入力された場合（ステップＳ２１４においてＹＥＳの場合）には、ＣＰＵ１０５は、ユーザ入力に従って、保持する色別の補正値αｒ，αｇ，αｂのうち対応する値を変更する（ステップＳ２１６）。
【０１５９】
ステップＳ２１６の実行後、あるいは色別の補正値αｒ，αｇ，αｂに対する変更が入力されなかった場合（ステップＳ２１４においてＮＯの場合）には、ＣＰＵ１０５は、ホワイトバランス調整画面４００（図１３）の「ＯＫ」ボタン４３２または「ＣＡＮＣＥＬ」ボタン４３４が選択されたか否かを判断する（ステップＳ２１８）。「ＯＫ」ボタン４３２が選択された場合（ステップＳ２１８において「ＯＫ」）には、ＣＰＵ１０５は、現在の色別の補正値αｒ，αｇ，αｂを固定ディスク１０７に格納する（ステップＳ２２０）。そして、ＣＰＵ１０５は、「稼動モード」へ移行する（ステップＳ２２２）。
【０１６０】
また、「ＣＡＮＣＥＬ」ボタン４３４が選択された場合（ステップＳ２１８において「ＣＡＮＣＥＬ」）には、ＣＰＵ１０５は、現在の設定を廃棄して「稼動モード」へ移行する（ステップＳ２２２）。
【０１６１】
一方、ホワイトバランス調整画面４００（図１３）の「ＯＫ」ボタン４３２または「ＣＡＮＣＥＬ」ボタン４３４のいずれも選択されていない場合（ステップＳ２１８においてＮＯの場合）には、ＣＰＵ１０５は、ステップＳ２０２以下の処理を繰返す。
【０１６２】
図１８は、図１６および図１７に示す画像合成処理サブルーチンにおける処理を示すフローチャートである。図１８に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。
【０１６３】
図１８を参照して、ＣＰＵ１０５は、座標位置ｉを初期値（ｉ＝１）に設定し（ステップＳ３００）、複数の入力画像データから、座標位置ｉに対応する画素の各色の輝度に色別の補正値をそれぞれ乗じることで、ホワイトバランス補正を実行し（ステップＳ３０２）、さらに補正後の輝度から色情報および輝度情報を抽出する（ステップＳ３０４）。
【０１６４】
ＣＰＵ１０５は、座標位置ｉに対応する画素の輝度に基づいて、座標位置ｉの合成輝度を算出する（ステップＳ３０６）。そして、ＣＰＵ１０５は、設定された「明るさ」上下限値に従ってトーンマッピングを行って、合成画像データの座標位置ｉに対応する画素の輝度を算出する（ステップＳ３０８）。
【０１６５】
また、ＣＰＵ１０５は、座標位置ｉに対応する画素の色情報に基づいて、座標位置ｉに対応する画素の合成色情報を算出する（ステップＳ３１０）。さらに、ＣＰＵ１０５は、ステップＳ３０８で算出した輝度と、ステップＳ３１０で算出した合成色情報とに基づいて、合成画像データの座標位置ｉに対応する画素の色情報を算出する（ステップＳ３１２）。
【０１６６】
そして、ＣＰＵ１０５は、座標位置ｉが入力画像データに含まれる最後の座標であるか否かを判断する（ステップＳ３１４）。座標位置ｉが入力画像データに含まれる最後の座標でなければ（ステップＳ３１４においてＮＯの場合）には、ＣＰＵ１０５は、現在の座標位置ｉに「１」を加算して（ステップＳ３１６）、ステップＳ３０２以下の処理を繰返す。
【０１６７】
座標位置ｉが入力画像データに含まれる最後の座標であれば（ステップＳ３１４においてＹＥＳの場合）には、ＣＰＵ１０５は、ステップＳ３１２で算出した各座標位置に対応する色情報に基づいて、合成画像データを生成する（ステップＳ３１８）。そして、メインルーチンに戻る。
【０１６８】
＜変形例＞
上述の実施の形態では、ホワイトバランス補正を行なうために補正部２０５ａ〜２０５ｈを、画像バッファ２０４ａ〜２０４ｈの後段に配置した構成について例示したが、この構成に限られることはない。すなわち、本実施の形態に従う画像処理装置では、撮像装置８によって撮像された入力画像データに対してホワイトバランス補正ができればよいので、たとえば、ホワイトバランス補正を行なうための補正部を、撮像装置８と選択部２０２との間、あるいは選択部２０２と画像バッファ２０４ａ〜２０４ｈとの間に配置してもよい。
【０１６９】
また、ホワイトバランス算出部２２０が合成色情報に基づいて、ホワイトバランス補正に用いる色別の補正値αｒ，αｇ，αｂをそれぞれ算出する構成について例示したが、合成色情報に合成輝度情報を乗じて生成される合成画像データに基づいて、色別の補正値αｒ，αｇ，αｂをそれぞれ算出してもよい。また、色別の補正値αｒ，αｇ，αｂの際に、各画素の合成輝度情報を平均化して、合成輝度情報の代表値を算出する構成を採用したが、平均化に限定されることなく、集団から代表値を決定する任意の方法を採用することができる。
【０１７０】
＜本実施の形態の作用効果＞
この発明の実施の形態に従う画像処理装置は、ホワイトバランス調整において、標準色（白色）を有する標準体ＳＴＤを異なる露光量で複数回撮影して得られる複数の画像データを用いて、ダイナミックレンジを拡大した合成画像データを生成する。そして、この合成画像データの生成に用いられる合成色情報に基づいて、ホワイトバランス補正に係る色別の補正値αｒ，αｇ，αｂが算出される。このようにダイナミックレンジを拡大した合成画像データを用いることで、撮影環境からの影響を受けにくく、１回の撮影によって得られた入力画像データを用いてホワイトバランス調整を行なう場合に比較して、より精度の高い色別の補正値αｒ，αｇ，αｂを算出できる。
【０１７１】
また、この発明の実施の形態に従う画像処理装置は、極端に暗い場合や、極端に明るい場合などの特殊な照明環境下において、ホワイトバランス調整に不適切な合成輝度情報が得られた場合には、ユーザにその旨を通知するとともに、色別の補正値αｒ，αｇ，αｂを算出しないので、色別の補正値αｒ，αｇ，αｂが誤って算出されることを抑制できる。
【０１７２】
また、この発明の実施の形態に従う画像処理装置は、合成画像データのうち、一部の領域に含まれる合成輝度情報に基づいてホワイトバランス補正に係る色別の補正値αｒ，αｇ，αｂを算出できるので、撮像装置８の撮影範囲に比較して標準体ＳＴＤが小さい場合であっても、色別の補正値αｒ，αｇ，αｂを適切に算出できる。
【０１７３】
［その他の形態］
本発明に係るプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【０１７４】
また、本発明に係るプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
【０１７５】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記録媒体とを含む。
【０１７６】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【０１７７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１７８】
【図１】この発明の実施の形態に従う画像処理装置を含む視覚センサシステム１の全体構成を示す概略図である。
【図２】コンピュータのハードウェア構成を示す概略構成図である。
【図３】ワークとして腕時計の裏面を撮影した場合の撮影画像の一例を示す図である。
【図４】この発明の実施の形態に従う画像処理装置の制御構造を示す機能ブロック図である。
【図５】補正部における処理を示す機能ブロック図である。
【図６】ホワイトバランス補正を概念的に説明するための図である。
【図７】撮像装置に設定される露光時間と撮影に適した「明るさ」範囲との関係の一例を示す図である。
【図８】重み関数および応答関数の特性の一例を示す図である。
【図９】トーンマッピング部による割り当て処理を説明するための図である。
【図１０】この発明の実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【図１１】この発明の実施の形態に従う画像処理装置における「明るさ」上下限値と合成画像との関係の一例を示す図である。
【図１２】ホワイトバランス調整に係る手順を示す概略図である。
【図１３】この発明の実施の形態に従う画像処理装置のモニタに表示されるホワイトバランス調整時における画面表示例を示す図である。
【図１４】稼動モードの一例であるサーチ処理の表示例を示す図である。
【図１５】稼動モードの一例であるエッジスキャン処理の表示例を示す図である。
【図１６】この発明の実施の形態に従う画像処理装置における全体処理を示すフローチャートである。
【図１７】この発明の実施の形態に従う画像処理装置におけるホワイトバランス調整に係る処理を示すフローチャートである。
【図１８】図１６および図１７に示す画像合成処理サブルーチンにおける処理を示すフローチャートである。
【符号の説明】
【０１７９】
１  視覚センサシステム、２  ワーク、４ａ  受光部、４ｂ  投光部、６  搬送機構、８  撮像装置、１００  コンピュータ、１０１  コンピュータ本体、１０２  モニタ、１０３  キーボード、１０４  マウス、１０６  メモリ、１０７  固定ディスク、１０９  カメラインターフェイス部、１１１  ＦＤ駆動装置、１１３  ＣＤ−ＲＯＭ駆動装置、１１５  インターフェイス部、１１７  センサインターフェイス部、２００  撮影制御部、２０２  選択部、２０４，２０４ａ〜２０４ｈ  画像バッファ、２０５，２０５ａ〜２０５ｈ  補正部、２０６，２０６ａ〜２０６ｈ  画像情報抽出部、２０８  色合成部、２１０  輝度合成部、２１２  画像生成部、２１４  トーンマッピング部、２１６  上下限設定部、２１８  ヒストグラム生成部、２２０  ホワイトバランス算出部、２２２  処理時間算出部、３００  設定モード画面、４００  ホワイトバランス調整画面、４００Ａ，４００Ｂ  稼動モード画面、ＳＴＤ  標準体。
【図１】
2009224971.tif 000005
【図２】
2009224971.tif 000006
【図４】
2009224971.tif 000007
【図５】
2009224971.tif 000008
【図６】
2009224971.tif 000009
【図７】
2009224971.tif 000010
【図８】
2009224971.tif 000011
【図９】
2009224971.tif 000012
【図１２】
2009224971.tif 000013
【図１３】
2009224971.tif 000014
【図１６】
2009224971.tif 000015
【図１７】
2009224971.tif 000016
【図１８】
2009224971.tif 000017
【図３】
2009224971.tif 000018
【図１０】
2009224971.tif 000019
【図１１】
2009224971.tif 000020
【図１４】
2009224971.tif 000021
【図１５】
2009224971.tif 000022