(57)【特許請求の範囲】
【請求項１】
ロボットハンドの先端部に固定されるとともに、撮像対象を第１、第２の撮像期間にそれぞれ撮像して得た第１、第２の画像フレーム信号を順次出力する撮像手段と、
前記撮像手段の両側に近接しつつ前記ロボットハンドの先端部に固定されて前記撮像対象を照明する第１、第２の光源と、
前記第１、第２の光源とは異なる部位にて前記撮像手段の両側に近接しつつ前記ロボットハンドの先端部に固定されて前記撮像対象を照明する第３、第４の光源と、
前記第１の撮像期間に前記第１、第２の光源を点灯して前記第３、第４の光源を消灯し、前記第２の撮像期間に前記第３、第４の光源を点灯して前記第１、第２の光源を消灯する点灯制御手段と、
前記第１、第２の画像フレーム信号を画素毎に二値化した後、画素毎に論理積演算する画像信号処理手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
ロボットハンドの先端部に固定されて撮像対象を順次撮像して得た画像フレーム信号を順次出力する撮像手段と、前記撮像手段に近接しつつ前記ロボットハンドの先端部に固定されて前記撮像対象を照明する光源と、前記画像フレーム信号を所定のしきい値レベルで画素毎に二値化する画像信号処理手段とを備える画像処理装置において、
前記画像信号処理手段は、前記光源から放射され、ワークや背景から反射して前記撮像手段に入射する反射光量が各画素ごとにばらつくのに応じて各画素毎に前記しきい値レベルを個別に記憶するしきい値レベル記憶手段と、前記しきい値レベル記憶手段から読み出された各前記しきい値レベルと前記画像フレーム信号とを画素毎に比較する二値化手段とを備えることを特徴とする画像処理装置。
【請求項３】
ロボットハンドの先端部に固定されるとともに、撮像対象を第１、第２の撮像期間にそれぞれ撮像して得た第１、第２の画像フレーム信号を順次出力する撮像手段と、
前記撮像手段に近接しつつ前記ロボットハンドの先端部に固定されて前記撮像対象を照明する第１の光源と、
前記第１の光源とは異なる部位にて前記撮像手段に近接しつつ前記ロボットハンドの先端部に固定されて前記撮像対象を照明する第２の光源と、
前記第１の撮像期間に前記第１の光源を点灯して前記第２の光源を消灯し、前記第２の撮像期間に前記第２の光源を点灯して前記第１の光源を消灯する点灯制御手段と、
前記第１、第２の画像フレーム信号を所定のしきい値レベルで画素毎に二値化した後、画素毎に論理積演算する画像信号処理手段とを備え、
前記画像信号処理手段は、前記第１光源と前記第２の光源との位置が異なることに起因して前記両光源から撮像領域中の所定地点で反射して前記撮像手段に入射する反射光量が異なるのに応じて前記両画像フレーム信号の同一画素の信号を異なるしきい値レベルで別々に二値化することを特徴とする画像処理装置。
【請求項４】
ロボットハンドの先端部に固定されるとともに、撮像対象を第１、第２の撮像期間にそれぞれ撮像して得た第１、第２の画像フレーム信号を順次出力する撮像手段と、
前記撮像手段に近接しつつ前記ロボットハンドの先端部に固定されて前記撮像対象を照明する第１の光源と、
前記第１の光源とは異なる部位にて前記撮像手段に近接しつつ前記ロボットハンドの先端部に固定されて前記撮像対象を照明する第２の光源と、
前記第１の撮像期間に前記第１の光源を点灯して前記第２の光源を消灯し、前記第２の撮像期間に前記第２の光源を点灯して前記第１の光源を消灯する点灯制御手段と、
前記第１、第２の画像フレーム信号を所定のしきい値レベルで画素毎に二値化した後、画素毎に論理積演算する画像信号処理手段とを備え、
前記画像信号処理手段は、二値化された前記画像フレーム信号中の白画素の数を抽出し、二値化された前記画像フレーム信号中の白画素の数が所定の基準数に接近する方向へ前記各画素毎のしきい値レベルを同じだけシフトする全体明度調整手段を備えることを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばロボットハンドに装着した撮像手段から出力される二次元画像信号（画像フレーム信号）を処理して検査や対象認識や機器の動作制御などを行うための画像信号を得る画像処理装置に関する。
【０００２】
【従来の技術】
特開昭６１ー２９３６５７号公報は、単一の照明条件下での一枚の画像フレーム信号ではどうしても避けることができない照明条件（正確には撮像領域中の背景又は撮像対象の反射状態）に起因する不要信号を軽減することを意図して、それぞれ異なる空間位置に配設されて撮像対象を照明する複数の光源と、各光源を個別に点灯制御する制御手段と、各光源の異なる点灯条件下で撮像対象を順次撮像して得た複数の画像フレーム信号を順次出力する撮像手段と、各画像フレーム信号をそれぞれ二値化処理する画像信号処理手段と、画像信号処理手段から出力された複数枚の二値化画像信号に基づいて撮像対象の良否を判定する判定手段とを備える画像処理装置（画像検査装置）を開示している。
【０００３】
上記公報が具体的に開示する複数枚の二値化画像信号の処理方式は、以下の通りである。すなわち、各二値画像フレーム信号中の白領域（又は黒領域）の面積や周長や縦又は横の長さをそれぞれ計算し、それぞれ所定のしきい値と比較する。
【０００４】
【発明が解決しようとする課題】
上記公報の判別方式は、上述したように照明方向を変えて撮像された複数枚の画像フレーム信号をあくまでも別々に良否判定し、それらの判定結果で最終判定する方法であるので、このような最終判定は、各画像フレーム信号個々の判定が全て良である場合には最終的に良と判定するということにならざるを得ず、結局、照明光の照射方向を変えて複数回検査するに過ぎない。
【０００５】
しかしながら、このような単に照明光の照射方向を変えて複数回検査するだけでは、照明光の照射方向の関係で不要反射光や不要な影の関係で撮像対象の画像（検査画像）や背景画像中にどうしても混入する不要信号の除去は困難であり、これら不要信号の存在を前提とした画像判定を行わざるを得ない。
もちろん、不要反射（特に平滑面での光源の反射）及び影の生成をさけるために面光源の採用などの工夫は可能であるが、撮像対象の検査などでは斜め光など所定方向から光を撮像対象に照射して輪郭強調したい場合や、生産現場におけるレイアウト上、スポット光源を採用せざるを得ない場合などがあり、このような場合において上述した不要反射や影の生成が生じてしまう。
【０００６】
また、上記公報の多重検査方式には、画像メモリなどの画像信号処理部の回路規模が大きくなり、かつ、処理時間が長くなるという欠点がある。
一例を挙げて具体的に説明すると、例えばある斜め角度から撮像対象周辺を照明する場合、撮像対象のある面又は撮像対象が載置された支持台の表面にオイルが付着していたりすると、本来散乱すべき照明光が全反射してＴＶカメラに入射し、本来は黒領域となるべき筈の領域が白領域となってしまうことがある。このような偽信号の除去処理は面倒であり、複雑な画像処理を必要とする。
【０００７】
また、オイル面だけでなく、照明方向によっては撮像対象やそれを載置する載置台自体の不要反射光が生じる場合があり、上記と同様の問題が生じる。
更に上述した不要反射や影の生成は、画像検査だけでなく対象を撮像して画像認識する際にも同じように問題となっている。
本発明は上記問題点に鑑みなされたものであり、複雑な画像処理及び大規模な装置を用いることなく、照明条件に起因する不所望な信号の除去を正確に除去可能な画像処理装置を提供することを、その第１の目的としている。
【００１５】
【課題を解決するための手段】
本発明の第１の構成では、撮像手段の両側に第１、第２の光源が配設され、それらと異なる位置で撮像手段の両側に第３、第４の光源が配設される。第１の撮像期間に第１、第２の光源を点灯し、第２の撮像期間に第３、第４の光源を点灯して得た第１、第２の画像フレーム信号を画素毎に二値化して、画素毎に論理積演算する。このようにすれば、以下の作用効果を奏する。
【００１６】
ロボットハンドにカメラ（撮像手段）や光源を配設することはハンドがカメラの視野や光源の照明野に入らないなどの点で実用上極めて有利であるが、ハンドの動作自由度の確保という観点からはカメラの付設だけでもかなりの負担であり、一様照明光源又は大きな面状光源をハンドに設けることは用いることは極めて困難であり、ロボットハンドに配設する光源としては小型スポットライトの如き点状光源が最も好適である。
【００１７】
しかし、このような点状光源（非一様照明光源）からの放射光が研削面やその上の油面などの平滑面で反射する場合、同一平面を撮像したとしても、そのある領域（以下、てかり領域ともいう）ではこの反射光の入射により明度が極めて高くなる（二値化信号として本来黒くなる部分が白くなる）。照明光として光源（非一様照明光源）光を用いる場合に特有なこの問題は、異なる撮像期間の信号である二つの画像フレーム信号を画素毎に二値化した後、それらの論理積を取ることにより上述したように解決される。
【００１８】
けれども、点状光源をカメラの一側方に配設すると、カメラを挟んで点状光源と反対側のワーク表面からカメラに入射する反射光量が、カメラ側のワーク表面からカメラに入射する反射光量より著しく減少してしまう。また、ワークに凹凸や段差があると影が生じてこの影の部分における画素の信号は上記論理積により黒となってしまい、正常なワーク画像が得られない。
【００１９】
影を減らし、また、点状光源との位置関係によるカメラへの反射光量のばらつきを減らすには、点状光源をカメラの周囲に複数配設し、それらを同時に点灯して撮像を行えばよい。しかし、このようにすると、第１、第２画像フレーム信号中のてかり（高輝点）領域の個数が増加するので、両画像フレーム信号のてかり領域がオーバラップする可能性が増大してしまう。このオーバラップが生じると、上記論理積処理ではてかり領域を除去することができない。
【００２０】
すなわち、上記したロボットハンドに設けた同時点灯光源の数が少ないと無用な影やワーク各部における明度ばらつき（カメラから見た）が生じ、これら同時点灯光源の数が増えると両画像フレーム信号のてかり（高輝点）領域がオーバラップして論理積処理によりそれを除去ができない。
本構成はこの問題を改善するためになされたものであり、撮像手段の両側に同時点灯の第１、第２の光源を配設し、それらと異なる位置（好ましくはそれらと直角配置位置）にて撮像手段の両側に同時点灯の第３、第４の光源を配設する。このようにすれば、両画像フレーム信号中の影を効果的に減らすことができ、更に両画像フレーム信号のてかり領域（高輝点領域）のオーバラップを効果的に減らすことができ、高品質のワーク画像を得ることができる。
【００２１】
更に、本構成では、論理積演算という二値情報処理によりてかりを除去できるので、各画素信号の記憶や処理が簡単となる。
本発明の第２の構成によれば、ロボットハンドの先端部において撮像手段の横側に光源を設け、この光源を点灯して得た画像フレーム信号を画素毎に二値化して二値化画像フレーム信号を得る。特に本構成では、予め画素毎にしきい値レベルを個別に記憶しておき、それを用いて画像フレーム信号を画素毎に二値化する。このようにすれば、以下の作用効果を奏する。
【００２２】
ロボットハンドにカメラ（撮像手段）や光源を配設することはハンドがカメラの視野や光源の照明野に入らないなどの点で実用上極めて有利であるが、ハンドの動作自由度の確保という観点からはカメラの付設だけでもかなりの負担であり、一様照明光源や大きな面状光源をハンドに設けることは用いることは極めて困難であり、ロボットハンドに配設する光源としては小型スポットライトの如き点状光源が最も好適である。
【００２３】
しかし、このような点状光源（非一様照明光源）から放射され、ワークや背景から反射してカメラに入射する反射光は、カメラと光源との中間点から反射する場合に最も大きく、カメラの光軸から離れるにつれて急激に低下し、その結果としてカメラに入射する反射光量がばらつくいてしまう。
本構成は、ロボットハンドに設けた光源場合におけるこの問題を解決するためになされたものであり、予め記憶するしきい値レベルにより画素毎に二値化処理を行うので、上記した入射光量が画素毎にばらつくという問題は解決される。
【００２４】
本発明の第３の構成では、撮像手段の一側に配設された第１の光源と撮像手段の他側（前記一側と異なる側）に配設された第２の光源とを順次に点灯して第１、第２の画像フレーム信号を順次取り出し、これら両画像フレーム信号を画素毎に二値化し、画素毎に論理積演算して、上述したてかりを除去する。特に、本構成では、両画像フレーム信号の同一画素の信号を異なるしきい値レベルで個別に二値化するので、以下の作用効果を奏する。
【００２５】
ロボットハンドにカメラ（撮像手段）や光源を配設することはハンドがカメラの視野や光源の照明野に入らないなどの点で実用上極めて有利であるが、ハンドの動作自由度の確保という観点からはカメラの付設だけでもかなりの負担であり、大きな面状光源をハンドに設けることは用いることは極めて困難であり、ロボットハンドに配設する光源としては小型スポットライトの如き点状光源が最も好適である。
【００２６】
しかし、このような点状光源からの放射光が研削面やその上の油面などの平滑面で反射する場合、同一平面を撮像したとしても、そのある領域（以下、てかり領域ともいう）ではこの反射光の入射により明度が極めて高くなる（二値化信号として本来黒くなる部分が白くなる）。照明光として点状光源（非一様光源）光を用いる場合に特有なこの問題は、異なる撮像期間の信号である二つの画像フレーム信号を画素毎に二値化した後、それらの論理積を取ることにより上述したように解決される。
【００２７】
けれども第１光源と第２の光源との位置が異なるために、これら光源から撮像領域中の所定地点で反射してカメラ（撮像手段）に入射する反射光量が大きく異なって、異なる二値レベルに変換されてしまう場合があることがわかった。
本構成はこの問題を解決するためになされたものであって、予め両画像フレーム信号の同一画素に対して異なるしきい値レベルを記憶しておき、これらしきい値レベルにより両画像フレーム信号を別々に二値化して、上記問題を解決する。
【００２８】
本発明の第４の構成では、撮像手段の一側に配設された第１の光源と撮像手段の他側に配設された第２の光源とを順次に点灯して第１、第２の画像フレーム信号を順次取り出し、これら両画像フレーム信号を画素毎に二値化して、画素毎に論理積演算して、上述のごとくてかりを除去する。特に、本構成では画像フレーム信号全体の平均信号レベルに関連する状態量を抽出し、二値化された画像フレーム信号中の白画素の数が所定の基準数に接近する方向へ上記状態量に基づいて各画素毎のしきい値レベルを同じだけシフトする。このようにすれば、以下の作用効果を奏する。
【００２９】
ロボットハンドにカメラ（撮像手段）や光源を配設することはハンドがカメラの視野や光源の照明野に入らないなどの点で実用上極めて有利であるが、ハンドの動作自由度の確保という観点からはカメラの付設だけでもかなりの負担であり、一様照明光源や大きな面状光源をハンドに設けることは用いることは極めて困難であり、ロボットハンドに配設する光源としては小型スポットライトの如き点状光源が最も好適である。
【００３０】
しかし、上述のようにロボットハンドに固定したカメラ及び光源のセットによりワークを撮像する場合、ワークの姿勢やハンドの姿勢が微妙に変化することに起因して点状光源から放射され、ワーク表面で反射されてカメラ（撮像手段）の各画素に入射する反射光量が一律に変化する場合がある。例えば互いに平行なカメラ及び点状光源の光軸に対してワークの反射面が僅かに傾くとその分、この反射面からカメラに入射する反射光量は各画素毎に多少のばらつきは存在するものの大体一律に変化する。
【００３１】
本構成はこの問題を解決するためになされたものであって、画像フレーム信号全体の平均信号レベルの変化量を抽出し、それに応じて各画素毎のしきい値レベルを同じだけシフトして、この平均信号レベルの変化を相殺（補償）する。
本構成では更に、二値化された画像フレーム信号中の白画素の数が所定の基準値となるようにしきい値レベルを変化させるので、上記したようなカメラに入射する反射光量の全体的な変化を簡単に一定化できるとともに、上記てかりのように一部の画素から大きな反射光量が入射する場合でもそれがこの反射光量の全体的な変化を変動させるという問題を阻止することができる。
【００３３】
【発明の実施の形態】
（実施例１）
（構成説明）
本発明の画像処理装置の一実施例を図１〜図４を参照して説明する。図１はこの画像処理装置の要部を示す側面図であり、図２はこの画像処理装置に用いる光源装置１０の平面配置を示す配置図であり、図３はこの画像処理装置のブロック回路図であり、図４はこの画像処理装置の特徴である論理積処理を説明する説明図である。
【００３４】
この画像処理装置は、図３に示すように、ＴＶカメラ（撮像手段）１と、光源２１〜２４と、ＴＶカメラ１から出力された画像フレーム信号を信号処理して処理画像信号を出力する画像信号処理回路（画像信号処理手段）３と、前記処理画像信号を信号処理して撮像対象の良否を判定する画像信号プロセッサ４と、タイミングコントローラ（点灯制御手段）５とを備えている。
【００３５】
鉛直に垂下する光軸をもつＴＶカメラ１はパレット６上の所定の立体形状のプレス打ち抜き品（撮像対象）７を撮像しており、ＴＶカメラ１の側方、前後左右には光源２１〜２４が個別に配設されている。更に説明すると、ＴＶカメラ１は光源２１〜２４と一体に形成されてパレット６上のプレス打ち抜き品７に対し前後左右（水平方向に）相対移動可能となっている。また、このパレット６の上面には油膜８が付着しており、プレス打ち抜き品７の上面にも油膜８０が付着しているものとする。
【００３６】
画像信号処理回路３は、ＴＶカメラ１から出力された画像フレーム信号を画素毎に二値化して二値化画像フレーム信号として出力するコンパレータ３１と、コンパレータ３１から出力される二値化画像フレーム信号を１フレーム分だけ記憶するフレームメモリ３２と、フレームメモリ３２からリードされた読出二値化画像フレーム信号とコンパレータ３１から出力された二値化画像フレーム信号とを画素毎に論理積演算するアンド回路３３とからなる。
【００３７】
画像信号プロセッサ４は、内蔵する画像処理プログラム及び判定プログラムに基づいて入力信号から所定の検査量を算出するものであるが、その判定ルーチン自体は本実施例の要旨では無いのでこれ以上の詳細説明は省略する。
タイミングコントローラ５は、ＴＶカメラ１、光源２１〜２４、フレームメモリ３２をタイミング制御する回路であるが、その具体的な回路説明は省略する。
【００３８】
光源２１〜２４は、ＴＶカメラ１の光軸を中心としてそれと直角かつ互いに９０度離れて配設され、タイミングコントローラ５に制御されて、第１の画像フレーム信号を得る第１の撮像期間に光源２１、２３が点灯され、第２の画像フレーム信号を得る第２の撮像期間に光源２２、２４が点灯される。なお、本実施例では、光源２１、２３はＴＶカメラ１を挟んで対称配置されるので、それらの点灯によりＴＶカメラ１の光軸直下に存在するプレス打ち抜き品７の影が生じにくい。同様に、光源２２、２４はＴＶカメラ１を挟んで対称配置されるので、それらの点灯によりＴＶカメラ１の光軸直下に存在するプレス打ち抜き品７の影が生じにくい。
【００３９】
（動作説明）
ＴＶカメラ１がパレット６の直上に静止すると、外部のコントローラ（図示せず）からタイミングコントローラ５へスタート信号が出力され、タイミングコントローラ５はこのスタート信号に基づいて、ＴＶカメラ１の左右の光源２１、２３を点灯しつつＴＶカメラ１にパレット６の上面及びパレット６に載置されたプレス打ち抜き品７の撮像を指令し、ＴＶカメラ１は１フレーム分の第１の画像フレーム信号Ａをシリアルに出力する。この信号出力はタイミングコントローラ４からＴＶカメラ１への垂直、水平同期信号に同期して実行され、第１の画像フレーム信号は所定のしきい値を有するコンパレータ３１で二値化されてフレームメモリ３２に格納される。なお、この撮像期間中、タイミングコントローラ４は点灯信号Ｗを出力し、点灯がなされる。
【００４０】
その後、上記した二値化画像フレーム信号のフレームメモリ３２への格納が終了すると、タイミングコントローラ４は、ＴＶカメラ１の前後の光源２２、２４を点灯しつつＴＶカメラ１に再び撮像を指令し、ＴＶカメラ１は１フレーム分の第２の画像フレーム信号Ｂを上記と同様にシリアルに出力し、第２の画像フレーム信号Ｂもコンパレータ３１で二値化される。
【００４１】
タイミングコントローラ４は、上記画像フレーム信号出力時にフレームメモリ３２へリード信号Ｒ及び上述の垂直、水平同期信号を出力し、これによりフレームメモリ３２は第１二値化画像フレーム信号Ａを、コンパレータ３１から出力される二値化画像フレーム信号Ｂと同じ画素タイミングで読み出す。
このようにして同期が取られて出力される２枚の二値化画像フレーム信号Ａ、Ｂは、アンド回路３３で画素毎に論理積演算され、その出力すなわち二値化画像フレーム信号の論理積信号は画像信号プロセッサ４に出力されてその更なる処理が行われる。
【００４２】
次に、上記した論理積演算の作用効果を図４を参照して説明する。
図４中、（ａ）は第１二値化画像フレーム信号が表す画像Ａを示し、７１、７２はパレット６の上面に付着した油膜８により集中反射した光源２１、２３の像である。図４中、（ｂ）は第２二値化画像フレーム信号が表す画像Ｂを示し、７３、７４はパレット６の上面に付着した油膜８により集中反射した光源２２、２４の像である。
【００４３】
各光源２１〜２４は互いに離れて配置されているので、その像７１〜７４は油膜８上の異なる部位に形成される。したがって、画像ａと画像ｂとを同一画素毎に論理積演算することにより、図４中、（ｃ）に示すように、油膜８による集中反射を極めて簡単に除去することができる。
（変形態様）
図５に各光源２１〜２４の異なる配置例を示す。（ａ）は各光源２１〜２４をＴＶカメラ１を重心とする長方形の各頂点に配置したものであり、（ｂ）は各光源２１〜２４をＴＶカメラ１の光軸Ｍと直角に交差する水平線上に配設したものである。なお、順次点灯する光源の組合せは光軸Ｍを中心としてとして線対称であれば（すなわち、ＴＶカメラ１を挟んでその両側に配設されれば）、光源の個数、形状、配置パタンも自由である。例えば各光源２１〜２４は、スポットライトのような光源の他、蛍光灯のような線状光源やリング状光源でもよい、また同軸状に配設されたリング状光源の採用も可能である。
（実施例２）
他の実施例を図３及び図６を参照して説明する。
【００４４】
本実施例では、光源２１〜２４は常時点灯されてパレット６全体を照明する。ＴＶカメラ１は例えばロボットハンドのような図示しないアクチエータにより水平方向の前後又は左右又はその両方に光源とは独立に移動される。
例えば、ＴＶカメラ１を前進させて上記画像ａを求め、ＴＶカメラ１を後退させて上記画像ｂを求める。このようにすれば、光源２１〜２４の油膜８の表面における反射位置が移動するので、上記論理積画像ｃでは光源２１〜２４の反射画像を除去することができる。
【００４５】
ただ、本実施例では、ＴＶカメラ１の移動により画像フレーム信号の座標位置が同方向又は反対方向へ移動するので、その分を画面全体を逆方向へシフトして、両画像フレーム信号が形成する一対の画像内の二つの打ち抜きプレス品（撮像対象）の画像の画素座標位置を一致させる。すなわち、両画像ａ，ｂの同一画素信号が同一タイミングでアンド回路３３に入力されるように制御する。
【００４６】
この画像シフトは、本実施例では、フレームメモリ３２からの記憶画像フレーム信号の読出しタイミングを調節して行っている。
すなわち、二つの撮像位置におけるＴＶカメラ１の撮像面の垂直方向及び水平方向及び向きがそれぞれ一致していれば、フレームメモリ３２からの記憶画像フレーム信号の読出しタイミングを調節することにより、簡単にＴＶカメラ１の移動に伴う撮像対象の仮想画像空間上の画素座標位置を一致させることができる。
【００４７】
更に本実施例によれば、上記両画像フレーム信号ａ，ｂの論理積を取る。このようにすれば、以下の作用効果も奏する。すなわち、背景が黒（０）で、撮像対象が白（１）となるように二値化する場合、ＴＶカメラ１の撮像位置が異なると、撮像対象が立体の場合、撮像対象の上面の形状は両画像フレーム信号で一致するが、側面（壁面）の見え方が異なるために、撮像対象の形状が両画像フレーム信号で異なることになる。しかし、本実施例では、両画像フレーム信号の論理積をとるので、互いに異なる位置にて白領域となる撮像対象の側面は論理積操作により黒（０）となり、除去することができ、いわゆる視差に伴う撮像対象の形状差を除去することができる。
【００４８】
なお、本実施例においても、各撮像位置での撮像時の点灯光源を変更することもできる。すなわち、ＴＶカメラ１が第１の撮像位置で撮像する時に、第１群のランプ群を点灯し、ＴＶカメラ２が第２の撮像位置で撮像する時に、第２群のランプ群を点灯する。もちろん、第１群のランプと第２群のランプとは異なる点灯位置を有する。このようにして、両画像フレーム信号ａ，ｂの論理積処理を画素毎に実行すれば、ある場合には更に良好にＴＶカメラへ入力する不要反射像を除去することが可能となる。
（実施例３）
他の実施例を図７を参照して説明する。
【００４９】
本実施例では、図３のアンド回路３３を、コンパレータ３３４、アナログゲート回路３３５、３３６に変更するとともに、コンパレータ３１の位置を変更したものである。なお、フレームメモリ３２は８ビット（２５６階調）の画像メモリであって、その入力端にはＡ／Ｄコンバータ（図示せず）が、その出力端にはＤ／Ａコンバータ（図示せず）が設置されている。
【００５０】
以下、この回路の動作を説明する。
実施例１と同じ書き込み動作で８ビットの明暗情報を有する第１の画像フレーム信号（画像）ａがフレームメモリ３２に書き込まれた後、ＴＶカメラ１からアナログ信号である画像フレーム信号（画像）ｂが出力され、両画像ａ，ｂは画素毎に順番にコンパレータ３３４で比較される。そして、画像ａの画素信号が大きい時（明るい時）、コンパレータ３３４はハイレベルを出力してアナログゲート３３５を導通させ、アナログゲート３３６を遮断する。この結果、暗い方の画素信号である画像ｂの画素信号が選択される。
【００５１】
同様に、画像ａの画素信号が小さい時（暗い時）、コンパレータ３３４はローレベルを出力してアナログゲート３３５を遮断し、アナログゲート３３６を導通させる。この結果、暗い方の画素信号である画像ａの画素信号が選択される。両アナログゲートの信号はコンパレータ３１で二値化されて回路４に出力される。
このようにすれば、実施例１と同じ作用効果を奏することができる。
（実施例４）
他の実施例を図８及び図９を参照して説明する。
【００５２】
この実施例は、実施例２の変形実施例であり、ＴＶカメラ１を上記したようにロボットハンドなどで移動する代わりに予め２つの撮像位置に各１個のＴＶカメラ１ａ、１ｂを個別に配設するものである。このようにすれば、実施例２と同様の効果を奏することができる。
図９を参照してこの画像処理装置の動作を説明すると、ＴＶカメラ１ａ，１ｂから出力されたアナログ画像フレーム信号はそれぞれ二値化回路３１ａ、３１ｂで個別に二値化され、二値化画像フレーム信号ａは遅延回路３２ａで所定時間遅延された二値化画像フレーム信号ｂと、アンド回路４で論理積処理される。
【００５３】
この回路動作及び作用効果自体は実施例２と同じであるので、これ以上の説明を省略する。
なお、本実施例において、遅延回路３２ａは可変遅延回路であって、ＴＶカメラ１の撮像位置などの変更に伴って適宜、遅延時間の可変が可能となっている。
（実施例５）
他の実施例を図１０〜１２を参照して説明する。
【００５４】
この実施例は、実施例４の変形実施例であり、ＴＶカメラ１を２個設ける代わりに、二重潜望鏡形式のミラー装置（又はプリズム装置）９を用いて１個のＴＶカメラ１の撮像面の左右に２つの撮像位置で撮像したと同様な信号光を入射させるようにしたものである。ミラー装置９において、９０は角筒状の鏡胴体であり、９１〜９４はミラーである。
【００５５】
図１１に、ＴＶカメラ１の撮像面１００を示す。撮像面１００の左半分１００Ｌには、ミラー９１から入射した信号光が入射し、撮像面１００の右半分１００Ｒには、ミラー９３から入射した信号光が入射するようになっている。
図１２により、この画像処理装置の動作を説明する。
ＴＶカメラ１から出力された画像フレーム信号は二値化回路３１で二値化された後、遅延回路３２で所定時間遅延された二値化画像フレーム信号ｂと、遅延されない二値化画像フレーム信号ａとに分けられ、これらの二値化画像フレーム信号ａ，ｂの論理積がアンド回路４で取られる。
【００５６】
この回路動作及び作用効果自体は実施例２と同じであるので、これ以上の説明を省略する。
（実施例６）
他の実施例を図１３〜図１７を参照して説明する。本実施例は、ＴＶカメラ（撮像手段）１と、その周囲の４つの光源２１〜２４と、光源２１〜２４を駆動制御するタイミングコントローラ５と、ＴＶカメラ１から出力された画像フレーム信号を画素毎にＡ／Ｄ変換するＡ／Ｄコンバータ１０と、Ａ／Ｄコンバータ１０から出力されるデジタル画像フレーム信号をストアし、信号処理して処理画像信号を出力するマイコン（画像信号処理手段、しきい値レベル記憶手段、全体明度正規化手段）３０とからなる。タイミングコントローラ５はマイコン３０によって制御され、ＴＶカメラ１は水平同期信号及び垂直同期信号をマイコン３０に出力する。
【００５７】
以下、マイコン３０の動作を図１４〜図１７のフローチャートを参照して説明する。
まず、電源オンにより各部の初期設定動作を行い（１００）、外部よりの撮像指令が入力されたかどうかを調べ（１０２）、それが入力されるまで待機し、入力されればＴＶカメラ１の両側に配設された第１、第２の光源２１、２２を点灯させる（１０４）とともに、このステップ１０４の点灯指令から照度が安定する所定時間後（１０５）、垂直同期信号に同期してＴＶカメラ１から１フレームのデジタル画像信号である第１画像フレーム信号Ｓ１を読み込んで第１フレームメモリにストアし（１０６）、第１、第２の光源２１、２２を消灯させる（１０７）。
【００５８】
次に、ＴＶカメラ１の両側に配設された第３、第４の光源２３、２４を点灯させる（１０８）とともに、このステップ１０８の点灯指令から照度が安定する所定時間後（１０９）、垂直同期信号に同期してＴＶカメラ１から１フレームのデジタル画像信号である第２画像フレーム信号Ｓ２を読み込んで第２フレームメモリにストアし（１１０）、第３、第４の光源２３、２４を消灯させる（１１２）。なお、光源２３、２４はカメラ光軸を中心として光源２１、２２に対して直角に配設されている。
【００５９】
ここで、マイコン３０には第１しきい値メモリが内蔵されており、この第１のしきい値メモリは上記した第１画像フレーム信号Ｓ１を画素毎に二値化するための第１しきい値信号ＶｔＳ１をストアしているものとする。
次に、第１画像フレーム信号Ｓ１のｉ番地の画素信号Ｓ１ＰＣｉを第１フレームメモリから読み出し、それと同期して第１しきい値信号ＶｔＳ１のｉ番地の画素信号ＶｔＳ１ｉを第１しきい値メモリから読み出し、両者の大小を比較する（２００）。なお、ｉは最初は０とされている。
【００６０】
もしＳ１ＰＣｉがＶｔＳ１ｉより大きければ、第１の二値画像メモリのｉ番地に１をストアし（２０２）、ステップ２０６に進む。ステップ２００にてＳ１ＰＣｉがＶｔＳ１ｉより大きくなければ、第１の二値画像メモリのｉ番地に０をストアし（２０３）、ステップ２０６に進む。
ステップ２０６では番地数ｉに１を加え、その後、ｉが撮像領域（第１の二値画像メモリ）の最終番地かどうかを調べ（２０８）、そうでなければステップ２００にリターンする。ｉが撮像領域の最終番地であれば、ｉを０にリセットして（２１０）、ステップ２１２に進む。
【００６１】
次に、第２画像フレーム信号Ｓ２のｉ番地の画素信号Ｓ２ＰＣｉを第２フレームメモリから読み出し、それと同期して第２しきい値信号ＶｔＳ２のｉ番地の画素信号ＶｔＳ２ｉを第２しきい値メモリから読み出し、両者の大小を比較する（２１２）。
もしＳ２ＰＣｉがＶｔＳ２ｉより大きければ、第２の二値画像メモリのｉ番地に１をストアし（２１４）、ステップ２１８に進む。ステップ２１２にてＳ２ＰＣｉがＶｔＳ２ｉより大きくなければ、第２の二値画像メモリのｉ番地に０をストアし（２１５）、ステップ２１８に進む。
【００６２】
ステップ２１８では番地数ｉに１を加え、その後、ｉが撮像領域（第２の二値画像メモリ）の最終番地かどうかを調べ（２２０）、そうでなければステップ２１２にリターンする。ｉが撮像領域の最終番地であれば、ｉを０にリセットして（２２２）、ステップ４００に進む。
以下、第１の二値画像メモリに記憶された第１二値化画像フレーム信号をＳ１’と呼び、そのｉ番地の値をＳ１ＰＣｉ’と呼び、第２の二値画像メモリに記憶された第２二値化画像フレーム信号をＳ２’と呼び、そのｉ番地の値をＳ２ＰＣｉ’と呼ぶ。
【００６３】
ステップ４００は、上記各ルーチンにより好適な反射光量にて二値化されたｉ番地の第１二値化画像フレーム信号Ｓ１ＰＣｉ’とｉ番地の第２二値化画像フレーム信号Ｓ２ＰＣｉ’との論理積演算を行うステップであって、Ｓ１ＰＣｉ’とＳ２ＰＣｉ’との両方が１（白）であれば、第１の二値化画像メモリのｉ番地に１をライトし（４０２）、内蔵する累積白番地数をカウントする白カウンタのカウント値Ｎに１を加えてステップ４０６へ進み、Ｓ１ＰＣｉ’とＳ２ＰＣｉ’との両方が１（白）でなければ第１の二値化画像メモリのｉ番地に０をライトし（４０４）、ｉに１を加え（４０６）、ｉが最終番地ｉｅｎｄかどうかを調べ（４０８）、そうでなければステップ４００にリターンし、そうでなければステップ３００へ進む。
【００６４】
ステップ３００では、累積白番地数Ｎが予め記憶する好適範囲（Ｎｍｉｎ＜Ｎ＜Ｎｍａｘ）の範囲内かどうかを調べ、Ｎがその所定の最小値Ｎｍｉｎ以下であれば、しきい値が全体的に高く（反射光量が全体的に少な過ぎ）、不適当と判定して、ステップ３０２に進む。
ステップ３０２〜３０８はしきい値記憶用のメモリにストアされている第１しきい値信号ＶｔＳ１及び第２しきい値信号ＶｔＳ２の全番地の画素信号ＶｔＳ１ｉ、ＶｔＳ２ｉ（ｉ＝０〜ｉｅｎｄ）をそれぞれ小さい一定値ΔＶｔだけ減らすルーチンであって、まず、ｉ番地の二つの画素信号ＶｔＳ１、ｉＶｔＳ２ｉからそれぞれΔＶｔを減算し（３０２）、ｉに１を加え（３０４）、ｉがｉｅｎｄに達したかどうかを調べ（３０６）、達していなければステップ３０２にリターンし、達していればｉを０にリセットして（３０８）、ステップ２００へリターンする。
【００６５】
ステップ３００にてＮがその所定の最大値Ｎｍａｘ以上であれば、しきい値が全体的に低く（反射光量が全体的に多過ぎ）、不適当と判定してステップ３１２に進む。
ステップ３１２〜３１８は上述したステップ３０２〜３０８とルーチン構造は本質的に同じであり、第１しきい値信号ＶｔＳ１及び第２しきい値信号ＶｔＳ２の全番地の画素信号ＶｔＳ１ｉ、ＶｔＳ２ｉ（ｉ＝０〜ｉｅｎｄ）をそれぞれ小さい一定値ΔＶｔだけ増やすルーチンであるので、これ以上の説明は省略する。
【００６６】
更に、ステップ３００にてＮが上記範囲内であれば、ルーチンを終了する。
これにより第３の二値化画像メモリには上記した画素毎に最適なしきい値により二値化された明暗画像を用いててかりを除去するので、正確なワーク形状を得ることができる。
【図面の簡単な説明】
【図１】実施例１の画像処理装置の要部を示す側面図である。
【図２】図１の画像処理装置に用いる光源の配置図である。
【図３】図１の画像処理装置のブロック図である。
【図４】実施例１の画像処理を表す説明図である。
【図５】図２の光源配置の変形例を示す配置図である。
【図６】実施例２の画像処理装置の要部を示す斜視図である。
【図７】実施例３の要部を示す論理回路図である。
【図８】実施例４の画像処理装置の要部を示す正面図である。
【図９】実施例４の要部を示すブロック回路図である。
【図１０】実施例５の画像処理装置の要部を示す一部破断正面図である。
【図１１】実施例５のＴＶカメラ１の撮像面を示す図である。
【図１２】実施例５の要部を示すブロック回路図である。
【図１３】実施例６を示すブロック回路図である。
【図１４】図１３の回路の動作を示すフローチャートである。
【図１５】図１３の回路の動作を示すフローチャートである。
【図１６】図１３の回路の動作を示すフローチャートである。
【図１７】図１３の回路の動作を示すフローチャートである。
【符号の説明】
１はＴＶカメラ（撮像手段）２１〜２４は光源、３は画像信号処理回路（画像信号処理手段）、５はタイミングコントローラ（制御手段）、７はプレス打ち抜き品（撮像対象）である。
【図１】
0003724659.tif 000002
【図２】
0003724659.tif 000003
【図３】
0003724659.tif 000004
【図４】
0003724659.tif 000005
【図５】
0003724659.tif 000006
【図６】
0003724659.tif 000007
【図７】
0003724659.tif 000008
【図８】
0003724659.tif 000009
【図９】
0003724659.tif 000010
【図１０】
0003724659.tif 000011
【図１１】
0003724659.tif 000012
【図１２】
0003724659.tif 000013
【図１３】
0003724659.tif 000014
【図１４】
0003724659.tif 000015
【図１５】
0003724659.tif 000016
【図１６】
0003724659.tif 000017
【図１７】
0003724659.tif 000018