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