画像処理装置
【課題】必要な領域について輝度範囲を最適化した合成画像を生成できる画像処理装置を提供する。
【解決手段】被測定物のうち高精度に表示したい領域や高精度に検査、計測を行ない領域が撮影範囲と比較して小さい場合には、全領域の合成画像を表示して領域の指定を受付け、当該領域に含まれる画素の輝度を最適化する合成処理を行った全領域の画像を生成する。そのために、画像データに対して指定領域の設定を受付ける入力部を含み、指定領域内における規格化された輝度分布値の大きさに基づいて合成輝度分布を算出し、合成画像データを生成する。
【解決手段】被測定物のうち高精度に表示したい領域や高精度に検査、計測を行ない領域が撮影範囲と比較して小さい場合には、全領域の合成画像を表示して領域の指定を受付け、当該領域に含まれる画素の輝度を最適化する合成処理を行った全領域の画像を生成する。そのために、画像データに対して指定領域の設定を受付ける入力部を含み、指定領域内における規格化された輝度分布値の大きさに基づいて合成輝度分布を算出し、合成画像データを生成する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、被測定物を異なる露光条件で複数回撮影して得られる複数の画像データを用いて、ダイナミックレンジを拡大した合成画像データを生成可能な画像処理装置に関するものである。
【背景技術】
【0002】
FA(Factory Automation)分野などにおいては、ワークなどの被測定物に生じる欠陥などを光学的に検査したり、その大きさなどを光学的に計測したりする装置として、いわゆる視覚センサが実用化されている。
【0003】
このような視覚センサを用いて検査や計測を行なう場合には、被測定物を適切に撮影する必要がある。一般的に、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサなどの撮像素子によって画像を取得する撮像装置
のダイナミックレンジ(輝度を表現可能な階調範囲)は有限である。そのため、撮影時の露光量が多くなると、撮影される画像は全面的もしくは部分的に白飛び(ハレーション)を生じてしまい、被測定物の輝度情報および色情報を正確に取得できない。逆に、撮影時の露光量が少なくなると、全面的もしくは部分的に黒つぶれを生じてしまい、有効な輝度情報を取得できない。さらに、局所的に反射率が異なる部分をもつ被測定物や鏡面に近い凹凸をもつ被測定物では、照明などの影響を受けて、部分的な白飛びや黒つぶれが発生し得る。
【0004】
このように、撮像素子上に結像される被測定物の像に含まれる最も明るい部分と最も暗い部分との明るさの差が大きく、本来得られるべき画像のダイナミックレンジが撮像素子のダイナミックレンジを超える場合には、被測定物の全体を適切に撮影することができないという問題があった。
【0005】
そこで、同一の被測定物を異なる露光条件で複数回撮影し、これによって得られる複数の画像データを合成することで、ダイナミックレンジを拡大させる技術が知られている。このような処理は、ハイダイナミック合成処理やスーパーラチチュード処理(Super Latitude process;SL処理)とも称される。たとえば特開2002−334326号公報(特許文献1)には、ダイナミックレンジ拡大を少ない計算処理負荷によって実現する視覚センサが開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−334326号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
被測定物のうち高い精度で表示すべき領域、あるいは検査対象とすべき領域が撮影範囲に比較して小さい場合には、撮影される画像データのすべての領域に対して輝度範囲が最適となるように合成処理を行なう必要はなく、必要な領域について輝度範囲を最適化して合成処理を行なえば十分である。
【0008】
そこで、この発明は、これらの問題を解決するためになされたものであり、その目的は、必要な領域について輝度範囲を最適化した合成画像を生成できる画像処理装置を提供することである。
【課題を解決するための手段】
【0009】
この発明の一実施態様によれば、被測定物を撮影して画像データを生成する撮像部に接続され、撮像部を制御するための制御指令を出力し、撮像部で撮影された画像データが入力されるカメラインターフェイス部と、表示部に接続され、表示部に表示させる表示用画像データを出力する表示画面出力部と、外部から入力を受付ける入力部と、処理を実行する処理部と、を備え、入力部から受付けた入力に基づいて設定を行なう設定モードと、設定に従う処理を実行する稼動モードとを有する画像処理装置であって、処理部は、設定モードにおいて、カメラインターフェイス部を通じて、入力される画像データの輝度を異ならせる複数の撮影条件からなる第1の撮影条件により撮像部に被測定物を撮影させるための制御指令を出力し、当該制御指令による複数の撮影条件に対応した複数の画像データの入力を受け、構成する画素の輝度について第1の階調数で表わされた複数の画像データを
取得し、各画像データを構成する画素の輝度について、それぞれ画像データに対応する撮影条件に基づいて規格化した規格化輝度を算出し、各画像データの互いに対応する座標位置にある各画素の規格化輝度を、撮影条件に応じて予め定められた規格化輝度に対する重み付けに従って合成することで、画像を構成する画素の合成された規格化輝度が前記第1
の階調数よりも階調数が増加された第2の階調数で表わされた合成画像データを生成し、
合成画像データを構成する画素の輝度を表わす第2の階調数が第3の階調数となるように
必要に応じて各画素の輝度を変換することにより、表示用画像データを生成して、表示画面出力部により当該表示用画像データを出力し、入力部を通じて、表示用画像データに対する領域の指定を受付けて指定領域を設定し、および、規格化輝度の範囲毎に対応する撮影条件を予め定めた対応関係に従って、合成画像データ内の前記指定領域を構成する画素の合成された規格化輝度の上限値および下限値により定まる指定領域内の合成された規格化輝度の範囲に対応する1または複数の撮影条件を第2の撮影条件として設定する処理を行ない、稼動モードにおいて、設定モードにおいて設定された第2の撮影条件が複数の撮影条件である場合には、カメラインターフェイス部を通じて、当該設定された複数の撮影条件により撮像部に被測定物を撮影させるための制御指令を出力し、当該制御指令による複数の撮影条件に対応した複数の画像データの入力を受け、構成する画素の輝度について第1の階調数で表わされた複数の画像データを取得し、各画像データを構成する画素の輝
度について、それぞれ画像データに対応する撮影条件に基づいて規格化した規格化輝度を算出し、各画像データの互いに対応する座標位置にある各画素の規格化輝度を、撮影条件に応じて予め定められた規格化輝度に対する重み付けに従って合成することで、画像を構成する画素の合成された規格化輝度が第1の階調数よりも階調数が増加された合成画像デ
ータを生成し、および、当該合成画像データ内の指定領域を構成する画素の合成された規格化輝度の上限値および下限値により定まる指定領域内の合成された規格化輝度の範囲が第4の階調数となるように各画素の輝度を変換する輝度階調変換により当該合成画像データの全領域を構成する画素の合成された規格化輝度について輝度階調変換を行ない、その後の画像処理に供するための処理対象画像データを算出する処理を行ない、設定モードにおいて設定された第2の撮影条件が1の撮影条件である場合には、カメラインターフェイス部を通じて、当該設定された1の撮影条件により撮像部に被測定物を撮影させるための制御指令を出力し、当該制御指令による撮影条件に対応した1の画像データの入力を受け、構成する画素の輝度について第1の階調数で表わされた画像データを取得し、当該画像
データを構成する画素の輝度について、当該画像データに対応する撮影条件に基づいて規格化した規格化輝度を算出し、および、当該画像データ内の指定領域を構成する画素の規格化輝度の上限値および下限値により定まる指定領域内の規格化輝度の範囲が第4の階調数となるように各画素の輝度を変換する輝度階調変換により、当該画像データの全領域を構成する画素の輝度について輝度階調変換を行ない、その後の画像処理に供するための処理対象画像データを算出する処理を行なうものである。
【0010】
ここでいう規格化は、同じ被測定物を撮影しても、撮影条件が異なると各撮影条件に対
応して撮像素子に入射する光パワーの割合が異なるため、取得される画像データの画素の輝度も異なるところ、この撮影条件の違いにより撮像素子に入射する光パワーの変化の割合を補正し、共通化された輝度の尺度によって各画像の画素の輝度を表す規格化である。
【0011】
第3の階調数は、表示画面出力部により出力する表示用画像データを構成する画素の輝度を表わす階調数であり、第2の階調数と等しい場合には、合成画像データを構成する画
素の輝度変換を行なう必要はなく、合成画像データがそのまま表示用画像データとなる。
【0012】
本発明のこの態様によれば、設定時において、複数の撮影条件により取得された画像データをもとに合成された画像データは、1の撮像条件で取得された画像データよりも白飛びや黒つぶれが生じにくいので、この合成画像データを表示させて、正確に表示すべき領域、あるいは検査、計測すべき領域等の重要な領域の指定を受付ければ、当該領域を的確に設定し易い。
【0013】
また、稼動時において、重要な領域について、限られた輝度階調の表示装置で精度良く表示したり、限られた輝度階調の画像を処理する画像処理によって精度良く検査、計測を行なうことが可能になる。重要な領域以外の領域の画像については黒つぶれや白飛び等が生じる可能性があるものの、撮像対象領域全体を共通の輝度階調変換であらわした画像を得ることから、撮像対象領域全体のおおまかな情報を保持しつつ、その中の一部である重要な領域については精度が良い画像の生成が可能となる。
【0014】
また、この発明の他の実施態様によれば、被測定物を撮像して画像データを生成する撮像部に接続され、撮像部を制御するための制御指令を出力し、撮像部で撮影された画像データが入力されるカメラインターフェイス部と、表示部に接続され、表示部に表示させる表示用画像データを出力する表示画面出力部と、外部から入力を受付ける入力部と、処理を実行する処理部と、を備え、入力部から受付けた入力に基づいて設定を行なう設定モードと、設定に従う処理を実行する稼動モードとを有する画像処理装置であって、処理部は、設定モードにおいて、カメラインターフェイス部を通じて、入力される画像データの輝度を異ならせる複数の撮影条件からなる第1の撮影条件により撮像部に被測定物を撮影させるための制御指令を出力し、当該制御指令による複数の撮影条件に対応した複数の画像データの入力を受け、構成する画素の輝度について第1の階調数で表わされた複数の画像
データを取得し、各画像データを構成する画素の輝度について、それぞれ画像データに対応する撮影条件に基づいて規格化した規格化輝度を算出し、各画像データの互いに対応する座標位置にある各画素の規格化輝度を、撮影条件に応じて予め定められた規格化輝度に対する重み付けに従って合成することで、画像を構成する画素の合成された規格化輝度が第1の階調数よりも階調数が増加された第2の階調数で表わされた合成画像データを生成し、合成画像データを構成する画素の輝度を表わす第2の階調数が第3の階調数となるよう
に必要に応じて各画素の輝度を変換することにより、表示用画像データを生成して、表示画面出力部により当該表示用画像データを出力し、入力部を通じて、表示用画像データに対する領域の指定を受付けて指定領域を設定し、および、規格化輝度の範囲毎に対応する撮影条件を予め定めた対応関係に従って、合成画像データ内の指定領域を構成する画素の合成された規格化輝度の上限値および下限値により定まる指定領域内の合成された規格化輝度の範囲に対応する1または複数の撮影条件を第2の撮影条件として設定する処理を行ない、稼動モードにおいて、設定モードにおいて設定された第2の撮影条件が複数の撮影条件である場合には、カメラインターフェイス部を通じて、当該設定された複数の撮影条件により撮像部に被測定物を撮影させるための制御指令を出力し、当該制御指令による複数の撮影条件に対応した複数の画像データの入力を受け、構成する画素の輝度について第1の階調数で表わされた複数の画像データを取得し、指定領域に対しては、各画像データ
内の指定領域を構成する画素の輝度について、それぞれ画像データに対応する撮影条件に基づいて規格化した規格化輝度を算出し、各画像データの互いに対応する座標位置にある
各画素の規格化輝度を、撮影条件に応じて予め定められた規格化輝度に対する重み付けに従って合成し、指定領域を構成する画素の合成された規格化輝度の上限値および下限値により定まる指定領域内の合成された規格化輝度の範囲が第4の階調数となるように各画素の輝度を変換する輝度階調変換により、指定領域を構成する画素の合成された規格化輝度について輝度階調変換を行った指定領域の処理対象画像データを算出し、指定領域外の領域に対しては、複数の撮影条件のうちの1の撮影条件により生成された画像データ内の前記指定領域外の領域を構成する画素の輝度について、当該画像データに対応する撮影条件に基づいて規格化した規格化輝度を算出し、輝度階調変換により、指定領域外の領域を構成する画素の規格化輝度について輝度階調変換を行った指定領域外の処理対象画像データを算出し、および、指定領域の処理対象画像データと指定領域外の処理対象画像データとからなる全領域の処理対象画像データをその後の画像処理に供するために作成する処理を行ない、設定モードにおいて設定された前記第2の撮影条件が1の撮影条件である場合には、カメラインターフェイス部を通じて、当該設定された1の撮影条件により撮像部に被測定物を撮影させるための制御指令を出力し、当該制御指令による撮影条件に対応した1の画像データの入力を受け、構成する画素の輝度について第1の階調数で表わされた画像
データを取得し、および、当該画像データ内の前記指定領域を構成する画素の規格化輝度の上限値および下限値により定まる指定領域内の輝度範囲が第4の階調数となるように各画素の輝度を変換する輝度階調変換により、画像データの全領域を構成する画素の輝度について輝度階調変換を行ない、その後の画像処理に供するための処理対象画像データを算出する処理を行なうものである。
【0015】
この態様によれば、稼動時において、重要な領域以外の領域の画像を簡易に生成することができるので、処理が軽くなる。
【0016】
好ましくは、第1の撮影条件に含まれる複数の撮影条件のうち、入力される画像データの輝度が最も高くなる撮影条件は、当該撮影条件に対応して入力される画像データに輝度が飽和した画素が含まれない撮影条件とされる。
【0017】
これにより、設定時において指定領域を設定する際に、確実に輝度が飽和しない画像が表示されるので、ユーザは画像を確認しつつ領域の指定をより正確に行なうことができる。
【0018】
好ましくは、カメラインターフェイス部を通じて入力される画像データは、色情報を含む画像データであり、処理部は、前記画素の輝度を、当該画素の色情報を構成する各成分の輝度の総和に基づいて算出し、いずれの合成画像データにおいても、合成画像データの画素の色情報を、合成画像データを生成するために用いる複数の画像データの互いに対応する座標位置にある各画素の色情報を当該画素の前記規格化輝度に対して撮影条件に応じて予め定められた重み付けに従って合成することにより算出し、いずれの処理対象画像データにおいても、処理対象画像データの画素の色情報を、輝度階調変換する前の画像データの対応する画素が有する色情報として、色情報を含む処理対象画像データを算出する。
【0019】
これにより、色情報を含む処理対象画像データを算出することができる。
この発明の好ましい態様においては、撮影条件は撮像部の露光時間を含む。
また、この発明の好ましい態様においては、撮影条件はしぼり量を含む。
また、この発明の好ましい態様においては、被測定物に光を照射する照明部にさらに接続され、撮影条件は、前記照明部の照明強度を含む。
【発明の効果】
【0020】
この発明によれば、設定時に合成画像データを表示させて、正確に表示すべき領域、あるいは検査、計測すべき領域等の重要な領域の指定を受付けるので、当該領域を的確に設
定し易い。稼動時に、当該重要な領域を、限られた輝度階調の表示装置で精度良く表示したり、限られた輝度階調の画像を処理する画像処理によって精度良く検査、計測を行なうことが可能になる。重要な領域以外の領域の画像については黒つぶれや白飛び等が生じる可能性があるものの、撮像対象領域全体を共通の輝度階調変換であらわした画像を得ることから、撮像対象領域全体のおおまかな情報を保持しつつ、その中の一部である重要な領域については精度が良い画像の提供が可能となる。
【図面の簡単な説明】
【0021】
【図1】この発明の実施の形態1に従う画像処理装置を含む視覚センサシステム1の全体構成を示す概略図である。
【図2】コンピュータのハードウェア構成を示す概略構成図である。
【図3】ワークとして腕時計の裏面を撮影した場合の入力画像データを示す図である。
【図4】この発明の実施の形態1に従う画像処理装置の制御構造を示す機能ブロック図である。
【図5】撮像装置に設定される露光時間と撮影に適した「明るさ」との対応関係の一例を示す図である。
【図6】重み関数および応答関数の特性の一例を示す図である。
【図7】トーンマッピング部による割り当て処理を説明するための図である。
【図8】この発明の実施の形態1に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【図9】この発明の実施の形態1に従う画像処理装置の稼動モードにおける制御動作を説明するための図である。
【図10】この発明の実施の形態1に従う画像処理装置における「明るさ」上下限値と合成画像との関係の一例を示す図である。
【図11】この発明の実施の形態1に従う画像処理装置において処理時間の算出方法の一例を説明するための図である。
【図12】この発明の実施の形態1に従う撮影条件の変更処理を説明するための図である。
【図13】この発明の実施の形態1に従う撮影条件の変更処理の第1変形例を説明するための図である。
【図14】この発明の実施の形態1に従う撮影条件の変更処理の第2変形例に用いられる露光時間と「明るさ」との対応関係の一例を示す図である。
【図15】稼動モードの一例であるサーチ処理の表示例を示す図である。
【図16】稼動モードの一例であるエッジスキャン処理の表示例を示す図である。
【図17】この発明の実施の形態1に従う画像処理装置における全体処理を示すフローチャートである。
【図18】この発明の実施の形態1に従う画像処理装置における撮影条件の変更処理を示すフローチャートである。
【図19】図17および図18に示す画像合成処理サブルーチンにおける処理を示すフローチャートである。
【図20】この発明の実施の形態2に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【図21】この発明の実施の形態2に従う画像処理装置の制御構造を示す機能ブロック図である。
【図22】この発明の実施の形態2に従う動き適応表示モードが有効化された場合の動作を示すタイムチャートである。
【図23】この発明の実施の形態2に従う画像処理装置における「設定モード」における合成画像の表示に係るフローチャートである。
【図24】この発明の実施の形態3に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【図25】この発明の実施の形態3に従う画像処理装置のモニタに表示される「稼動モード」における画面表示例を示す図である。
【図26】この発明の実施の形態3に従う画像処理装置の制御構造を示す機能ブロック図である。
【図27】この発明の実施の形態4に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【図28】図27において指定領域が設定された後の画面表示例を示す図である。
【図29】この発明の実施の形態4に従う画像処理装置の制御構造を示す機能ブロック図である。
【発明を実施するための形態】
【0022】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0023】
[実施の形態1]
<全体装置構成>
図1は、この発明の実施の形態1に従う画像処理装置を含む視覚センサシステム1の全体構成を示す概略図である。
【0024】
図1を参照して、視覚センサシステム1は、代表的に生産ラインなどに組込まれ、被測定物(以下「ワーク」とも称す。)における欠陥などを光学的に検査したり、その大きさなどを光学的に計測したりする。一例として、この発明の実施の形態1においては、ワーク2は、ベルトコンベヤなどの搬送機構6によって搬送され、搬送されたワーク2は、撮像装置8によって順次撮影される。撮像部8によって撮影された画像データ(以下「入力画像データ」とも称す。)は、本実施の形態に従う画像処理装置を実現する代表例であるコンピュータ100へ伝送される。なお、撮像部8で撮影されるワーク2に対して光を照射する照明機構をさらに設けてもよい。
【0025】
また、ワーク2が撮像部8の撮影範囲に到達したことは、搬送機構6の両端に配置された光電センサによって検出される。具体的には、光電センサは、同一の光軸上に配置された受光部4aと投光部4bとからなり、投光部4bから放射される光がワーク2で遮蔽されることを受光部4aで検出することによって、ワーク2の到達を検出する。なお、搬送機構6の制御自体は、図示しないPLC(Programmable Logic Controller)などによっ
て制御される。
【0026】
撮像部8は、上述した光電センサによってワーク2の到着が検出されると、これに応じてワーク2を撮影する。あるいは、連続的に撮影を行っておき、ワーク2の到着が検出されると、後述するワーク2の検査や計測を行なうようにしてもよい。
【0027】
一例として、撮像部8は、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった、複数
の画素に区画された撮像素子を含んで構成される。各画素に対応する撮像素子は、入射する光に対して複数の分光感度を有している。
【0028】
より具体的には、撮像部8の撮像素子は、一例として、各画素について、光の三原色に基づく「赤色」「緑色」「青色」のそれぞれに分光感度を有している。そして、撮像装置8の撮像素子は、入射する光についての「赤色」「緑色」「青色」の3色の検出値(R輝度、G輝度、B輝度)を出力する。ここで、たとえば、R輝度は、撮像素子に入射する光のうち、赤色の分光感度に含まれる波長成分に相当する光のエネルギー(光強度)の大き
さを示す。G輝度およびB輝度についても、それぞれ対応の分光感度に含まれる波長成分に相当する光のエネルギー(光強度)の大きさを示す。また、本実施の形態では、R輝度、G輝度、B輝度は、いずれも8ビット(0〜255階調)の範囲で規定されるものとする。
【0029】
なお、撮像素子が有する分光感度は3つ(3バンド)に限定されることなく、より多くの色に分光感度をもつようにしてもよい。このようなマルチバンドの撮像素子を用いることで、より撮像可能な色域を拡大させることができる。あるいは、光の三原色の補色である「シアン」「マゼンダ」「黄色」の3色の検出値(C輝度、M輝度、Y輝度)を分光感度として有していてもよい。また、単板式のCCDなどを用いる場合には、各画素が「赤色」「緑色」「青色」のうち1色だけについて受光感度を有している場合がある。このような場合には、図示しない補間部によって、「赤色」「緑色」「青色」の各々についての輝度をもつ入力画像データを生成してもよい。
【0030】
特に、本実施の形態に従う撮像部8は、撮影時の撮影条件を変更可能である。この撮影条件には、露光条件すなわち撮像素子に入射する光エネルギーを調整するための値が含まれ、代表的に、光学系のしぼり量や機械的または電子的なシャッター速度、照明強度によって調整される。本実施の形態では、露光条件の代表例として「露光時間」を調整する構成について例示するが、露光時間に限られず、しぼり量などを調整するようにしてもよい。また、露光条件の変更に代えて、照明光の強度の調整によって同様に撮像素子に入射する光エネルギーを調整するようにしてもよい。
【0031】
一方、コンピュータ100は、FD(Flexible Disk)駆動装置111およびCD−R
OM(Compact Disk-Read Only Memory)駆動装置113を搭載するコンピュータ本体101と、モニタ102と、キーボード103と、マウス104とを含む。そして、コンピュータ本体101は、予め格納されたプログラムを実行することで、本実施の形態に従う画像処理装置を実現する。
【0032】
<ハードウェア構成>
図2は、コンピュータ100のハードウェア構成を示す概略構成図である。
【0033】
図2を参照して、コンピュータ本体101は、図1に示すFD駆動装置111およびCD−ROM駆動装置113に加えて、相互にバスで接続された、CPU(Central Processing Unit)105と、メモリ106と、固定ディスク107と、カメラインターフェイ
ス部109と、PLCインターフェイス部115と、センサインターフェイス部117とを含む。
【0034】
FD駆動装置111にはFD112が装着可能であり、CD−ROM駆動装置113にはCD−ROM114が装着可能である。上述したように、本実施の形態に従う画像処理装置は、CPU105がメモリ106などのコンピュータハードウェアを用いて、プログラムを実行することで実現される。一般的に、このようなプログラムは、FD112やCD−ROM114などの記録媒体に格納されて、またはネットワークなどを介して流通する。そして、このようなプログラムは、FD駆動装置111やCD−ROM駆動装置113などにより記録媒体から読取られて、記憶装置である固定ディスク107に一旦格納される。さらに、固定ディスク107からメモリ106に読出されて、CPU105により実行される。
【0035】
CPU105は、プログラムされた命令を順次実行することで、各種の演算を実施する処理部である。メモリ106は、CPU105でのプログラム実行に応じて、各種の情報を一時的に記憶する。処理に用いられる各種設定も記憶部であるメモリ106に記憶され
、もしくは一旦固定ディスク107やその他の記録媒体に格納された上でメモリ106へ読み出され、CPU105が演算を実施する際に参照される。
【0036】
カメラインターフェイス部109は、コンピュータ本体101と撮像部8との間のデータ通信を仲介するための装置であり、撮像部8で撮影された入力画像データを示す電気信号を受信してCPU105が処理可能なデータ形式に変換するとともに、CPU105が出力した指令などを電気信号に変換して撮像部8へ送出する。特に、撮像部8によって撮影された入力画像データは、カメラインターフェイス部109を介して、メモリ106または固定ディスク107へ格納される。
【0037】
PLCインターフェイス部115は、コンピュータ本体101と図示しないPLCとの間のデータ通信を仲介するための装置である。また、センサインターフェイス部117は、上述した光電センサなどからの検出信号を受信して、CPU105へ伝達する。
【0038】
固定ディスク107は、CPU105が実行するプログラムや入力画像データなどを記憶する不揮発性の記憶装置である。
【0039】
コンピュータ本体101に図示しない表示画面出力部を介して接続されるモニタ102は、CPU105が出力する情報を表示するための表示部であって、一例としてLCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などから構成される。後述するように、本実施の形態に従うモニタ102は、ワーク2を撮影して生成される合成画像、1回あたりの処理に要する見込みの処理時間、合成画像を構成する画素の輝度についてのヒストグラムなどを表示する。
【0040】
マウス104は、クリックやスライドなどの動作に応じたユーザからの指令を受付け、キーボード103は、入力されるキーに応じたユーザからの指令を受付ける入力部である。
【0041】
また、コンピュータ100には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【0042】
<動作モード>
本実施の形態に従う視覚センサシステム1は、ワーク2を撮影することで生成される合成画像データを用いて実際に検査や計測を実行する「稼動モード」と、ワーク2についての合成処理に係る設定を行なうための「設定モード」とを選択することが可能である。
【0043】
ユーザは、「設定モード」において、モニタ102に表示される合成画像データに基づく合成画像を参照しながら、適切な撮影条件を設定する。また、「稼動モード」では、実際に生産ラインを流れるワーク2を撮影して得られる合成画像データを生成し、この合成画像データに対して検査や計測が行われる。
【0044】
<画像合成処理>
次に、合成画像データを生成するための画像合成処理について説明する。本実施の形態に従う画像合成処理は、主として撮像部8のダイナミックレンジを拡大させるためのものである。
【0045】
図3は、ワークとして腕時計の裏面を撮影した場合の入力画像データを示す図である。
図3(a)は、露光時間が相対的に長い条件下で1回の撮影により得られた撮影画像を示し、図3(b)は、露光時間が相対的に短い条件下で1回の撮影により得られた撮影画像を示す。なお、図3(a)および図3(b)において、撮像部へ入射する光の強度は同
じ条件、すなわちしぼり量、照明強度は同じ条件である。図3に示すワークは、金属製の時計本体部と皮革製のバンド部とを含む。両者の反射率は大きく異なるので、各部分毎に放射され(反射され)撮像部の撮像素子へ入射する光パワー(単位時間当たりに放射される光エネルギー)にも大きな差がある。
【0046】
そのため、露光時間が長くなると、相対的に反射率の高い時計本体部は白飛びを生じてしまい、輝度情報を取得することができない。すなわち、図3(a)に示すように、時計本体部に記された文字が識別できなくなっていることがわかる。これに対して、露光時間が短くなると、相対的に反射率の低いバンド部から十分な光エネルギーを受光することができず、有効な輝度情報を取得することができない。すなわち、図3(b)に示すように、バンド部は黒つぶれを生じており、ステッチなどの欠陥が識別できなくなっていることがわかる。
【0047】
そこで、本実施の形態に従う画像処理装置は、同一のワークに対して取得される画像データの輝度を異ならせた撮影条件で複数回撮影し、撮影された複数の入力画像データから合成画像データを生成する。入力画像データは、撮像部8の撮像素子の各画素に入射する光エネルギーに相当する値(各色の輝度)を含んでおり、本実施の形態に従う画像処理装置は、各画素に対応するそれぞれの入力画像データの光エネルギーに相当する値(各色の輝度)と、対応する入力画像データの撮影時の撮影条件とに基づいて、合成画像データの各画素の色情報(以下、「合成色情報」とも称す。)および被測定物から各画素に入射する光パワーと所定の対応関係にある(あるいは、各画素に入射する光パワーから一意に決定される)輝度情報(以下、「合成輝度情報」とも称す。)を算出する。そして、合成色情報及び合成輝度情報に基づいて、合成画像データが生成される。
【0048】
概略すると、この合成輝度情報の算出処理では、入力画像データそれぞれにおける対応する画素における光エネルギーに相当する値(輝度)を撮影条件で規格化した上で、その輝度が適切であるものが優先的に採用される。同じ被測定物を撮影しても、撮影条件が異なると、各撮影条件に対応して撮像素子に入射する光パワーの割合が異なるため、取得される画像データの画素の輝度も異なることになるが、この撮影条件の違いにより撮像素子に入射する光パワーの変化の割合を、撮影条件に基づいて補正し、共通化された輝度の尺度である規格化輝度によって各画像の画素の輝度を表している。ワークを表現する合成画像データの各画素の合成輝度情報は、主として、ワークから放射(反射を含む)される光が撮像素子によって撮影されたときに撮像素子の有するダイナミックレンジに適切におさまる撮影条件で撮影された画素がもつ情報により算出される。このような処理によって、適切な撮影条件で撮影された輝度をもつ画素の集合として、合成画像データを生成できる。図3(c)は、本実施の形態に従う画像合成処理によって生成された合成画像データの一例を示す図である。図3(c)に示すように、上述の画像合成処理を行なうことで、図3(a)のような白飛びや図3(b)に示すような黒つぶれを含まない合成画像データを生成できる。
【0049】
本実施の形態に従う画像合成処理は、主として以下の4つの処理によって実現される。
(1)ワークを異なる露光条件で複数回撮影する処理(撮影処理)
(2)撮影された入力画像データの輝度情報から合成輝度情報を算出する処理(輝度合成処理)
(3)撮影された入力画像データの色情報から合成色情報を算出する処理(色合成処理)
(4)合成色情報と合成輝度情報とから合成画像データを生成する処理(生成処理)
<制御構造>
図4は、この発明の実施の形態1に従う画像処理装置の制御構造を示す機能ブロック図である。
【0050】
図4を参照して、本実施の形態に従う画像処理装置は、上述の(1)撮影処理を実現するための制御構造として、撮影制御部200と、選択部202と、画像バッファ204a〜204hと、画像情報抽出部206a〜206hとを含む。また、本実施の形態に従う画像処理装置は、上述の(2)輝度合成処理を実現するための制御構造として、輝度合成部210と、トーンマッピング部214と、明るさ上下限設定部216と、ヒストグラム生成部218とを含み、上述の(3)色合成処理を実現するための制御構造として、色合成部208を含む。また、本実施の形態に従う画像処理装置は、上述の(4)生成処理を実現するための制御構造として、画像生成部212を含む。さらに、本実施の形態に従う画像処理装置は、処理時間算出部222を含む。尚、上記撮影制御部200、選択部202、画像情報抽出部206a〜206h、輝度合成部210、トーンマッピング部214、明るさ上下限設定部216、ヒストグラム生成部218、色合成部208、画像生成部212と処理時間算出部222は、処理部であるCPU105によりその制御及び処理が行なわれる。画像バッファ204a〜204hは、記憶部であるメモリ106により構成されている。
【0051】
以下、上述の画像合成処理に係る各処理の内容を各機能ブロックの動作とともに説明する。
【0052】
<(1)撮影処理>
図4を参照して、撮影制御部200は、撮像部8に同一のワークを異なる露光条件で複数回撮影させることにより複数の入力画像データを生成する。撮影制御部200は、ユーザ設定に応じて、どのように露光条件を変更するかについて決定する。より具体的には、本実施の形態に従う撮像部8は、一例として、シャッター速度を任意に設定可能な電子シャッターを有しており、これにより露光時間を任意に変更可能となる。その変更可能な露光時間は、一例として「1/10秒」,「1/20秒」,「1/40秒」,「1/80秒」,「1/160秒」,「1/320秒」,「1/640秒」,「1/1280秒」の8通りを標準として含む。この変更可能な露光時間群は、「1/10秒」を基準(最も遅い値)として、2のべき乗で順次早くなるように設定されている。
【0053】
特に、撮影制御部200は、1回の合成処理に割り当てることのできる許容時間をユーザ設定として受付け、合成処理がこの許容時間を超過しないように、撮像部8による撮影回数および各撮影における露光条件(露光時間)を決定または変更する。このとき、撮影制御部200は、上述の8通りに含まれない露光時間を採用することも可能である。なお、撮影制御部200による撮影回数および各撮影における露光条件(以下、「撮影条件」とも称す。)の変更処理については、後述する。
【0054】
撮影制御部200は、撮影回数および各撮影における露光条件を決定すると、この決定内容に従って、撮像部8に撮影条件についての指令を与えることで、ワークを順次撮影して入力画像データを順次生成する。撮影制御部200は、露光時間別の撮影に同期して、選択部202に選択指令を与える。基本的には、1つの合成画像データを生成するための一連の撮影(たとえば、露光時間が「1/10秒」〜「1/1280秒」までの8回分の撮影)は、循環的に繰返される。
【0055】
選択部202は、撮像部8と、複数の画像バッファ204a〜204hとの間に配置され、撮影制御部200からの選択指令に応じて、画像バッファ204a〜204hのいずれか1つと撮像部8とを電気的に接続する。以下では、画像バッファ204a〜204hを総称して「画像バッファ204」とも記す。これにより、撮像部8で撮影された入力画像データは、撮影制御部200からの選択指令に応じた特定の画像バッファ204へ伝送される。
【0056】
画像バッファ204a〜204hは、撮像部8からの入力画像データを一時的に格納する記憶部であり、撮像装置における露光時間に対応付けて構成される。すなわち、各画像バッファ204は、対応する特定の露光時間において撮影された入力画像データのみを選択的に格納するように構成される。たとえば、画像バッファ204aに露光時間「1/10秒」が割り当てられている場合には、画像バッファ204aは、露光時間が「1/10秒」である露光条件で撮影された入力画像データのみを格納する。このような機能は、撮影制御部200が、撮像部8に対して撮影条件についての指令を出力するのと同期して、選択部202に対して当該撮影条件に対応する選択指令を出力することで実現される。
【0057】
上述したように、1つの合成画像データを生成するための一連の撮影が循環的に繰返されるので、各画像バッファ204に格納される入力画像データは、この一連の撮影に要する周期毎に更新されることになる。なお、後述するように、撮像部8に設定可能なすべての露光時間についての撮影が常に実行されるわけではなく、その一部の必要な露光時間の組においてのみ撮影が実行される場合もある。
【0058】
また、後述するように、撮影制御部200が上述の8通りに含まれない露光時間を採用する場合には、各画像バッファ204に対応付けられる露光時間も任意に変更され得る。
【0059】
画像情報抽出部206a〜206hは、それぞれ画像バッファ204a〜204hに対応付けられており、対応の画像バッファ204に格納された入力画像データから、色情報および輝度情報をそれぞれ抽出する。代表的に、入力画像データは、各画素に入射する光エネルギーに相当する値である3色の輝度(R輝度、G輝度、B輝度)からなる。入力画像データの色情報は、これらの3色の輝度を規格化した上で、各輝度の相対関係(相対比)を表わしたものであり、入力画像データの輝度情報は、各画素に入射する光エネルギーに相当する値を総合的に表わしたものであり、3色の輝度の平均値(あるいは、総和)に相当する。なお、本実施の形態では、R輝度、G輝度、B輝度の各々は、いずれも8ビット(0〜255階調値)の範囲で規定されるとする。そのため、輝度情報についても8ビット(0〜255階調値)の範囲で規定される。
【0060】
なお、この輝度情報および色情報を抽出する前処理として、入力画像データに対するホワイトバランス補正を行なってもよい。
【0061】
そして、画像情報抽出部206a〜206hは、抽出した色情報を色合成部208へ出力するとともに、抽出した輝度情報を色合成部208および輝度合成部210へ出力する。
【0062】
<(2)輝度合成処理>
図4を参照して、輝度合成部210は、撮像部8によって撮影された各入力画像データの光エネルギーに相当する値(輝度情報)を対応する露光条件によってそれぞれ規格化した上で、各画素の合成輝度を算出する。上述したように、露光時間を変更することで、撮影に適した光パワーの範囲が変動する。すなわち、露光時間が相対的に短ければ、光パワーのより大きな範囲の撮影に適し、露光時間が相対的に長ければ、光パワーのより小さな範囲の撮影に適する。
【0063】
そこで、本明細書においては、ワークから放射される光パワーの大きさを示す「明るさ」という指標を用いる。なお、「明るさ」は、撮像部8の性能に依存する相対的な値であり、同じ「明るさ」であっても、撮像素子の感度や光学系の開放値などが異なれば、実際の光パワーは異なったものとなる。
【0064】
一般的に、撮像部8の撮像素子に入射する光エネルギーの大きさは、露光時間に比例すると考えられる。そのため、本明細書における「明るさ」としては、代表的に、撮像装置8で検出された輝度を露光時間で割り、その値について対数をとったものを採用する。したがって、本明細書における「明るさ」は、単位露光時間あたりの光エネルギー(光パワー)の大きさを示す指標である。このような「明るさ」を用いることで、撮像部8に設定可能な各露光時間に対応させて、撮像部8による撮影に適した「明るさ」範囲を予め規定することができる。
【0065】
より具体的には、本実施の形態に従う撮像部8に設定可能な8つの露光時間は、2のべき乗で順次短くなるようになっているので、各露光時間と「明るさ」との対応関係を図5のように定めることができる。
【0066】
図5は、撮像部8に設定される露光時間と撮影に適した「明るさ」との対応関係の一例を示す図である。
【0067】
図5を参照して、露光時間が「1/10秒」である場合に撮影に適した「明るさ」の代表値を「20」に設定すると、露光時間を1/2倍した「1/20秒」である場合には、撮影に適した「明るさ」の代表値を「10」だけ加算した「30」に設定できる。このように順次設定することで、露光時間を「1/10秒」〜「1/1280秒」の範囲に対応付けて、「明るさ」の代表値を「20」〜「90」にそれぞれ設定できる。さらに、各露光時間がカバーする範囲を「明るさ」の代表値を中心として、−側に「10」から+側に「10」であると設定すると、露光時間が「1/10秒」である場合に撮影に適した「明るさ」範囲を「10〜30」に設定できる。同様にして、残りの撮影時間についても、「明るさ」の代表値を中心とした「±10」の範囲を「明るさ」範囲として採用する。
【0068】
また、いずれの「明るさ」についても、複数の露光時間の「明るさ」範囲によってカバーされるように設定することが好ましい。図5に示す例においては、「明るさ」範囲が10〜90の範囲では、いずれの「明るさ」についても、少なくとも2つの露光時間によってカバーするように設定されている。すなわち、たとえば「50」の「明るさ」には、「1/40秒」、「1/80秒」、「1/160秒」の3つの露光時間が対応し、この3つの露光時間によってカバーされていることを示す。ユーザが入力する「明るさ」上下限値の範囲(後述する)が狭い場合であっても、異なる露光時間で複数回の撮影が選択されるようになる。
【0069】
この図5に示す露光時間と「明るさ」範囲との関係は、撮像部8で撮影可能な「明るさ」範囲のうち、ユーザによって必要な「明るさ」範囲が設定されると、当該設定に対応する複数の露光時間の各々での撮影が行なわれるようになる。すなわち、図5に示す露光時間のすべてにおいて撮影が行なわれるのではなく、特定の露光時間における撮影のみを行なうことで、画像合成処理に係る処理時間を短縮することもできる。
【0070】
より具体的には、ユーザによって、「明るさ」範囲が「30〜60」に設定された場合には、例えば、その範囲内に含まれる「1/20秒」,「1/40秒」,「1/80秒」の露光時間で1処理あたり3回の撮影が行なわれる。
【0071】
再度、図4を参照して、輝度合成部210は、ワークを複数回撮影して得られる複数の入力画像データを用いて、合成画像データの各画素の輝度である合成輝度を算出する。より具体的には、輝度合成部210は、合成画像データの各画素(座標位置i)に対応するp個の入力画像データにおけるそれぞれの画素の輝度を露光時間で規格化することで、各画素の合成輝度Eiを算出する。輝度合成部210による合成輝度Eiの算出式は以下のようになる。
【0072】
【数1】
【0073】
上式において、「log2(g(Zi,j)/Tj)」の項が、各入力画像データにおける輝度を露光時間で規格化した上で、「明るさ」として評価した値に相当する。これは、たとえば同じ輝度「128」であっても、露光時間が相対的に短ければ、その実際の「明るさ」はより大きな値として評価すべきであり、露光時間が相対的に長ければ、その実際の「明るさ」はより小さな値として評価すべきであるという技術思想に基づくものである。すなわち、対応の入力画像データの撮影時の露光条件に応じた係数1/Tjを乗じることで露光時間による規格化を行ない、この規格化した値を累積加算することで合成輝度Eiが算出される。
【0074】
代表的に、合成輝度Eiは、図5に示す各露光時間と「明るさ」範囲との関係に従って、0〜100の範囲の値として算出される。なお、理解を容易にするために、0〜100の範囲で表しているが、合成して得られる画像の「明るさ」の階調は、1回の撮影で得られる画像がもつ階調(たとえば、8ビット)よりも大きくなることから、データとしては、小数点以下の桁も有する値である(たとえば、16ビットのデータを用いて小数点以下4桁までの値として取扱う)。
【0075】
上式においては、さらに、重み関数w(Z)と撮像部8の撮像素子の応答関数g(Z)を導入している。図6を参照して、これらの関数について説明する。
【0076】
図6は、重み関数および応答関数の特性の一例を示す図である。図6(a)は、重み関数w(Z)の特性を示し、図6(b)は、応答関数g(Z)の特性を示す。
【0077】
図6(a)を参照して、重み関数w(Z)は、撮像部8から出力される輝度の値に応じて、その信頼度を反映するための関数である。すなわち、ある露光条件において、撮像装置8から出力される輝度のうち、その下限値(0)または上限値(255)に近い値は、その中間値(128)に近い値に比較して信頼度が低いと考えられる。換言すれば、仮に撮像部8がある露光条件において最も適した「明るさ」をもつ被測定物を撮影すると、その輝度はほぼ中間値になると考えられる。
【0078】
そこで、このような特性を考慮して、重み関数w(Z)としては、輝度階調値の中間値の近傍に比較して、下限値または上限値の近傍の値がより小さくなるような関数を用いることが好ましい。一例として、本実施の形態では、輝度階調値の中間値が最大値(128)となるとともに、下限値および上限値でそれぞれゼロとなるような三角形状の重み関数
を採用する。このような重み関数を採用することで、露光時間毎の入力画像データのうち、その輝度が所定範囲内にあるものを優先的に採用して合成輝度が算出される。
【0079】
また、図6(b)を採用して、応答関数g(Z)は、撮像部8から出力される輝度と実際に撮像部8に入力する光エネルギーとの間の非線形性を補償するための関数である。たとえば、CCDなどの撮像素子では、入力する光エネルギーあるいは光量と出力される電圧信号との関係は非線形となる。このような非線形特性はガンマ特性などとも称される。応答関数g(Z)は、このようなガンマ特性を補償して、撮像部8から出力される輝度を、実際に撮像部8に入力する光エネルギーに比例するように補正するものである。なお、図6(b)には、簡単化のため、撮像部8から出力される輝度が入力する光エネルギーと比例関係にある場合の応答関数g(Z)を示す。
【0080】
なお、上式中の定数項の「−8」は、各露光時間と「明るさ」範囲との関係を図5のように定めた場合に生じるオフセットを補償するための項であり、各露光時間と「明るさ」範囲との関係に応じて適宜設定することができる。
【0081】
また、上式中では、「2」を底にした対数を用いているが、必ずしも「2」に限定されるものではなく、ネイピア数「e」を底にした自然対数や「10」を底にした常用対数などを用いてもよい。
【0082】
(トーンマッピング)
再度、図4を参照して、輝度合成部210は、算出した合成輝度Eiをトーンマッピング部214へ出力する。トーンマッピング部214は、合成輝度Eiに基づいて合成画像データを生成するための輝度情報を生成する。具体的には、トーンマッピング部214は、各合成輝度Ei(輝度範囲:0〜100;但し、256階調より大きな階調をもつ)を合成画像データの輝度範囲(たとえば、0〜255階調値)に割り当てることで、合成画像データの輝度情報を生成する。なお、各合成輝度Eiの分解能(ダイナミックレンジ)は、入力画像データより高くなるので、合成画像データの輝度範囲を入力画像データより多階調化することで、より精度の高い合成画像データを生成できる。
【0083】
特に、トーンマッピング部214は、後述するようにユーザによる「明るさ」上下限の設定に応じて、合成輝度Eiのうち所定範囲を合成画像データの輝度範囲に割り当てる。
【0084】
図7は、トーンマッピング部214による割り当て処理を説明するための図である。
図7を参照して、説明を簡素化するために、トーンマッピング部214が線形の割り当て処理を行なう場合について例示する。最も簡単な例としては、輝度範囲が0〜100である合成輝度Eiの比例関係を保ったまま、0〜255の範囲の階調値への割り当てである。これにより、モニタが持つ表示能力より大きな階調をもつデータを、モニタの持つ表示能力に合わせた階調(たとえば、8ビット表示)で表示することができる。
【0085】
上述したように、ユーザによって「明るさ」上限値Bmaxと「明るさ」下限値Bminが設定された場合には、トーンマッピング部214は、以下のような式に従って、輝度Yiへの割り当てを行なう。
【0086】
Yi=255×(Ei−Bmin)/(Bmax−Bmin)
(計算例)
一例として、それぞれ3つの露光時間「1/20秒」,「1/40秒」,「1/80秒」において撮影が行なわれることで入力画像データが取得された場合において、3つの入力画像データの座標位置iにおける輝度が、それぞれ「190」,「100」,「50」であるとする。この場合において、当該座標位置iに対応する画素の合成輝度Eiは以下
のように算出される。但し、W(190)=65,W(100)=100,W(50)=50である。
【0087】
Ei=10×{65×(log190+log20−8)+100×(log100+log40−8)+50×(log50+log80−8)}/(65+100+50)=40
そして、ユーザによって、「明るさ」上限値Bmaxが「60」で、「明るさ」下限値Bminが「30」に設定された場合には、合成画像データの輝度Yiは以下のように算出される。
【0088】
Yi=255×(40−30)/(60−30)=85
(ヒストグラム生成)
再度、図4を参照して、輝度合成部210は、算出した合成輝度Eiをヒストグラム生成部218へも出力する。ヒストグラム生成部218は、合成輝度Eiについてのヒストグラムを生成する。すなわち、ヒストグラム生成部218は、各画素の合成輝度Eiを所定幅の階級に区分した上で画素数を積算していく。これは、ユーザが、輝度合成部210によって算出される合成輝度Eiのうち相対的に比率の高い範囲を参照しながら、上述の「明るさ」上限値および「明るさ」下限値を設定することを助ける。
【0089】
また、ヒストグラム生成部218は、後述するユーザ設定に応じて、ヒストグラムの生成処理を中断または再開可能に構成される。
【0090】
<(3)色合成処理>
図4を参照して、色合成部208は、複数の入力画像データの色情報から合成色情報を算出する。後述するように、合成画像データの各画素は、色合成部208で算出される合成色情報に、輝度合成部210およびトーンマッピング部214によって算出される合成輝度情報を乗じて得られるため、色合成部208から出力される合成色情報は、「赤色」、「緑色」、「青色」の相対的な比を示す値となる。
【0091】
また、色合成部208は、上述の輝度合成部210と同様に、各座標位置に対応する複数の入力画像データにおけるそれぞれの画素の色情報に基づいて、合成画像データの各画素の合成色情報を算出する。より具体的には、色合成部208は、各入力画像データの色情報と、その信頼度に応じた重みとを乗算した値を累積加算することで、合成色情報を生成する。
【0092】
ここで、j番目の入力画像データの座標位置iにおける色情報を(ri,j,gi,j,bi,j)とする。但し、色合成部208は、画像情報抽出部206a〜206hから出力される色情報を、ri,j+gi,j+bi,j=1が成立するように規格化する。また、j番目の入力画像データの座標位置iにおける輝度をZi,jとする。この規格化された色情報および輝度を用いると、合成色情報(ri,gi,bi)の算出式は以下のようになる。
【0093】
【数2】
【0094】
ここで、重み関数w(Z)は、図6(a)と同様の特性を有する。すなわち重み関数w(Z)は、撮像部8から出力される輝度の値に応じて、その信頼度を反映するための関数である。この重み関数w(Z)の技術的な意味については、上述したので詳細な説明は繰返さない。
【0095】
そして、色合成部208は、算出した合成色情報を画像生成部212へ出力する。
<(4)生成処理>
画像生成部212は、輝度合成部210およびトーンマッピング部214によって生成された輝度Yiを、対応する合成色情報(ri,gi,bi)に順次乗じることによって、座標位置iの画素の画像情報を順次算出し、これによって合成画像データを生成する。
【0096】
すなわち、合成画像データの座標位置iの座標における絶対的な色情報(Ri,Gi,Bi)は、以下のように表わすことができる。
【0097】
(Ri,Gi,Bi)=Yi×(ri,gi,bi)
以上のような(1)〜(4)の手順に従って、合成画像データが生成される。なお、(1)の撮影処理では一連の撮影動作が繰返し実行され、この撮影処理の繰返し実行に同期して、(2)〜(4)の処理も実行される。
【0098】
<処理時間算出>
再度、図4を参照して、処理時間算出部222は、1つの合成画像データの生成に要する見込みの処理時間を算出する。より具体的には、処理時間算出部222は、撮影制御部200からの情報に基づいて、撮像部8による撮影回数、各撮影における露光時間、画像合成処理の処理量などを考慮して、処理時間を推定する。この処理時間は、1つの合成画像データの生成に要する、撮像部8による撮影開始から合成画像データの生成完了までの時間に相当する。処理時間算出部222によって算出された処理時間は、ユーザに向けて表示されるとともに、撮影制御部200へ出力されて、撮影条件の変更処理に用いられる
。
【0099】
<画面表示例>
図8は、この発明の実施の形態1に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【0100】
図8を参照して、「設定モード」が選択されると、モニタ102には設定モード画面300が表示される。なお、CPU105および図示しないグラフィックボードなどが協働することで、表示画面出力部として機能し、モニタ102に設定モード画面300を表示させる。このような画面表示は、OS(Operating System)の一部として組込まれるGUI(Graphical User Interface)プログラムによって実現され、またGUIは、ユーザがキーボード103やマウス104により操作される画面上のカーソルを用いて、さまざまなユーザ設定を行なうための環境も提供する。
【0101】
設定モード画面300には、設定値入力エリア310と、ヒストグラム表示エリア320と、合成画像表示エリア330と、撮影情報表示エリア340と、表示モード選択エリア350とを含む。
【0102】
設定値入力エリア310には、「明るさ」上限値を設定するためのスライドバー312、「明るさ」下限値を設定するためのスライドバー314、および「許容時間」を設定するためのスライドバー316が配置される。このスライドバー312および314の操作によって設定される「明るさ」上下限値は、上述した明るさ上下限設定部216(図4)に入力される。そして、この「明るさ」上下限値に応じて、図5に示す関係に基づいて必要な露光時間が選択され、撮像部8における撮影回数および露光時間が変更される。
【0103】
また、スライドバー316の操作によって設定される「許容時間」は、1つの合成画像データの生成に要する処理時間の許容される最大値を設定するものである。すなわち、ユーザは、本実施の形態に従う視覚センサシステム1が配置される生産ラインなどのタクトタイムなどに基づいて、1つの合成画像データの生成処理に割り当てることのできる最大の処理時間を「許容時間」として設定する。この「許容時間」は、撮影制御部200(図4)へ与えられる。
【0104】
ヒストグラム表示エリア320には、ヒストグラム生成部218(図4)で生成されたヒストグラムが視覚的に表示される。さらに、このヒストグラム上には、上述のスライドバー312,314の操作によって設定される「明るさ」上下限値に対応する位置に、それぞれの値に対応する位置表示がなされる。
【0105】
合成画像表示エリア330には、設定された「明るさ」上下限値に応じて生成される合成画像データに基づく合成画像が表示される。この合成画像表示エリア330に表示される合成画像は、稼動モードにおいて検査や計測に用いられる合成画像データを表示するものであり、ユーザは、この合成画像表示エリア330の表示を参照して、ワークに対する照明条件や「明るさ」上下限値などの設定を調整する。
【0106】
また、合成画像表示エリア330の表示画像は、画像生成部212(図4)によって合成画像データが生成される毎に更新される。そのため、ユーザに対して、実質的に合成画像を動画のように表示することができる。なお、この合成画像表示の更新周期は、撮像装置8による撮影回数、各撮影における露光条件、および画像合成処理に要する時間に依存するため、本実施の形態に従う画像処理装置は、この更新周期をユーザ設定に応じて変更可能に構成されている。
【0107】
撮影情報表示エリア340には、「撮影時間」、「撮影回数」、「シャッター速度」が表示される。「撮影時間」は、処理時間算出部222(図4)によって算出される、1つの合成画像データの生成に要する見込みの処理時間である。また、「撮影回数」は、合成画像データの生成に必要な撮影回数(すなわち、入力画像データの枚数)を表示し、「シャッター速度」は、撮像部8に設定されている(あるいは、設定可能な)露光時間の最大値と最小値とを表示する。すなわち、表示される「撮影時間」は、1つの合成画像データの生成に用する処理周期を示す。
【0108】
表示モード選択エリア350には、ヒストグラム表示エリア320におけるヒストグラムの表示/非表示を選択するラジオボタン354が表示される。ラジオボタン354によって、ヒストグラムの非表示が選択されると、ヒストグラム表示エリア320におけるヒストグラム表示が行なわれない。
【0109】
さらに、設定モード画面300には、「OK」ボタン362と、「CANCEL」ボタン364とが配置されており、ユーザが「OK」ボタン362を選択すると、各項目において設定された値が固定ディスク107などに格納された上で「稼動モード」に移行する。一方、ユーザが「CANCEL」ボタン364を選択すると、各項目において設定された値が固定ディスク107などに格納されずに「稼動モード」に移行する。
【0110】
<稼動モードにおける制御構造>
図9は、この発明の実施の形態1に従う画像処理装置の稼動モードにおける制御動作を説明するための図である。
【0111】
図9を参照して、一例として、合成画像データが3つの入力画像データから合成できる場合には、撮像部8をそれぞれ3つの露光条件に順次設定した上で撮影が行なわれる。これに伴って、8つの画像バッファ204のうち、3つの画像バッファ204のみから入力画像データが出力される。このように、「稼動モード」では、撮像部8による露光条件(撮影時間)および画像合成処理時間を効率化して、全体の処理時間を短くすることができる。
【0112】
図8に示す設定モード画面300において、ヒストグラムを表示するためには、基本的に撮像部8に設定可能なすべての露光条件において撮影を行なう必要がある。これは、ユーザが「明るさ」上下限値を適切に設定できるように、すべての露光条件を反映したヒストグラムを表示する必要があるためである。
【0113】
これに対して、ユーザがヒストグラムを非表示に選択した場合には、上記のような考慮を行なわなくてもよいので、合成画像データの生成に必要な入力画像データだけを撮影するようにすればよい。すなわち、設定された「明るさ」上下限値に応じて、必要な撮影回数および各撮影時のおける露光条件に応じてワークを撮影すれば十分である。したがって、図9に示すような、必要な入力画像データのみを取得する制御動作に切り替えることで、「設定モード」時の合成画像表示エリア330に表示される合成画像の更新をより高速に行なうこともできる。
【0114】
<「明るさ」上下限値の設定>
撮影制御部200(図4)は、ユーザが設定する「明るさ」上下限値に応じて、図5に示す関係を参照して、撮影回数および各撮影における露光時間を決定する。このとき、トーンマッピング部214が、合成輝度の対応する範囲を合成画像データの輝度範囲に割り当てるので、ワークのうち任意の「明るさ」をもつ領域に着目した合成画像を表示することもできる。
【0115】
たとえば、指定された「明るさ」の下限値を「0」とし、上限値を「255」に割り当てて、0〜255階調の画像として表示することができる。
【0116】
図10は、この発明の実施の形態1に従う画像処理装置における「明るさ」上下限値と合成画像との関係の一例を示す図である。なお、ワークは、図3と同一の腕時計の裏面とした。
【0117】
図10(a)に示すように、ヒストグラムに有効な画素が現れる範囲を「明るさ」上下限値に設定することで、反射率が大きく異なる金属製の時計本体部および皮革製のバンド部が明瞭に撮影されていることがわかる。
【0118】
一方、図10(b)に示すように、主として皮革製のバンド部に相当する画素の範囲を「明るさ」上下限値に設定すると、皮革製のバンド部はより明瞭に撮影されるが、金属製の時計本体部については、白飛びが生じていることがわかる。逆に、図10(c)に示すように、主として金属製の時計本体部に相当する画素の範囲を「明るさ」上下限値に設定すると、金属製の時計本体部はより明瞭に撮影されるが、皮革製のバンド部については、黒つぶれが生じていることがわかる。
【0119】
また、図10(d)に示すように、ヒストグラムの全範囲を「明るさ」上下限値に設定すると、画像全体について明瞭に撮影されているが、図10(a)に比較すると、コントラストが低下していることがわかる。
【0120】
このように、ユーザは対象とするワークに応じて、適切な「明るさ」上下限値を調整することで、検査や計測に適した合成画像データを生成させることができる。
【0121】
<処理時間の算出>
上述したように、処理時間算出部222(図4)は、1つの合成画像データの生成に要する見込みの処理時間を算出し、その算出された処理時間は、撮影情報表示エリア340に「撮影時間」として表示される。以下では、図11を用いて、この処理時間算出部222による処理時間の算出方法の一例について説明を行なう。
【0122】
図11は、この発明の実施の形態1に従う画像処理装置において処理時間の算出方法の一例を説明するための図である。
【0123】
図11を参照して、1つの合成画像データの生成に要する処理時間は、各撮影についての撮影に要する時間(露光時間)、各撮影についての撮像部8で撮影された入力画像データの読み出すに要する時間、および画像合成処理に要する時間の合計として算出することができる。
【0124】
なお、1つの合成画像データを生成するための一連の撮影(図11の場合には、露光時間T1,T2,T3の3回分の撮影)は、循環的に繰返されるので、1つの合成画像データの生成に係る1処理周期は、露光時間T1での撮影が開始されてから同じ露光時間T1での撮影が再度開始されるまでの期間に相当する。
【0125】
撮影に要する時間は、設定される露光時間から推定することができる。また、入力画像データの読み出しに要する時間はハードウェアのスペックに依存するほぼ一定値であり、予め取得することができる。また、画像合成処理に要する時間は、対象とする入力画像の枚数によって処理量が定まるので、この時間についても推定することができる。したがって、処理時間算出部222は、撮影回数および各撮影における露光条件などに基づいて、合成画像データの生成に要する見込みの処理時間を算出することができる。
【0126】
<撮影条件の変更処理>
撮影制御部200(図4)は、ユーザによる「明るさ」上下限値の設定がなされると、初期設定として、予め定められた露光時間と「明るさ」との対応関係(図5)を参照して、「稼動モード」における1回の合成画像データの生成に要する撮影回数および各撮影における露光条件(撮影条件)を決定する。ここで、ユーザが「許容時間」を設定している場合には、撮影制御部200は、この初期設定した撮影条件における見込みの処理時間が「許容時間」を超過しているか否かを判断し、超過していると判断した場合には、見込みの処理時間が「許容時間」内に収まるように、撮影条件を変更する。以下、図12を参照して、撮影条件の変更処理について例示する。
【0127】
図12は、この発明の実施の形態1に従う撮影条件の変更処理を説明するための図である。
【0128】
図12を参照して、図5に示す露光時間と「明るさ」代表値との対応関係は、「明るさ」代表値を横軸とし、露光時間を縦軸(logスケール)とすると、一次関数の関係として表わすことができる。すなわち、図5に示す対応関係は、図12に示す一次関数上において、「明るさ」代表値を「20」,「30」,・・・,「90」とした場合の対応する各露光時間を規定したものに相当する。
【0129】
撮影制御部200は、この図12に示す対応関係を参照して、見込みの処理時間が「許容時間」内に収まるように撮影条件を変更または決定する。
【0130】
本実施の形態に従う画像処理装置では、ユーザが入力する「明るさ」範囲に応じて検出すべき「明るさ」範囲が定まるので、撮影制御部200は、このユーザが入力する「明るさ」範囲に含まれる露光時間の範囲から、撮影回数および各撮影における露光時間を決定する。
【0131】
より具体的には、ユーザによって「明るさ」下限値Bminおよび「明るさ」上限値Bmaxが設定されると、撮影制御部200は、「明るさ」下限値Bminから「明るさ」上限値Bmaxまでの範囲(明るさ範囲)に割り当てる撮影回数を適宜変更していき、その見込みの処理時間が「許容時間」以下となる割り当てパターンを決定する。
【0132】
図12に示すように、一例として、「明るさ」下限値Bmin=30、「明るさ」上限値Bmax=70が設定されると、撮影制御部200は、「明るさ」代表値が「30」,「40」,・・・,「70」(「明るさ」代表値B(1)1,B(1)2,・・・,B(1)5=30,40,・・・,70)である合計5回の撮影を初期設定として決定する。なお、「明るさ」代表値Bkに対応する露光時間Tkは、以下に示す関係式によって算出される。
【0133】
【数3】
【0134】
上述の撮影条件において見込みの処理時間が「許容時間」を超過していると判断された場合には、撮影制御部200は、撮影回数を初期設定の5回から1回分減じて、4回に設定する。そして、撮影制御部200は、上述の「明るさ」下限値Bminから「明るさ」上限値Bmaxまでの範囲(明るさ範囲)に4回分の撮影を割り当てる。このとき、少な
くとも、「明るさ」下限値Bminおよび「明るさ」上限値Bmaxに撮影を割り当てることが望ましい。
【0135】
図12に示す例において、4回の撮影が割り当てられた場合には、「明るさ」代表値B(2)1,B(2)2,B(2)3,B(2)4=30,43,57,70となる。さらに、撮影制御部200は、この割り当てられた「明るさ」代表値B(2)1,B(2)2,B(2)3,B(2)4に対応する露光時間をそれぞれ算出するとともに、この撮影条件における見込みの処理時間が「許容時間」以下となるか否かを判断する。
【0136】
以下同様にして、撮影制御部200は、その見込みの処理時間が「許容時間」以下となるまで撮影回数を順次減じていき、見込みの処理時間が「許容時間」以下となる最大の撮影回数をもつ撮影条件を決定する。なお、本実施の形態に従う画像合成処理は、複数の入力画像データに基づいて合成画像データを生成するので、撮影回数が2回である場合の見込みの処理時間が「許容時間」を超過している場合には、合成画像データの生成処理が実行不可能である旨をユーザに通知するようにしてもよい。
【0137】
<撮影条件の変更処理の第1変形例>
上述の図12に示す撮影条件の変更処理では、各露光時間に対応する「明るさ」代表値が、ユーザ入力された「明るさ」範囲に含まれるように露光条件が設定される構成について例示したが、各露光時間がカバーする「明るさ」範囲を考慮して露光条件を設定してもよい。
【0138】
図13は、この発明の実施の形態1に従う撮影条件の変更処理の第1変形例を説明するための図である。
【0139】
図13を参照して、一例として、図12と同様に「明るさ」下限値Bmin=30、「明るさ」上限値Bmax=70が設定されている場合を考える。図5に示すように、各露光時間がカバーする範囲を「明るさ」の代表値を中心とする「±10」とすると、その「明るさ」範囲に「明るさ」下限値Bminを含む「明るさ」代表値のうち最小のものは、「40」となる。同様に、その「明るさ」範囲に「明るさ」上限値Bmaxを含む「明るさ」代表値のうち最大のものは、「60」となる。そこで、ユーザ入力された「明るさ」範囲から各露光時間がカバーする範囲を除いた範囲に対して、撮影回数を割り当ててもよい。
【0140】
図13に示す例において、上述の範囲に5回の撮影が割り当てられた場合には、「明るさ」代表値B(1)1,B(1)2,・・・,B(1)5=40,45,50,55,60となる。また、4回の撮影が割り当てられた場合には、「明るさ」代表値B(2)1,B(2)2,B(2)3,B(2)4=40,46,53,60となる。
【0141】
<撮影条件の変更処理の第2変形例>
上述の図12および図13に示す撮影条件の変更処理では、露光時間と「明るさ」代表値との対応関係を示す関数に基づいて、撮影回数および各撮影における露光時間を連続的に決定する構成について例示したが、図5に示すようなテーブル形式を基づいて撮影回数および各撮影における露光時間を決定してもよい。
【0142】
図14は、この発明の実施の形態1に従う撮影条件の変更処理の第2変形例に用いられる露光時間と「明るさ」との対応関係の一例を示す図である。
【0143】
図14に示す露光時間と「明るさ」範囲との対応関係には、図5に比較してより多くの組合せが規定されている。これは、ユーザが入力する「明るさ」範囲に応じて、撮影条件
をより高い自由度で変更できるようにするためである。
【0144】
図14を参照して、一例として、図12と同様に「明るさ」下限値Bmin=30、「明るさ」上限値Bmax=70が設定されている場合を考える。このとき、図14に示す露光時間と「明るさ」範囲との組合せのうち、その「明るさ」範囲の一部または全部がユーザ設定である「30」〜「70」の範囲に含まれるものを、露光条件として決定される候補として抽出する。図14に示す例では、9通りの組合せが露光条件として決定される候補となる。そして、これらの候補を任意に組み合わせることで、見込みの処理時間が「許容時間」内に収まるような撮影条件を決定することができる。
【0145】
<撮影条件の変更処理のさらに別の変形例>
上述したような撮影制御部200が自動的に撮影条件を変更する構成に代えて、図12または図13に示すような露光時間と「明るさ」との対応関係をモニタ102上に視覚的に表示するとともに、この対応関係を参照してユーザが撮影条件を直接的に設定するようにしてもよい。
【0146】
<稼動モード>
以下、稼動モードにおける処理の一例について説明する。生成された合成画像データを用いてワークの検査や計測を行なう方法は従来から様々なものが提案されているが、本実施の形態においては、代表的に、予め登録された画像パターンに一致する部分を探索するサーチ処理と、ワークのエッジを検出してエッジ間の距離を計測するエッジスキャン処理とについて例示する。なお、稼動モードにおける処理は、これらの処理に限られない。
【0147】
図15は、稼動モードの一例であるサーチ処理の表示例を示す図である。
図16は、稼動モードの一例であるエッジスキャン処理の表示例を示す図である。
【0148】
図15を参照して、「稼動モード」においてサーチ処理が選択されると、モニタ102には稼動モード画面400Aが表示される。この稼動モード画面400Aにおいて、ユーザは、対象領域402を予め設定するとともに、検出すべき画像パターンを登録する。すると、CPU105は、上述の画像合成処理によって合成画像データのうち、対象領域402に対して登録パターンとの相関値を順次算出することで、登録パターンと一致するエリア404を特定する。さらに、CPU105は、特定したエリア404の位置情報などをモニタ102に表示する。
【0149】
このようなサーチ処理によれば、特定種類のワークが連続的に生産されている場合に、異なる種類の混入ワークなどを検出することができる。
【0150】
図16を参照して、「稼動モード」においてエッジスキャン処理が選択されると、モニタ102には稼動モード画面400Bが表示される。この稼動モード画面400Bにおいて、ユーザは、対象領域412を予め設定する。すると、CPU105は、上述の画像合成処理によって合成画像データのうち、対象領域412に対して色差が所定のしきい値以上である2つの箇所(エッジ位置)を特定する。そして、CPU105は、この特定した2点の間を結ぶ直線414を規定し、この2点間の図面上の距離(たとえば、ピクセル値)を算出する。
【0151】
このようなエッジスキャン処理によれば、エッジ間距離を規定値と比較することで、ワークの製造不良などを検出することができる。
【0152】
上述した処理以外にも、特定の色範囲をもつ画素数の数をカウントする色面積算出処理などを行なってもよい。
【0153】
<処理手順>
図17は、この発明の実施の形態1に従う画像処理装置における全体処理を示すフローチャートである。図17に示すフローチャートは、CPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現される。なお、初期モードは「稼動モード」であるとする。
【0154】
図17を参照して、CPU105は、モード切替えの指令が与えられたか否かを判断する(ステップS100)。モード切替えの指令が与えられていない場合(ステップS100においてNOの場合)には、CPU105は、ステップS102からステップS114までの検査計測処理を実行する。
【0155】
すなわち、CPU105は、光電センサによるワーク2の到着が検出された否かを判断する(ステップS102)。ワーク2が到着していない場合(ステップS102においてNOの場合)には、ステップS102の処理を繰返す。
【0156】
ワーク2が到着した場合(ステップS102においてYESの場合)には、CPU105は、固定ディスク107に予め格納された設定に従って、設定された露光時間でワーク2を撮影する(ステップS104)。そして、CPU105は、設定された回数の撮影が完了したか否かを判断する(ステップS106)。設定された回数の撮影が完了していない場合(ステップS106においてNOの場合)には、CPU105は、ステップS104の処理を繰返す。
【0157】
設定された回数の撮影が完了している場合(ステップS106においてYESの場合)には、CPU105は、画像合成処理サブルーチンを実行し、撮影された入力画像データから合成画像データを生成する(ステップS108)。
【0158】
続いて、CPU105は、生成された合成画像データに基づいて検査計測処理を実行する(ステップS110)。そして、CPU105は、その検査計測処理の結果をモニタ102などに表示する(ステップS112)とともに、PLCなどの外部装置へ出力する(ステップS114)。そして、処理は最初に戻る。
【0159】
これに対して、モード切替えの指令が与えられた場合(ステップS100においてYESの場合)には、CPU105は、「設定モード」へ移行する(ステップS118)。
【0160】
図18は、この発明の実施の形態1に従う画像処理装置における撮影条件の変更処理を示すフローチャートである。図18に示すフローチャートは、CPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現される。
【0161】
図18を参照して、「設定モード」が選択されると、CPU105は、設定モード画面300(図8)上でユーザによって入力された「明るさ」上下限値を取得する(ステップS200)。そして、CPU105は、ステップS200において取得した「明るさ」上下限値に基づいて、予め定められた露光時間と「明るさ」との対応関係(図5)を参照して、「稼動モード」における1回の合成画像データの生成に要する撮影回数および各撮影における露光条件(撮影条件)の初期値を決定する(ステップS202)。
【0162】
続いて、CPU105は、設定モード画面300(図8)上でユーザによって入力された「許容時間」を取得する(ステップS204)とともに、ステップS202で決定した現時点の撮影条件に基づいて、1回あたりの画像合成処理に要する見込みの処理時間を算
出する(ステップS206)。そして、CPU105は、ステップS206において算出した見込みの処理時間がステップS204において取得した「許容時間」を超過しているか否かを判断する(ステップS208)。
【0163】
見込みの処理時間が「許容時間」を超過している場合(ステップS208においてYESの場合)には、CPU105は、現時点の撮影回数が2回であるか否かを判断する(ステップS210)。現時点の撮影回数が2回でない場合(ステップS210においてNOの場合)には、CPU105は、ステップS200において取得した「明るさ」上下限値によって指定される「明るさ」範囲に、現時点の撮影回数から1回分を減じた撮影回数の撮影を割り当てる(ステップS212)。さらに、CPU105は、割り当てられた各撮影の「明るさ」に対応する露光時間をそれぞれ算出することで、新たな撮影条件を決定する(ステップS214)。そして、CPU105は、変更後の撮影条件に基づいて、1回あたりの画像合成処理に要する見込みの処理時間を算出し(ステップS206)、ステップS208以下の処理を再度実行する。すなわち、1回あたりの画像合成処理に要する見込みの処理時間が許容時間を超過しなくなるまで、ステップS206〜S214の処理が繰返される。
【0164】
また、現時点の撮影回数が2回である場合(ステップS210においてYESの場合)には、CPU105は、設定モード画面300(図8)上に、入力された許容時間の条件下では合成画像データの生成処理が実行不可能である旨を表示し(ステップS216)、処理を終了する。
【0165】
一方、見込みの処理時間が「許容時間」を超過していない場合(ステップS208においてNOの場合)には、CPU105は、設定モード画面300(図8)上に、現時点の撮影条件における「撮影時間」、「撮影回数」、「シャッター速度」などを表示する(ステップS218)。
【0166】
さらに、CPU105は、設定モード画面300(図8)上の「OK」ボタン362または「CANCEL」ボタン364が選択されたか否かを判断する(ステップS220)。
【0167】
「OK」ボタン362が選択された場合(ステップS220において「OK」)には、CPU105は、現在の撮影条件(撮影回数および各撮影における露光条件)を固定ディスク107に格納する(ステップS222)。そして、CPU105は、「稼動モード」へ移行する(ステップS224)。また、「CANCEL」ボタン364が選択された場合(ステップS220において「CANCEL」)には、CPU105は、現在の設定を廃棄して「稼動モード」へ移行する(ステップS224)。
【0168】
一方、設定モード画面300(図8)上の「OK」ボタン362または「CANCEL」ボタン364のいずれも選択されていない場合(ステップS220においてNOの場合)には、CPU105は、「明るさ」上下限値または「許容時間」の設定が変更されたか否かを判断する(ステップS226)。「明るさ」上下限値または「許容時間」の設定が変更された場合(ステップS226においてYESの場合)には、CPU105は、ステップS200以下の処理を繰返す。また、「明るさ」上下限値または「許容時間」の設定が変更されていない場合(ステップS226においてNOの場合)には、CPU105は、ステップS220以下の処理を繰返す。
【0169】
図19は、図17および図18に示す画像合成処理サブルーチンにおける処理を示すフローチャートである。図19に示すフローチャートは、CPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現さ
れる。
【0170】
図19を参照して、CPU105は、座標位置iを初期値(i=1)に設定し(ステップS300)、複数の入力画像データから、座標位置iに対応する画素の輝度情報および色情報を抽出する(ステップS302)。
【0171】
CPU105は、座標位置iに対応する画素の輝度に基づいて、座標位置iの合成輝度を算出する(ステップS304)。そして、CPU105は、設定された「明るさ」上下限値に従ってトーンマッピングを行って、合成画像データの座標位置iに対応する画素の輝度を算出する(ステップS306)。
【0172】
また、CPU105は、座標位置iに対応する画素の色情報に基づいて、座標位置iに対応する画素の合成色情報を算出する(ステップS308)。
【0173】
さらに、CPU105は、ステップS306で算出した輝度と、ステップS308で算出した合成色情報とに基づいて、合成画像データの座標位置iに対応する画素の色情報を算出する(ステップS310)。
【0174】
そして、CPU105は、座標位置iが入力画像データに含まれる最後の座標であるか否かを判断する(ステップS312)。座標位置iが入力画像データに含まれる最後の座標でなければ(ステップS312においてNOの場合)には、CPU105は、現在の座標位置iに「1」を加算して(ステップS314)、ステップS302以下の処理を繰返す。
【0175】
座標位置iが入力画像データに含まれる最後の座標であれば(ステップS312においてYESの場合)には、CPU105は、ステップS310で算出した各座標位置に対応する色情報に基づいて、合成画像データを生成する(ステップS316)。そして、メインルーチンに戻る。
【0176】
<本実施形態の変形例>
上述の実施の形態1では、ユーザが「明るさ」上下限値の範囲を設定する構成について例示したが、輝度合成部210によって算出される合成輝度のヒストグラムに基づいて、自動的に設定するようにしてもよい。また、このように自動設定する場合には、より精度を高めるために、単一ではなく複数の合成画像データの合成輝度についてのヒストグラムに基づいて、「明るさ」上下限値の範囲を設定してもよいし、合成画像データのうち一部の領域についてのヒストグラムに基づいて、「明るさ」上下限値の範囲を設定してもよい。
【0177】
また、図18に示す撮影条件の変更処理に係るフローチャートでは、初期設定される撮影回数から徐々に撮影回数を減じて適切な撮影条件を探索する処理について例示したが、初期設定として撮影回数を2回とし、徐々に撮影回数を増加させて適切な撮影条件を探索してもよい。あるいは、選択可能なすべての撮影条件を予め取得し、各撮影条件についての見込みの処理時間をそれぞれ算出した上で、適切なものを選択するようにしてもよい。
【0178】
<本実施形態の作用効果>
従来の技術によれば、一般的に、撮影回数が多くなるほど、ダイナミックレンジの拡大および合成画像の精度向上を期待できるが、撮影回数の増大に伴って1つの合成画像の生成に要する処理時間が長くなる。すなわち、ダイナミックレンジの拡大と処理時間とはトレードオフの関係にある。実際の生産現場では、ベルトコンベヤなどの搬送装置上を順次搬送される被測定物を対象として検査や計測を行なう必要があるため、各被測定物に割り
当て可能な処理時間には上限がある。そのため、このような製造上の制限時間内に一連の処理が完了するように、撮影条件(露光条件や撮影回数など)を試行錯誤により適切に設定しなければならなかったという課題があったところ、この実施の形態によれば、1回の合成処理に対する許容時間に従って、撮影条件を適切に設定できる。
【0179】
すなわち、この発明の実施の形態1によれば、ユーザが設定モード画面において許容時間を入力すると、1つの合成画像データの生成に要する見込みの処理時間がユーザ入力された設定時間を超過しないように、撮影回数および各撮影における露光時間が自動的に決定される。そのため、予備知識を持たないユーザであっても、生産ラインのタクトタイムなどに応じた「許容時間」を入力するだけで、適切な撮影条件を設定することができる。
【0180】
[実施の形態2]
ユーザが設定モードにおいて撮影条件を設定する場合には、ワークの搬送速度などに応じて照明などを試行錯誤で調整するケースが多いと考えられる。この場合、ワークの単位時間当たりの移動量(動き量)が相対的に大きな場合には、合成画像データの生成に要する処理時間を短くしなければ、ワークの動きを表示することはできない。そこで、実施の形態2に従う画像処理装置として、予備知識を持たないユーザであっても、このような被測定物の動きを見ながら撮影条件を設定できる構成について説明する。
【0181】
この発明の実施の形態2に従う画像処理装置を含む視覚センサシステム1の全体構成については、図1と同様であるので詳細な説明は繰返さない。また、この発明の実施の形態2に従う画像処理装置のハードウェア構成については、図2と同様であるので詳細な説明は繰返さない。
【0182】
<画面表示例>
まず、理解を容易にするため、本実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例について説明する。
【0183】
図20は、この発明の実施の形態2に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【0184】
図20を参照して、設定モード画面300Aは、設定値入力エリア310Aと、ヒストグラム表示エリア320と、合成画像表示エリア330と、撮影情報表示エリア340と、表示モード選択エリア350Aとを含む。
【0185】
設定値入力エリア310Aには、「明るさ」上限値を設定するためのスライドバー312および「明るさ」下限値を設定するためのスライドバー314が配置される。このスライドバー312および314の操作によって設定される「明るさ」上下限値は、明るさ上下限設定部216(図21)に入力される。
【0186】
ヒストグラム表示エリア320には、ヒストグラム生成部218(図21)で生成されたヒストグラムが視覚的に表示される。
【0187】
合成画像表示エリア330には、設定された「明るさ」上下限値に応じて生成される合成画像データに基づく合成画像が表示される。合成画像表示エリア330に表示される合成画像データに基づく合成画像の更新周期は、合成画像データの生成に要する時間に相当する。この合成画像の更新周期は、後述する「動き適応表示モード」が有効化されている場合には、撮像部8により撮像される被測定物の動き量に応じて最適化される。そのため、撮影範囲における被測定物の動き量が相対的に大きな場合には、合成画像データの生成に要する時間を短縮して表示をスムース化し、撮影範囲における被測定物の動き量が相対
的に小さい場合には、撮影回数を増加させてダイナミックレンジの拡大および合成画像の精度を高めることができる。
【0188】
撮影情報表示エリア340には、「撮影時間」、「撮影回数」、「シャッター速度」が表示される。
【0189】
表示モード選択エリア350Aには、「動き適応表示モード」の有効化(ON)または無効化(OFF)を選択するためのラジオボタン352と、ヒストグラム表示エリア320におけるヒストグラムの表示/非表示を選択するラジオボタン354とが表示される。ラジオボタン352によって、「動き適応表示モード」が有効化されると、上述したように、撮影範囲内のワークの動き量に応じて、合成画像表示エリア330に表示される合成画像の更新周期が最適化される。
【0190】
さらに、設定モード画面300Aには、「OK」ボタン362と、「CANCEL」ボタン364とが配置されており、ユーザが「OK」ボタン362を選択すると、各項目において設定された値が固定ディスク107などに格納された上で「稼動モード」に移行する。一方、ユーザが「CANCEL」ボタン364を選択すると、各項目において設定された値が固定ディスク107などに格納されずに「稼動モード」に移行する。
【0191】
<制御構造>
図21は、この発明の実施の形態2に従う画像処理装置の制御構造を示す機能ブロック図である。
【0192】
図21を参照して、本実施の形態に従う画像処理装置の制御構造は、図4に示す実施の形態1に従う画像処理装置の制御構造において、撮影制御部200に代えて撮影制御部200Aを配置するとともに、動き量判断部220をさらに設けたものである。その他の部位および動作については、上述した実施の形態1とほぼ同様であるので、詳細な説明は繰返さない。
【0193】
動き量判断部220は、撮像部8により撮像される被測定物体の動き量を算出し、この算出した動き量を評価する。より具体的には、動き量判断部220は、撮像部8により撮影された、同一の露光条件をもつ連続する2つ以上の入力画像データ同士を比較することで、ワークの動き量を算出する。このような動き量の算出方法の一例として、連続する2つの入力画像データに含まれる対応する画素同士の輝度情報または色情報の差分をとり、すべての画素についての差分の総和を動き量として算出することができる。あるいは、オプティカルフロー手段を用いて、ワークの動き量を算出してもよい。
【0194】
なお、図21においては、動き量判断部220が画像バッファ204aに格納される1つの入力画像データに基づいて、動き量を算出する構成について例示するが、より多くの入力画像データに基づいて動き量を算出してもよいし、画像生成部212から出力される合成画像データに基づいて動き量を算出してよい。
【0195】
さらに、動き量判断部220は、この算出したワークの動き量が所定値を超過している場合には、合成画像データの生成処理に要する時間を低減するための指令を、撮影制御部200Aへ出力する。さらに、動き量判断部220は、この算出したワークの動き量が小さい場合には、合成画像データの生成処理に要する時間を延長可能であることを、撮影制御部200Aへ通知してもよい。
【0196】
撮影制御部200Aは、動き量判断部220から合成画像データの生成処理に要する時間を低減するための指令を受信すると、1つの合成画像データを生成するための撮影回数
をより少なくするように撮影条件を変更する。これにより、1つの合成画像データが生成される周期が短縮されるため、合成画像表示エリア330には、合成画像データに基づく合成画像の更新周期が短縮され、よりスムースな動画表示が行なわれる。これにより、ワークの移動速度が相対的に速い場合であっても、ユーザは、このようなワークの挙動を視認することができる。
【0197】
より具体的には、合成画像表示エリア330は、動き量判断部220から合成画像データの生成処理に要する時間を低減するための指令を受信すると、現在の撮影回数から1回分減じた撮影回数を新たな撮影条件として設定する。なお、この新たな撮影条件における各撮影における露光条件の決定方法については、上述の実施の形態1において図12〜図14を用いて説明した方法と同様の方法を用いることができる。
【0198】
また、撮影制御部200Aは、動き量判断部220から合成画像データの生成処理に要する時間を延長可能であることを通知されると、1つの合成画像データを生成するための撮影回数をより多くするように撮影条件を変更してもよい。撮影回数を多くすることで、1つの合成画像データを生成するための情報量を増大させることができる。これにより、合成画像表示エリア330に、ダイナミックレンジをより拡大した合成画像を表示することができる。なお、撮影回数を増加させた場合の各撮影における露光条件の決定方法についても、上述の実施の形態1において図12〜図14を用いて説明した方法と同様の方法を採用できる。
【0199】
なお、このようなワークの動き量に応じて撮影条件を変更する制御は、合成画像データの生成処理と並行して実行される。
【0200】
<タイムチャート>
図22は、この発明の実施の形態2に従う動き適応表示モードが有効化された場合の動作を示すタイムチャートである。
【0201】
図22を参照して、まず、時刻t11においては、時刻t11以前の処理によって合成画像データ1が生成され、この合成画像データ1に基づく合成画像1が合成画像表示エリア330(図20)に表示されているものとする(図22(d))。
【0202】
時刻t11〜t21の期間において、1つの合成画像データの生成処理が実行される。すなわち、時刻t11〜t12の期間において、撮像部8が予め定められている撮影条件1に従ってワークを撮影する(図22(b)および(c))。なお、撮影条件1は、高ダイナミックレンジを実現するためのものであるとする。そして、引き続く時刻t12〜t21の期間において、この撮影された入力画像データに基づいて合成画像データ2が生成される(画像合成処理)。
【0203】
さらに、時刻t21において、この生成された合成画像データ2に基づいて、合成画像表示エリア330の表示が合成画像2に更新される。同時に、動き量判断部220が、合成画像データ2を生成するために用いた入力画像データと、合成画像データ1を生成するために用いた入力画像データとを比較して、ワークの動き量を判断する。時刻t21での画像比較においては、ワークの動き量が適正範囲内であったとする。
【0204】
続いて、時刻t21〜t22の期間において、撮像部8が撮影条件1に従ってワークを撮影する(図22(b)および(c))。そして、引き続く時刻t22〜t31の期間において、この撮影された入力画像データに基づいて合成画像データ3が生成される。さらに、時刻t31において、この生成された合成画像データ3に基づいて、合成画像表示エリア330の表示が合成画像3に更新される。同時に、動き量判断部220が、合成画像
データ3を生成するために用いた入力画像データと、合成画像データ2を生成するために用いた入力画像データとを比較して、ワークの動き量を判断する。
【0205】
ここで、時刻t31での画像比較においては、ワークの動き量が所定量を超過したものとする。すると、撮影制御部200Aは、合成画像の更新周期を短縮する必要があると判断し、撮影条件1の撮影回数から1回分減じた撮影回数を新たな撮影条件2として設定する(図22(b))。この撮影条件2は、合成画像の更新速度を優先するモードである。
【0206】
続いて、時刻t31〜t32の期間において、撮像部8が撮影条件2に従ってワークを撮影する(図22(b)および(c))。ここで、撮影条件2は、合成画像の表示速度を優先するモードであるため、ワークの撮影に要する時間は撮影条件1における時間に比較して短縮される(t12−t11>t32−t31)。そして、引き続く時刻t32〜t41の期間において、この撮影された入力画像データに基づいて合成画像データ4が生成されるが、入力画像データの数が低減されているので、この画像合成処理に係る時間も短縮される。このように、合成画像の更新周期が短縮され、合成画像をよりスムースに表示することができる。
【0207】
<処理手順>
この発明の実施の形態2に従う画像処理装置における全体処理については、図17に示すフローチャートと同様であるので、詳細な説明は繰返さない。
【0208】
図23は、この発明の実施の形態2に従う画像処理装置における「設定モード」における合成画像の表示に係るフローチャートである。図23に示すフローチャートは、CPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現される。
【0209】
図23を参照して、「設定モード」が選択されると、CPU105は、撮影回数および各撮影における露光条件の初期値を設定する(ステップS400)。そして、CPU105は、現時点の撮影回数および各撮影における露光条件に従って、ワークを順次撮影する(ステップS402)。さらに、CPU105は、設定された撮影回数の撮影が完了したか否かを判断する(ステップS404)。設定された撮影回数の撮影が完了していない場合(ステップS404においてNOの場合)には、CPU105は、ステップS402の処理を繰返す。
【0210】
設定された撮影回数の撮影が完了した場合(ステップS404においてYESの場合)には、CPU105は、図19に示す画像合成処理サブルーチンを実行し、撮影された入力画像データから合成画像データを生成する(ステップS406)。そして、CPU105は、ステップS406において生成した合成画像データに基づくデータ合成画像をモニタ102に表示する(ステップS408)。
【0211】
このステップS406およびS408の処理と並行して、CPU105は、今回の撮影によって生成された入力画像データと前回の撮影によって生成された入力画像データとを比較して、ワークの動き量を算出する(ステップS410)。そして、CPU105は、ステップS410において算出したワークの動き量が所定量α1を超過しているか否かを判断する(ステップS412)。なお、所定量α1は、撮像部8の撮影範囲内におけるワークの動き量が相対的に大きいと判断できる量に相当し、撮像部8の撮影範囲の大きさなどに基づいて定められる。
【0212】
ワークの動き量が所定量α1を超過している場合(ステップS412においてYESの場合)には、CPU105は、現在の撮影回数から1回分減じた撮影回数を新たな撮影回
数に設定するとともに、新たな撮影回数における各撮影におけるそれぞれの露光条件を算出して設定する(ステップS414)。
【0213】
一方、ワークの動き量が所定量α1を超過していない場合(ステップS412においてNOの場合)には、CPU105は、ステップS410において算出したワークの動き量が所定量α2(α2<α1)を下回っているか否かを判断する(ステップS416)。なお、所定量α2は、撮影範囲内におけるワークの移動量が非常に小さく、合成画像データの生成処理に要する時間を延長可能と判断できる量に相当する。
【0214】
ワークの動き量が所定量α2を下回っている場合(ステップS416においてYESの場合)には、CPU105は、現在の撮影回数から1回分増加させた撮影回数を新たな撮影回数に設定するとともに、新たな撮影回数における各撮影におけるそれぞれの露光条件を算出して設定する(ステップS418)。
【0215】
一方、ワークの動き量が所定量α2を下回っていない場合(ステップS416においてNOの場合)、あるいはステップS414またはS418の実行後、CPU105は、今回の撮影によって生成された入力画像データをメモリ106などに一時的に格納する(ステップS420)。
【0216】
ステップS408およびS420の実行後、ステップS402以降の処理が再度繰返され、これらの処理は「設定モード」の選択中において繰返される。
【0217】
<本実施形態の作用効果>
合成画像の生成処理は繰返され、この生成に伴って合成画像を順次更新することで、合成画像を動画像として表示できる。このとき、このような合成画像の更新周期は、1つの合成画像の生成に要する処理時間に相当する。そのため、撮影範囲内での被測定物の単位時間当たりの移動量(すなわち、動き量)が比較的大きな場合には、この合成画像の生成に要する処理時間を短くしなければ、被測定物の動きを表示することはできない。一方、被測定物の動き量が比較的小さな場合には、より多くの処理時間を割り当てて、より精度の高い合成画像を生成することが好ましい。このように、被測定物の動き量に応じて、撮影条件(露光条件や撮影回数など)を適切に設定する必要があるという課題が存在したが、 この発明の実施の形態2によれば、撮像装置によって撮影される被測定物の動き量に応じて、1回の合成画像データの生成に要する処理時間が自動的に変更され、合成画像の更新周期が適切に設定される。そのため、予備知識を持たないユーザであっても、被測定物の動きを見ながら撮影条件を設定できる。
【0218】
[実施の形態3]
上述したように、本発明に係る画像合成処理は、複数の入力画像データの輝度情報および色情報を用いて、画素毎に合成輝度情報および合成色情報を算出する。そのため、画像合成処理に要する時間は、処理対象の画素数および入力画像データ数に比例することになる。
【0219】
一方、検査対象のワークの大きさは撮像装置の撮影範囲に比較して小さい場合が多く、このような場合には、検査対象の画素についてのみ画像合成処理を行なうことで、より処理時間を短縮することができる。そこで、実施の形態3に従う画像処理装置として、処理対象とすべき領域に含まれる各画素についてのみの画像合成処理が可能な構成について説明する。
【0220】
この発明の実施の形態3に従う画像処理装置を含む視覚センサシステム1の全体構成については、図1と同様であるので詳細な説明は繰返さない。また、この発明の実施の形態
3に従う画像処理装置のハードウェア構成については、図2と同様であるので詳細な説明は繰返さない。
【0221】
<画面表示例>
まず、理解を容易にするため、本実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例について説明する。
【0222】
図24は、この発明の実施の形態3に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。図25は、この発明の実施の形態3に従う画像処理装置のモニタに表示される「稼動モード」における画面表示例を示す図である。
【0223】
図24を参照して、設定モード画面300Bは、設定値入力エリア310Aと、ヒストグラム表示エリア320と、合成画像表示エリア330Bと、撮影情報表示エリア340と、表示モード選択エリア350とを含む。
【0224】
設定値入力エリア310Aには、「明るさ」上限値を設定するためのスライドバー312および「明るさ」下限値を設定するためのスライドバー314が配置される。このスライドバー312および314の操作によって設定される「明るさ」上下限値は、明るさ上下限設定部216(図26)に入力される。
【0225】
ヒストグラム表示エリア320には、ヒストグラム生成部218(図26)で生成されたヒストグラムが視覚的に表示される。
【0226】
合成画像表示エリア330Bには、設定された「明るさ」上下限値に応じて生成される合成画像データに基づく合成画像が表示される。この合成画像表示エリア330Bに対して、合成画像データのうち処理対象とすべき領域を設定するための対象領域枠332が設定可能になっている。この対象領域枠332は、ユーザによるマウス104(図2)操作に応じて移動可能なカーソル372などによって指定される。
【0227】
図25を参照して、「稼動モード」においては、この対象領域枠332に含まれる画素のみについて、上述したような画像合成処理が実行される。そのため、対象領域枠332(図24)が設定された場合には、「稼動モード」において対象領域枠332(図24)に含まれる領域についての合成画像が表示されるとともに、その他の領域については、より処理時間の短い処理によって生成された画像(もしくは背景)が表示される。なお、図25には、理解を容易にするために、対象領域枠332(図24)に含まれる領域以外を背景として表示する例を示す。
【0228】
なお、図24においては、理解を容易にするために、1つの対象領域枠332が設定されている場合を例示するが、複数の対象領域枠332が設定されるようにしてもよい。
【0229】
撮影情報表示エリア340には、「撮影時間」、「撮影回数」、「シャッター速度」が表示される。
【0230】
表示モード選択エリア350には、ヒストグラム表示エリア320におけるヒストグラムの表示/非表示を選択するラジオボタン354とが表示される。
【0231】
さらに、設定モード画面300Bには、「OK」ボタン362と、「CANCEL」ボタン364とが配置されており、ユーザが「OK」ボタン362を選択すると、各項目において設定された値が固定ディスク107などに格納された上で「稼動モード」に移行する。一方、ユーザが「CANCEL」ボタン364を選択すると、各項目において設定さ
れた値が固定ディスク107などに格納されずに「稼動モード」に移行する。
【0232】
<制御構造>
図26は、この発明の実施の形態3に従う画像処理装置の制御構造を示す機能ブロック図である。
【0233】
図26を参照して、本実施の形態に従う画像処理装置の制御構造は、図4に示す実施の形態1に従う画像処理装置の制御構造において、撮影制御部200に代えて撮影制御部200Bを配置するとともに、領域指定受付部230をさらに設けたものである。その他の部位および動作については、上述した実施の形態1とほぼ同様であるので、詳細な説明は繰返さない。
【0234】
領域指定受付部230は、入力画像データ(もしくは、合成画像データ)のうち処理対象とすべき領域の設定を受付け、この処理対象とすべき領域を特定するための情報を画像情報抽出部206a〜206hへ出力する。すなわち、領域指定受付部230は、合成画像表示エリア330B(図24)上で、ユーザが指定した対象領域枠332に応じた設定内容を受付ける。
【0235】
画像情報抽出部206a〜206hの各々は、この領域指定受付部230からの特定情報に基づいて、撮像部8によって順次撮影される入力画像データのうち、処理対象とすべき領域に含まれる各画素についての色情報および輝度情報をそれぞれ抽出し、色合成部208および輝度合成部210へ出力する。
【0236】
色合成部208は、画像情報抽出部206a〜206hによって抽出された部分的な色情報および輝度情報に基づいて、合成色情報を生成する。同様に、輝度合成部210は、画像情報抽出部206a〜206hによって抽出された部分的な輝度情報に基づいて、合成輝度情報を生成する。さらに、トーンマッピング部214および明るさ上下限設定部216などによる処理の後、画像生成部212は、対象領域枠332に含まれる領域についての合成画像を生成し、当該合成画像データに基づく合成画像を合成画像表示エリア330Bに表示する。
【0237】
このように入力画像データのうち、処理対象とすべき領域に含まれる画素についてのみ合成画像処理を実行するので、1回の画像合成データの生成に要する処理時間を短縮することができる。
【0238】
なお、合成画像データのうち、処理対象とすべき領域に含まれる画素を除く残りの画素の各々については、入力画像データのうち1つに基づいて、合成画像データの対応する画素の色情報および輝度情報を算出してもよい。より具体的には、色合成部208および輝度合成部210が、いずれか1つの入力画像データ(たとえば、画像バッファ204aに格納される入力画像データ)の処理対象とすべき領域に含まれる画素を除く残りの画素の各々についての色情報および輝度情報を、対応する合成色情報および合成輝度情報として出力する。これにより、合成画像データのうち、処理対象とすべき領域に含まれる画素を除く残りの画素については、いずれか1つの入力画像データの対応する画素で代用されることになる。
【0239】
また、合成画像データのうち、処理対象とすべき領域に含まれる画素を除く残りの画素の各々については、「白色」や「黒色」といった特定の背景色で代用することも可能である。より具体的には、画像生成部212は、合成色情報および合成輝度情報の入力がなかった画素について、特定の背景色で補完することで、合成画像データを生成する。
【0240】
また、合成画像データのうち、処理対象とすべき領域に含まれる画素を除く残りの画素の各々については、処理対象とすべき領域に含まれる画素の更新周期(生成周期)に比較して長い周期で更新するようにしてもよい。すなわち、撮像部8による異なる露光条件でのワークの複数回撮影が繰返し実行され、これに伴って、合成画像データが順次生成される。この合成画像データに生成に伴って、処理対象とすべき領域に含まれる画素については毎回その画素情報が算出(更新)されるが、処理対象とすべき領域に含まれる画素を除く残りの画素の各々については、合成画像データが複数回生成される毎にその画素情報を算出(更新)するようにしてもよい。言い換えれば、処理対象とすべき領域に含まれる画素についての更新周期に比較して、処理対象とすべき領域に含まれる画素を除く残りの画素についての更新周期を遅くしてもよい。
【0241】
<本実施形態の作用効果>
この発明の実施の形態3によれば、撮像装置の撮影範囲の一部分に存在する被測定物の領域を指定することで、検査や計測の対象となる被測定物についての、必要な合成画像をより効率的に生成できる。これにより、画像合成に係る処理時間をより短縮化することでできるので、生産ラインのタクトタイムへの影響を低減できる。
【0242】
[実施の形態4]
上述したように、本発明に係る画像合成処理は、複数の入力画像データから算出した各画素の合成輝度を、所定の対応関係に従って割り当てることで、合成画像データの対応する画素の輝度情報を生成する。より具体的には、合成輝度のうち「明るさ」下限値から「明るさ」上限値までの範囲が、合成画像データの輝度範囲と対応するように、割り当てが行なわれる。上述の実施の形態1〜3では、ユーザが「明るさ」上限値および「明るさ」下限値を入力する構成について例示した。
【0243】
このような割り当ては、撮像装置によって撮影される被測定物のうち、所定範囲の「明るさ」をもつ領域をより高い精度で表示するために実行される。そのため、ユーザは、撮像された入力画像データのうち、特定の領域を高い精度で表示したいと望む場合も多いと考えられる。このような場合には、所望する領域を指定し、この指定した領域の表示に適した「明るさ」上限値および「明るさ」下限値が自動的に決定されると、よりユーザフレンドリである。
【0244】
そこで、実施の形態4に従う画像処理装置として、ユーザが注目する領域の表示に適した明るさ範囲の設定が可能な構成について説明する。
【0245】
この発明の実施の形態4に従う画像処理装置を含む視覚センサシステム1の全体構成については、図1と同様であるので詳細な説明は繰返さない。また、この発明の実施の形態4に従う画像処理装置のハードウェア構成については、図2と同様であるので詳細な説明は繰返さない。
【0246】
<画面表示例>
まず、理解を容易にするため、本実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例について説明する。
【0247】
図27は、この発明の実施の形態4に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。図28は、図27において指定領域が設定された後の画面表示例を示す図である。
【0248】
図27を参照して、設定モード画面300Cは、設定値入力エリア310Aと、ヒストグラム表示エリア320と、合成画像表示エリア330Cと、撮影情報表示エリア340
と、表示モード選択エリア350Cとを含む。
【0249】
設定値入力エリア310Aには、「明るさ」上限値を設定するためのスライドバー312および「明るさ」下限値を設定するためのスライドバー314が配置される。このスライドバー312および314の操作によって設定される「明るさ」上下限値は、明るさ上下限設定部216(図29)に入力される。
【0250】
ヒストグラム表示エリア320には、ヒストグラム生成部218(図29)で生成されたヒストグラムが視覚的に表示される。
【0251】
表示モード選択エリア350Cには、ヒストグラム表示エリア320におけるヒストグラムの表示/非表示を選択するラジオボタン354と、「明るさ自動設定」の有効化(ON)または無効化(OFF)を選択するためのラジオボタン356とが表示される。ラジオボタン354によって、ヒストグラムの非表示が選択されると、ヒストグラム表示エリア320におけるヒストグラム表示が行なわれない。また、「明るさ自動設定」が有効化(ON)されると、合成画像表示エリア330Cに表示される合成画像データに基づく合成画像のうち、処理対象とすべき領域を設定するための指定領域枠384が設定可能になる。
【0252】
図27に示すように、合成画像表示エリア330Cには、まず、初期の「明るさ」上限値および「明るさ」下限値(たとえば、「明るさ」が0〜100)に応じた合成画像が表示される。上述したように、「明るさ自動設定」が有効化(ON)されると、この合成画像表示エリア330Cに対して、ユーザによる指定領域枠384の設定が可能になっている。この指定領域枠384は、ユーザによるマウス104(図2)操作に応じて移動可能なカーソル372などによって指定される。これにより、指定領域の位置、大きさをユーザは目的に応じて設定することができる。この指定領域枠384に含まれる画素がもつ合成輝度に応じて、「明るさ」上限値および「明るさ」下限値が自動的に設定される。すなわち、指定領域枠384に含まれる画素の合成輝度の最大値を抽出して「明るさ」上限値に設定し、最小値を抽出して「明るさ」下限値に設定する。そして、図28に示すように、合成画像表示エリア330Cには、この設定された「明るさ」上限値および「明るさ」下限値(たとえば、「明るさ」が40〜70)に変更された後の合成画像が表示される。
【0253】
すなわち、図27では、被測定物である腕時計の皮革製のバンド部分が指定領域として設定されている場合を示し、図28では、この指定領域に含まれる画素がより高い精度(コントラスト)で表示される場合を示す。なお、図28に示す例では、指定領域に含まれる画素がもつ合成輝度に比較してより高い合成輝度をもつ画素については、白飛びまたは白飛びに近い状態で表示されていることがわかる。
【0254】
なお、図27においては、理解を容易にするために、1つの指定領域枠384が設定されている場合を例示するが、複数の指定領域枠384が設定されるようにしてもよい。
【0255】
撮影情報表示エリア340には、「撮影時間」、「撮影回数」、「シャッター速度」が表示される。なお、指定領域枠384の設定に応じて、「明るさ」上限値および「明るさ」下限値が変更された場合には、「撮影時間」、「撮影回数」、「シャッター速度」についても変更される。そのため、撮影情報表示エリア340には、変更後の値が表示される。
【0256】
さらに、設定モード画面300Cには、「OK」ボタン362と、「CANCEL」ボタン364とが配置されており、ユーザが「OK」ボタン362を選択すると、各項目において設定された値が固定ディスク107などに格納された上で「稼動モード」に移行す
る。一方、ユーザが「CANCEL」ボタン364を選択すると、各項目において設定された値が固定ディスク107などに格納されずに「稼動モード」に移行する。
【0257】
<制御構造>
図29は、この発明の実施の形態4に従う画像処理装置の稼動モードにおける制御構造を示す機能ブロック図である。
【0258】
図29を参照して、本実施の形態に従う画像処理装置の制御構造は、図4に示す実施の形態1に従う画像処理装置の制御構造において、撮影制御部200に代えて撮影制御部200Bを配置するとともに、輝度情報抽出部240をさらに設けたものである。その他の部位および動作については、上述した実施の形態1とほぼ同様であるので、詳細な説明は繰返さない。
【0259】
輝度情報抽出部240は、合成画像データのうちユーザによって設定される指定領域を受付け、輝度合成部210から出力される各画素の合成輝度のうち、当該指定領域に含まれる各画素の合成輝度の値を抽出する。そして、輝度情報抽出部240は、これらの抽出した合成輝度の値に基づいて、「明るさ」上限値および「明るさ」下限値を決定する。一例として、輝度情報抽出部240は、指定領域に含まれる画素がもつ合成輝度の最大値を「明るさ」上限値として決定し、指定領域に含まれる画素がもつ合成輝度の最小値を「明るさ」下限値として決定する。そして、輝度情報抽出部240は、このように決定した「明るさ」上下限値を、明るさ上下限設定部216へ出力する。
【0260】
明るさ上下限設定部216は、ユーザによるスライドバー312および314(図27,図28)の操作によって設定される「明るさ」上下限値に代えて、輝度情報抽出部240から入力される「明るさ」上下限値を優先し、トーンマッピング部214へ出力する。
【0261】
トーンマッピング部214は、「明るさ」下限値から「明るさ」上限値までの範囲が、合成画像データの輝度範囲と対応するように、一次関数輝度合成部210から出力される各画素についての割り当て処理を実行することで、合成画像データを生成する。なお、この割り当ては、図7に示すような輝度情報についての1次関数として表される対応関係に従って行なわれる。
【0262】
このように合成画像データのうち、ユーザが表示したいと望む指定領域の表示に適した「明るさ」上限値および「明るさ」下限値が自動的に決定されるので、当該指定領域に含まれる被測定物の画像をより高い精度で表示することができる。
【0263】
なお、合成画像データのうち、処理対象とすべき領域に含まれる画素を除く残りの画素の各々については、入力画像データのうち1つに基づいて、合成画像データの対応する画素の色情報および輝度情報を算出してもよい。より具体的には、色合成部208および輝度合成部210が、いずれか1つの入力画像データ(たとえば、画像バッファ204aに格納される入力画像データ)の処理対象とすべき領域に含まれる画素を除く残りの画素の各々についての色情報および輝度情報を、対応する合成色情報および合成輝度情報として出力する。これにより、合成画像データのうち、処理対象とすべき領域に含まれる画素を除く残りの画素については、いずれか1つの入力画像データの対応する画素で代用されることになる。
【0264】
指定領域に含まれる画素がもつ合成輝度の最大値および最小値をそれぞれ合成輝度の最小値を「明るさ」上限値および下限値とする処理について例示したが、それ以外の処理として、指定領域に含まれる画素がもつ合成輝度の最頻度値を中心として、所定範囲を「明るさ」上下限値と決定する方法や、指定領域に含まれる画素がもつ合成輝度の分散値に基
づいて「明るさ」上下限値を決定する方法などを採用することができる。
【0265】
<本実施形態の作用効果>
この発明の実施の形態4によれば、被測定物のうち、高い精度で表示すべき領域、あるいは検査対象とすべき領域をユーザが視覚的に指定することで、このような領域の表示に適した「明るさ」上限値および「明るさ」下限値が自動的に決定されるので、ユーザによる設定調整に要する時間を短縮することができる。これにより、予備知識を持たないユーザであっても、被測定物に応じた適切な設定条件を決定することができる。
【0266】
[実施の形態5]
上述の実施の形態1では、1回の合成画像データの生成に要する見込みの処理時間が、ユーザ設定される許容時間に収まるように撮影条件を変更する構成について例示し、上述の実施の形態2では、撮影範囲におけるワークの動き量に応じて、ワークの動きを適切に動画表示できるように撮影条件を変更する構成について例示し、上述の実施の形態3では、処理対象とすべき領域に含まれる画素についてのみ画像合成処理を行なって、1回の画像合成データの生成に要する処理時間を短縮する構成について例示した。
【0267】
これらの各実施の形態における構成のうち、任意の構成を組み合わせて単一の画像処理装置に組み込んでもよい。すなわち、上述の各実施の形態に従う構成は、互いに併存可能な構成であり、任意に組み合わせることが可能である。
【0268】
なお、上述の実施の形態1〜4における説明では、主としてカラー画像データを用いる場合について例示したが、本発明は、モノクロ画像データに対しても同様に適用できる。
【0269】
[その他の実施の形態]
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【0270】
また、本発明に係るプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
【0271】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記録媒体とを含む。
【0272】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【0273】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0274】
1 視覚センサシステム、2 ワーク、4a 受光部、4b 投光部、6 搬送機構、
8 撮像装置、100 コンピュータ、101 コンピュータ本体、102 モニタ、103 キーボード、104 マウス、105 CPU、106 メモリ、107 固定ディスク、109 カメラインターフェイス部、111 FD駆動装置、113 CD−ROM駆動装置、115 PLCインターフェイス部、117 センサインターフェイス部、200,200A,200B 撮影制御部、202 選択部、204,204a〜204h 画像バッファ、206a-206h 画像情報抽出部、208 色合成部、210
輝度合成部、212 画像生成部、214 トーンマッピング部、216 上下限設定部、218 ヒストグラム生成部、220 動き量判断部、222 処理時間算出部、230 領域指定受付部、240 輝度情報抽出部。
【技術分野】
【0001】
この発明は、被測定物を異なる露光条件で複数回撮影して得られる複数の画像データを用いて、ダイナミックレンジを拡大した合成画像データを生成可能な画像処理装置に関するものである。
【背景技術】
【0002】
FA(Factory Automation)分野などにおいては、ワークなどの被測定物に生じる欠陥などを光学的に検査したり、その大きさなどを光学的に計測したりする装置として、いわゆる視覚センサが実用化されている。
【0003】
このような視覚センサを用いて検査や計測を行なう場合には、被測定物を適切に撮影する必要がある。一般的に、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサなどの撮像素子によって画像を取得する撮像装置
のダイナミックレンジ(輝度を表現可能な階調範囲)は有限である。そのため、撮影時の露光量が多くなると、撮影される画像は全面的もしくは部分的に白飛び(ハレーション)を生じてしまい、被測定物の輝度情報および色情報を正確に取得できない。逆に、撮影時の露光量が少なくなると、全面的もしくは部分的に黒つぶれを生じてしまい、有効な輝度情報を取得できない。さらに、局所的に反射率が異なる部分をもつ被測定物や鏡面に近い凹凸をもつ被測定物では、照明などの影響を受けて、部分的な白飛びや黒つぶれが発生し得る。
【0004】
このように、撮像素子上に結像される被測定物の像に含まれる最も明るい部分と最も暗い部分との明るさの差が大きく、本来得られるべき画像のダイナミックレンジが撮像素子のダイナミックレンジを超える場合には、被測定物の全体を適切に撮影することができないという問題があった。
【0005】
そこで、同一の被測定物を異なる露光条件で複数回撮影し、これによって得られる複数の画像データを合成することで、ダイナミックレンジを拡大させる技術が知られている。このような処理は、ハイダイナミック合成処理やスーパーラチチュード処理(Super Latitude process;SL処理)とも称される。たとえば特開2002−334326号公報(特許文献1)には、ダイナミックレンジ拡大を少ない計算処理負荷によって実現する視覚センサが開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−334326号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
被測定物のうち高い精度で表示すべき領域、あるいは検査対象とすべき領域が撮影範囲に比較して小さい場合には、撮影される画像データのすべての領域に対して輝度範囲が最適となるように合成処理を行なう必要はなく、必要な領域について輝度範囲を最適化して合成処理を行なえば十分である。
【0008】
そこで、この発明は、これらの問題を解決するためになされたものであり、その目的は、必要な領域について輝度範囲を最適化した合成画像を生成できる画像処理装置を提供することである。
【課題を解決するための手段】
【0009】
この発明の一実施態様によれば、被測定物を撮影して画像データを生成する撮像部に接続され、撮像部を制御するための制御指令を出力し、撮像部で撮影された画像データが入力されるカメラインターフェイス部と、表示部に接続され、表示部に表示させる表示用画像データを出力する表示画面出力部と、外部から入力を受付ける入力部と、処理を実行する処理部と、を備え、入力部から受付けた入力に基づいて設定を行なう設定モードと、設定に従う処理を実行する稼動モードとを有する画像処理装置であって、処理部は、設定モードにおいて、カメラインターフェイス部を通じて、入力される画像データの輝度を異ならせる複数の撮影条件からなる第1の撮影条件により撮像部に被測定物を撮影させるための制御指令を出力し、当該制御指令による複数の撮影条件に対応した複数の画像データの入力を受け、構成する画素の輝度について第1の階調数で表わされた複数の画像データを
取得し、各画像データを構成する画素の輝度について、それぞれ画像データに対応する撮影条件に基づいて規格化した規格化輝度を算出し、各画像データの互いに対応する座標位置にある各画素の規格化輝度を、撮影条件に応じて予め定められた規格化輝度に対する重み付けに従って合成することで、画像を構成する画素の合成された規格化輝度が前記第1
の階調数よりも階調数が増加された第2の階調数で表わされた合成画像データを生成し、
合成画像データを構成する画素の輝度を表わす第2の階調数が第3の階調数となるように
必要に応じて各画素の輝度を変換することにより、表示用画像データを生成して、表示画面出力部により当該表示用画像データを出力し、入力部を通じて、表示用画像データに対する領域の指定を受付けて指定領域を設定し、および、規格化輝度の範囲毎に対応する撮影条件を予め定めた対応関係に従って、合成画像データ内の前記指定領域を構成する画素の合成された規格化輝度の上限値および下限値により定まる指定領域内の合成された規格化輝度の範囲に対応する1または複数の撮影条件を第2の撮影条件として設定する処理を行ない、稼動モードにおいて、設定モードにおいて設定された第2の撮影条件が複数の撮影条件である場合には、カメラインターフェイス部を通じて、当該設定された複数の撮影条件により撮像部に被測定物を撮影させるための制御指令を出力し、当該制御指令による複数の撮影条件に対応した複数の画像データの入力を受け、構成する画素の輝度について第1の階調数で表わされた複数の画像データを取得し、各画像データを構成する画素の輝
度について、それぞれ画像データに対応する撮影条件に基づいて規格化した規格化輝度を算出し、各画像データの互いに対応する座標位置にある各画素の規格化輝度を、撮影条件に応じて予め定められた規格化輝度に対する重み付けに従って合成することで、画像を構成する画素の合成された規格化輝度が第1の階調数よりも階調数が増加された合成画像デ
ータを生成し、および、当該合成画像データ内の指定領域を構成する画素の合成された規格化輝度の上限値および下限値により定まる指定領域内の合成された規格化輝度の範囲が第4の階調数となるように各画素の輝度を変換する輝度階調変換により当該合成画像データの全領域を構成する画素の合成された規格化輝度について輝度階調変換を行ない、その後の画像処理に供するための処理対象画像データを算出する処理を行ない、設定モードにおいて設定された第2の撮影条件が1の撮影条件である場合には、カメラインターフェイス部を通じて、当該設定された1の撮影条件により撮像部に被測定物を撮影させるための制御指令を出力し、当該制御指令による撮影条件に対応した1の画像データの入力を受け、構成する画素の輝度について第1の階調数で表わされた画像データを取得し、当該画像
データを構成する画素の輝度について、当該画像データに対応する撮影条件に基づいて規格化した規格化輝度を算出し、および、当該画像データ内の指定領域を構成する画素の規格化輝度の上限値および下限値により定まる指定領域内の規格化輝度の範囲が第4の階調数となるように各画素の輝度を変換する輝度階調変換により、当該画像データの全領域を構成する画素の輝度について輝度階調変換を行ない、その後の画像処理に供するための処理対象画像データを算出する処理を行なうものである。
【0010】
ここでいう規格化は、同じ被測定物を撮影しても、撮影条件が異なると各撮影条件に対
応して撮像素子に入射する光パワーの割合が異なるため、取得される画像データの画素の輝度も異なるところ、この撮影条件の違いにより撮像素子に入射する光パワーの変化の割合を補正し、共通化された輝度の尺度によって各画像の画素の輝度を表す規格化である。
【0011】
第3の階調数は、表示画面出力部により出力する表示用画像データを構成する画素の輝度を表わす階調数であり、第2の階調数と等しい場合には、合成画像データを構成する画
素の輝度変換を行なう必要はなく、合成画像データがそのまま表示用画像データとなる。
【0012】
本発明のこの態様によれば、設定時において、複数の撮影条件により取得された画像データをもとに合成された画像データは、1の撮像条件で取得された画像データよりも白飛びや黒つぶれが生じにくいので、この合成画像データを表示させて、正確に表示すべき領域、あるいは検査、計測すべき領域等の重要な領域の指定を受付ければ、当該領域を的確に設定し易い。
【0013】
また、稼動時において、重要な領域について、限られた輝度階調の表示装置で精度良く表示したり、限られた輝度階調の画像を処理する画像処理によって精度良く検査、計測を行なうことが可能になる。重要な領域以外の領域の画像については黒つぶれや白飛び等が生じる可能性があるものの、撮像対象領域全体を共通の輝度階調変換であらわした画像を得ることから、撮像対象領域全体のおおまかな情報を保持しつつ、その中の一部である重要な領域については精度が良い画像の生成が可能となる。
【0014】
また、この発明の他の実施態様によれば、被測定物を撮像して画像データを生成する撮像部に接続され、撮像部を制御するための制御指令を出力し、撮像部で撮影された画像データが入力されるカメラインターフェイス部と、表示部に接続され、表示部に表示させる表示用画像データを出力する表示画面出力部と、外部から入力を受付ける入力部と、処理を実行する処理部と、を備え、入力部から受付けた入力に基づいて設定を行なう設定モードと、設定に従う処理を実行する稼動モードとを有する画像処理装置であって、処理部は、設定モードにおいて、カメラインターフェイス部を通じて、入力される画像データの輝度を異ならせる複数の撮影条件からなる第1の撮影条件により撮像部に被測定物を撮影させるための制御指令を出力し、当該制御指令による複数の撮影条件に対応した複数の画像データの入力を受け、構成する画素の輝度について第1の階調数で表わされた複数の画像
データを取得し、各画像データを構成する画素の輝度について、それぞれ画像データに対応する撮影条件に基づいて規格化した規格化輝度を算出し、各画像データの互いに対応する座標位置にある各画素の規格化輝度を、撮影条件に応じて予め定められた規格化輝度に対する重み付けに従って合成することで、画像を構成する画素の合成された規格化輝度が第1の階調数よりも階調数が増加された第2の階調数で表わされた合成画像データを生成し、合成画像データを構成する画素の輝度を表わす第2の階調数が第3の階調数となるよう
に必要に応じて各画素の輝度を変換することにより、表示用画像データを生成して、表示画面出力部により当該表示用画像データを出力し、入力部を通じて、表示用画像データに対する領域の指定を受付けて指定領域を設定し、および、規格化輝度の範囲毎に対応する撮影条件を予め定めた対応関係に従って、合成画像データ内の指定領域を構成する画素の合成された規格化輝度の上限値および下限値により定まる指定領域内の合成された規格化輝度の範囲に対応する1または複数の撮影条件を第2の撮影条件として設定する処理を行ない、稼動モードにおいて、設定モードにおいて設定された第2の撮影条件が複数の撮影条件である場合には、カメラインターフェイス部を通じて、当該設定された複数の撮影条件により撮像部に被測定物を撮影させるための制御指令を出力し、当該制御指令による複数の撮影条件に対応した複数の画像データの入力を受け、構成する画素の輝度について第1の階調数で表わされた複数の画像データを取得し、指定領域に対しては、各画像データ
内の指定領域を構成する画素の輝度について、それぞれ画像データに対応する撮影条件に基づいて規格化した規格化輝度を算出し、各画像データの互いに対応する座標位置にある
各画素の規格化輝度を、撮影条件に応じて予め定められた規格化輝度に対する重み付けに従って合成し、指定領域を構成する画素の合成された規格化輝度の上限値および下限値により定まる指定領域内の合成された規格化輝度の範囲が第4の階調数となるように各画素の輝度を変換する輝度階調変換により、指定領域を構成する画素の合成された規格化輝度について輝度階調変換を行った指定領域の処理対象画像データを算出し、指定領域外の領域に対しては、複数の撮影条件のうちの1の撮影条件により生成された画像データ内の前記指定領域外の領域を構成する画素の輝度について、当該画像データに対応する撮影条件に基づいて規格化した規格化輝度を算出し、輝度階調変換により、指定領域外の領域を構成する画素の規格化輝度について輝度階調変換を行った指定領域外の処理対象画像データを算出し、および、指定領域の処理対象画像データと指定領域外の処理対象画像データとからなる全領域の処理対象画像データをその後の画像処理に供するために作成する処理を行ない、設定モードにおいて設定された前記第2の撮影条件が1の撮影条件である場合には、カメラインターフェイス部を通じて、当該設定された1の撮影条件により撮像部に被測定物を撮影させるための制御指令を出力し、当該制御指令による撮影条件に対応した1の画像データの入力を受け、構成する画素の輝度について第1の階調数で表わされた画像
データを取得し、および、当該画像データ内の前記指定領域を構成する画素の規格化輝度の上限値および下限値により定まる指定領域内の輝度範囲が第4の階調数となるように各画素の輝度を変換する輝度階調変換により、画像データの全領域を構成する画素の輝度について輝度階調変換を行ない、その後の画像処理に供するための処理対象画像データを算出する処理を行なうものである。
【0015】
この態様によれば、稼動時において、重要な領域以外の領域の画像を簡易に生成することができるので、処理が軽くなる。
【0016】
好ましくは、第1の撮影条件に含まれる複数の撮影条件のうち、入力される画像データの輝度が最も高くなる撮影条件は、当該撮影条件に対応して入力される画像データに輝度が飽和した画素が含まれない撮影条件とされる。
【0017】
これにより、設定時において指定領域を設定する際に、確実に輝度が飽和しない画像が表示されるので、ユーザは画像を確認しつつ領域の指定をより正確に行なうことができる。
【0018】
好ましくは、カメラインターフェイス部を通じて入力される画像データは、色情報を含む画像データであり、処理部は、前記画素の輝度を、当該画素の色情報を構成する各成分の輝度の総和に基づいて算出し、いずれの合成画像データにおいても、合成画像データの画素の色情報を、合成画像データを生成するために用いる複数の画像データの互いに対応する座標位置にある各画素の色情報を当該画素の前記規格化輝度に対して撮影条件に応じて予め定められた重み付けに従って合成することにより算出し、いずれの処理対象画像データにおいても、処理対象画像データの画素の色情報を、輝度階調変換する前の画像データの対応する画素が有する色情報として、色情報を含む処理対象画像データを算出する。
【0019】
これにより、色情報を含む処理対象画像データを算出することができる。
この発明の好ましい態様においては、撮影条件は撮像部の露光時間を含む。
また、この発明の好ましい態様においては、撮影条件はしぼり量を含む。
また、この発明の好ましい態様においては、被測定物に光を照射する照明部にさらに接続され、撮影条件は、前記照明部の照明強度を含む。
【発明の効果】
【0020】
この発明によれば、設定時に合成画像データを表示させて、正確に表示すべき領域、あるいは検査、計測すべき領域等の重要な領域の指定を受付けるので、当該領域を的確に設
定し易い。稼動時に、当該重要な領域を、限られた輝度階調の表示装置で精度良く表示したり、限られた輝度階調の画像を処理する画像処理によって精度良く検査、計測を行なうことが可能になる。重要な領域以外の領域の画像については黒つぶれや白飛び等が生じる可能性があるものの、撮像対象領域全体を共通の輝度階調変換であらわした画像を得ることから、撮像対象領域全体のおおまかな情報を保持しつつ、その中の一部である重要な領域については精度が良い画像の提供が可能となる。
【図面の簡単な説明】
【0021】
【図1】この発明の実施の形態1に従う画像処理装置を含む視覚センサシステム1の全体構成を示す概略図である。
【図2】コンピュータのハードウェア構成を示す概略構成図である。
【図3】ワークとして腕時計の裏面を撮影した場合の入力画像データを示す図である。
【図4】この発明の実施の形態1に従う画像処理装置の制御構造を示す機能ブロック図である。
【図5】撮像装置に設定される露光時間と撮影に適した「明るさ」との対応関係の一例を示す図である。
【図6】重み関数および応答関数の特性の一例を示す図である。
【図7】トーンマッピング部による割り当て処理を説明するための図である。
【図8】この発明の実施の形態1に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【図9】この発明の実施の形態1に従う画像処理装置の稼動モードにおける制御動作を説明するための図である。
【図10】この発明の実施の形態1に従う画像処理装置における「明るさ」上下限値と合成画像との関係の一例を示す図である。
【図11】この発明の実施の形態1に従う画像処理装置において処理時間の算出方法の一例を説明するための図である。
【図12】この発明の実施の形態1に従う撮影条件の変更処理を説明するための図である。
【図13】この発明の実施の形態1に従う撮影条件の変更処理の第1変形例を説明するための図である。
【図14】この発明の実施の形態1に従う撮影条件の変更処理の第2変形例に用いられる露光時間と「明るさ」との対応関係の一例を示す図である。
【図15】稼動モードの一例であるサーチ処理の表示例を示す図である。
【図16】稼動モードの一例であるエッジスキャン処理の表示例を示す図である。
【図17】この発明の実施の形態1に従う画像処理装置における全体処理を示すフローチャートである。
【図18】この発明の実施の形態1に従う画像処理装置における撮影条件の変更処理を示すフローチャートである。
【図19】図17および図18に示す画像合成処理サブルーチンにおける処理を示すフローチャートである。
【図20】この発明の実施の形態2に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【図21】この発明の実施の形態2に従う画像処理装置の制御構造を示す機能ブロック図である。
【図22】この発明の実施の形態2に従う動き適応表示モードが有効化された場合の動作を示すタイムチャートである。
【図23】この発明の実施の形態2に従う画像処理装置における「設定モード」における合成画像の表示に係るフローチャートである。
【図24】この発明の実施の形態3に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【図25】この発明の実施の形態3に従う画像処理装置のモニタに表示される「稼動モード」における画面表示例を示す図である。
【図26】この発明の実施の形態3に従う画像処理装置の制御構造を示す機能ブロック図である。
【図27】この発明の実施の形態4に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【図28】図27において指定領域が設定された後の画面表示例を示す図である。
【図29】この発明の実施の形態4に従う画像処理装置の制御構造を示す機能ブロック図である。
【発明を実施するための形態】
【0022】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0023】
[実施の形態1]
<全体装置構成>
図1は、この発明の実施の形態1に従う画像処理装置を含む視覚センサシステム1の全体構成を示す概略図である。
【0024】
図1を参照して、視覚センサシステム1は、代表的に生産ラインなどに組込まれ、被測定物(以下「ワーク」とも称す。)における欠陥などを光学的に検査したり、その大きさなどを光学的に計測したりする。一例として、この発明の実施の形態1においては、ワーク2は、ベルトコンベヤなどの搬送機構6によって搬送され、搬送されたワーク2は、撮像装置8によって順次撮影される。撮像部8によって撮影された画像データ(以下「入力画像データ」とも称す。)は、本実施の形態に従う画像処理装置を実現する代表例であるコンピュータ100へ伝送される。なお、撮像部8で撮影されるワーク2に対して光を照射する照明機構をさらに設けてもよい。
【0025】
また、ワーク2が撮像部8の撮影範囲に到達したことは、搬送機構6の両端に配置された光電センサによって検出される。具体的には、光電センサは、同一の光軸上に配置された受光部4aと投光部4bとからなり、投光部4bから放射される光がワーク2で遮蔽されることを受光部4aで検出することによって、ワーク2の到達を検出する。なお、搬送機構6の制御自体は、図示しないPLC(Programmable Logic Controller)などによっ
て制御される。
【0026】
撮像部8は、上述した光電センサによってワーク2の到着が検出されると、これに応じてワーク2を撮影する。あるいは、連続的に撮影を行っておき、ワーク2の到着が検出されると、後述するワーク2の検査や計測を行なうようにしてもよい。
【0027】
一例として、撮像部8は、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった、複数
の画素に区画された撮像素子を含んで構成される。各画素に対応する撮像素子は、入射する光に対して複数の分光感度を有している。
【0028】
より具体的には、撮像部8の撮像素子は、一例として、各画素について、光の三原色に基づく「赤色」「緑色」「青色」のそれぞれに分光感度を有している。そして、撮像装置8の撮像素子は、入射する光についての「赤色」「緑色」「青色」の3色の検出値(R輝度、G輝度、B輝度)を出力する。ここで、たとえば、R輝度は、撮像素子に入射する光のうち、赤色の分光感度に含まれる波長成分に相当する光のエネルギー(光強度)の大き
さを示す。G輝度およびB輝度についても、それぞれ対応の分光感度に含まれる波長成分に相当する光のエネルギー(光強度)の大きさを示す。また、本実施の形態では、R輝度、G輝度、B輝度は、いずれも8ビット(0〜255階調)の範囲で規定されるものとする。
【0029】
なお、撮像素子が有する分光感度は3つ(3バンド)に限定されることなく、より多くの色に分光感度をもつようにしてもよい。このようなマルチバンドの撮像素子を用いることで、より撮像可能な色域を拡大させることができる。あるいは、光の三原色の補色である「シアン」「マゼンダ」「黄色」の3色の検出値(C輝度、M輝度、Y輝度)を分光感度として有していてもよい。また、単板式のCCDなどを用いる場合には、各画素が「赤色」「緑色」「青色」のうち1色だけについて受光感度を有している場合がある。このような場合には、図示しない補間部によって、「赤色」「緑色」「青色」の各々についての輝度をもつ入力画像データを生成してもよい。
【0030】
特に、本実施の形態に従う撮像部8は、撮影時の撮影条件を変更可能である。この撮影条件には、露光条件すなわち撮像素子に入射する光エネルギーを調整するための値が含まれ、代表的に、光学系のしぼり量や機械的または電子的なシャッター速度、照明強度によって調整される。本実施の形態では、露光条件の代表例として「露光時間」を調整する構成について例示するが、露光時間に限られず、しぼり量などを調整するようにしてもよい。また、露光条件の変更に代えて、照明光の強度の調整によって同様に撮像素子に入射する光エネルギーを調整するようにしてもよい。
【0031】
一方、コンピュータ100は、FD(Flexible Disk)駆動装置111およびCD−R
OM(Compact Disk-Read Only Memory)駆動装置113を搭載するコンピュータ本体101と、モニタ102と、キーボード103と、マウス104とを含む。そして、コンピュータ本体101は、予め格納されたプログラムを実行することで、本実施の形態に従う画像処理装置を実現する。
【0032】
<ハードウェア構成>
図2は、コンピュータ100のハードウェア構成を示す概略構成図である。
【0033】
図2を参照して、コンピュータ本体101は、図1に示すFD駆動装置111およびCD−ROM駆動装置113に加えて、相互にバスで接続された、CPU(Central Processing Unit)105と、メモリ106と、固定ディスク107と、カメラインターフェイ
ス部109と、PLCインターフェイス部115と、センサインターフェイス部117とを含む。
【0034】
FD駆動装置111にはFD112が装着可能であり、CD−ROM駆動装置113にはCD−ROM114が装着可能である。上述したように、本実施の形態に従う画像処理装置は、CPU105がメモリ106などのコンピュータハードウェアを用いて、プログラムを実行することで実現される。一般的に、このようなプログラムは、FD112やCD−ROM114などの記録媒体に格納されて、またはネットワークなどを介して流通する。そして、このようなプログラムは、FD駆動装置111やCD−ROM駆動装置113などにより記録媒体から読取られて、記憶装置である固定ディスク107に一旦格納される。さらに、固定ディスク107からメモリ106に読出されて、CPU105により実行される。
【0035】
CPU105は、プログラムされた命令を順次実行することで、各種の演算を実施する処理部である。メモリ106は、CPU105でのプログラム実行に応じて、各種の情報を一時的に記憶する。処理に用いられる各種設定も記憶部であるメモリ106に記憶され
、もしくは一旦固定ディスク107やその他の記録媒体に格納された上でメモリ106へ読み出され、CPU105が演算を実施する際に参照される。
【0036】
カメラインターフェイス部109は、コンピュータ本体101と撮像部8との間のデータ通信を仲介するための装置であり、撮像部8で撮影された入力画像データを示す電気信号を受信してCPU105が処理可能なデータ形式に変換するとともに、CPU105が出力した指令などを電気信号に変換して撮像部8へ送出する。特に、撮像部8によって撮影された入力画像データは、カメラインターフェイス部109を介して、メモリ106または固定ディスク107へ格納される。
【0037】
PLCインターフェイス部115は、コンピュータ本体101と図示しないPLCとの間のデータ通信を仲介するための装置である。また、センサインターフェイス部117は、上述した光電センサなどからの検出信号を受信して、CPU105へ伝達する。
【0038】
固定ディスク107は、CPU105が実行するプログラムや入力画像データなどを記憶する不揮発性の記憶装置である。
【0039】
コンピュータ本体101に図示しない表示画面出力部を介して接続されるモニタ102は、CPU105が出力する情報を表示するための表示部であって、一例としてLCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などから構成される。後述するように、本実施の形態に従うモニタ102は、ワーク2を撮影して生成される合成画像、1回あたりの処理に要する見込みの処理時間、合成画像を構成する画素の輝度についてのヒストグラムなどを表示する。
【0040】
マウス104は、クリックやスライドなどの動作に応じたユーザからの指令を受付け、キーボード103は、入力されるキーに応じたユーザからの指令を受付ける入力部である。
【0041】
また、コンピュータ100には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【0042】
<動作モード>
本実施の形態に従う視覚センサシステム1は、ワーク2を撮影することで生成される合成画像データを用いて実際に検査や計測を実行する「稼動モード」と、ワーク2についての合成処理に係る設定を行なうための「設定モード」とを選択することが可能である。
【0043】
ユーザは、「設定モード」において、モニタ102に表示される合成画像データに基づく合成画像を参照しながら、適切な撮影条件を設定する。また、「稼動モード」では、実際に生産ラインを流れるワーク2を撮影して得られる合成画像データを生成し、この合成画像データに対して検査や計測が行われる。
【0044】
<画像合成処理>
次に、合成画像データを生成するための画像合成処理について説明する。本実施の形態に従う画像合成処理は、主として撮像部8のダイナミックレンジを拡大させるためのものである。
【0045】
図3は、ワークとして腕時計の裏面を撮影した場合の入力画像データを示す図である。
図3(a)は、露光時間が相対的に長い条件下で1回の撮影により得られた撮影画像を示し、図3(b)は、露光時間が相対的に短い条件下で1回の撮影により得られた撮影画像を示す。なお、図3(a)および図3(b)において、撮像部へ入射する光の強度は同
じ条件、すなわちしぼり量、照明強度は同じ条件である。図3に示すワークは、金属製の時計本体部と皮革製のバンド部とを含む。両者の反射率は大きく異なるので、各部分毎に放射され(反射され)撮像部の撮像素子へ入射する光パワー(単位時間当たりに放射される光エネルギー)にも大きな差がある。
【0046】
そのため、露光時間が長くなると、相対的に反射率の高い時計本体部は白飛びを生じてしまい、輝度情報を取得することができない。すなわち、図3(a)に示すように、時計本体部に記された文字が識別できなくなっていることがわかる。これに対して、露光時間が短くなると、相対的に反射率の低いバンド部から十分な光エネルギーを受光することができず、有効な輝度情報を取得することができない。すなわち、図3(b)に示すように、バンド部は黒つぶれを生じており、ステッチなどの欠陥が識別できなくなっていることがわかる。
【0047】
そこで、本実施の形態に従う画像処理装置は、同一のワークに対して取得される画像データの輝度を異ならせた撮影条件で複数回撮影し、撮影された複数の入力画像データから合成画像データを生成する。入力画像データは、撮像部8の撮像素子の各画素に入射する光エネルギーに相当する値(各色の輝度)を含んでおり、本実施の形態に従う画像処理装置は、各画素に対応するそれぞれの入力画像データの光エネルギーに相当する値(各色の輝度)と、対応する入力画像データの撮影時の撮影条件とに基づいて、合成画像データの各画素の色情報(以下、「合成色情報」とも称す。)および被測定物から各画素に入射する光パワーと所定の対応関係にある(あるいは、各画素に入射する光パワーから一意に決定される)輝度情報(以下、「合成輝度情報」とも称す。)を算出する。そして、合成色情報及び合成輝度情報に基づいて、合成画像データが生成される。
【0048】
概略すると、この合成輝度情報の算出処理では、入力画像データそれぞれにおける対応する画素における光エネルギーに相当する値(輝度)を撮影条件で規格化した上で、その輝度が適切であるものが優先的に採用される。同じ被測定物を撮影しても、撮影条件が異なると、各撮影条件に対応して撮像素子に入射する光パワーの割合が異なるため、取得される画像データの画素の輝度も異なることになるが、この撮影条件の違いにより撮像素子に入射する光パワーの変化の割合を、撮影条件に基づいて補正し、共通化された輝度の尺度である規格化輝度によって各画像の画素の輝度を表している。ワークを表現する合成画像データの各画素の合成輝度情報は、主として、ワークから放射(反射を含む)される光が撮像素子によって撮影されたときに撮像素子の有するダイナミックレンジに適切におさまる撮影条件で撮影された画素がもつ情報により算出される。このような処理によって、適切な撮影条件で撮影された輝度をもつ画素の集合として、合成画像データを生成できる。図3(c)は、本実施の形態に従う画像合成処理によって生成された合成画像データの一例を示す図である。図3(c)に示すように、上述の画像合成処理を行なうことで、図3(a)のような白飛びや図3(b)に示すような黒つぶれを含まない合成画像データを生成できる。
【0049】
本実施の形態に従う画像合成処理は、主として以下の4つの処理によって実現される。
(1)ワークを異なる露光条件で複数回撮影する処理(撮影処理)
(2)撮影された入力画像データの輝度情報から合成輝度情報を算出する処理(輝度合成処理)
(3)撮影された入力画像データの色情報から合成色情報を算出する処理(色合成処理)
(4)合成色情報と合成輝度情報とから合成画像データを生成する処理(生成処理)
<制御構造>
図4は、この発明の実施の形態1に従う画像処理装置の制御構造を示す機能ブロック図である。
【0050】
図4を参照して、本実施の形態に従う画像処理装置は、上述の(1)撮影処理を実現するための制御構造として、撮影制御部200と、選択部202と、画像バッファ204a〜204hと、画像情報抽出部206a〜206hとを含む。また、本実施の形態に従う画像処理装置は、上述の(2)輝度合成処理を実現するための制御構造として、輝度合成部210と、トーンマッピング部214と、明るさ上下限設定部216と、ヒストグラム生成部218とを含み、上述の(3)色合成処理を実現するための制御構造として、色合成部208を含む。また、本実施の形態に従う画像処理装置は、上述の(4)生成処理を実現するための制御構造として、画像生成部212を含む。さらに、本実施の形態に従う画像処理装置は、処理時間算出部222を含む。尚、上記撮影制御部200、選択部202、画像情報抽出部206a〜206h、輝度合成部210、トーンマッピング部214、明るさ上下限設定部216、ヒストグラム生成部218、色合成部208、画像生成部212と処理時間算出部222は、処理部であるCPU105によりその制御及び処理が行なわれる。画像バッファ204a〜204hは、記憶部であるメモリ106により構成されている。
【0051】
以下、上述の画像合成処理に係る各処理の内容を各機能ブロックの動作とともに説明する。
【0052】
<(1)撮影処理>
図4を参照して、撮影制御部200は、撮像部8に同一のワークを異なる露光条件で複数回撮影させることにより複数の入力画像データを生成する。撮影制御部200は、ユーザ設定に応じて、どのように露光条件を変更するかについて決定する。より具体的には、本実施の形態に従う撮像部8は、一例として、シャッター速度を任意に設定可能な電子シャッターを有しており、これにより露光時間を任意に変更可能となる。その変更可能な露光時間は、一例として「1/10秒」,「1/20秒」,「1/40秒」,「1/80秒」,「1/160秒」,「1/320秒」,「1/640秒」,「1/1280秒」の8通りを標準として含む。この変更可能な露光時間群は、「1/10秒」を基準(最も遅い値)として、2のべき乗で順次早くなるように設定されている。
【0053】
特に、撮影制御部200は、1回の合成処理に割り当てることのできる許容時間をユーザ設定として受付け、合成処理がこの許容時間を超過しないように、撮像部8による撮影回数および各撮影における露光条件(露光時間)を決定または変更する。このとき、撮影制御部200は、上述の8通りに含まれない露光時間を採用することも可能である。なお、撮影制御部200による撮影回数および各撮影における露光条件(以下、「撮影条件」とも称す。)の変更処理については、後述する。
【0054】
撮影制御部200は、撮影回数および各撮影における露光条件を決定すると、この決定内容に従って、撮像部8に撮影条件についての指令を与えることで、ワークを順次撮影して入力画像データを順次生成する。撮影制御部200は、露光時間別の撮影に同期して、選択部202に選択指令を与える。基本的には、1つの合成画像データを生成するための一連の撮影(たとえば、露光時間が「1/10秒」〜「1/1280秒」までの8回分の撮影)は、循環的に繰返される。
【0055】
選択部202は、撮像部8と、複数の画像バッファ204a〜204hとの間に配置され、撮影制御部200からの選択指令に応じて、画像バッファ204a〜204hのいずれか1つと撮像部8とを電気的に接続する。以下では、画像バッファ204a〜204hを総称して「画像バッファ204」とも記す。これにより、撮像部8で撮影された入力画像データは、撮影制御部200からの選択指令に応じた特定の画像バッファ204へ伝送される。
【0056】
画像バッファ204a〜204hは、撮像部8からの入力画像データを一時的に格納する記憶部であり、撮像装置における露光時間に対応付けて構成される。すなわち、各画像バッファ204は、対応する特定の露光時間において撮影された入力画像データのみを選択的に格納するように構成される。たとえば、画像バッファ204aに露光時間「1/10秒」が割り当てられている場合には、画像バッファ204aは、露光時間が「1/10秒」である露光条件で撮影された入力画像データのみを格納する。このような機能は、撮影制御部200が、撮像部8に対して撮影条件についての指令を出力するのと同期して、選択部202に対して当該撮影条件に対応する選択指令を出力することで実現される。
【0057】
上述したように、1つの合成画像データを生成するための一連の撮影が循環的に繰返されるので、各画像バッファ204に格納される入力画像データは、この一連の撮影に要する周期毎に更新されることになる。なお、後述するように、撮像部8に設定可能なすべての露光時間についての撮影が常に実行されるわけではなく、その一部の必要な露光時間の組においてのみ撮影が実行される場合もある。
【0058】
また、後述するように、撮影制御部200が上述の8通りに含まれない露光時間を採用する場合には、各画像バッファ204に対応付けられる露光時間も任意に変更され得る。
【0059】
画像情報抽出部206a〜206hは、それぞれ画像バッファ204a〜204hに対応付けられており、対応の画像バッファ204に格納された入力画像データから、色情報および輝度情報をそれぞれ抽出する。代表的に、入力画像データは、各画素に入射する光エネルギーに相当する値である3色の輝度(R輝度、G輝度、B輝度)からなる。入力画像データの色情報は、これらの3色の輝度を規格化した上で、各輝度の相対関係(相対比)を表わしたものであり、入力画像データの輝度情報は、各画素に入射する光エネルギーに相当する値を総合的に表わしたものであり、3色の輝度の平均値(あるいは、総和)に相当する。なお、本実施の形態では、R輝度、G輝度、B輝度の各々は、いずれも8ビット(0〜255階調値)の範囲で規定されるとする。そのため、輝度情報についても8ビット(0〜255階調値)の範囲で規定される。
【0060】
なお、この輝度情報および色情報を抽出する前処理として、入力画像データに対するホワイトバランス補正を行なってもよい。
【0061】
そして、画像情報抽出部206a〜206hは、抽出した色情報を色合成部208へ出力するとともに、抽出した輝度情報を色合成部208および輝度合成部210へ出力する。
【0062】
<(2)輝度合成処理>
図4を参照して、輝度合成部210は、撮像部8によって撮影された各入力画像データの光エネルギーに相当する値(輝度情報)を対応する露光条件によってそれぞれ規格化した上で、各画素の合成輝度を算出する。上述したように、露光時間を変更することで、撮影に適した光パワーの範囲が変動する。すなわち、露光時間が相対的に短ければ、光パワーのより大きな範囲の撮影に適し、露光時間が相対的に長ければ、光パワーのより小さな範囲の撮影に適する。
【0063】
そこで、本明細書においては、ワークから放射される光パワーの大きさを示す「明るさ」という指標を用いる。なお、「明るさ」は、撮像部8の性能に依存する相対的な値であり、同じ「明るさ」であっても、撮像素子の感度や光学系の開放値などが異なれば、実際の光パワーは異なったものとなる。
【0064】
一般的に、撮像部8の撮像素子に入射する光エネルギーの大きさは、露光時間に比例すると考えられる。そのため、本明細書における「明るさ」としては、代表的に、撮像装置8で検出された輝度を露光時間で割り、その値について対数をとったものを採用する。したがって、本明細書における「明るさ」は、単位露光時間あたりの光エネルギー(光パワー)の大きさを示す指標である。このような「明るさ」を用いることで、撮像部8に設定可能な各露光時間に対応させて、撮像部8による撮影に適した「明るさ」範囲を予め規定することができる。
【0065】
より具体的には、本実施の形態に従う撮像部8に設定可能な8つの露光時間は、2のべき乗で順次短くなるようになっているので、各露光時間と「明るさ」との対応関係を図5のように定めることができる。
【0066】
図5は、撮像部8に設定される露光時間と撮影に適した「明るさ」との対応関係の一例を示す図である。
【0067】
図5を参照して、露光時間が「1/10秒」である場合に撮影に適した「明るさ」の代表値を「20」に設定すると、露光時間を1/2倍した「1/20秒」である場合には、撮影に適した「明るさ」の代表値を「10」だけ加算した「30」に設定できる。このように順次設定することで、露光時間を「1/10秒」〜「1/1280秒」の範囲に対応付けて、「明るさ」の代表値を「20」〜「90」にそれぞれ設定できる。さらに、各露光時間がカバーする範囲を「明るさ」の代表値を中心として、−側に「10」から+側に「10」であると設定すると、露光時間が「1/10秒」である場合に撮影に適した「明るさ」範囲を「10〜30」に設定できる。同様にして、残りの撮影時間についても、「明るさ」の代表値を中心とした「±10」の範囲を「明るさ」範囲として採用する。
【0068】
また、いずれの「明るさ」についても、複数の露光時間の「明るさ」範囲によってカバーされるように設定することが好ましい。図5に示す例においては、「明るさ」範囲が10〜90の範囲では、いずれの「明るさ」についても、少なくとも2つの露光時間によってカバーするように設定されている。すなわち、たとえば「50」の「明るさ」には、「1/40秒」、「1/80秒」、「1/160秒」の3つの露光時間が対応し、この3つの露光時間によってカバーされていることを示す。ユーザが入力する「明るさ」上下限値の範囲(後述する)が狭い場合であっても、異なる露光時間で複数回の撮影が選択されるようになる。
【0069】
この図5に示す露光時間と「明るさ」範囲との関係は、撮像部8で撮影可能な「明るさ」範囲のうち、ユーザによって必要な「明るさ」範囲が設定されると、当該設定に対応する複数の露光時間の各々での撮影が行なわれるようになる。すなわち、図5に示す露光時間のすべてにおいて撮影が行なわれるのではなく、特定の露光時間における撮影のみを行なうことで、画像合成処理に係る処理時間を短縮することもできる。
【0070】
より具体的には、ユーザによって、「明るさ」範囲が「30〜60」に設定された場合には、例えば、その範囲内に含まれる「1/20秒」,「1/40秒」,「1/80秒」の露光時間で1処理あたり3回の撮影が行なわれる。
【0071】
再度、図4を参照して、輝度合成部210は、ワークを複数回撮影して得られる複数の入力画像データを用いて、合成画像データの各画素の輝度である合成輝度を算出する。より具体的には、輝度合成部210は、合成画像データの各画素(座標位置i)に対応するp個の入力画像データにおけるそれぞれの画素の輝度を露光時間で規格化することで、各画素の合成輝度Eiを算出する。輝度合成部210による合成輝度Eiの算出式は以下のようになる。
【0072】
【数1】
【0073】
上式において、「log2(g(Zi,j)/Tj)」の項が、各入力画像データにおける輝度を露光時間で規格化した上で、「明るさ」として評価した値に相当する。これは、たとえば同じ輝度「128」であっても、露光時間が相対的に短ければ、その実際の「明るさ」はより大きな値として評価すべきであり、露光時間が相対的に長ければ、その実際の「明るさ」はより小さな値として評価すべきであるという技術思想に基づくものである。すなわち、対応の入力画像データの撮影時の露光条件に応じた係数1/Tjを乗じることで露光時間による規格化を行ない、この規格化した値を累積加算することで合成輝度Eiが算出される。
【0074】
代表的に、合成輝度Eiは、図5に示す各露光時間と「明るさ」範囲との関係に従って、0〜100の範囲の値として算出される。なお、理解を容易にするために、0〜100の範囲で表しているが、合成して得られる画像の「明るさ」の階調は、1回の撮影で得られる画像がもつ階調(たとえば、8ビット)よりも大きくなることから、データとしては、小数点以下の桁も有する値である(たとえば、16ビットのデータを用いて小数点以下4桁までの値として取扱う)。
【0075】
上式においては、さらに、重み関数w(Z)と撮像部8の撮像素子の応答関数g(Z)を導入している。図6を参照して、これらの関数について説明する。
【0076】
図6は、重み関数および応答関数の特性の一例を示す図である。図6(a)は、重み関数w(Z)の特性を示し、図6(b)は、応答関数g(Z)の特性を示す。
【0077】
図6(a)を参照して、重み関数w(Z)は、撮像部8から出力される輝度の値に応じて、その信頼度を反映するための関数である。すなわち、ある露光条件において、撮像装置8から出力される輝度のうち、その下限値(0)または上限値(255)に近い値は、その中間値(128)に近い値に比較して信頼度が低いと考えられる。換言すれば、仮に撮像部8がある露光条件において最も適した「明るさ」をもつ被測定物を撮影すると、その輝度はほぼ中間値になると考えられる。
【0078】
そこで、このような特性を考慮して、重み関数w(Z)としては、輝度階調値の中間値の近傍に比較して、下限値または上限値の近傍の値がより小さくなるような関数を用いることが好ましい。一例として、本実施の形態では、輝度階調値の中間値が最大値(128)となるとともに、下限値および上限値でそれぞれゼロとなるような三角形状の重み関数
を採用する。このような重み関数を採用することで、露光時間毎の入力画像データのうち、その輝度が所定範囲内にあるものを優先的に採用して合成輝度が算出される。
【0079】
また、図6(b)を採用して、応答関数g(Z)は、撮像部8から出力される輝度と実際に撮像部8に入力する光エネルギーとの間の非線形性を補償するための関数である。たとえば、CCDなどの撮像素子では、入力する光エネルギーあるいは光量と出力される電圧信号との関係は非線形となる。このような非線形特性はガンマ特性などとも称される。応答関数g(Z)は、このようなガンマ特性を補償して、撮像部8から出力される輝度を、実際に撮像部8に入力する光エネルギーに比例するように補正するものである。なお、図6(b)には、簡単化のため、撮像部8から出力される輝度が入力する光エネルギーと比例関係にある場合の応答関数g(Z)を示す。
【0080】
なお、上式中の定数項の「−8」は、各露光時間と「明るさ」範囲との関係を図5のように定めた場合に生じるオフセットを補償するための項であり、各露光時間と「明るさ」範囲との関係に応じて適宜設定することができる。
【0081】
また、上式中では、「2」を底にした対数を用いているが、必ずしも「2」に限定されるものではなく、ネイピア数「e」を底にした自然対数や「10」を底にした常用対数などを用いてもよい。
【0082】
(トーンマッピング)
再度、図4を参照して、輝度合成部210は、算出した合成輝度Eiをトーンマッピング部214へ出力する。トーンマッピング部214は、合成輝度Eiに基づいて合成画像データを生成するための輝度情報を生成する。具体的には、トーンマッピング部214は、各合成輝度Ei(輝度範囲:0〜100;但し、256階調より大きな階調をもつ)を合成画像データの輝度範囲(たとえば、0〜255階調値)に割り当てることで、合成画像データの輝度情報を生成する。なお、各合成輝度Eiの分解能(ダイナミックレンジ)は、入力画像データより高くなるので、合成画像データの輝度範囲を入力画像データより多階調化することで、より精度の高い合成画像データを生成できる。
【0083】
特に、トーンマッピング部214は、後述するようにユーザによる「明るさ」上下限の設定に応じて、合成輝度Eiのうち所定範囲を合成画像データの輝度範囲に割り当てる。
【0084】
図7は、トーンマッピング部214による割り当て処理を説明するための図である。
図7を参照して、説明を簡素化するために、トーンマッピング部214が線形の割り当て処理を行なう場合について例示する。最も簡単な例としては、輝度範囲が0〜100である合成輝度Eiの比例関係を保ったまま、0〜255の範囲の階調値への割り当てである。これにより、モニタが持つ表示能力より大きな階調をもつデータを、モニタの持つ表示能力に合わせた階調(たとえば、8ビット表示)で表示することができる。
【0085】
上述したように、ユーザによって「明るさ」上限値Bmaxと「明るさ」下限値Bminが設定された場合には、トーンマッピング部214は、以下のような式に従って、輝度Yiへの割り当てを行なう。
【0086】
Yi=255×(Ei−Bmin)/(Bmax−Bmin)
(計算例)
一例として、それぞれ3つの露光時間「1/20秒」,「1/40秒」,「1/80秒」において撮影が行なわれることで入力画像データが取得された場合において、3つの入力画像データの座標位置iにおける輝度が、それぞれ「190」,「100」,「50」であるとする。この場合において、当該座標位置iに対応する画素の合成輝度Eiは以下
のように算出される。但し、W(190)=65,W(100)=100,W(50)=50である。
【0087】
Ei=10×{65×(log190+log20−8)+100×(log100+log40−8)+50×(log50+log80−8)}/(65+100+50)=40
そして、ユーザによって、「明るさ」上限値Bmaxが「60」で、「明るさ」下限値Bminが「30」に設定された場合には、合成画像データの輝度Yiは以下のように算出される。
【0088】
Yi=255×(40−30)/(60−30)=85
(ヒストグラム生成)
再度、図4を参照して、輝度合成部210は、算出した合成輝度Eiをヒストグラム生成部218へも出力する。ヒストグラム生成部218は、合成輝度Eiについてのヒストグラムを生成する。すなわち、ヒストグラム生成部218は、各画素の合成輝度Eiを所定幅の階級に区分した上で画素数を積算していく。これは、ユーザが、輝度合成部210によって算出される合成輝度Eiのうち相対的に比率の高い範囲を参照しながら、上述の「明るさ」上限値および「明るさ」下限値を設定することを助ける。
【0089】
また、ヒストグラム生成部218は、後述するユーザ設定に応じて、ヒストグラムの生成処理を中断または再開可能に構成される。
【0090】
<(3)色合成処理>
図4を参照して、色合成部208は、複数の入力画像データの色情報から合成色情報を算出する。後述するように、合成画像データの各画素は、色合成部208で算出される合成色情報に、輝度合成部210およびトーンマッピング部214によって算出される合成輝度情報を乗じて得られるため、色合成部208から出力される合成色情報は、「赤色」、「緑色」、「青色」の相対的な比を示す値となる。
【0091】
また、色合成部208は、上述の輝度合成部210と同様に、各座標位置に対応する複数の入力画像データにおけるそれぞれの画素の色情報に基づいて、合成画像データの各画素の合成色情報を算出する。より具体的には、色合成部208は、各入力画像データの色情報と、その信頼度に応じた重みとを乗算した値を累積加算することで、合成色情報を生成する。
【0092】
ここで、j番目の入力画像データの座標位置iにおける色情報を(ri,j,gi,j,bi,j)とする。但し、色合成部208は、画像情報抽出部206a〜206hから出力される色情報を、ri,j+gi,j+bi,j=1が成立するように規格化する。また、j番目の入力画像データの座標位置iにおける輝度をZi,jとする。この規格化された色情報および輝度を用いると、合成色情報(ri,gi,bi)の算出式は以下のようになる。
【0093】
【数2】
【0094】
ここで、重み関数w(Z)は、図6(a)と同様の特性を有する。すなわち重み関数w(Z)は、撮像部8から出力される輝度の値に応じて、その信頼度を反映するための関数である。この重み関数w(Z)の技術的な意味については、上述したので詳細な説明は繰返さない。
【0095】
そして、色合成部208は、算出した合成色情報を画像生成部212へ出力する。
<(4)生成処理>
画像生成部212は、輝度合成部210およびトーンマッピング部214によって生成された輝度Yiを、対応する合成色情報(ri,gi,bi)に順次乗じることによって、座標位置iの画素の画像情報を順次算出し、これによって合成画像データを生成する。
【0096】
すなわち、合成画像データの座標位置iの座標における絶対的な色情報(Ri,Gi,Bi)は、以下のように表わすことができる。
【0097】
(Ri,Gi,Bi)=Yi×(ri,gi,bi)
以上のような(1)〜(4)の手順に従って、合成画像データが生成される。なお、(1)の撮影処理では一連の撮影動作が繰返し実行され、この撮影処理の繰返し実行に同期して、(2)〜(4)の処理も実行される。
【0098】
<処理時間算出>
再度、図4を参照して、処理時間算出部222は、1つの合成画像データの生成に要する見込みの処理時間を算出する。より具体的には、処理時間算出部222は、撮影制御部200からの情報に基づいて、撮像部8による撮影回数、各撮影における露光時間、画像合成処理の処理量などを考慮して、処理時間を推定する。この処理時間は、1つの合成画像データの生成に要する、撮像部8による撮影開始から合成画像データの生成完了までの時間に相当する。処理時間算出部222によって算出された処理時間は、ユーザに向けて表示されるとともに、撮影制御部200へ出力されて、撮影条件の変更処理に用いられる
。
【0099】
<画面表示例>
図8は、この発明の実施の形態1に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【0100】
図8を参照して、「設定モード」が選択されると、モニタ102には設定モード画面300が表示される。なお、CPU105および図示しないグラフィックボードなどが協働することで、表示画面出力部として機能し、モニタ102に設定モード画面300を表示させる。このような画面表示は、OS(Operating System)の一部として組込まれるGUI(Graphical User Interface)プログラムによって実現され、またGUIは、ユーザがキーボード103やマウス104により操作される画面上のカーソルを用いて、さまざまなユーザ設定を行なうための環境も提供する。
【0101】
設定モード画面300には、設定値入力エリア310と、ヒストグラム表示エリア320と、合成画像表示エリア330と、撮影情報表示エリア340と、表示モード選択エリア350とを含む。
【0102】
設定値入力エリア310には、「明るさ」上限値を設定するためのスライドバー312、「明るさ」下限値を設定するためのスライドバー314、および「許容時間」を設定するためのスライドバー316が配置される。このスライドバー312および314の操作によって設定される「明るさ」上下限値は、上述した明るさ上下限設定部216(図4)に入力される。そして、この「明るさ」上下限値に応じて、図5に示す関係に基づいて必要な露光時間が選択され、撮像部8における撮影回数および露光時間が変更される。
【0103】
また、スライドバー316の操作によって設定される「許容時間」は、1つの合成画像データの生成に要する処理時間の許容される最大値を設定するものである。すなわち、ユーザは、本実施の形態に従う視覚センサシステム1が配置される生産ラインなどのタクトタイムなどに基づいて、1つの合成画像データの生成処理に割り当てることのできる最大の処理時間を「許容時間」として設定する。この「許容時間」は、撮影制御部200(図4)へ与えられる。
【0104】
ヒストグラム表示エリア320には、ヒストグラム生成部218(図4)で生成されたヒストグラムが視覚的に表示される。さらに、このヒストグラム上には、上述のスライドバー312,314の操作によって設定される「明るさ」上下限値に対応する位置に、それぞれの値に対応する位置表示がなされる。
【0105】
合成画像表示エリア330には、設定された「明るさ」上下限値に応じて生成される合成画像データに基づく合成画像が表示される。この合成画像表示エリア330に表示される合成画像は、稼動モードにおいて検査や計測に用いられる合成画像データを表示するものであり、ユーザは、この合成画像表示エリア330の表示を参照して、ワークに対する照明条件や「明るさ」上下限値などの設定を調整する。
【0106】
また、合成画像表示エリア330の表示画像は、画像生成部212(図4)によって合成画像データが生成される毎に更新される。そのため、ユーザに対して、実質的に合成画像を動画のように表示することができる。なお、この合成画像表示の更新周期は、撮像装置8による撮影回数、各撮影における露光条件、および画像合成処理に要する時間に依存するため、本実施の形態に従う画像処理装置は、この更新周期をユーザ設定に応じて変更可能に構成されている。
【0107】
撮影情報表示エリア340には、「撮影時間」、「撮影回数」、「シャッター速度」が表示される。「撮影時間」は、処理時間算出部222(図4)によって算出される、1つの合成画像データの生成に要する見込みの処理時間である。また、「撮影回数」は、合成画像データの生成に必要な撮影回数(すなわち、入力画像データの枚数)を表示し、「シャッター速度」は、撮像部8に設定されている(あるいは、設定可能な)露光時間の最大値と最小値とを表示する。すなわち、表示される「撮影時間」は、1つの合成画像データの生成に用する処理周期を示す。
【0108】
表示モード選択エリア350には、ヒストグラム表示エリア320におけるヒストグラムの表示/非表示を選択するラジオボタン354が表示される。ラジオボタン354によって、ヒストグラムの非表示が選択されると、ヒストグラム表示エリア320におけるヒストグラム表示が行なわれない。
【0109】
さらに、設定モード画面300には、「OK」ボタン362と、「CANCEL」ボタン364とが配置されており、ユーザが「OK」ボタン362を選択すると、各項目において設定された値が固定ディスク107などに格納された上で「稼動モード」に移行する。一方、ユーザが「CANCEL」ボタン364を選択すると、各項目において設定された値が固定ディスク107などに格納されずに「稼動モード」に移行する。
【0110】
<稼動モードにおける制御構造>
図9は、この発明の実施の形態1に従う画像処理装置の稼動モードにおける制御動作を説明するための図である。
【0111】
図9を参照して、一例として、合成画像データが3つの入力画像データから合成できる場合には、撮像部8をそれぞれ3つの露光条件に順次設定した上で撮影が行なわれる。これに伴って、8つの画像バッファ204のうち、3つの画像バッファ204のみから入力画像データが出力される。このように、「稼動モード」では、撮像部8による露光条件(撮影時間)および画像合成処理時間を効率化して、全体の処理時間を短くすることができる。
【0112】
図8に示す設定モード画面300において、ヒストグラムを表示するためには、基本的に撮像部8に設定可能なすべての露光条件において撮影を行なう必要がある。これは、ユーザが「明るさ」上下限値を適切に設定できるように、すべての露光条件を反映したヒストグラムを表示する必要があるためである。
【0113】
これに対して、ユーザがヒストグラムを非表示に選択した場合には、上記のような考慮を行なわなくてもよいので、合成画像データの生成に必要な入力画像データだけを撮影するようにすればよい。すなわち、設定された「明るさ」上下限値に応じて、必要な撮影回数および各撮影時のおける露光条件に応じてワークを撮影すれば十分である。したがって、図9に示すような、必要な入力画像データのみを取得する制御動作に切り替えることで、「設定モード」時の合成画像表示エリア330に表示される合成画像の更新をより高速に行なうこともできる。
【0114】
<「明るさ」上下限値の設定>
撮影制御部200(図4)は、ユーザが設定する「明るさ」上下限値に応じて、図5に示す関係を参照して、撮影回数および各撮影における露光時間を決定する。このとき、トーンマッピング部214が、合成輝度の対応する範囲を合成画像データの輝度範囲に割り当てるので、ワークのうち任意の「明るさ」をもつ領域に着目した合成画像を表示することもできる。
【0115】
たとえば、指定された「明るさ」の下限値を「0」とし、上限値を「255」に割り当てて、0〜255階調の画像として表示することができる。
【0116】
図10は、この発明の実施の形態1に従う画像処理装置における「明るさ」上下限値と合成画像との関係の一例を示す図である。なお、ワークは、図3と同一の腕時計の裏面とした。
【0117】
図10(a)に示すように、ヒストグラムに有効な画素が現れる範囲を「明るさ」上下限値に設定することで、反射率が大きく異なる金属製の時計本体部および皮革製のバンド部が明瞭に撮影されていることがわかる。
【0118】
一方、図10(b)に示すように、主として皮革製のバンド部に相当する画素の範囲を「明るさ」上下限値に設定すると、皮革製のバンド部はより明瞭に撮影されるが、金属製の時計本体部については、白飛びが生じていることがわかる。逆に、図10(c)に示すように、主として金属製の時計本体部に相当する画素の範囲を「明るさ」上下限値に設定すると、金属製の時計本体部はより明瞭に撮影されるが、皮革製のバンド部については、黒つぶれが生じていることがわかる。
【0119】
また、図10(d)に示すように、ヒストグラムの全範囲を「明るさ」上下限値に設定すると、画像全体について明瞭に撮影されているが、図10(a)に比較すると、コントラストが低下していることがわかる。
【0120】
このように、ユーザは対象とするワークに応じて、適切な「明るさ」上下限値を調整することで、検査や計測に適した合成画像データを生成させることができる。
【0121】
<処理時間の算出>
上述したように、処理時間算出部222(図4)は、1つの合成画像データの生成に要する見込みの処理時間を算出し、その算出された処理時間は、撮影情報表示エリア340に「撮影時間」として表示される。以下では、図11を用いて、この処理時間算出部222による処理時間の算出方法の一例について説明を行なう。
【0122】
図11は、この発明の実施の形態1に従う画像処理装置において処理時間の算出方法の一例を説明するための図である。
【0123】
図11を参照して、1つの合成画像データの生成に要する処理時間は、各撮影についての撮影に要する時間(露光時間)、各撮影についての撮像部8で撮影された入力画像データの読み出すに要する時間、および画像合成処理に要する時間の合計として算出することができる。
【0124】
なお、1つの合成画像データを生成するための一連の撮影(図11の場合には、露光時間T1,T2,T3の3回分の撮影)は、循環的に繰返されるので、1つの合成画像データの生成に係る1処理周期は、露光時間T1での撮影が開始されてから同じ露光時間T1での撮影が再度開始されるまでの期間に相当する。
【0125】
撮影に要する時間は、設定される露光時間から推定することができる。また、入力画像データの読み出しに要する時間はハードウェアのスペックに依存するほぼ一定値であり、予め取得することができる。また、画像合成処理に要する時間は、対象とする入力画像の枚数によって処理量が定まるので、この時間についても推定することができる。したがって、処理時間算出部222は、撮影回数および各撮影における露光条件などに基づいて、合成画像データの生成に要する見込みの処理時間を算出することができる。
【0126】
<撮影条件の変更処理>
撮影制御部200(図4)は、ユーザによる「明るさ」上下限値の設定がなされると、初期設定として、予め定められた露光時間と「明るさ」との対応関係(図5)を参照して、「稼動モード」における1回の合成画像データの生成に要する撮影回数および各撮影における露光条件(撮影条件)を決定する。ここで、ユーザが「許容時間」を設定している場合には、撮影制御部200は、この初期設定した撮影条件における見込みの処理時間が「許容時間」を超過しているか否かを判断し、超過していると判断した場合には、見込みの処理時間が「許容時間」内に収まるように、撮影条件を変更する。以下、図12を参照して、撮影条件の変更処理について例示する。
【0127】
図12は、この発明の実施の形態1に従う撮影条件の変更処理を説明するための図である。
【0128】
図12を参照して、図5に示す露光時間と「明るさ」代表値との対応関係は、「明るさ」代表値を横軸とし、露光時間を縦軸(logスケール)とすると、一次関数の関係として表わすことができる。すなわち、図5に示す対応関係は、図12に示す一次関数上において、「明るさ」代表値を「20」,「30」,・・・,「90」とした場合の対応する各露光時間を規定したものに相当する。
【0129】
撮影制御部200は、この図12に示す対応関係を参照して、見込みの処理時間が「許容時間」内に収まるように撮影条件を変更または決定する。
【0130】
本実施の形態に従う画像処理装置では、ユーザが入力する「明るさ」範囲に応じて検出すべき「明るさ」範囲が定まるので、撮影制御部200は、このユーザが入力する「明るさ」範囲に含まれる露光時間の範囲から、撮影回数および各撮影における露光時間を決定する。
【0131】
より具体的には、ユーザによって「明るさ」下限値Bminおよび「明るさ」上限値Bmaxが設定されると、撮影制御部200は、「明るさ」下限値Bminから「明るさ」上限値Bmaxまでの範囲(明るさ範囲)に割り当てる撮影回数を適宜変更していき、その見込みの処理時間が「許容時間」以下となる割り当てパターンを決定する。
【0132】
図12に示すように、一例として、「明るさ」下限値Bmin=30、「明るさ」上限値Bmax=70が設定されると、撮影制御部200は、「明るさ」代表値が「30」,「40」,・・・,「70」(「明るさ」代表値B(1)1,B(1)2,・・・,B(1)5=30,40,・・・,70)である合計5回の撮影を初期設定として決定する。なお、「明るさ」代表値Bkに対応する露光時間Tkは、以下に示す関係式によって算出される。
【0133】
【数3】
【0134】
上述の撮影条件において見込みの処理時間が「許容時間」を超過していると判断された場合には、撮影制御部200は、撮影回数を初期設定の5回から1回分減じて、4回に設定する。そして、撮影制御部200は、上述の「明るさ」下限値Bminから「明るさ」上限値Bmaxまでの範囲(明るさ範囲)に4回分の撮影を割り当てる。このとき、少な
くとも、「明るさ」下限値Bminおよび「明るさ」上限値Bmaxに撮影を割り当てることが望ましい。
【0135】
図12に示す例において、4回の撮影が割り当てられた場合には、「明るさ」代表値B(2)1,B(2)2,B(2)3,B(2)4=30,43,57,70となる。さらに、撮影制御部200は、この割り当てられた「明るさ」代表値B(2)1,B(2)2,B(2)3,B(2)4に対応する露光時間をそれぞれ算出するとともに、この撮影条件における見込みの処理時間が「許容時間」以下となるか否かを判断する。
【0136】
以下同様にして、撮影制御部200は、その見込みの処理時間が「許容時間」以下となるまで撮影回数を順次減じていき、見込みの処理時間が「許容時間」以下となる最大の撮影回数をもつ撮影条件を決定する。なお、本実施の形態に従う画像合成処理は、複数の入力画像データに基づいて合成画像データを生成するので、撮影回数が2回である場合の見込みの処理時間が「許容時間」を超過している場合には、合成画像データの生成処理が実行不可能である旨をユーザに通知するようにしてもよい。
【0137】
<撮影条件の変更処理の第1変形例>
上述の図12に示す撮影条件の変更処理では、各露光時間に対応する「明るさ」代表値が、ユーザ入力された「明るさ」範囲に含まれるように露光条件が設定される構成について例示したが、各露光時間がカバーする「明るさ」範囲を考慮して露光条件を設定してもよい。
【0138】
図13は、この発明の実施の形態1に従う撮影条件の変更処理の第1変形例を説明するための図である。
【0139】
図13を参照して、一例として、図12と同様に「明るさ」下限値Bmin=30、「明るさ」上限値Bmax=70が設定されている場合を考える。図5に示すように、各露光時間がカバーする範囲を「明るさ」の代表値を中心とする「±10」とすると、その「明るさ」範囲に「明るさ」下限値Bminを含む「明るさ」代表値のうち最小のものは、「40」となる。同様に、その「明るさ」範囲に「明るさ」上限値Bmaxを含む「明るさ」代表値のうち最大のものは、「60」となる。そこで、ユーザ入力された「明るさ」範囲から各露光時間がカバーする範囲を除いた範囲に対して、撮影回数を割り当ててもよい。
【0140】
図13に示す例において、上述の範囲に5回の撮影が割り当てられた場合には、「明るさ」代表値B(1)1,B(1)2,・・・,B(1)5=40,45,50,55,60となる。また、4回の撮影が割り当てられた場合には、「明るさ」代表値B(2)1,B(2)2,B(2)3,B(2)4=40,46,53,60となる。
【0141】
<撮影条件の変更処理の第2変形例>
上述の図12および図13に示す撮影条件の変更処理では、露光時間と「明るさ」代表値との対応関係を示す関数に基づいて、撮影回数および各撮影における露光時間を連続的に決定する構成について例示したが、図5に示すようなテーブル形式を基づいて撮影回数および各撮影における露光時間を決定してもよい。
【0142】
図14は、この発明の実施の形態1に従う撮影条件の変更処理の第2変形例に用いられる露光時間と「明るさ」との対応関係の一例を示す図である。
【0143】
図14に示す露光時間と「明るさ」範囲との対応関係には、図5に比較してより多くの組合せが規定されている。これは、ユーザが入力する「明るさ」範囲に応じて、撮影条件
をより高い自由度で変更できるようにするためである。
【0144】
図14を参照して、一例として、図12と同様に「明るさ」下限値Bmin=30、「明るさ」上限値Bmax=70が設定されている場合を考える。このとき、図14に示す露光時間と「明るさ」範囲との組合せのうち、その「明るさ」範囲の一部または全部がユーザ設定である「30」〜「70」の範囲に含まれるものを、露光条件として決定される候補として抽出する。図14に示す例では、9通りの組合せが露光条件として決定される候補となる。そして、これらの候補を任意に組み合わせることで、見込みの処理時間が「許容時間」内に収まるような撮影条件を決定することができる。
【0145】
<撮影条件の変更処理のさらに別の変形例>
上述したような撮影制御部200が自動的に撮影条件を変更する構成に代えて、図12または図13に示すような露光時間と「明るさ」との対応関係をモニタ102上に視覚的に表示するとともに、この対応関係を参照してユーザが撮影条件を直接的に設定するようにしてもよい。
【0146】
<稼動モード>
以下、稼動モードにおける処理の一例について説明する。生成された合成画像データを用いてワークの検査や計測を行なう方法は従来から様々なものが提案されているが、本実施の形態においては、代表的に、予め登録された画像パターンに一致する部分を探索するサーチ処理と、ワークのエッジを検出してエッジ間の距離を計測するエッジスキャン処理とについて例示する。なお、稼動モードにおける処理は、これらの処理に限られない。
【0147】
図15は、稼動モードの一例であるサーチ処理の表示例を示す図である。
図16は、稼動モードの一例であるエッジスキャン処理の表示例を示す図である。
【0148】
図15を参照して、「稼動モード」においてサーチ処理が選択されると、モニタ102には稼動モード画面400Aが表示される。この稼動モード画面400Aにおいて、ユーザは、対象領域402を予め設定するとともに、検出すべき画像パターンを登録する。すると、CPU105は、上述の画像合成処理によって合成画像データのうち、対象領域402に対して登録パターンとの相関値を順次算出することで、登録パターンと一致するエリア404を特定する。さらに、CPU105は、特定したエリア404の位置情報などをモニタ102に表示する。
【0149】
このようなサーチ処理によれば、特定種類のワークが連続的に生産されている場合に、異なる種類の混入ワークなどを検出することができる。
【0150】
図16を参照して、「稼動モード」においてエッジスキャン処理が選択されると、モニタ102には稼動モード画面400Bが表示される。この稼動モード画面400Bにおいて、ユーザは、対象領域412を予め設定する。すると、CPU105は、上述の画像合成処理によって合成画像データのうち、対象領域412に対して色差が所定のしきい値以上である2つの箇所(エッジ位置)を特定する。そして、CPU105は、この特定した2点の間を結ぶ直線414を規定し、この2点間の図面上の距離(たとえば、ピクセル値)を算出する。
【0151】
このようなエッジスキャン処理によれば、エッジ間距離を規定値と比較することで、ワークの製造不良などを検出することができる。
【0152】
上述した処理以外にも、特定の色範囲をもつ画素数の数をカウントする色面積算出処理などを行なってもよい。
【0153】
<処理手順>
図17は、この発明の実施の形態1に従う画像処理装置における全体処理を示すフローチャートである。図17に示すフローチャートは、CPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現される。なお、初期モードは「稼動モード」であるとする。
【0154】
図17を参照して、CPU105は、モード切替えの指令が与えられたか否かを判断する(ステップS100)。モード切替えの指令が与えられていない場合(ステップS100においてNOの場合)には、CPU105は、ステップS102からステップS114までの検査計測処理を実行する。
【0155】
すなわち、CPU105は、光電センサによるワーク2の到着が検出された否かを判断する(ステップS102)。ワーク2が到着していない場合(ステップS102においてNOの場合)には、ステップS102の処理を繰返す。
【0156】
ワーク2が到着した場合(ステップS102においてYESの場合)には、CPU105は、固定ディスク107に予め格納された設定に従って、設定された露光時間でワーク2を撮影する(ステップS104)。そして、CPU105は、設定された回数の撮影が完了したか否かを判断する(ステップS106)。設定された回数の撮影が完了していない場合(ステップS106においてNOの場合)には、CPU105は、ステップS104の処理を繰返す。
【0157】
設定された回数の撮影が完了している場合(ステップS106においてYESの場合)には、CPU105は、画像合成処理サブルーチンを実行し、撮影された入力画像データから合成画像データを生成する(ステップS108)。
【0158】
続いて、CPU105は、生成された合成画像データに基づいて検査計測処理を実行する(ステップS110)。そして、CPU105は、その検査計測処理の結果をモニタ102などに表示する(ステップS112)とともに、PLCなどの外部装置へ出力する(ステップS114)。そして、処理は最初に戻る。
【0159】
これに対して、モード切替えの指令が与えられた場合(ステップS100においてYESの場合)には、CPU105は、「設定モード」へ移行する(ステップS118)。
【0160】
図18は、この発明の実施の形態1に従う画像処理装置における撮影条件の変更処理を示すフローチャートである。図18に示すフローチャートは、CPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現される。
【0161】
図18を参照して、「設定モード」が選択されると、CPU105は、設定モード画面300(図8)上でユーザによって入力された「明るさ」上下限値を取得する(ステップS200)。そして、CPU105は、ステップS200において取得した「明るさ」上下限値に基づいて、予め定められた露光時間と「明るさ」との対応関係(図5)を参照して、「稼動モード」における1回の合成画像データの生成に要する撮影回数および各撮影における露光条件(撮影条件)の初期値を決定する(ステップS202)。
【0162】
続いて、CPU105は、設定モード画面300(図8)上でユーザによって入力された「許容時間」を取得する(ステップS204)とともに、ステップS202で決定した現時点の撮影条件に基づいて、1回あたりの画像合成処理に要する見込みの処理時間を算
出する(ステップS206)。そして、CPU105は、ステップS206において算出した見込みの処理時間がステップS204において取得した「許容時間」を超過しているか否かを判断する(ステップS208)。
【0163】
見込みの処理時間が「許容時間」を超過している場合(ステップS208においてYESの場合)には、CPU105は、現時点の撮影回数が2回であるか否かを判断する(ステップS210)。現時点の撮影回数が2回でない場合(ステップS210においてNOの場合)には、CPU105は、ステップS200において取得した「明るさ」上下限値によって指定される「明るさ」範囲に、現時点の撮影回数から1回分を減じた撮影回数の撮影を割り当てる(ステップS212)。さらに、CPU105は、割り当てられた各撮影の「明るさ」に対応する露光時間をそれぞれ算出することで、新たな撮影条件を決定する(ステップS214)。そして、CPU105は、変更後の撮影条件に基づいて、1回あたりの画像合成処理に要する見込みの処理時間を算出し(ステップS206)、ステップS208以下の処理を再度実行する。すなわち、1回あたりの画像合成処理に要する見込みの処理時間が許容時間を超過しなくなるまで、ステップS206〜S214の処理が繰返される。
【0164】
また、現時点の撮影回数が2回である場合(ステップS210においてYESの場合)には、CPU105は、設定モード画面300(図8)上に、入力された許容時間の条件下では合成画像データの生成処理が実行不可能である旨を表示し(ステップS216)、処理を終了する。
【0165】
一方、見込みの処理時間が「許容時間」を超過していない場合(ステップS208においてNOの場合)には、CPU105は、設定モード画面300(図8)上に、現時点の撮影条件における「撮影時間」、「撮影回数」、「シャッター速度」などを表示する(ステップS218)。
【0166】
さらに、CPU105は、設定モード画面300(図8)上の「OK」ボタン362または「CANCEL」ボタン364が選択されたか否かを判断する(ステップS220)。
【0167】
「OK」ボタン362が選択された場合(ステップS220において「OK」)には、CPU105は、現在の撮影条件(撮影回数および各撮影における露光条件)を固定ディスク107に格納する(ステップS222)。そして、CPU105は、「稼動モード」へ移行する(ステップS224)。また、「CANCEL」ボタン364が選択された場合(ステップS220において「CANCEL」)には、CPU105は、現在の設定を廃棄して「稼動モード」へ移行する(ステップS224)。
【0168】
一方、設定モード画面300(図8)上の「OK」ボタン362または「CANCEL」ボタン364のいずれも選択されていない場合(ステップS220においてNOの場合)には、CPU105は、「明るさ」上下限値または「許容時間」の設定が変更されたか否かを判断する(ステップS226)。「明るさ」上下限値または「許容時間」の設定が変更された場合(ステップS226においてYESの場合)には、CPU105は、ステップS200以下の処理を繰返す。また、「明るさ」上下限値または「許容時間」の設定が変更されていない場合(ステップS226においてNOの場合)には、CPU105は、ステップS220以下の処理を繰返す。
【0169】
図19は、図17および図18に示す画像合成処理サブルーチンにおける処理を示すフローチャートである。図19に示すフローチャートは、CPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現さ
れる。
【0170】
図19を参照して、CPU105は、座標位置iを初期値(i=1)に設定し(ステップS300)、複数の入力画像データから、座標位置iに対応する画素の輝度情報および色情報を抽出する(ステップS302)。
【0171】
CPU105は、座標位置iに対応する画素の輝度に基づいて、座標位置iの合成輝度を算出する(ステップS304)。そして、CPU105は、設定された「明るさ」上下限値に従ってトーンマッピングを行って、合成画像データの座標位置iに対応する画素の輝度を算出する(ステップS306)。
【0172】
また、CPU105は、座標位置iに対応する画素の色情報に基づいて、座標位置iに対応する画素の合成色情報を算出する(ステップS308)。
【0173】
さらに、CPU105は、ステップS306で算出した輝度と、ステップS308で算出した合成色情報とに基づいて、合成画像データの座標位置iに対応する画素の色情報を算出する(ステップS310)。
【0174】
そして、CPU105は、座標位置iが入力画像データに含まれる最後の座標であるか否かを判断する(ステップS312)。座標位置iが入力画像データに含まれる最後の座標でなければ(ステップS312においてNOの場合)には、CPU105は、現在の座標位置iに「1」を加算して(ステップS314)、ステップS302以下の処理を繰返す。
【0175】
座標位置iが入力画像データに含まれる最後の座標であれば(ステップS312においてYESの場合)には、CPU105は、ステップS310で算出した各座標位置に対応する色情報に基づいて、合成画像データを生成する(ステップS316)。そして、メインルーチンに戻る。
【0176】
<本実施形態の変形例>
上述の実施の形態1では、ユーザが「明るさ」上下限値の範囲を設定する構成について例示したが、輝度合成部210によって算出される合成輝度のヒストグラムに基づいて、自動的に設定するようにしてもよい。また、このように自動設定する場合には、より精度を高めるために、単一ではなく複数の合成画像データの合成輝度についてのヒストグラムに基づいて、「明るさ」上下限値の範囲を設定してもよいし、合成画像データのうち一部の領域についてのヒストグラムに基づいて、「明るさ」上下限値の範囲を設定してもよい。
【0177】
また、図18に示す撮影条件の変更処理に係るフローチャートでは、初期設定される撮影回数から徐々に撮影回数を減じて適切な撮影条件を探索する処理について例示したが、初期設定として撮影回数を2回とし、徐々に撮影回数を増加させて適切な撮影条件を探索してもよい。あるいは、選択可能なすべての撮影条件を予め取得し、各撮影条件についての見込みの処理時間をそれぞれ算出した上で、適切なものを選択するようにしてもよい。
【0178】
<本実施形態の作用効果>
従来の技術によれば、一般的に、撮影回数が多くなるほど、ダイナミックレンジの拡大および合成画像の精度向上を期待できるが、撮影回数の増大に伴って1つの合成画像の生成に要する処理時間が長くなる。すなわち、ダイナミックレンジの拡大と処理時間とはトレードオフの関係にある。実際の生産現場では、ベルトコンベヤなどの搬送装置上を順次搬送される被測定物を対象として検査や計測を行なう必要があるため、各被測定物に割り
当て可能な処理時間には上限がある。そのため、このような製造上の制限時間内に一連の処理が完了するように、撮影条件(露光条件や撮影回数など)を試行錯誤により適切に設定しなければならなかったという課題があったところ、この実施の形態によれば、1回の合成処理に対する許容時間に従って、撮影条件を適切に設定できる。
【0179】
すなわち、この発明の実施の形態1によれば、ユーザが設定モード画面において許容時間を入力すると、1つの合成画像データの生成に要する見込みの処理時間がユーザ入力された設定時間を超過しないように、撮影回数および各撮影における露光時間が自動的に決定される。そのため、予備知識を持たないユーザであっても、生産ラインのタクトタイムなどに応じた「許容時間」を入力するだけで、適切な撮影条件を設定することができる。
【0180】
[実施の形態2]
ユーザが設定モードにおいて撮影条件を設定する場合には、ワークの搬送速度などに応じて照明などを試行錯誤で調整するケースが多いと考えられる。この場合、ワークの単位時間当たりの移動量(動き量)が相対的に大きな場合には、合成画像データの生成に要する処理時間を短くしなければ、ワークの動きを表示することはできない。そこで、実施の形態2に従う画像処理装置として、予備知識を持たないユーザであっても、このような被測定物の動きを見ながら撮影条件を設定できる構成について説明する。
【0181】
この発明の実施の形態2に従う画像処理装置を含む視覚センサシステム1の全体構成については、図1と同様であるので詳細な説明は繰返さない。また、この発明の実施の形態2に従う画像処理装置のハードウェア構成については、図2と同様であるので詳細な説明は繰返さない。
【0182】
<画面表示例>
まず、理解を容易にするため、本実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例について説明する。
【0183】
図20は、この発明の実施の形態2に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。
【0184】
図20を参照して、設定モード画面300Aは、設定値入力エリア310Aと、ヒストグラム表示エリア320と、合成画像表示エリア330と、撮影情報表示エリア340と、表示モード選択エリア350Aとを含む。
【0185】
設定値入力エリア310Aには、「明るさ」上限値を設定するためのスライドバー312および「明るさ」下限値を設定するためのスライドバー314が配置される。このスライドバー312および314の操作によって設定される「明るさ」上下限値は、明るさ上下限設定部216(図21)に入力される。
【0186】
ヒストグラム表示エリア320には、ヒストグラム生成部218(図21)で生成されたヒストグラムが視覚的に表示される。
【0187】
合成画像表示エリア330には、設定された「明るさ」上下限値に応じて生成される合成画像データに基づく合成画像が表示される。合成画像表示エリア330に表示される合成画像データに基づく合成画像の更新周期は、合成画像データの生成に要する時間に相当する。この合成画像の更新周期は、後述する「動き適応表示モード」が有効化されている場合には、撮像部8により撮像される被測定物の動き量に応じて最適化される。そのため、撮影範囲における被測定物の動き量が相対的に大きな場合には、合成画像データの生成に要する時間を短縮して表示をスムース化し、撮影範囲における被測定物の動き量が相対
的に小さい場合には、撮影回数を増加させてダイナミックレンジの拡大および合成画像の精度を高めることができる。
【0188】
撮影情報表示エリア340には、「撮影時間」、「撮影回数」、「シャッター速度」が表示される。
【0189】
表示モード選択エリア350Aには、「動き適応表示モード」の有効化(ON)または無効化(OFF)を選択するためのラジオボタン352と、ヒストグラム表示エリア320におけるヒストグラムの表示/非表示を選択するラジオボタン354とが表示される。ラジオボタン352によって、「動き適応表示モード」が有効化されると、上述したように、撮影範囲内のワークの動き量に応じて、合成画像表示エリア330に表示される合成画像の更新周期が最適化される。
【0190】
さらに、設定モード画面300Aには、「OK」ボタン362と、「CANCEL」ボタン364とが配置されており、ユーザが「OK」ボタン362を選択すると、各項目において設定された値が固定ディスク107などに格納された上で「稼動モード」に移行する。一方、ユーザが「CANCEL」ボタン364を選択すると、各項目において設定された値が固定ディスク107などに格納されずに「稼動モード」に移行する。
【0191】
<制御構造>
図21は、この発明の実施の形態2に従う画像処理装置の制御構造を示す機能ブロック図である。
【0192】
図21を参照して、本実施の形態に従う画像処理装置の制御構造は、図4に示す実施の形態1に従う画像処理装置の制御構造において、撮影制御部200に代えて撮影制御部200Aを配置するとともに、動き量判断部220をさらに設けたものである。その他の部位および動作については、上述した実施の形態1とほぼ同様であるので、詳細な説明は繰返さない。
【0193】
動き量判断部220は、撮像部8により撮像される被測定物体の動き量を算出し、この算出した動き量を評価する。より具体的には、動き量判断部220は、撮像部8により撮影された、同一の露光条件をもつ連続する2つ以上の入力画像データ同士を比較することで、ワークの動き量を算出する。このような動き量の算出方法の一例として、連続する2つの入力画像データに含まれる対応する画素同士の輝度情報または色情報の差分をとり、すべての画素についての差分の総和を動き量として算出することができる。あるいは、オプティカルフロー手段を用いて、ワークの動き量を算出してもよい。
【0194】
なお、図21においては、動き量判断部220が画像バッファ204aに格納される1つの入力画像データに基づいて、動き量を算出する構成について例示するが、より多くの入力画像データに基づいて動き量を算出してもよいし、画像生成部212から出力される合成画像データに基づいて動き量を算出してよい。
【0195】
さらに、動き量判断部220は、この算出したワークの動き量が所定値を超過している場合には、合成画像データの生成処理に要する時間を低減するための指令を、撮影制御部200Aへ出力する。さらに、動き量判断部220は、この算出したワークの動き量が小さい場合には、合成画像データの生成処理に要する時間を延長可能であることを、撮影制御部200Aへ通知してもよい。
【0196】
撮影制御部200Aは、動き量判断部220から合成画像データの生成処理に要する時間を低減するための指令を受信すると、1つの合成画像データを生成するための撮影回数
をより少なくするように撮影条件を変更する。これにより、1つの合成画像データが生成される周期が短縮されるため、合成画像表示エリア330には、合成画像データに基づく合成画像の更新周期が短縮され、よりスムースな動画表示が行なわれる。これにより、ワークの移動速度が相対的に速い場合であっても、ユーザは、このようなワークの挙動を視認することができる。
【0197】
より具体的には、合成画像表示エリア330は、動き量判断部220から合成画像データの生成処理に要する時間を低減するための指令を受信すると、現在の撮影回数から1回分減じた撮影回数を新たな撮影条件として設定する。なお、この新たな撮影条件における各撮影における露光条件の決定方法については、上述の実施の形態1において図12〜図14を用いて説明した方法と同様の方法を用いることができる。
【0198】
また、撮影制御部200Aは、動き量判断部220から合成画像データの生成処理に要する時間を延長可能であることを通知されると、1つの合成画像データを生成するための撮影回数をより多くするように撮影条件を変更してもよい。撮影回数を多くすることで、1つの合成画像データを生成するための情報量を増大させることができる。これにより、合成画像表示エリア330に、ダイナミックレンジをより拡大した合成画像を表示することができる。なお、撮影回数を増加させた場合の各撮影における露光条件の決定方法についても、上述の実施の形態1において図12〜図14を用いて説明した方法と同様の方法を採用できる。
【0199】
なお、このようなワークの動き量に応じて撮影条件を変更する制御は、合成画像データの生成処理と並行して実行される。
【0200】
<タイムチャート>
図22は、この発明の実施の形態2に従う動き適応表示モードが有効化された場合の動作を示すタイムチャートである。
【0201】
図22を参照して、まず、時刻t11においては、時刻t11以前の処理によって合成画像データ1が生成され、この合成画像データ1に基づく合成画像1が合成画像表示エリア330(図20)に表示されているものとする(図22(d))。
【0202】
時刻t11〜t21の期間において、1つの合成画像データの生成処理が実行される。すなわち、時刻t11〜t12の期間において、撮像部8が予め定められている撮影条件1に従ってワークを撮影する(図22(b)および(c))。なお、撮影条件1は、高ダイナミックレンジを実現するためのものであるとする。そして、引き続く時刻t12〜t21の期間において、この撮影された入力画像データに基づいて合成画像データ2が生成される(画像合成処理)。
【0203】
さらに、時刻t21において、この生成された合成画像データ2に基づいて、合成画像表示エリア330の表示が合成画像2に更新される。同時に、動き量判断部220が、合成画像データ2を生成するために用いた入力画像データと、合成画像データ1を生成するために用いた入力画像データとを比較して、ワークの動き量を判断する。時刻t21での画像比較においては、ワークの動き量が適正範囲内であったとする。
【0204】
続いて、時刻t21〜t22の期間において、撮像部8が撮影条件1に従ってワークを撮影する(図22(b)および(c))。そして、引き続く時刻t22〜t31の期間において、この撮影された入力画像データに基づいて合成画像データ3が生成される。さらに、時刻t31において、この生成された合成画像データ3に基づいて、合成画像表示エリア330の表示が合成画像3に更新される。同時に、動き量判断部220が、合成画像
データ3を生成するために用いた入力画像データと、合成画像データ2を生成するために用いた入力画像データとを比較して、ワークの動き量を判断する。
【0205】
ここで、時刻t31での画像比較においては、ワークの動き量が所定量を超過したものとする。すると、撮影制御部200Aは、合成画像の更新周期を短縮する必要があると判断し、撮影条件1の撮影回数から1回分減じた撮影回数を新たな撮影条件2として設定する(図22(b))。この撮影条件2は、合成画像の更新速度を優先するモードである。
【0206】
続いて、時刻t31〜t32の期間において、撮像部8が撮影条件2に従ってワークを撮影する(図22(b)および(c))。ここで、撮影条件2は、合成画像の表示速度を優先するモードであるため、ワークの撮影に要する時間は撮影条件1における時間に比較して短縮される(t12−t11>t32−t31)。そして、引き続く時刻t32〜t41の期間において、この撮影された入力画像データに基づいて合成画像データ4が生成されるが、入力画像データの数が低減されているので、この画像合成処理に係る時間も短縮される。このように、合成画像の更新周期が短縮され、合成画像をよりスムースに表示することができる。
【0207】
<処理手順>
この発明の実施の形態2に従う画像処理装置における全体処理については、図17に示すフローチャートと同様であるので、詳細な説明は繰返さない。
【0208】
図23は、この発明の実施の形態2に従う画像処理装置における「設定モード」における合成画像の表示に係るフローチャートである。図23に示すフローチャートは、CPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現される。
【0209】
図23を参照して、「設定モード」が選択されると、CPU105は、撮影回数および各撮影における露光条件の初期値を設定する(ステップS400)。そして、CPU105は、現時点の撮影回数および各撮影における露光条件に従って、ワークを順次撮影する(ステップS402)。さらに、CPU105は、設定された撮影回数の撮影が完了したか否かを判断する(ステップS404)。設定された撮影回数の撮影が完了していない場合(ステップS404においてNOの場合)には、CPU105は、ステップS402の処理を繰返す。
【0210】
設定された撮影回数の撮影が完了した場合(ステップS404においてYESの場合)には、CPU105は、図19に示す画像合成処理サブルーチンを実行し、撮影された入力画像データから合成画像データを生成する(ステップS406)。そして、CPU105は、ステップS406において生成した合成画像データに基づくデータ合成画像をモニタ102に表示する(ステップS408)。
【0211】
このステップS406およびS408の処理と並行して、CPU105は、今回の撮影によって生成された入力画像データと前回の撮影によって生成された入力画像データとを比較して、ワークの動き量を算出する(ステップS410)。そして、CPU105は、ステップS410において算出したワークの動き量が所定量α1を超過しているか否かを判断する(ステップS412)。なお、所定量α1は、撮像部8の撮影範囲内におけるワークの動き量が相対的に大きいと判断できる量に相当し、撮像部8の撮影範囲の大きさなどに基づいて定められる。
【0212】
ワークの動き量が所定量α1を超過している場合(ステップS412においてYESの場合)には、CPU105は、現在の撮影回数から1回分減じた撮影回数を新たな撮影回
数に設定するとともに、新たな撮影回数における各撮影におけるそれぞれの露光条件を算出して設定する(ステップS414)。
【0213】
一方、ワークの動き量が所定量α1を超過していない場合(ステップS412においてNOの場合)には、CPU105は、ステップS410において算出したワークの動き量が所定量α2(α2<α1)を下回っているか否かを判断する(ステップS416)。なお、所定量α2は、撮影範囲内におけるワークの移動量が非常に小さく、合成画像データの生成処理に要する時間を延長可能と判断できる量に相当する。
【0214】
ワークの動き量が所定量α2を下回っている場合(ステップS416においてYESの場合)には、CPU105は、現在の撮影回数から1回分増加させた撮影回数を新たな撮影回数に設定するとともに、新たな撮影回数における各撮影におけるそれぞれの露光条件を算出して設定する(ステップS418)。
【0215】
一方、ワークの動き量が所定量α2を下回っていない場合(ステップS416においてNOの場合)、あるいはステップS414またはS418の実行後、CPU105は、今回の撮影によって生成された入力画像データをメモリ106などに一時的に格納する(ステップS420)。
【0216】
ステップS408およびS420の実行後、ステップS402以降の処理が再度繰返され、これらの処理は「設定モード」の選択中において繰返される。
【0217】
<本実施形態の作用効果>
合成画像の生成処理は繰返され、この生成に伴って合成画像を順次更新することで、合成画像を動画像として表示できる。このとき、このような合成画像の更新周期は、1つの合成画像の生成に要する処理時間に相当する。そのため、撮影範囲内での被測定物の単位時間当たりの移動量(すなわち、動き量)が比較的大きな場合には、この合成画像の生成に要する処理時間を短くしなければ、被測定物の動きを表示することはできない。一方、被測定物の動き量が比較的小さな場合には、より多くの処理時間を割り当てて、より精度の高い合成画像を生成することが好ましい。このように、被測定物の動き量に応じて、撮影条件(露光条件や撮影回数など)を適切に設定する必要があるという課題が存在したが、 この発明の実施の形態2によれば、撮像装置によって撮影される被測定物の動き量に応じて、1回の合成画像データの生成に要する処理時間が自動的に変更され、合成画像の更新周期が適切に設定される。そのため、予備知識を持たないユーザであっても、被測定物の動きを見ながら撮影条件を設定できる。
【0218】
[実施の形態3]
上述したように、本発明に係る画像合成処理は、複数の入力画像データの輝度情報および色情報を用いて、画素毎に合成輝度情報および合成色情報を算出する。そのため、画像合成処理に要する時間は、処理対象の画素数および入力画像データ数に比例することになる。
【0219】
一方、検査対象のワークの大きさは撮像装置の撮影範囲に比較して小さい場合が多く、このような場合には、検査対象の画素についてのみ画像合成処理を行なうことで、より処理時間を短縮することができる。そこで、実施の形態3に従う画像処理装置として、処理対象とすべき領域に含まれる各画素についてのみの画像合成処理が可能な構成について説明する。
【0220】
この発明の実施の形態3に従う画像処理装置を含む視覚センサシステム1の全体構成については、図1と同様であるので詳細な説明は繰返さない。また、この発明の実施の形態
3に従う画像処理装置のハードウェア構成については、図2と同様であるので詳細な説明は繰返さない。
【0221】
<画面表示例>
まず、理解を容易にするため、本実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例について説明する。
【0222】
図24は、この発明の実施の形態3に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。図25は、この発明の実施の形態3に従う画像処理装置のモニタに表示される「稼動モード」における画面表示例を示す図である。
【0223】
図24を参照して、設定モード画面300Bは、設定値入力エリア310Aと、ヒストグラム表示エリア320と、合成画像表示エリア330Bと、撮影情報表示エリア340と、表示モード選択エリア350とを含む。
【0224】
設定値入力エリア310Aには、「明るさ」上限値を設定するためのスライドバー312および「明るさ」下限値を設定するためのスライドバー314が配置される。このスライドバー312および314の操作によって設定される「明るさ」上下限値は、明るさ上下限設定部216(図26)に入力される。
【0225】
ヒストグラム表示エリア320には、ヒストグラム生成部218(図26)で生成されたヒストグラムが視覚的に表示される。
【0226】
合成画像表示エリア330Bには、設定された「明るさ」上下限値に応じて生成される合成画像データに基づく合成画像が表示される。この合成画像表示エリア330Bに対して、合成画像データのうち処理対象とすべき領域を設定するための対象領域枠332が設定可能になっている。この対象領域枠332は、ユーザによるマウス104(図2)操作に応じて移動可能なカーソル372などによって指定される。
【0227】
図25を参照して、「稼動モード」においては、この対象領域枠332に含まれる画素のみについて、上述したような画像合成処理が実行される。そのため、対象領域枠332(図24)が設定された場合には、「稼動モード」において対象領域枠332(図24)に含まれる領域についての合成画像が表示されるとともに、その他の領域については、より処理時間の短い処理によって生成された画像(もしくは背景)が表示される。なお、図25には、理解を容易にするために、対象領域枠332(図24)に含まれる領域以外を背景として表示する例を示す。
【0228】
なお、図24においては、理解を容易にするために、1つの対象領域枠332が設定されている場合を例示するが、複数の対象領域枠332が設定されるようにしてもよい。
【0229】
撮影情報表示エリア340には、「撮影時間」、「撮影回数」、「シャッター速度」が表示される。
【0230】
表示モード選択エリア350には、ヒストグラム表示エリア320におけるヒストグラムの表示/非表示を選択するラジオボタン354とが表示される。
【0231】
さらに、設定モード画面300Bには、「OK」ボタン362と、「CANCEL」ボタン364とが配置されており、ユーザが「OK」ボタン362を選択すると、各項目において設定された値が固定ディスク107などに格納された上で「稼動モード」に移行する。一方、ユーザが「CANCEL」ボタン364を選択すると、各項目において設定さ
れた値が固定ディスク107などに格納されずに「稼動モード」に移行する。
【0232】
<制御構造>
図26は、この発明の実施の形態3に従う画像処理装置の制御構造を示す機能ブロック図である。
【0233】
図26を参照して、本実施の形態に従う画像処理装置の制御構造は、図4に示す実施の形態1に従う画像処理装置の制御構造において、撮影制御部200に代えて撮影制御部200Bを配置するとともに、領域指定受付部230をさらに設けたものである。その他の部位および動作については、上述した実施の形態1とほぼ同様であるので、詳細な説明は繰返さない。
【0234】
領域指定受付部230は、入力画像データ(もしくは、合成画像データ)のうち処理対象とすべき領域の設定を受付け、この処理対象とすべき領域を特定するための情報を画像情報抽出部206a〜206hへ出力する。すなわち、領域指定受付部230は、合成画像表示エリア330B(図24)上で、ユーザが指定した対象領域枠332に応じた設定内容を受付ける。
【0235】
画像情報抽出部206a〜206hの各々は、この領域指定受付部230からの特定情報に基づいて、撮像部8によって順次撮影される入力画像データのうち、処理対象とすべき領域に含まれる各画素についての色情報および輝度情報をそれぞれ抽出し、色合成部208および輝度合成部210へ出力する。
【0236】
色合成部208は、画像情報抽出部206a〜206hによって抽出された部分的な色情報および輝度情報に基づいて、合成色情報を生成する。同様に、輝度合成部210は、画像情報抽出部206a〜206hによって抽出された部分的な輝度情報に基づいて、合成輝度情報を生成する。さらに、トーンマッピング部214および明るさ上下限設定部216などによる処理の後、画像生成部212は、対象領域枠332に含まれる領域についての合成画像を生成し、当該合成画像データに基づく合成画像を合成画像表示エリア330Bに表示する。
【0237】
このように入力画像データのうち、処理対象とすべき領域に含まれる画素についてのみ合成画像処理を実行するので、1回の画像合成データの生成に要する処理時間を短縮することができる。
【0238】
なお、合成画像データのうち、処理対象とすべき領域に含まれる画素を除く残りの画素の各々については、入力画像データのうち1つに基づいて、合成画像データの対応する画素の色情報および輝度情報を算出してもよい。より具体的には、色合成部208および輝度合成部210が、いずれか1つの入力画像データ(たとえば、画像バッファ204aに格納される入力画像データ)の処理対象とすべき領域に含まれる画素を除く残りの画素の各々についての色情報および輝度情報を、対応する合成色情報および合成輝度情報として出力する。これにより、合成画像データのうち、処理対象とすべき領域に含まれる画素を除く残りの画素については、いずれか1つの入力画像データの対応する画素で代用されることになる。
【0239】
また、合成画像データのうち、処理対象とすべき領域に含まれる画素を除く残りの画素の各々については、「白色」や「黒色」といった特定の背景色で代用することも可能である。より具体的には、画像生成部212は、合成色情報および合成輝度情報の入力がなかった画素について、特定の背景色で補完することで、合成画像データを生成する。
【0240】
また、合成画像データのうち、処理対象とすべき領域に含まれる画素を除く残りの画素の各々については、処理対象とすべき領域に含まれる画素の更新周期(生成周期)に比較して長い周期で更新するようにしてもよい。すなわち、撮像部8による異なる露光条件でのワークの複数回撮影が繰返し実行され、これに伴って、合成画像データが順次生成される。この合成画像データに生成に伴って、処理対象とすべき領域に含まれる画素については毎回その画素情報が算出(更新)されるが、処理対象とすべき領域に含まれる画素を除く残りの画素の各々については、合成画像データが複数回生成される毎にその画素情報を算出(更新)するようにしてもよい。言い換えれば、処理対象とすべき領域に含まれる画素についての更新周期に比較して、処理対象とすべき領域に含まれる画素を除く残りの画素についての更新周期を遅くしてもよい。
【0241】
<本実施形態の作用効果>
この発明の実施の形態3によれば、撮像装置の撮影範囲の一部分に存在する被測定物の領域を指定することで、検査や計測の対象となる被測定物についての、必要な合成画像をより効率的に生成できる。これにより、画像合成に係る処理時間をより短縮化することでできるので、生産ラインのタクトタイムへの影響を低減できる。
【0242】
[実施の形態4]
上述したように、本発明に係る画像合成処理は、複数の入力画像データから算出した各画素の合成輝度を、所定の対応関係に従って割り当てることで、合成画像データの対応する画素の輝度情報を生成する。より具体的には、合成輝度のうち「明るさ」下限値から「明るさ」上限値までの範囲が、合成画像データの輝度範囲と対応するように、割り当てが行なわれる。上述の実施の形態1〜3では、ユーザが「明るさ」上限値および「明るさ」下限値を入力する構成について例示した。
【0243】
このような割り当ては、撮像装置によって撮影される被測定物のうち、所定範囲の「明るさ」をもつ領域をより高い精度で表示するために実行される。そのため、ユーザは、撮像された入力画像データのうち、特定の領域を高い精度で表示したいと望む場合も多いと考えられる。このような場合には、所望する領域を指定し、この指定した領域の表示に適した「明るさ」上限値および「明るさ」下限値が自動的に決定されると、よりユーザフレンドリである。
【0244】
そこで、実施の形態4に従う画像処理装置として、ユーザが注目する領域の表示に適した明るさ範囲の設定が可能な構成について説明する。
【0245】
この発明の実施の形態4に従う画像処理装置を含む視覚センサシステム1の全体構成については、図1と同様であるので詳細な説明は繰返さない。また、この発明の実施の形態4に従う画像処理装置のハードウェア構成については、図2と同様であるので詳細な説明は繰返さない。
【0246】
<画面表示例>
まず、理解を容易にするため、本実施の形態に従う画像処理装置のモニタに表示される「設定モード」における画面表示例について説明する。
【0247】
図27は、この発明の実施の形態4に従う画像処理装置のモニタに表示される「設定モード」における画面表示例を示す図である。図28は、図27において指定領域が設定された後の画面表示例を示す図である。
【0248】
図27を参照して、設定モード画面300Cは、設定値入力エリア310Aと、ヒストグラム表示エリア320と、合成画像表示エリア330Cと、撮影情報表示エリア340
と、表示モード選択エリア350Cとを含む。
【0249】
設定値入力エリア310Aには、「明るさ」上限値を設定するためのスライドバー312および「明るさ」下限値を設定するためのスライドバー314が配置される。このスライドバー312および314の操作によって設定される「明るさ」上下限値は、明るさ上下限設定部216(図29)に入力される。
【0250】
ヒストグラム表示エリア320には、ヒストグラム生成部218(図29)で生成されたヒストグラムが視覚的に表示される。
【0251】
表示モード選択エリア350Cには、ヒストグラム表示エリア320におけるヒストグラムの表示/非表示を選択するラジオボタン354と、「明るさ自動設定」の有効化(ON)または無効化(OFF)を選択するためのラジオボタン356とが表示される。ラジオボタン354によって、ヒストグラムの非表示が選択されると、ヒストグラム表示エリア320におけるヒストグラム表示が行なわれない。また、「明るさ自動設定」が有効化(ON)されると、合成画像表示エリア330Cに表示される合成画像データに基づく合成画像のうち、処理対象とすべき領域を設定するための指定領域枠384が設定可能になる。
【0252】
図27に示すように、合成画像表示エリア330Cには、まず、初期の「明るさ」上限値および「明るさ」下限値(たとえば、「明るさ」が0〜100)に応じた合成画像が表示される。上述したように、「明るさ自動設定」が有効化(ON)されると、この合成画像表示エリア330Cに対して、ユーザによる指定領域枠384の設定が可能になっている。この指定領域枠384は、ユーザによるマウス104(図2)操作に応じて移動可能なカーソル372などによって指定される。これにより、指定領域の位置、大きさをユーザは目的に応じて設定することができる。この指定領域枠384に含まれる画素がもつ合成輝度に応じて、「明るさ」上限値および「明るさ」下限値が自動的に設定される。すなわち、指定領域枠384に含まれる画素の合成輝度の最大値を抽出して「明るさ」上限値に設定し、最小値を抽出して「明るさ」下限値に設定する。そして、図28に示すように、合成画像表示エリア330Cには、この設定された「明るさ」上限値および「明るさ」下限値(たとえば、「明るさ」が40〜70)に変更された後の合成画像が表示される。
【0253】
すなわち、図27では、被測定物である腕時計の皮革製のバンド部分が指定領域として設定されている場合を示し、図28では、この指定領域に含まれる画素がより高い精度(コントラスト)で表示される場合を示す。なお、図28に示す例では、指定領域に含まれる画素がもつ合成輝度に比較してより高い合成輝度をもつ画素については、白飛びまたは白飛びに近い状態で表示されていることがわかる。
【0254】
なお、図27においては、理解を容易にするために、1つの指定領域枠384が設定されている場合を例示するが、複数の指定領域枠384が設定されるようにしてもよい。
【0255】
撮影情報表示エリア340には、「撮影時間」、「撮影回数」、「シャッター速度」が表示される。なお、指定領域枠384の設定に応じて、「明るさ」上限値および「明るさ」下限値が変更された場合には、「撮影時間」、「撮影回数」、「シャッター速度」についても変更される。そのため、撮影情報表示エリア340には、変更後の値が表示される。
【0256】
さらに、設定モード画面300Cには、「OK」ボタン362と、「CANCEL」ボタン364とが配置されており、ユーザが「OK」ボタン362を選択すると、各項目において設定された値が固定ディスク107などに格納された上で「稼動モード」に移行す
る。一方、ユーザが「CANCEL」ボタン364を選択すると、各項目において設定された値が固定ディスク107などに格納されずに「稼動モード」に移行する。
【0257】
<制御構造>
図29は、この発明の実施の形態4に従う画像処理装置の稼動モードにおける制御構造を示す機能ブロック図である。
【0258】
図29を参照して、本実施の形態に従う画像処理装置の制御構造は、図4に示す実施の形態1に従う画像処理装置の制御構造において、撮影制御部200に代えて撮影制御部200Bを配置するとともに、輝度情報抽出部240をさらに設けたものである。その他の部位および動作については、上述した実施の形態1とほぼ同様であるので、詳細な説明は繰返さない。
【0259】
輝度情報抽出部240は、合成画像データのうちユーザによって設定される指定領域を受付け、輝度合成部210から出力される各画素の合成輝度のうち、当該指定領域に含まれる各画素の合成輝度の値を抽出する。そして、輝度情報抽出部240は、これらの抽出した合成輝度の値に基づいて、「明るさ」上限値および「明るさ」下限値を決定する。一例として、輝度情報抽出部240は、指定領域に含まれる画素がもつ合成輝度の最大値を「明るさ」上限値として決定し、指定領域に含まれる画素がもつ合成輝度の最小値を「明るさ」下限値として決定する。そして、輝度情報抽出部240は、このように決定した「明るさ」上下限値を、明るさ上下限設定部216へ出力する。
【0260】
明るさ上下限設定部216は、ユーザによるスライドバー312および314(図27,図28)の操作によって設定される「明るさ」上下限値に代えて、輝度情報抽出部240から入力される「明るさ」上下限値を優先し、トーンマッピング部214へ出力する。
【0261】
トーンマッピング部214は、「明るさ」下限値から「明るさ」上限値までの範囲が、合成画像データの輝度範囲と対応するように、一次関数輝度合成部210から出力される各画素についての割り当て処理を実行することで、合成画像データを生成する。なお、この割り当ては、図7に示すような輝度情報についての1次関数として表される対応関係に従って行なわれる。
【0262】
このように合成画像データのうち、ユーザが表示したいと望む指定領域の表示に適した「明るさ」上限値および「明るさ」下限値が自動的に決定されるので、当該指定領域に含まれる被測定物の画像をより高い精度で表示することができる。
【0263】
なお、合成画像データのうち、処理対象とすべき領域に含まれる画素を除く残りの画素の各々については、入力画像データのうち1つに基づいて、合成画像データの対応する画素の色情報および輝度情報を算出してもよい。より具体的には、色合成部208および輝度合成部210が、いずれか1つの入力画像データ(たとえば、画像バッファ204aに格納される入力画像データ)の処理対象とすべき領域に含まれる画素を除く残りの画素の各々についての色情報および輝度情報を、対応する合成色情報および合成輝度情報として出力する。これにより、合成画像データのうち、処理対象とすべき領域に含まれる画素を除く残りの画素については、いずれか1つの入力画像データの対応する画素で代用されることになる。
【0264】
指定領域に含まれる画素がもつ合成輝度の最大値および最小値をそれぞれ合成輝度の最小値を「明るさ」上限値および下限値とする処理について例示したが、それ以外の処理として、指定領域に含まれる画素がもつ合成輝度の最頻度値を中心として、所定範囲を「明るさ」上下限値と決定する方法や、指定領域に含まれる画素がもつ合成輝度の分散値に基
づいて「明るさ」上下限値を決定する方法などを採用することができる。
【0265】
<本実施形態の作用効果>
この発明の実施の形態4によれば、被測定物のうち、高い精度で表示すべき領域、あるいは検査対象とすべき領域をユーザが視覚的に指定することで、このような領域の表示に適した「明るさ」上限値および「明るさ」下限値が自動的に決定されるので、ユーザによる設定調整に要する時間を短縮することができる。これにより、予備知識を持たないユーザであっても、被測定物に応じた適切な設定条件を決定することができる。
【0266】
[実施の形態5]
上述の実施の形態1では、1回の合成画像データの生成に要する見込みの処理時間が、ユーザ設定される許容時間に収まるように撮影条件を変更する構成について例示し、上述の実施の形態2では、撮影範囲におけるワークの動き量に応じて、ワークの動きを適切に動画表示できるように撮影条件を変更する構成について例示し、上述の実施の形態3では、処理対象とすべき領域に含まれる画素についてのみ画像合成処理を行なって、1回の画像合成データの生成に要する処理時間を短縮する構成について例示した。
【0267】
これらの各実施の形態における構成のうち、任意の構成を組み合わせて単一の画像処理装置に組み込んでもよい。すなわち、上述の各実施の形態に従う構成は、互いに併存可能な構成であり、任意に組み合わせることが可能である。
【0268】
なお、上述の実施の形態1〜4における説明では、主としてカラー画像データを用いる場合について例示したが、本発明は、モノクロ画像データに対しても同様に適用できる。
【0269】
[その他の実施の形態]
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【0270】
また、本発明に係るプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
【0271】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記録媒体とを含む。
【0272】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【0273】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0274】
1 視覚センサシステム、2 ワーク、4a 受光部、4b 投光部、6 搬送機構、
8 撮像装置、100 コンピュータ、101 コンピュータ本体、102 モニタ、103 キーボード、104 マウス、105 CPU、106 メモリ、107 固定ディスク、109 カメラインターフェイス部、111 FD駆動装置、113 CD−ROM駆動装置、115 PLCインターフェイス部、117 センサインターフェイス部、200,200A,200B 撮影制御部、202 選択部、204,204a〜204h 画像バッファ、206a-206h 画像情報抽出部、208 色合成部、210
輝度合成部、212 画像生成部、214 トーンマッピング部、216 上下限設定部、218 ヒストグラム生成部、220 動き量判断部、222 処理時間算出部、230 領域指定受付部、240 輝度情報抽出部。
【特許請求の範囲】
【請求項1】
露光量を変更可能な撮像装置に接続された画像処理装置であって、
前記撮像装置は、複数の画素に区画された撮像素子を含み、
前記画像処理装置は、
前記撮像装置に、異なる露光量で被測定物を複数回撮影させることにより、前記露光量毎に、前記撮像素子の各画素に入射した光エネルギーに相当する値を含む画像データを複数生成する撮影制御手段と、
前記複数の画像データから合成画像データを生成する合成手段とを備え、
前記合成手段は、各画像データの前記光エネルギーに相当する値を対応する画像データの撮影時の露光量でそれぞれ規格化した上で、前記合成画像データの各画素の色情報、および各画素に入射する光パワーと所定の対応関係にある輝度情報を算出し、
前記撮影制御手段は、異なる露光量での被測定物の複数回撮影を繰返し実行させ、
前記合成手段は、異なる露光量での被測定物の複数回撮影の繰返しに応じて、前記合成画像データを順次生成し、さらに、
前記撮像装置により撮像される前記被測定物の動き量が所定量を超過したか否かを判断する判断手段を備え、
前記撮影制御手段は、前記判断手段によって前記被測定物の動き量が前記所定量を超過したと判断された場合に、1つの前記合成画像データあたりの前記撮像装置による撮影回数をより少なくする、画像処理装置。
【請求項2】
前記撮影制御手段は、前記撮像素子の各画素に入射する光パワーと前記撮像装置の露光量との予め定められた対応関係を参照して、各撮影における前記撮像装置の露光量を決定する、請求項1に記載の画像処理装置。
【請求項3】
前記撮影制御手段は、検出すべき前記被測定物からの光パワーの範囲を前記外部設定として受付けるとともに、前記対応関係のうち前記検出すべき範囲に対応する露光量の範囲から前記撮像装置による撮影回数および各撮影における露光量を決定する、請求項2に記載の画像処理装置。
【請求項4】
前記合成手段は、前記光エネルギーに相当する値のそれぞれに対応する画像データの撮影時の露光量に応じた係数をそれぞれ乗じることで規格化した値を、累積加算することで、前記輝度情報を算出する、請求項1〜3のいずれか1項に記載の画像処理装置。
【請求項5】
前記合成手段は、露光量による規格化後の前記光エネルギーに相当する値のうち、所定範囲内にあるものを優先的に採用して、前記輝度情報を算出する、請求項1〜4のいずれか1項に記載の画像処理装置。
【請求項6】
露光量を変更可能な撮像装置に接続された画像処理装置であって、
前記撮像装置は、複数の画素に区画された撮像素子を含み、
前記画像処理装置は、
前記撮像装置に、異なる露光量で被測定物を複数回撮影させることにより、前記露光量毎に、前記撮像素子の各画素に入射した光エネルギーに相当する値を含む画像データを複数生成する撮影制御手段と、
前記複数の画像データから合成画像データを生成する合成手段とを備え、
前記合成手段は、前記画像データのうち処理対象とすべき領域の設定を受付けるとともに、前記処理対象とすべき領域に含まれる各画素について、各画像データの前記光エネルギーに相当する値を対応する画像データの撮影時の露光量でそれぞれ規格化した上で、前記合成画像データの各画素の色情報、および各画素に入射する光パワーと所定の対応関係にある輝度情報を算出する、画像処理装置。
【請求項7】
前記合成手段は、前記処理対象とすべき領域に含まれる画素を除く各画素について、前記複数の画像データのうち1つの画像データに基づいて、前記合成画像データの対応する画素の色情報および輝度情報を算出する、請求項6に記載の画像処理装置。
【請求項8】
前記撮影制御手段は、異なる露光量での被測定物の複数回撮影を繰返し実行させ、
前記合成手段は、異なる露光量での被測定物の複数回撮影の繰返しに応じて、前記合成画像データを順次生成し、
前記合成手段は、前記処理対象とすべき領域に含まれる画素を除く各画素について、前記合成画像データが複数回生成される毎に、前記合成画像データの対応する画素の色情報および輝度情報を新たに算出する、請求項6または7に記載の画像処理装置。
【請求項9】
前記合成手段は、前記光エネルギーに相当する値のそれぞれに対応する画像データの撮影時の露光量に応じた係数をそれぞれ乗じることで規格化した値を、累積加算することで、前記輝度情報を算出する、請求項6〜8のいずれか1項に記載の画像処理装置。
【請求項10】
前記合成手段は、露光量による規格化後の前記光エネルギーに相当する値のうち、所定範囲内にあるものを優先的に採用して、前記輝度情報を算出する、請求項6〜9のいずれか1項に記載の画像処理装置。
【請求項11】
露光量を変更可能な撮像装置に接続された画像処理装置であって、
前記撮像装置は、複数の画素に区画された撮像素子を含み、
前記画像処理装置は、
前記撮像装置に、異なる露光量で被測定物を複数回撮影させることにより、前記露光量毎に、前記撮像素子の各画素に入射した光エネルギーに相当する値を含む画像データを複数生成する撮影制御手段と、
前記複数の画像データから合成画像データを生成する合成手段とを備え、
前記合成手段は、
各画像データの前記光エネルギーに相当する値を対応する画像データの撮影時の露光量でそれぞれ規格化した上で、各画素の合成輝度を算出する手段と、
前記算出された各画素の合成輝度を所定の対応関係に従って割り当てることで、前記合成画像データの対応する画素の輝度情報を算出する手段と、
前記画像データのうち指定領域の設定を受付ける手段とを含み、
前記対応関係は、前記指定領域に含まれる画素の前記合成輝度の大きさに基づいて決定される、画像処理装置。
【請求項12】
前記対応関係は、前記輝度情報が第1の値である場合に、前記輝度情報の最小値に対応し、前記輝度情報が前記第1の値より大きい第2の値である場合に、前記輝度情報の最大値に対応するものであり、
前記第1の値は、前記指定領域に含まれる画素がもつ前記合成輝度の最小値であり、
前記第2の値は、前記指定領域に含まれる画素がもつ前記合成輝度の最大値である、請求項11に記載の画像処理装置。
【請求項13】
前記対応関係は、前記輝度情報についての1次関数である、請求項12に記載の画像処理装置。
【請求項14】
前記合成手段は、前記光エネルギーに相当する値のそれぞれに対応する画像データの撮影時の露光量に応じた係数をそれぞれ乗じることで規格化した値を、累積加算することで、前記輝度情報を算出する、請求項11〜13のいずれか1項に記載の画像処理装置。
【請求項15】
前記合成手段は、露光量による規格化後の前記光エネルギーに相当するそれぞれの値のうち、所定範囲内にあるものを優先的に採用して、前記輝度情報を算出する、請求項11〜14のいずれか1項に記載の画像処理装置。
【請求項16】
前記画像処理装置は、さらに表示装置に接続されており、
前記合成画像データに基づく合成画像を前記表示装置に表示させる表示手段をさらに備える、請求項1〜15のいずれか1項に記載の画像処理装置。
【請求項1】
露光量を変更可能な撮像装置に接続された画像処理装置であって、
前記撮像装置は、複数の画素に区画された撮像素子を含み、
前記画像処理装置は、
前記撮像装置に、異なる露光量で被測定物を複数回撮影させることにより、前記露光量毎に、前記撮像素子の各画素に入射した光エネルギーに相当する値を含む画像データを複数生成する撮影制御手段と、
前記複数の画像データから合成画像データを生成する合成手段とを備え、
前記合成手段は、各画像データの前記光エネルギーに相当する値を対応する画像データの撮影時の露光量でそれぞれ規格化した上で、前記合成画像データの各画素の色情報、および各画素に入射する光パワーと所定の対応関係にある輝度情報を算出し、
前記撮影制御手段は、異なる露光量での被測定物の複数回撮影を繰返し実行させ、
前記合成手段は、異なる露光量での被測定物の複数回撮影の繰返しに応じて、前記合成画像データを順次生成し、さらに、
前記撮像装置により撮像される前記被測定物の動き量が所定量を超過したか否かを判断する判断手段を備え、
前記撮影制御手段は、前記判断手段によって前記被測定物の動き量が前記所定量を超過したと判断された場合に、1つの前記合成画像データあたりの前記撮像装置による撮影回数をより少なくする、画像処理装置。
【請求項2】
前記撮影制御手段は、前記撮像素子の各画素に入射する光パワーと前記撮像装置の露光量との予め定められた対応関係を参照して、各撮影における前記撮像装置の露光量を決定する、請求項1に記載の画像処理装置。
【請求項3】
前記撮影制御手段は、検出すべき前記被測定物からの光パワーの範囲を前記外部設定として受付けるとともに、前記対応関係のうち前記検出すべき範囲に対応する露光量の範囲から前記撮像装置による撮影回数および各撮影における露光量を決定する、請求項2に記載の画像処理装置。
【請求項4】
前記合成手段は、前記光エネルギーに相当する値のそれぞれに対応する画像データの撮影時の露光量に応じた係数をそれぞれ乗じることで規格化した値を、累積加算することで、前記輝度情報を算出する、請求項1〜3のいずれか1項に記載の画像処理装置。
【請求項5】
前記合成手段は、露光量による規格化後の前記光エネルギーに相当する値のうち、所定範囲内にあるものを優先的に採用して、前記輝度情報を算出する、請求項1〜4のいずれか1項に記載の画像処理装置。
【請求項6】
露光量を変更可能な撮像装置に接続された画像処理装置であって、
前記撮像装置は、複数の画素に区画された撮像素子を含み、
前記画像処理装置は、
前記撮像装置に、異なる露光量で被測定物を複数回撮影させることにより、前記露光量毎に、前記撮像素子の各画素に入射した光エネルギーに相当する値を含む画像データを複数生成する撮影制御手段と、
前記複数の画像データから合成画像データを生成する合成手段とを備え、
前記合成手段は、前記画像データのうち処理対象とすべき領域の設定を受付けるとともに、前記処理対象とすべき領域に含まれる各画素について、各画像データの前記光エネルギーに相当する値を対応する画像データの撮影時の露光量でそれぞれ規格化した上で、前記合成画像データの各画素の色情報、および各画素に入射する光パワーと所定の対応関係にある輝度情報を算出する、画像処理装置。
【請求項7】
前記合成手段は、前記処理対象とすべき領域に含まれる画素を除く各画素について、前記複数の画像データのうち1つの画像データに基づいて、前記合成画像データの対応する画素の色情報および輝度情報を算出する、請求項6に記載の画像処理装置。
【請求項8】
前記撮影制御手段は、異なる露光量での被測定物の複数回撮影を繰返し実行させ、
前記合成手段は、異なる露光量での被測定物の複数回撮影の繰返しに応じて、前記合成画像データを順次生成し、
前記合成手段は、前記処理対象とすべき領域に含まれる画素を除く各画素について、前記合成画像データが複数回生成される毎に、前記合成画像データの対応する画素の色情報および輝度情報を新たに算出する、請求項6または7に記載の画像処理装置。
【請求項9】
前記合成手段は、前記光エネルギーに相当する値のそれぞれに対応する画像データの撮影時の露光量に応じた係数をそれぞれ乗じることで規格化した値を、累積加算することで、前記輝度情報を算出する、請求項6〜8のいずれか1項に記載の画像処理装置。
【請求項10】
前記合成手段は、露光量による規格化後の前記光エネルギーに相当する値のうち、所定範囲内にあるものを優先的に採用して、前記輝度情報を算出する、請求項6〜9のいずれか1項に記載の画像処理装置。
【請求項11】
露光量を変更可能な撮像装置に接続された画像処理装置であって、
前記撮像装置は、複数の画素に区画された撮像素子を含み、
前記画像処理装置は、
前記撮像装置に、異なる露光量で被測定物を複数回撮影させることにより、前記露光量毎に、前記撮像素子の各画素に入射した光エネルギーに相当する値を含む画像データを複数生成する撮影制御手段と、
前記複数の画像データから合成画像データを生成する合成手段とを備え、
前記合成手段は、
各画像データの前記光エネルギーに相当する値を対応する画像データの撮影時の露光量でそれぞれ規格化した上で、各画素の合成輝度を算出する手段と、
前記算出された各画素の合成輝度を所定の対応関係に従って割り当てることで、前記合成画像データの対応する画素の輝度情報を算出する手段と、
前記画像データのうち指定領域の設定を受付ける手段とを含み、
前記対応関係は、前記指定領域に含まれる画素の前記合成輝度の大きさに基づいて決定される、画像処理装置。
【請求項12】
前記対応関係は、前記輝度情報が第1の値である場合に、前記輝度情報の最小値に対応し、前記輝度情報が前記第1の値より大きい第2の値である場合に、前記輝度情報の最大値に対応するものであり、
前記第1の値は、前記指定領域に含まれる画素がもつ前記合成輝度の最小値であり、
前記第2の値は、前記指定領域に含まれる画素がもつ前記合成輝度の最大値である、請求項11に記載の画像処理装置。
【請求項13】
前記対応関係は、前記輝度情報についての1次関数である、請求項12に記載の画像処理装置。
【請求項14】
前記合成手段は、前記光エネルギーに相当する値のそれぞれに対応する画像データの撮影時の露光量に応じた係数をそれぞれ乗じることで規格化した値を、累積加算することで、前記輝度情報を算出する、請求項11〜13のいずれか1項に記載の画像処理装置。
【請求項15】
前記合成手段は、露光量による規格化後の前記光エネルギーに相当するそれぞれの値のうち、所定範囲内にあるものを優先的に採用して、前記輝度情報を算出する、請求項11〜14のいずれか1項に記載の画像処理装置。
【請求項16】
前記画像処理装置は、さらに表示装置に接続されており、
前記合成画像データに基づく合成画像を前記表示装置に表示させる表示手段をさらに備える、請求項1〜15のいずれか1項に記載の画像処理装置。
【図1】
【図2】
【図4】
【図5】
【図6】
【図7】
【図9】
【図11】
【図12】
【図13】
【図14】
【図17】
【図18】
【図19】
【図21】
【図22】
【図23】
【図26】
【図29】
【図3】
【図8】
【図10】
【図15】
【図16】
【図20】
【図24】
【図25】
【図27】
【図28】
【図2】
【図4】
【図5】
【図6】
【図7】
【図9】
【図11】
【図12】
【図13】
【図14】
【図17】
【図18】
【図19】
【図21】
【図22】
【図23】
【図26】
【図29】
【図3】
【図8】
【図10】
【図15】
【図16】
【図20】
【図24】
【図25】
【図27】
【図28】
【公開番号】特開2012−200025(P2012−200025A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2012−164789(P2012−164789)
【出願日】平成24年7月25日(2012.7.25)
【分割の表示】特願2009−59269(P2009−59269)の分割
【原出願日】平成21年3月12日(2009.3.12)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願日】平成24年7月25日(2012.7.25)
【分割の表示】特願2009−59269(P2009−59269)の分割
【原出願日】平成21年3月12日(2009.3.12)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
[ Back to top ]