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