(57)【要約】【課題】ラインセンサカメラにより撮像対象物を撮像する際に正確な撮像画像を取得することが可能な画像処理装置及び画像処理方法を提供する。【解決手段】画像処理装置は、撮像部に対する撮像対象物の移動に応じて時系列的に順次入力されるタイミング信号を計数するとともに、前記タイミング信号の間隔をクロック信号で計数するカウンタ処理部と、前記カウンタ処理部により計数される前記タイミング信号の計数値と、前記タイミング信号の間隔に対応する前記クロック信号の計数値とに基づいて、前記撮像部に対する撮像トリガ信号を生成するトリガ生成部と、前記トリガ生成部により生成される前記撮像トリガ信号を前記撮像部に出力する出力処理部と、を備える。【選択図】図３
2020160829.tif 000002
【特許請求の範囲】
【請求項１】
撮像部に対して相対移動する撮像対象物の撮像画像データをラインごと取得して前記撮像対象物の画像を生成する画像処理装置であって、
前記撮像部に対する前記撮像対象物の移動に応じて時系列的に順次入力されるタイミング信号を計数するとともに、前記タイミング信号の間隔をクロック信号で計数するカウンタ処理部と、
前記カウンタ処理部により計数される前記タイミング信号の計数値と、前記タイミング信号の間隔に対応する前記クロック信号の計数値とに基づいて、前記撮像部に対する撮像トリガ信号を生成するトリガ生成部と、
前記トリガ生成部により生成される前記撮像トリガ信号を前記撮像部に出力する出力処理部と、
を備える画像処理装置。
【請求項２】
前記トリガ生成部は、予め設定された前記撮像トリガ信号の間隔に対応する前記タイミング信号の第１計数値と、前記タイミング信号の間隔に対応する前記クロック信号の第２計数値とを取得し、前記第１計数値に対応する前記タイミング信号が入力された後、前記カウンタ処理部による前記クロック信号の計数値が前記第２計数値に達する位置に前記撮像トリガ信号を生成する、
請求項１に記載の画像処理装置。
【請求項３】
前記トリガ生成部は、現在の前記タイミング信号の間隔に対応する前記クロック信号の計数値を取得し、取得した前記計数値に基づいて、次に出力する前記撮像トリガ信号を生成する、
請求項１に記載の画像処理装置。
【請求項４】
前記タイミング信号の間隔を監視する監視処理部をさらに備え、
前記監視処理部は、現在の前記タイミング信号の間隔に対応する前記クロック信号の計数値を算出し、算出した前記クロック信号の計数値を記憶する、
請求項３に記載の画像処理装置。
【請求項５】
前記カウンタ処理部により計数される複数の前記タイミング信号のそれぞれの計数値が一定でない、
請求項３又は請求項４に記載の画像処理装置。
【請求項６】
前記タイミング信号が所定の第１タイミングより早い第２タイミングで入力された場合に、前記出力処理部は、前記トリガ生成部により前記第１タイミングに対応して生成される前記撮像トリガ信号を、前記第２タイミングに同期して出力する、
請求項１に記載の画像処理装置。
【請求項７】
第１の前記タイミング信号の所定の間隔に所定数の前記撮像トリガ信号が出力される場合であって、前記所定の間隔が短くなることにより、前記所定数の前記撮像トリガ信号が出力される前に第２の前記タイミング信号が入力される場合には、
前記所定数よりも少ない数の前記撮像トリガ信号に基づいて前記撮像部により撮像された複数の撮像画像データに基づいて前記撮像対象物の画像を生成する、
請求項１から請求項６のいずれか１項に記載の画像処理装置。
【請求項８】
第１の前記タイミング信号の所定の間隔に所定数の前記撮像トリガ信号が出力される場合であって、前記所定の間隔が長くなることにより、前記所定数の前記撮像トリガ信号が出力された後に所定のタイミングで第２の前記タイミング信号が入力されない場合には、
前記トリガ生成部は、前記所定のタイミングから前記第２の前記タイミング信号が入力されるまでの区間に対応する第２撮像トリガ信号を生成し、
前記所定数の前記撮像トリガ信号と前記第２撮像トリガ信号とに基づいて前記撮像部により撮像された複数の撮像画像データに基づいて前記撮像対象物の画像を生成する、
請求項１から請求項７のいずれか１項に記載の画像処理装置。
【請求項９】
前記クロック信号は、前記画像処理装置の内部クロック信号である、
請求項１から請求項８のいずれか１項に記載の画像処理装置。
【請求項１０】
撮像部に対して相対移動する撮像対象物の撮像画像データをラインごと取得して前記撮像対象物の画像を生成する画像処理方法であって、
前記撮像部に対する前記撮像対象物の移動に応じて時系列的に順次入力されるタイミング信号を計数するとともに、前記タイミング信号の間隔をクロック信号で計数するカウンタ処理ステップと、
前記カウンタ処理ステップにより計数される前記タイミング信号の計数値と、前記タイミング信号の間隔に対応する前記クロック信号の計数値とに基づいて、前記撮像部に対する撮像トリガ信号を生成するトリガ生成ステップと、
前記トリガ生成ステップにより生成される前記撮像トリガ信号を前記撮像部に出力する出力ステップと、
を一又は複数のプロセッサーにより実行する画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像対象物を撮像した撮像画像を用いて画像処理を行う画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来、ラインセンサを備えるカメラ（ラインセンサカメラ）により検査対象物を撮像し、撮像画像に基づいて検査対象物に存在する傷等の欠陥を検査する画像処理装置（画像検査装置）が知られている（例えば特許文献１参照）。前記画像処理装置は、例えば、検査対象物を搬送する搬送路の駆動モータに設けられたエンコーダから出力されるエンコーダパルスに基づいてカメラが検査対象物を撮像し、カメラから撮影画像の画像データを取得する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−１５４０００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、カメラ（ラインセンサカメラ）による撮影において、撮影位置の位置補正の意味を持つエンコーダパルスとカメラの撮像トリガ信号とが同期する場合がある。しかしながら、エンコーダパルスの入力速度は検査対象物の移動速度に依存するため、エンコーダパルスの周期と要望するカメラのシャッター周期（画像分解能）とが完全に一致する訳ではない。このため、取得される撮像画像において、Ｘ方向及びＹ方向のアスペクト比が崩れてしまい、正確な撮像画像を取得することができない問題が生じる。
【０００５】
本発明の目的は、ラインセンサカメラにより撮像対象物を撮像する際に正確な撮像画像を取得することが可能な画像処理装置及び画像処理方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一の態様に係る画像処理装置は、撮像部に対して相対移動する撮像対象物の撮像画像データをラインごと取得して前記撮像対象物の画像を生成する画像処理装置であって、前記撮像部に対する前記撮像対象物の移動に応じて時系列的に順次入力されるタイミング信号を計数するとともに、前記タイミング信号の間隔をクロック信号で計数するカウンタ処理部と、前記カウンタ処理部により計数される前記タイミング信号の計数値と、前記タイミング信号の間隔に対応する前記クロック信号の計数値とに基づいて、前記撮像部に対する撮像トリガ信号を生成するトリガ生成部と、前記トリガ生成部により生成される前記撮像トリガ信号を前記撮像部に出力する出力処理部と、を備える。
【０００７】
本発明の他の態様に係る画像処理方法は、撮像部に対して相対移動する撮像対象物の撮像画像データをラインごと取得して前記撮像対象物の画像を生成する画像処理方法であって、前記撮像部に対する前記撮像対象物の移動に応じて時系列的に順次入力されるタイミング信号を計数するとともに、前記タイミング信号の間隔をクロック信号で計数するカウンタ処理ステップと、前記カウンタ処理ステップにより計数される前記タイミング信号の計数値と、前記タイミング信号の間隔に対応する前記クロック信号の計数値とに基づいて、前記撮像部に対する撮像トリガ信号を生成するトリガ生成ステップと、前記トリガ生成ステップにより生成される前記撮像トリガ信号を前記撮像部に出力する出力ステップと、を一又は複数のプロセッサーにより実行する画像処理方法である。
【発明の効果】
【０００８】
本発明によれば、ラインセンサカメラにより撮像対象物を撮像する際に正確な撮像画像を取得することが可能な画像処理装置及び画像処理方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の実施形態１に係る画像処理装置の構成を示すブロック図である。
【図２】図２は、本発明の実施形態１に係る画像処理装置において撮像される画像の一例を示す図である。
【図３】図３は、本発明の実施形態１に係る画像処理装置における動作の一例を示すタイミングチャートである。
【図４】図４は、本発明の実施形態２に係る画像処理装置の構成を示すブロック図である。
【図５】図５は、本発明の実施形態２に係る画像処理装置における動作の一例を示すタイミングチャートである。
【図６】図６は、本発明の実施形態３に係る画像処理装置における動作の一例を示すタイミングチャートである。
【図７】図７は、本発明の実施形態４に係る画像処理装置における動作の一例を示すタイミングチャートである。
【図８】図８は、本発明の実施形態５に係る画像処理装置における動作の一例を示すタイミングチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら、本発明の実施形態について説明する。尚、以下の実施形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格を有さない。
【００１１】
本発明の画像処理装置は、例えば、ベルトコンベアなどの搬送路上を移動する撮像対象物（以下、ワークと称す。）をカメラ（ラインセンサカメラ）により撮像し、撮像画像に基づいてワークの欠陥を検査する検査装置に適用される。なお、本発明の画像処理装置は、前記カメラが移動して、固定されたワークを撮像することにより撮像画像を取得する検査装置であってもよい。すなわち、本発明の画像処理装置は、カメラに対して相対移動するワークの撮像画像データをラインごと取得してワークの画像を生成する。
【００１２】
［実施形態１］
図１は、本発明の実施形態に係る画像処理装置１の構成を示す図である。図１において、ワークＷは、搬送路５上をＹ方向に搬送される。搬送路５は、例えば駆動モータ（不図示）により回転駆動するベルトコンベアなどで構成される。搬送路５の駆動モータの回転軸にはエンコーダ３が設けられている。エンコーダ３は、例えば前記回転軸の回転角度が所定角度になるごとにパルス信号（以下、エンコーダパルスＥＰと称す。）を繰り返し出力する。これにより、エンコーダ３は、ワークＷの移動距離の変化量が所定距離に達するごとにエンコーダパルスＥＰを出力する。エンコーダパルスＥＰは、画像処理装置１に時系列的に順次入力される。エンコーダパルスＥＰは、本発明のタイミング信号の一例である。
【００１３】
ワークＷの上方には、ラインセンサカメラ（以下、カメラ２と称す。）が設けられている。カメラ２は、ワークＷの移動方向（Ｙ方向）と直交する方向（Ｘ方向）に配列されたラインセンサを備えている。カメラ２は、搬送路５上を移動するワークＷを、画像処理装置１から出力されるトリガ信号（以下、撮像トリガ信号ＴＳと称す。）に基づいて所定のタイミングで順次に撮像し、撮像した画像（撮像画像）の画像データＰＤを画像処理装置１に順次出力する。カメラ２は、本発明の撮像部の一例である。
【００１４】
画像処理装置１は、カメラ２に対して相対移動するワークＷの画像データＰＤをラインごと取得してワークＷ全体の画像を生成する。具体的には、画像処理装置１は、エンコーダパルスＥＰに基づいて撮像トリガ信号ＴＳを生成し、生成した撮像トリガ信号ＴＳをカメラ２に出力してワークＷを撮像させ、カメラ２から撮像画像の画像データＰＤを取得し、ラインごとの複数の画像データＰＤに基づいてワークＷ全体の画像を生成する。
【００１５】
具体的には、画像処理装置１は、制御部１１、記憶部１２、カウンタ１３、操作表示部１４などを備える。
【００１６】
操作表示部１４は、画像処理装置１を操作する操作部と、各種設定画面等を表示する表示部とを含むタッチパネルで構成される。操作表示部１４は、作業者（ユーザ）から各種操作を受け付ける。例えば、操作表示部１４は、初期設定において、設定画面を表示させて作業者から撮像画像のアスペクト比に関するパラメータの入力を受け付ける。
【００１７】
カウンタ１３には、エンコーダパルスＥＰとクロック信号ＣＬＫとが入力される。カウンタ１３は、エンコーダパルスＥＰ及びクロック信号を計数（カウント）する。例えば、カウンタ１３は、エンコーダパルスＥＰが入力されると、計数値をリセットし、エンコーダパルスＥＰの間隔をクロック信号ＣＬＫで計数する。クロック信号ＣＬＫは、画像処理装置１の画像処理に利用される内部クロック信号である。クロック信号ＣＬＫは、本発明のクロック信号の一例である。
【００１８】
記憶部１２は、各種の情報を記憶する半導体メモリー、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などを含む不揮発性の記憶部である。例えば記憶部１２には、制御部１１に各種処理を実行させるためのプログラム１２１などの制御プログラムが記憶されている。
【００１９】
前記制御プログラムは、ＵＳＢ、ＣＤ又はＤＶＤなどのコンピュータ読取可能な記録媒体に非一時的に記録されており、画像処理装置１が備えるＵＳＢドライブ、ＣＤドライブ又はＤＶＤドライブなどの読取装置（不図示）で読み取られて記憶部１２に記憶される。また、前記制御プログラムは、外部機器から通信網を介してダウンロードされて記憶部１２に記憶されてもよい。
【００２０】
また記憶部１２には、カウンタ情報１２２が記憶される。カウンタ情報１２２には、カウンタ１３により計数された値（カウンタ値）である、エンコーダパルスＥＰの計数値及び間隔（パルス間隔）が登録される。また、カウンタ情報１２２には、クロック信号ＣＬＫの計数値が登録される。
【００２１】
制御部１１は、ＣＰＵ、ＲＯＭ、及びＲＡＭなどの制御機器を有する。前記ＣＰＵは、各種の演算処理を実行するプロセッサーである。前記ＲＯＭは、前記ＣＰＵに各種の演算処理を実行させるためのＢＩＯＳ及びＯＳなどの制御プログラムが予め記憶される不揮発性の記憶部である。前記ＲＡＭは、各種の情報を記憶する揮発性又は不揮発性の記憶部であり、前記ＣＰＵが実行する各種の処理の一時記憶メモリー（作業領域）として使用される。そして、制御部１１は、前記ＲＯＭ又は記憶部１２に予め記憶された各種の制御プログラムを前記ＣＰＵで実行することにより画像処理装置１を制御する。
【００２２】
具体的には、制御部１１は、画像処理部１１１、カウンタ処理部１１２、トリガ生成部１１３、出力処理部１１４などの各種の処理部を含む。なお、制御部１１は、前記ＣＰＵで前記制御プログラムに従った各種の処理を実行することによって前記各種の処理部として機能する。また、制御部１１に含まれる一部又は全部の処理部が電子回路で構成されていてもよい。
【００２３】
画像処理部１１１は、カメラ２により撮像されたワークＷの撮像画像の画像データＰＤを取得して、所定の画像処理を実行する。例えば、画像処理部１１１は、ワークＷを撮像したラインごとの画像データＰＤを順次取得して、取得した複数の画像データＰＤに基づいてワークＷ全体の画像を生成する。
【００２４】
また画像処理部１１１は、初期設定において、カメラ２により撮像されたワークＷ全体の画像に基づいてアスペクト比を算出する。例えば図２に示すように、初期設定において、真円形状のワークＷを撮像した場合に、画像処理部１１１により生成される画像Ｐ０がＹ方向に伸びた楕円状になる場合がある。これは、エンコーダ３の分解能が細かい場合に起きる現象である。なお、エンコーダ３の分解能が荒い場合には、画像処理部１１１により生成される画像Ｐ０は、Ｘ方向に伸びた楕円状になる。画像処理部１１１は、画像Ｐ０に基づいてアスペクト比「Ｘ：Ｙ」を算出する。
【００２５】
ここで、前記アスペクト比によれば、例えば、エンコーダパルスＥＰのＹ／Ｘ回（Ｙ÷Ｘ）に１回の割合で撮像トリガ信号ＴＳをカメラ２に出力して撮像させれば、ワークＷの真円形状に対応する画像Ｐ１を得ることができる。
【００２６】
カウンタ処理部１１２は、カウンタ１３に計数処理を実行させるとともに、カウンタ１３から計数値を取得する。カウンタ処理部１１２は、カウンタ１３から取得する計数値をカウンタ情報１２２に登録する。例えば、カウンタ処理部１１２は、エンコーダパルスＥＰがカウンタ１３に入力されると、カウンタ１３をリセットして、エンコーダパルスＥＰの間隔をクロック信号ＣＬＫで計数させる。すなわち、カウンタ処理部１１２は、エンコーダパルスＥＰの間隔に相当するクロック信号ＣＬＫの数（計数値）を算出する。カウンタ処理部１１２は、エンコーダパルスＥＰの間隔に対応するクロック信号ＣＬＫの数を取得する。
【００２７】
トリガ生成部１１３は、カウンタ１３により計数されるエンコーダパルスＥＰの計数値と、エンコーダパルスＥＰの間隔に対応するクロック信号ＣＬＫの計数値とに基づいて、カメラ２に対する撮像トリガ信号ＴＳを生成する。撮像トリガ信号ＴＳは、カメラ２の撮像タイミングを規定するトリガ信号である。例えば、トリガ生成部１１３は、予め設定された撮像トリガ信号ＴＳの間隔に対応するエンコーダパルスＥＰの第１計数値（エンコーダカウンタ）と、エンコーダパルスＥＰの間隔に対応するクロック信号ＣＬＫの第２計数値（クロックカウンタ）とを取得し、前記第１計数値に対応するエンコーダパルスＥＰが入力された後、カウンタ処理部１１２によるクロック信号ＣＬＫの計数値が前記第２計数値に達する位置に撮像トリガ信号ＴＳを生成する。
【００２８】
例えば、エンコーダパルスＥＰが一定の間隔（等間隔）で画像処理装置１に入力されるものと仮定する。この場合、トリガ生成部１１３は、Ｙ／Ｘの値の整数部（商）と小数部（余り）とに基づいて、エンコーダパルスＥＰがｘ個（エンコーダカウンタ「ｘ」）、かつクロック信号ＣＬＫがｙ個（クロックカウンタ「ｙ」）の位置に撮像トリガ信号ＴＳを生成する。ここで「ｘ」は、例えば前記整数部とすることができる。また「ｙ」は、例えば前記小数部に対応する割合に、エンコーダパルスＥＰの間隔に対応するクロック信号ＣＬＫの計数値を乗算した値とすることができる。「ｘ」は本発明の第１計数値の一例であり、「ｙ」は本発明の第２計数値の一例である。
【００２９】
出力処理部１１４は、トリガ生成部１１３により生成される撮像トリガ信号ＴＳをカメラ２に出力する。例えば、出力処理部１１４は、カウンタ１３により計数されたエンコーダパルスＥＰの計数値（エンコーダカウンタ）が「ｘ」になり、その後クロック信号ＣＬＫの計数値（クロックカウンタ）が「ｙ」になるタイミングで撮像トリガ信号ＴＳをカメラ２に出力する。
【００３０】
図３は、実施形態１の画像処理装置１における動作の一例を示すタイミングチャートである。ここでは例えば、エンコーダパルスＥＰの間隔（等間隔）が、クロック信号ＣＬＫの計数値（クロックカウンタ）で「９」であると仮定する。トリガ生成部１１３は、画像Ｐ０のＹ／Ｘ×１の値とエンコーダパルスＥＰの間隔（クロックカウンタ「９」）とに基づいて、１番目の撮像トリガ信号ＴＳの位置を例えば（ｘ，ｙ）＝（１，６）に決定する。すなわち、トリガ生成部１１３は、エンコーダパルスＥＰのカウンタ（エンコーダカウンタ）が「１」かつクロック信号ＣＬＫのカウンタ（クロックカウンタ）が「６」の位置の撮像トリガ信号ＴＳ１（トリガカウンタ「１」）を生成する。出力処理部１１４は、生成された１番目の撮像トリガ信号ＴＳ１を出力する。
【００３１】
同様に、トリガ生成部１１３は、画像Ｐ０のＹ／Ｘ×２の値とエンコーダパルスＥＰの間隔（クロックカウンタ「９」）とに基づいて、２番目の撮像トリガ信号ＴＳ２の位置を例えば（ｘ，ｙ）＝（３，３）に決定する。すなわち、トリガ生成部１１３は、エンコーダパルスＥＰのカウンタ（エンコーダカウンタ）が「３」かつクロック信号ＣＬＫのカウンタ（クロックカウンタ）が「３」の位置の撮像トリガ信号ＴＳ２（トリガカウンタ「２」）を生成する。出力処理部１１４は、生成された２番目の撮像トリガ信号ＴＳ２を出力する。
【００３２】
実施形態１に係る画像処理装置１は、画像処理装置１は、アスペクト比に応じた割合に基づいて算出される、エンコーダパルスＥＰの計数値（エンコーダカウンタ数）と、クロック信号ＣＬＫの計数値（クロックカウンタ数）とに基づいて、撮像トリガ信号ＴＳ２を生成する。これにより、画像処理装置１は、エンコーダパルスＥＰに同期しつつ、任意の位置で撮像トリガ信号ＴＳを出力することができる。
【００３３】
［実施形態２］
画像処理装置１に入力されるエンコーダパルスＥＰは、ワークＷが停止している状態から移動を開始するとき、移動している状態から停止するとき、又は、駆動モータの回転速度にばらつきが生じるときなどに、そのパルス間隔が一定（等間隔）にならない場合がある。すなわち、カウンタ１３により計数される複数のエンコーダパルスＥＰのそれぞれの間隔に対する計数値（クロックカウンタ）が一定にならない場合がある。この場合、撮像トリガ信号ＴＳの出力タイミングが、適切な出力タイミングからずれてしまうことが考えられる。
【００３４】
そこで、実施形態２に係る画像処理装置１は、図４に示すように、実施形態１に係る画像処理装置１に、さらに、エンコーダパルスＥＰの間隔を監視する監視処理部１１５を備えている。監視処理部１１５は、現在のエンコーダパルスＥＰの間隔に相当するクロック信号ＣＬＫの計数値（クロックカウンタ）を算出する。監視処理部１１５は、算出したクロック信号ＣＬＫの計数値を記憶部１２（カウンタ情報１２２）に記憶する。
【００３５】
トリガ生成部１１３は、現在のエンコーダパルスＥＰの間隔に対応するクロック信号ＣＬＫの計数値を取得し、取得した前記計数値に基づいて、次に出力する撮像トリガ信号ＴＳを生成する。具体的には、トリガ生成部１１３は、監視処理部１１５により算出されるクロック信号ＣＬＫの計数値に基づいて、次の撮像トリガ信号ＴＳの位置を再計算する。
【００３６】
図５は、実施形態２の画像処理装置１における動作の一例を示すタイミングチャートである。図５では、エンコーダパルスＥＰの間隔が、経時的に広くなる場合の例を示している。またここでは、初期設定において、撮像トリガ信号ＴＳが、アスペクト比に基づいて、エンコーダパルスＥＰが２個、かつエンコーダパルスＥＰの間隔の２０％の位置に設定されたものと仮定する。例えば、トリガ生成部１１３は、現在のエンコーダパルスＥＰ（エンコーダカウンタ「１」）の間隔に対応するクロック信号ＣＬＫの計数値（クロックカウンタ「５」）に基づいて、１番目の撮像トリガ信号ＴＳ１（トリガカウンタ「１」）の位置を再計算して決定する。出力処理部１１４は、決定された１番目の撮像トリガ信号ＴＳ１を出力する。
【００３７】
同様に、トリガ生成部１１３は、現在のエンコーダパルスＥＰ（エンコーダカウンタ「３」）の間隔に対応するクロック信号ＣＬＫの計数値（クロックカウンタ「９」）に基づいて、２番目の撮像トリガ信号ＴＳ２（トリガカウンタ「２」）の位置を再計算して決定する。出力処理部１１４は、決定された２番目の撮像トリガ信号ＴＳ２を出力する。
【００３８】
実施形態２に係る画像処理装置１によれば、現在のエンコーダパルスＥＰの間隔に応じてエンコーダパルスＥＰの位置を再計算する。これにより、エンコーダパルスＥＰの間隔の変動に対する撮像トリガ信号ＴＳの出力タイミングのずれを最小限に調整することができる。
【００３９】
［実施形態３］
実施形態１に係る画像処理装置１の構成において、例えば図６の上段に示すように、生成されたトリガカウンタ「１」の撮像トリガ信号ＴＳ１が出力される前に、次のエンコーダパルスＥＰが速度変動などにより画像処理装置１に入力された場合、撮像トリガ信号ＴＳ１は出力タイミングを失ってしまい、カメラ２に出力されない事態が生じる。この場合、１ライン分の画像データが抜けてしまい、正確な画像が生成されなくなる問題（画像抜け）が生じる。
【００４０】
そこで、実施形態３に係る画像処理装置１は、エンコーダパルスＥＰが本来の入力タイミングより早いタイミングで画像処理装置１に入力された場合には、当該エンコーダパルスＥＰが入力されたタイミングで、撮像トリガ信号ＴＳを出力する。例えば、図６の下段に示すように、トリガカウンタ「１」の撮像トリガ信号ＴＳ１を、本来の入力タイミングより早いタイミングで画像処理装置１に入力されたエンコーダパルスＥＰに同期させて出力する。
【００４１】
このように、エンコーダパルスＥＰが所定の第１タイミングより早い第２タイミングで入力された場合には、出力処理部１１４は、トリガ生成部１１３により前記第１タイミングに対応して生成される撮像トリガ信号ＴＳを、前記第２タイミングに同期して出力する。これにより、撮影位置は本来意図していた位置からずれるものの、画像抜けをなくすことができる。
【００４２】
［実施形態４］
実施形態３に示したように、撮像トリガ信号ＴＳが出力される前に、次のエンコーダパルスＥＰが画像処理装置１に入力されると、撮像トリガ信号ＴＳが出力タイミングを失ってしまい、正確な画像が生成されなくなる問題が生じる。特に１個のエンコーダパルスＥＰの間（間隔）に複数個の撮像トリガ信号ＴＳが準備されているようなケースでは、複数ライン分の画像データが抜けてしまう問題が生じる。
【００４３】
例えば図７に示すように、１個のエンコーダパルスＥＰの間に２０ラインの撮影をする場合において、１８ラインを撮影したときに次のエンコーダパルスＥＰが入力された場合、２ライン分の撮影が行われない。
【００４４】
そこで、実施形態４に係る画像処理装置１は、第１のエンコーダパルスＥＰの所定の間隔に所定数の撮像トリガ信号ＴＳが出力される場合であって、前記所定の間隔が短くなることにより、前記所定数の撮像トリガ信号ＴＳが出力される前に第２のエンコーダパルスＥＰが入力される場合には、前記所定数よりも少ない数の撮像トリガ信号ＴＳに基づいてカメラ２により撮像された複数の画像データＰＤに基づいてワークＷ全体の画像を生成する。
【００４５】
具体的には、例えば図7に示す例では画像処理装置１は、１個のエンコーダパルスＥＰに対応する１８ライン分の画像データＰＤを記憶部１２に保持し、画像処理の演算により１８ライン分の画像データＰＤから２０ライン分の画像を生成する。例えば、画像処理部１１１は、不足分のライン数から割合を計算し、割合に基づいて２０ライン分の画像を生成する。
【００４６】
例えば、画像処理部１１１は、１ライン目の画像を１番目の撮像トリガ信号ＴＳに対応する画像データＰＤの１００％から生成し、２ライン目の画像を１番目の撮像トリガ信号ＴＳに対応する画像データＰＤの１０％と２番目の撮像トリガ信号ＴＳに対応する画像データＰＤの９０％とから生成し、３ライン目の画像を２番目の撮像トリガ信号ＴＳに対応する画像データＰＤの２０％と３番目の撮像トリガ信号ＴＳに対応する画像データＰＤの８０％とから生成する。また、画像処理部１１１は、１９ライン目の画像を１７番目の撮像トリガ信号ＴＳに対応する画像データＰＤの１０％と１８番目の撮像トリガ信号ＴＳに対応する画像データＰＤの９０％とから生成し、２０ライン目の画像を１８番目の撮像トリガ信号ＴＳに対応する画像データＰＤの１００％から生成する。このようにして、画像処理部１１１は、１８ライン分の画像データから２０ライン分の画像を生成してワークＷ全体の画像を生成する。
【００４７】
これにより、１個のエンコーダパルスＥＰに対して、本来取得されるライン数分の画像データから複数ライン分の画像データが抜けてしまう場合であっても、不足分の画像データを生成することにより全ラインに対応する画像を生成することができる。
【００４８】
［実施形態５］
実施形態４に係る画像処理装置１の構成において、図８に示すように、エンコーダパルスＥＰの入力タイミングが遅れる場合がある。この場合、入力されたエンコーダパルスＥＰに対して、２０ライン分の撮影が先に終わってしまい、正しい位置より詰まった画像が撮影される可能性がある。
【００４９】
そこで、実施形態５に係る画像処理装置１では、第１のエンコーダパルスＥＰの所定（本来）の間隔に所定数の撮像トリガ信号ＴＳが出力される場合であって、前記所定の間隔が長くなることにより、前記所定数の撮像トリガ信号ＴＳが出力された後に所定のタイミングで第２のエンコーダパルスＥＰが入力されない場合には、トリガ生成部１１３は、前記所定のタイミングから前記第２のエンコーダパルスＥＰが入力されるまでの区間に対応する第２撮像トリガ信号ＴＳを生成し、前記所定数の撮像トリガ信号ＴＳと前記第２撮像トリガ信号ＴＳとに基づいてカメラ２により撮像された複数の画像データＰＤに基づいてワークＷの画像を生成する。
【００５０】
具体的には、画像処理装置１は、次のエンコーダパルスＥＰが入力されるまでは撮影を継続し続け、１個のエンコーダパルスＥＰが完了した時点で、全撮像ライン数から、本来予定していた撮像ライン数の画像を再計算して生成する。
【００５１】
例えば、図８に示すように、本来であれば２０ライン分を撮影するところ、撮影が終わっても次のエンコーダパルスＥＰが入力されないため、ワークＷの移動速度が減速していると考えられる。この場合、２０ライン目から次のエンコーダパルスＥＰまでの画像が撮影されないことになるため、画像処理装置１は、次のエンコーダパルスＥＰが入力されるまでの間、撮像トリガ信号ＴＳを出力し続け、画像データＰＤを取得する。そして、画像処理装置１は、１個のエンコーダパルスＥＰの間で撮影された２２ライン分の画像データに基づいて２０ライン分の画像データＰＤを生成してワークＷの画像を生成する。
【００５２】
例えば、画像処理部１１１は、１ライン目の画像を１番目の撮像トリガ信号ＴＳに対応する画像データＰＤの９０％と、２番目の撮像トリガ信号ＴＳに対応する画像データＰＤの１０％とから生成し、２ライン目の画像を２番目の撮像トリガ信号ＴＳに対応する画像データＰＤの２０％と３番目の撮像トリガ信号ＴＳに対応する画像データＰＤの８０％とから生成する。また、画像処理部１１１は、１９ライン目の画像を２０番目の撮像トリガ信号ＴＳに対応する画像データＰＤの２０％と２１番目の撮像トリガ信号ＴＳに対応する画像データＰＤの８０％とから生成し、２０ライン目の画像を２１番目の撮像トリガ信号ＴＳに対応する画像データＰＤの１０％と２２番目の撮像トリガ信号ＴＳに対応する画像データＰＤの９０％とから生成する。このようにして、画像処理部１１１は、２０ライン分の画像データＰＤから２２ライン分の画像データＰＤを生成してワークＷの画像を生成する。
【００５３】
これにより、エンコーダパルスＥＰの入力タイミングが遅れて空白期間が生じ場合であっても、空白期間に撮像トリガ信号ＴＳを出力して画像データＰＤを取得し、空白期間に対応する画像データＰＤを含めてワークＷの画像を生成することにより、適切な位置の画像を生成することができる。
【００５４】
なお、本発明は、画像処理装置１の制御部１１が実行する画像処理方法の発明として表すことができる。前記画像処理方法は、一又は複数のプロセッサーにより実行される。具体的には、本発明に係る画像処理方法は、カメラ２に対して相対移動するワークＷの撮像画像データをラインごと取得してワークＷの画像を生成する画像処理方法であって、カメラ２に対するワークＷの移動に応じて時系列的に順次入力されるエンコーダパルスＥＰを計数するとともに、エンコーダパルスＥＰの間隔をクロック信号ＣＬＫで計数するカウンタ処理ステップと、前記カウンタ処理ステップにより計数されるエンコーダパルスＥＰの計数値と、エンコーダパルスＥＰの間隔に対応するクロック信号ＣＬＫの計数値とに基づいて、カメラ２に対する撮像トリガ信号ＴＳを生成するトリガ生成ステップと、前記トリガ生成ステップにより生成される撮像トリガ信号ＴＳをカメラ２に出力する出力ステップと、を一又は複数のプロセッサーにより実行するものである。
【００５５】
尚、本発明は、各請求項に記載された発明の範囲において、以上に示された各実施形態を自由に組み合わせること、或いは各実施形態を適宜、変形又は一部を省略することによって構成されることも可能である。
【符号の説明】
【００５６】
１      ：画像処理装置
２      ：カメラ
３      ：エンコーダ
５      ：搬送路
１１    ：制御部
１２    ：記憶部
１３    ：カウンタ
１４    ：操作表示部
１１１  ：画像処理部
１１２  ：カウンタ処理部
１１３  ：トリガ生成部
１１４  ：出力処理部
１１５  ：監視処理部
１２１  ：プログラム
１２２  ：カウンタ情報
【図１】
2020160829.tif 000003
【図２】
2020160829.tif 000004
【図３】
2020160829.tif 000005
【図４】
2020160829.tif 000006
【図５】
2020160829.tif 000007
【図６】
2020160829.tif 000008
【図７】
2020160829.tif 000009
【図８】
2020160829.tif 000010