(58)【調査した分野】(Int.Cl.,DB名)
塗布材が線状に塗布された検査対象物を撮影して得られた入力画像内において前記塗布材を表わす塗布領域を抽出し、当該塗布領域を一連の線部分ごとにグルーピングするためのグルーピング部と、
前記線部分の各々の端部を含む前記塗布領域の複数箇所において、前記線部分ごとに、当該線部分の直交方向に対する線幅を算出するための算出部と、
前記塗布材の途切れを検出するための途切れ検出部と、
前記途切れが検出された場合に、前記途切れが生じていることを出力するための出力部とを備え、
前記算出部は、画像内において前記塗布材が写っているべき位置を示す所定の基準経路に直交するように当該基準経路の複数箇所において直線を設定し、
前記途切れ検出部は、前記複数箇所に設定された前記直線の1つに対して複数の前記線幅が前記算出部により算出された場合に、斜め途切れを検出する、画像処理装置。
前記出力部は、前記入力画像を表示するとともに、当該入力画像上において、前記途切れが生じている部分を他の部分よりも強調して表示する、請求項1に記載の画像処理装置。
前記出力部は、前記グルーピング部によって前記塗布領域がグルーピングされた数を前記塗布材の分離数としてさらに表示する、請求項1〜3のいずれか1項に記載の画像処理装置。
塗布材が線状に塗布された検査対象物を撮影して得られた入力画像内において前記塗布材を表わす塗布領域を抽出し、当該塗布領域を一連の線部分ごとにグルーピングするステップと、
前記線部分の各々の端部を含む前記塗布領域の複数箇所において、前記線部分ごとに、当該線部分の直交方向に対する線幅を算出するステップと、
前記塗布材の途切れを検出するステップと、
前記途切れが検出された場合に、前記途切れが生じていることを出力するステップとを備え、
前記算出するステップは、画像内において前記塗布材が写っているべき位置を示す所定の基準経路に直交するように当該基準経路の複数箇所において直線を設定し、
前記塗布材の途切れを検出するステップは、前記複数箇所に設定された前記直線の1つに対して複数の前記線幅が算出された場合に、斜め途切れを検出する、画像処理方法。
【発明を実施するための形態】
【0030】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
【0031】
<A.適用例>
まず、
図1および
図2を参照して、本発明の適用例について説明する。
図1は、本実施の形態に従う画像処理システム1を概略的に示す概念図である。
【0032】
画像処理システム1は、たとえば、検査対象物を撮影するための撮影部8と、撮影部8から得られた画像に対して所定の画像処理を実行するための画像処理装置100とで構成されている。撮影部8は、画像処理装置100とは別個に構成されてもよいし、画像処理装置100と一体に構成されてもよい。
【0033】
画像処理装置100は、主要なコンポーネントとして、画像処理装置100を制御するための制御装置110と、検査結果を出力するための出力部101とを含む。制御装置110は、主要な機能構成として、グルーピング部152と、算出部154と、途切れ検出部156とを含む。
【0034】
撮影部8は、コンベア上を搬送されるワークWを撮影し、ワークWを表わす入力画像を生成する。ワークWは、検査対象物であり、たとえば、製品または半製品である。ワークW上には、塗布材7が塗布されている。塗布材7は、たとえば、シール材などの接着剤である。撮影部8は、生成した入力画像30を制御装置110のグルーピング部152に順次出力する。
【0035】
図2は、画像処理装置100の機能を説明するための図である。
図2には、入力画像30の一部が入力画像35として示されている。
【0036】
グルーピング部152は、入力画像35内において塗布材7を表わす塗布領域64を抽出し、塗布領域64を一連の線部分ごとにグルーピングする。
図2例では、塗布領域64の線部分64Aは、グループG1としてグルーピングされている。同様に、塗布領域64の線部分64Bは、グループG2としてグルーピングされている。同様に、塗布領域64の線部分64Cは、グループG3としてグルーピングされている。グルーピング部152によるグルーピング結果は、算出部154に出力される。一例として、グルーピング結果は、グループG1〜G3のそれぞれを識別するための識別情報と、グループG1〜G3のそれぞれの画像内における座標値などを含む。
【0037】
算出部154は、線部分64A〜64Cの各々の端部を含む塗布領域64の複数箇所において、線部分64A〜64Cごとに、当該線部分の直交方向に対する線幅(太さ)を算出する。ここでいう端部とは、線部分64A〜64Cの先端である必要はなく、線部分64A〜64Cの先端から所定距離(所定ピクセル)内の部分を指す。線幅の算出方法の詳細については後述する。
【0038】
図2の例では、算出部154は、基準直線L1〜L9上において線幅を算出している。より具体的には、線部分64Aについては、算出部154は、基準直線L1〜L5上において線幅W1〜W4,W5Aを算出している。線部分64Bについては、算出部154は、基準直線L5〜L7上において線幅W5B,W6,W7を算出する。線部分64Cについては、算出部154は、基準直線L9上において線幅W9を算出している。算出された線幅線幅W1〜W4,W5A,W5B,W6,W7,W9は、途切れ検出部156に出力される。
【0039】
途切れ検出部156は、線部分64A〜64Cについて算出された線幅W1〜W4,W5A,W5B,W6,W7,W9に基づいて、塗布材の途切れを検出する。詳細については後述するが、途切れ検出部156は、たとえば、基準直線L1〜L9の1つに対して複数の線幅が算出されたことに基づいて、線状の塗布材が塗布材の接線方向に対して斜めに途切れていることを示す斜め途切れを検出することができる。
図2の例では、1つの基準直線L5に対して複数の線幅W5A,W5Bが検出されているので、途切れ検出部156は、基準直線L5上において斜め途切れを検出する。
【0040】
出力部101は、検査結果を出力するためのユニットである。一例として、出力部101は、後述の表示部102(
図3参照)、音声を出力するスピーカー、インジケーター、またはその他の出力機器である。出力部101は、途切れ検出部156によって途切れが検出された場合に、途切れが生じていることを出力する。
図2の例では、途切れが生じている箇所に円38が付されている。
【0041】
グルーピングされた線部分ごとに線幅が算出されることで、画像処理装置100は、塗布材が3つ以上に分離している場合であっても、塗布材の途切れを検出することができる。
【0042】
<B.画像処理システム1の構成>
図3を参照して、画像処理システム1の全体構成について説明する。
図3は、画像処理システム1の全体構成の一例を示す図である。
【0043】
画像処理システム1は、主要なコンポーネントとして、視覚センサとも称される画像処理装置100と、画像処理装置100と通信可能なPLC(Programmable Logic Controller)5と画像処理装置100に接続された撮影部8(画像取得部)とを含む。
【0044】
PLC5は、画像処理装置100と連係して、コンベアなどの搬送機構6などの制御を実行する。撮影部8は、一例として、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった、複数の画素に区画された撮像素子を含んで構成される。撮影部8は、搬送機構6によって搬送されるワークWを順次撮影する。撮影部8による撮影によって取得された入力画像は、画像処理装置100へ伝送される。
【0045】
画像処理装置100は、所定の検査プログラムを実行することで、塗布材が検査対象物に意図した通りに塗布されているか否かを検査する。一例として、画像処理装置100は、塗布材が途切れているか否か、塗布材の塗布幅が適切であるか否か、塗布材が意図した箇所に塗布されているか否かなどを検査する。画像処理装置100による検査結果は、表示部102に表示される。
【0046】
<C.画像処理装置100の構成>
図4を参照して、
図1に示される画像処理装置100のハードウェア構成について説明する。
図4は、画像処理装置100のハードウェア構成の一例を示す模式図である。
【0047】
画像処理装置100は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、
図1で説明した各種の画像処理を実現する。
【0048】
より具体的には、画像処理装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などの制御装置110と、RAM(Random Access Memory)112と、表示コントローラ114と、システムコントローラ116と、I/O(Input Output)コントローラ118と、記憶装置120と、カメラインターフェイス122と、入力インターフェイス124と、PLCインターフェイス126と、通信インターフェイス128と、メモリカードインターフェイス130とを含む。これらの各部は、システムコントローラ116を中心として、互いにデータ通信可能に接続される。
【0049】
制御装置110は、システムコントローラ116との間でプログラム(コード)などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。システムコントローラ116は、制御装置110、RAM112、表示コントローラ114、およびI/Oコントローラ118とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに、画像処理装置100全体の処理を司る。
【0050】
RAM112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性のメモリであり、記憶装置120から読み出されたプログラムや、撮影部8によって取得された入力画像、入力画像に対する処理結果、およびワークデータなどを保持する。
【0051】
表示コントローラ114は、表示部102と接続されており、システムコントローラ116からの内部コマンドに従って、各種の情報を表示するための信号を表示部102へ出力する。表示部102は、一例として、液晶ディスプレイや有機EL(Electro Luminescence)ディスプレイや有機ELなどを含む。表示部102は、
図4に示されるように画像処理装置100と一体的に構成されてもよいし、画像処理装置100とは別個に構成されてもよい。
【0052】
I/Oコントローラ118は、画像処理装置100に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、I/Oコントローラ118は、記憶装置120と、カメラインターフェイス122と、入力インターフェイス124と、PLCインターフェイス126と、通信インターフェイス128と、メモリカードインターフェイス130と接続される。
【0053】
記憶装置120は、典型的には、不揮発性の磁気記憶装置であり、制御装置110で実行される画像処理プログラム20に加えて、各種設定値などが格納される。さらに、記憶装置120には、撮影部8から得られた入力画像が格納される。なお、記憶装置120に代えて、フラッシュメモリなどの半導体記憶装置やDVD−RAM(Digital Versatile Disk Random Access Memory)などの光学記憶装置を採用してもよい。
【0054】
カメラインターフェイス122は、ワークW(検査対象物)を撮影することで生成された画像データを受け付ける入力部に相当し、制御装置110と撮影部8との間のデータ伝送を仲介する。より具体的には、カメラインターフェイス122は、1つ以上の撮影部8と接続が可能であり、制御装置110からカメラインターフェイス122を介して撮影部8に撮影指示が出力される。これにより、撮影部8は、被写体を撮影し、生成された画像をカメラインターフェイス122を介して制御装置110に出力する。
【0055】
入力インターフェイス124は、制御装置110とキーボード104、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。すなわち、入力インターフェイス124は、ユーザが入力装置を操作することで与えられる操作指令を受け付ける。
【0056】
PLCインターフェイス126は、PLC5と制御装置110との間のデータ伝送を仲介する。より具体的には、PLCインターフェイス126は、PLC5によって制御される生産ラインの状態に係る情報やワークWに係る情報などを制御装置110へ伝送する。
【0057】
通信インターフェイス128は、制御装置110と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス128は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。なお、メモリカード106に格納されたプログラムを画像処理装置100にインストールする形態に代えて、通信インターフェイス128を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置100にインストールしてもよい。一例として、通信インターフェイス128は、撮影部8の状態を表わす信号を撮影部8やPLC5などから受信する。当該信号は、撮影部8が撮像中であるか否かを示す。
【0058】
メモリカードインターフェイス130は、制御装置110と記録媒体であるメモリカード106との間のデータ伝送を仲介する。すなわち、メモリカード106には、画像処理装置100で実行される画像処理プログラム20などが格納された状態で流通し、メモリカードインターフェイス130は、このメモリカード106から画像処理プログラム20を読み出す。また、メモリカードインターフェイス130は、制御装置110の内部指令に応答して、撮影部8によって取得されたカメラ画像および/または画像処理装置100における処理結果などをメモリカード106へ書き込む。なお、メモリカード106は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記録媒体や、CD−ROM(Compact Disk Read Only Memory)などの光学記録媒体等からなる。
【0059】
上述のような汎用的なコンピュータアーキテクチャに従う構造を有するコンピュータを利用する場合には、本実施の形態に係る機能を提供するためのアプリケーションに加えて、コンピュータの基本的な機能を提供するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に係る画像処理プログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の順序および/またはタイミングで呼出して処理を実行するものであってもよい。すなわち、本実施の形態に係るプログラム自体は、上記のようなモジュールを含んでおらず、OSと協働して処理が実行される場合もある。したがって、本実施の形態に係る画像処理プログラムとしては、このような一部のモジュールを含まない形態であってもよい。
【0060】
さらに、本実施の形態に係る画像処理プログラムは、他のプログラムの一部に組み込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組み合わせられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係る画像処理プログラムとしては、このような他のプログラムに組み込まれた形態であってもよい。
【0061】
なお、代替的に、画像処理プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
【0062】
<D.検査フロー>
図5〜
図18を参照して、画像処理装置100による検査フローについて説明する。画像処理装置100による検査フローは、大きく分けて、設定工程と、検査工程とに分けられる。設定工程は、検査工程の事前に行われる工程であり、検査工程で実行される各種画像処理のパラメータ設定が行われる。検査工程では、画像処理装置100は、設定工程で設定された各種パラメータに従って、塗布材の塗布品質について検査処理を実行する。
【0063】
設定工程および検査工程は、画像処理装置100の制御装置110がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【0064】
以下では、画像処理装置100によって実行される設定工程および検査工程について順に説明する。
【0065】
[D1.設定工程]
まず、
図5〜
図9を参照して、画像処理装置100の制御装置110によって実行される設定工程について説明する。
図5は、制御装置110によって実行される設定工程を表わすフローチャートを示す図である。
【0066】
ステップS10において、制御装置110は、撮影指示を撮影部8に出力し、塗布材が線状に塗布されたワークを撮影部8に撮影させる。これにより、制御装置110は、塗布材が塗布されたワークを表わす基準画像を取得する。ステップS10で得られる基準画像は、塗布材が正常に塗布されたワークを撮影して得られたものであり、塗布材の塗布品質の模範となる画像である。
【0067】
ステップS12において、制御装置110は、塗布材の色の範囲を指定するための色設定を受け付ける。
図6は、ステップS12において表示される設定画面10の一例を示す図である。
【0068】
図6に示されるように、設定画面10は、各種設定画面を表示するためのタブTBと、を含む。タブTBの「色指定」が選択された場合には、塗布材の色の範囲を指定するための色設定画面10Aが表示される。色設定画面10Aは、色設定領域31と、画像表示領域32Aと、OKボタン46と、キャンセルボタン48とを含む。
【0069】
色設定領域31において、ユーザは、塗布材の色相範囲の設定、塗布材の彩度範囲の設定、および塗布材の明度範囲の設定を入力することができる。以下では、色相範囲、彩度範囲、および明度範囲を総称して「色範囲」とも称する。色設定領域31は、塗布材の色範囲の設定をポインタ指定で受け付けるポインタ指定領域31Aと、塗布材の色範囲の設定を数値入力で受け付ける数値入力領域31Bとを含む。
【0070】
塗布材の色相の範囲設定は、色相の下限値を設定するためのポインタH1と、色相の上限値を設定するためのポインタH2とによって設定される。ポインタH1,H2は、マウス操作やタッチ操作によって紙面の左右方向にスライド可能に構成されている。ポインタH1,H2で指定された範囲が塗布材の色相の範囲として設定される。
【0071】
塗布材の彩度の範囲設定は、彩度の下限値を設定するためのポインタC1と、彩度の上限値を設定するためのポインタC2とによって設定される。ポインタC1,C2は、マウス操作やタッチ操作によって紙面の上下方向にスライド可能に構成されている。ポインタC1,C2で指定された範囲が塗布材の彩度の範囲として設定される。
【0072】
塗布材の明度の範囲設定は、明度の下限値を設定するためのポインタB1と、明度の上限値を設定するためのポインタB2とによって設定される。ポインタB1,B2は、マウス操作やタッチ操作によって紙面の上下方向にスライド可能に構成されている。ポインタB1,B2で指定された範囲が塗布材の明度の範囲として設定される。
【0073】
ユーザは、数値入力領域31Bにおいて、色相の下限値と、色相の上限値と、彩度の下限値と、彩度の上限値と、明度の下限値と、明度の上限値とを数値入力することができる。典型的には、ポインタ指定領域31Aにおけるポインタの位置と、数値入力領域31Bにおける数値とは、互いに連動する。
【0074】
制御装置110は、色設定領域31で指定された色範囲に従って基準画像を二値化する。一例として、制御装置110は、基準画像の各画素が色設定領域31で指定された色範囲に含まれる場合には、当該画素の値を「1」とする。一方で、制御装置110は、基準画像の各画素が色設定領域31で指定された色範囲に含まれない場合には、当該画素の値を「0」とする。これにより、制御装置110は、基準画像から二値化画像を生成する。二値化画像は、画像表示領域32Aに表示される。好ましくは、制御装置110は、色設定領域31に対する設定に合わせて、画像表示領域32Aに表示する二値化画像の表示を連動させる。ユーザは、二値化画像を確認しながら色設定領域31に対する設定を行うことで、塗布材の色範囲の設定を容易に行うことができる。
【0075】
ユーザがOKボタン46を押下すると、制御装置110は、色設定領域31において設定された色範囲の設定を記憶装置120(
図4参照)に記憶する。ユーザがキャンセルボタン48を押下すると、制御装置110は、色設定領域31において設定された色範囲の設定を記憶せずに、色設定画面10Aの表示を閉じる。
【0076】
再び
図5を参照して、ステップS14において、制御装置110は、塗布材が塗布されるべき範囲の開始位置および終了位置の設定を受け付ける。
図7は、ステップS14において表示される設定画面10の一例を示す図である。
【0077】
図7に示されるように、タブTBの「領域設定」が選択された場合には、塗布材が塗布されるべき範囲を指定するための領域設定画面10Bが表示される。領域設定画面10Bは、幅指定領域51と、計測領域登録ボタン52と、開始ライン登録ボタン53と、終了ライン登録ボタン54と、基準経路作成ボタン55と、チェックボックス56と、OKボタン57と、キャンセルボタン58とを含む。
【0078】
画像表示領域32Aには、上記ステップS10で得られた基準画像、または、上記ステップS12で設定された色範囲に基づいて基準画像から得られる二値化画像が表示される。制御装置110は、チェックボックス56に対する操作に応じて基準画像および二値化画像の表示を順次切り替える。より具体的には、チェックボックス56にチェックが入れられていない場合には、制御装置110は、画像表示領域32Aに基準画像を表示する。チェックボックス56にチェックが入れられている場合には、制御装置110は、画像表示領域32Aに二値化画像を表示する。
【0079】
幅指定領域51において、ユーザは、塗布材が塗布される経路の許容幅をピクセル単位で設定することができる。後述の検査処理において塗布材が当該許容幅をはみ出た場合には、検査結果として「NG」となる。
【0080】
計測領域登録ボタン52は、検査を行うべき画像領域の登録を受け付ける。より具体的には、ユーザは、画像表示領域32Aにおいて表示される画像に対して領域指定を行う。一例として、当該領域指定は、マウス操作やタッチ操作などによって実現される。領域指定後においてユーザが計測領域登録ボタン52を押下することで、制御装置110は、指定された検査対象領域を記憶装置120(
図4参照)に記憶する。これにより、検査を行うべき画像領域と、検査を行わない画像領域とが区別される。
【0081】
開始ライン登録ボタン53は、塗布材が塗布されるべき範囲の開始位置の登録を受け付ける。より具体的には、ユーザは、画像表示領域32Aにおいて表示される画像に対して塗布領域36Aの開始位置を指定することができる。
図7の例では、当該開始位置として開始ラインSTが設定されている。開始ラインSTの設定は、たとえば、マウス操作やタッチ操作などで実現される。開始ラインSTは、塗布領域36Aを横切るように設定される。開始ラインSTの設定後においてユーザが開始ライン登録ボタン53を押下することで、制御装置110は、画像内における開始ラインSTの位置(座標値)を記憶装置120(
図4参照)に記憶する。
【0082】
終了ライン登録ボタン54は、塗布材が塗布されるべき範囲の終了位置の登録を受け付ける。より具体的には、ユーザは、画像表示領域32Aにおいて表示される画像に対して塗布領域36Aの終了位置を指定することができる。
図7の例では、当該終了位置として終了ラインEDが設定されている。終了ラインEDの設定は、たとえば、マウス操作やタッチ操作などで実現される。終了ラインEDは、塗布領域36Aを横切るように設定される。終了ラインEDの設定後においてユーザが終了ライン登録ボタン54を押下することで、制御装置110は、画像内における終了ラインEDの位置(座標値)を記憶装置120(
図4参照)に記憶する。
【0083】
基準経路作成ボタン55は、塗布材が塗布されるべき範囲を自動で演算する処理を実行するためのボタンである。制御装置110は、基準経路作成ボタン55の押下を受け付けたことに基づいて、
図5に示されるステップS16の処理を実行する。
【0084】
より具体的には、ステップS16において、制御装置110は、上記ステップS12で設定された色範囲に基づいて基準画像から得られる二値化画像に対して微分フィルタを適用し、エッジ部分(勾配)を表わす微分画像を生成する。一例として、当該微分画像では、エッジ部分の画素値は「1」で表され、非エッジ部分の画素値は「0」で表される。制御装置110は、開始ラインST上において画素値が「1」である2つのエッジ点(すなわち、開始点SP1,SP2)を検出するとともに、終了ラインED上において画素値が「1」である2つのエッジ点(終了点EP1,EP2)を検出する。制御装置110は、微分画像上において、開始点SP1に隣接する画素について反時計周りにエッジ点を探索する。制御装置110は、エッジ点を探索できた場合には、当該エッジ点の座標値を記憶するとともに当該エッジ点を注目画素として設定する。その後、制御装置110は、微分画像上において、当該注目画素に隣接する画素について反時計回りにエッジ点を探索する。このよう処理を繰り返すことで、制御装置110は、開始点SP1から終了点EP1までのエッジ点の座標値群を輪郭38Aとして検出する。同様に、制御装置110は、開始点SP2から終了点EP2までのエッジ点の座標値群を輪郭38Bとして検出する。
【0085】
図8は、基準経路作成ボタン55の押下後に表示される設定画面10の一例を示す図である。
図8に示されるように、制御装置110は、輪郭38A,38Bに基づいて、塗布材の塗布位置として許容される塗布許容範囲39A,39Bを特定する。典型的には、制御装置110は、輪郭38A,38Bによって囲まれる範囲を、幅指定領域51に設定された幅の分だけ外側に拡張し、当該拡張後の範囲を塗布許容範囲39A,39Bとして特定する。
【0086】
また、制御装置110は、輪郭38A,38Bの中心線を塗布材が塗布されるべき位置を示す基準経路40として特定する。より具体的には、制御装置110は、輪郭38A上の各点について輪郭38B上の対応点を特定する。一例として、制御装置110は、輪郭38A上の各点から最短となる輪郭38B上の点を対応点として特定する。制御装置110は、輪郭38A,38B上の対応点間の中間点を繋げた線を基準経路40として特定する。
【0087】
制御装置110は、OKボタン57の押下を検出すると、
図5に示されるステップS18の処理を実行する。より具体的には、ステップS18において、制御装置110は、ステップS16で特定された塗布許容範囲39A,39Bと基準経路40とを記憶装置120(
図4参照)に記憶する。制御装置110は、キャンセルボタン58の押下を検出すると、塗布許容範囲39A,39Bと基準経路40とを記憶せずに領域設定画面10Bの表示を閉じる。
【0088】
[D2.検査工程]
次に、
図9〜
図18を参照して、画像処理装置100の制御装置110によって実行されるによる検査工程について説明する。
図9は、制御装置110によって実行される検査工程を表わすフローチャートを示す図である。制御装置110は、上述の設定工程で設定された各種パラメータに従って塗布材の塗布品質について検査を行う。
【0089】
より具体的には、ステップS50において、制御装置110は、撮影指示を撮影部8に出力し、塗布材が線状に塗布されたワークを撮影部8に撮影させる。これにより、制御装置110は、塗布材が塗布されたワークを表わす入力画像を取得する。
図10は、撮影部8から得られた入力画像62を示す図である。
図10の例では、入力画像62は、ワークを表わすワーク領域63と、塗布材を表わす塗布領域64とを含む。塗布領域64は、線部分64A〜64Cに分離している。
【0090】
再び
図9を参照して、ステップS52において、制御装置110は、入力画像62から塗布領域64を抽出する。より具体的には、制御装置110は、上述の設定工程で設定された塗布材の色範囲に従って入力画像を二値化する。一例として、制御装置110は、入力画像の各画素が設定された色範囲に含まれる場合には、当該画素の値を「1」とする。一方で、制御装置110は、入力画像の各画素が設定された色範囲に含まれない場合には、当該画素の値を「0」とする。すなわち、画素値が「1」である画素が塗布材を表わす塗布領域として抽出される。
図11は、入力画像62から得られた二値化画像65を示す図である。
図11に示されるように、二値化画像65において、塗布領域64のみが抽出されている。
【0091】
再び
図9を参照して、ステップS54において、制御装置110は、上述のグルーピング部152(
図1参照)として、塗布領域64を一連の線部分ごとにグルーピングする。一例として、制御装置110は、二値化画像65に対して微分フィルタを適用し、エッジ部分(勾配)を表わす微分画像を生成する。当該微分画像においては、エッジ部分の画素値は「1」で表され、非エッジ部分の画素値は「0」で表される。その後、制御装置110は、微分画像をラスタスキャンし、画素値が「1」である画素を探索する。制御装置110は、画素値が「1」である画素を探索できた場合には、当該画素を開始点として設定する。制御装置110は、当該開始点について反時計周りにエッジ点を探索する。制御装置110は、エッジ点を探索できた場合には、当該エッジ点の座標値を記憶するとともに当該エッジ点を注目画素として設定する。その後、制御装置110は、微分画像上において、当該注目画素に隣接する画素について反時計回りにエッジ点を探索する。制御装置110は、このような輪郭追跡処理を注目点が開始点に戻るまで実行する。制御装置110は、輪郭追跡の過程で記憶された座標値群を輪郭として検出し、当該輪郭で囲まれる領域を1つのグループとして特定する。
【0092】
このとき、好ましくは、制御装置110は、各グループの面積が第1閾値よりも小さい場合には、当該グループをノイズとしてみなす。また、制御装置110は、各グループの面積が第2閾値(>第1閾値)よりも大きい場合には、当該グループをノイズとしてみなす。すなわち、制御装置110は、各グループの面積が第1閾値以上であり、第2閾値以下である場合には、当該グループを線部分としてみなす。
【0093】
図12は、二値化画像65に対するグルーピング結果の一例を示す図である。
図12の例では、塗布領域64の線部分64AがグループG1としてグルーピングされており、塗布領域64の線部分64BがグループG2としてグルーピングされており、塗布領域64の線部分64CがグループG3としてグルーピングされている。
【0094】
再び
図9を参照して、ステップS56において、制御装置110は、上述の算出部154(
図1参照)として、上述の設定工程で設定された基準経路40(
図8参照)上の複数箇所において基準経路40の接線方向に直交するように基準直線を設定する。
図13は、塗布領域64に対して設定された基準直線の一例を示す図である。
図13の例では、基準直線L1〜L9が設定されている。
【0095】
再び
図9を参照して、ステップS58において、制御装置110は、上述の算出部154(
図1参照)として、線部分64A〜64Cごとに、基準直線L1〜L9上の各々に存在する2つのエッジ点を検出するとともに、当該2つのエッジ点間の距離を線幅として算出する。より具体的には、制御装置110は、二値化画像65に対して微分フィルタを適用し、エッジ部分(勾配)を表わす微分画像を生成する。一例として、当該微分画像においては、エッジ部分の画素値は「1」で表され、非エッジ部分の画素値は「0」で表される。制御装置110は、微分画像上の基準直線L1〜L9を走査し、画素値が「1」である少なくとも2つのエッジ点を探索する。制御装置110は、当該2つのエッジ点の間における距離を線幅として算出する。典型的には、制御装置110は、エッジ点が3つ以上存在する場合には、最も外側に存在する2つのエッジ点の間における距離を線幅として算出する。
【0096】
線幅の算出処理は、グルーピングされた線部分ごとに行われる。
図14は、線部分64Aに対する線幅の算出処理を説明するための図である。
図14には、線部分64Aを表わす二値化画像65Aが示されている。ステップS58Aにおいて、制御装置110は、線部分64Aと基準直線L1〜L7との重複箇所において線幅を算出する。
図14の例では、制御装置110は、基準直線L1上においてエッジ点E1A,E1Bを検出し、エッジ点E1A,E1B間の距離を線幅W1として算出する。同様に、基準直線L2については線幅W2が算出される。基準直線L3については線幅W3が算出される。基準直線L4については線幅W4が算出される。基準直線L5については線幅W5が算出される。基準直線L6については線幅W6が算出される。基準直線L7については線幅W7Aが算出される。
【0097】
図15は、線部分64Bに対する線幅の算出処理を説明するための図である。
図15には、線部分64Bを表わす二値化画像65Bが示されている。ステップS58Bにおいて、制御装置110は、線部分64Bと基準直線L7,L8との重複箇所において線幅を算出する。
図15の例では、基準直線L7については線幅W7Bが算出される。基準直線L8については線幅W8が算出される。
【0098】
図16は、線部分64Cに対する線幅の算出処理を説明するための図である。
図16には、線部分64Cを表わす二値化画像65Cが示されている。ステップS58Cにおいて、制御装置110は、線部分64Cと基準直線L9との重複箇所において線幅を算出する。
図16の例では、基準直線L9については線幅W9が算出される。
【0099】
再び
図9を参照して、ステップS60において、制御装置110は、上述の途切れ検出部156(
図1参照)として、基準直線L1〜L9上において算出された線幅と、ステップS54でのグルーピング結果とに基づいて、塗布材に途切れが生じているか否かを判定する。
図17は、途切れの検出処理を説明するための図である。
図17に示されるように、制御装置110は、ステップS54でのグルーピング数が複数である場合に、塗布材の途切れを検出するとともに、基準直線L1〜L9の1つに対して複数の線幅が算出された場合に、斜め途切れを検出する。
図17の例では、1つの基準直線L7に対して複数の線幅W7A,W7Bが検出されているので、制御装置110は、基準直線L7上において斜め途切れが生じていると判定する。また、ステップS54で塗布材が3つのグループにグルーピングされているので、制御装置110は、塗布材が3つに分離していると判断する。
【0100】
なお、斜め途切れの検出方法は、上述の方法に限定されずに、任意の方法が採用される。一例として、制御装置110は、線部分64A〜64Cの端部において算出された線幅が所定値以下である場合に斜め途切れを検出する。
図17の例では、線幅W7A,W7Bが所定値以下である場合に、制御装置110は、基準直線L7上において斜め途切れが生じていると判定する。
【0101】
再び
図9を参照して、ステップS62において、制御装置110は、上述の設定工程で設定された塗布許容範囲39A,39B(
図8参照)に基づいて、塗布材の塗布位置にずれが生じているか否かを判定する。より具体的には、制御装置110は、上述の設定工程で設定された開始ラインSTから輪郭追跡処理を実行し、塗布領域64の輪郭を検出する。輪郭追跡処理については
図7で説明した通りであるので、その説明については繰り返さない。制御装置110は、塗布領域64の輪郭の全てが塗布許容範囲39A,39Bに含まれている場合には、塗布材の塗布位置にずれが生じていないと判定する。一方で、制御装置110は、塗布領域64の輪郭の一部が塗布許容範囲39A,39Bに含まれてない場合には、塗布材の塗布位置にずれが生じていると判定する。
【0102】
ステップS64において、制御装置110は、塗布材の線幅が許容範囲内か否かを判定する。より具体的には、制御装置110は、基準直線L1〜L9(
図13参照)上において算出された線幅が予め設定された下限値を下回っている場合、または、基準直線L1〜L9上において算出された線幅が予め設定された上限値を上回っている場合に、塗布材の線幅に欠陥があると判定する。そうでない場合には、制御装置110は、塗布材の線幅に欠陥がないと判定する。
【0103】
ステップS70において、制御装置110は、表示部102に検査結果を表示させる。
図18は、塗布材の塗布品質に欠陥があると判定された場合における検査結果の表示例を示す図である。
【0104】
図18には、検査結果画面70が示さている。検査結果画面70は、入力画像62と、検査結果の概要表示領域72と、検査結果の詳細表示領域74とを含む。
【0105】
制御装置110は、入力画像62上において塗布材の欠陥箇所を表示する。一例として、制御装置110は、入力画像62上において、斜め途切れが生じている部分を他の部分よりも強調して表示する。これにより、ユーザは、斜め途切れが生じている部分を一見して把握することができる。
【0106】
斜め途切れが生じている箇所を強調表示する方法は、任意である。ある局面において、表示部102は、斜め途切れに沿って直線を表示することで、斜め途切れが生じている部分を強調表示する。
図18の例では、斜め途切れが生じている部分に直線71Aが表示されている。これにより、ユーザは、斜め途切れが生じている方向を容易に把握することができる。他の局面において、表示部102は、斜め途切れが生じている部分を他の部分とは異なる色で表示する。
【0107】
また、表示部102は、塗布材が直交方向に途切れている部分を他の部分よりも強調して表示する。
図18の例では、塗布材が直交方向に途切れている部分に直線71Bが表示されている。
【0108】
また、表示部102は、塗布材の線幅が最小となっている部分を他の部分よりも強調して表示する。
図18の例では、線幅が最小となっている部分にマーク71Cが表示されている。これにより、ユーザは、線幅が最小となっている部分を容易に把握することができる。
【0109】
また、表示部102は、塗布材の線幅が最大となっている部分を他の部分よりも強調して表示する。
図18の例では、線幅が最大となっている部分にマーク71Dが表示されている。これにより、ユーザは、線幅が最大となっている部分を容易に把握することができる。
【0110】
概要表示領域72には、検査結果の概要が表示される。一例として、概要表示領域72には、検査結果の良否が表示される。塗布材の塗布品質が良好である場合には、概要表示領域72において「OK」が表示さる。一方で、塗布材の塗布品質に欠陥がある場合には、概要表示領域72において「NG」が表示される。概要表示領域72に表示される検査結果の良否は、詳細表示領域74に表示される検査結果の良否よりも大きく表示される。ユーザは、概要表示領域72に表示される検査結果を確認することで、ワークWの不良品を見逃しにくくなる。
【0111】
詳細表示領域74には、検査結果の詳細が表示される。一例として、詳細表示領域74には、検査結果の良否と、検査対象物の状態と、塗布材の最小塗布幅と、塗布材の最大塗布幅と、塗布材の平均塗布幅と、塗布材の分離数と、塗布材の途切れ幅とが表示される。
【0112】
より具体的には、制御装置110は、基準直線L1〜L9(
図13参照)上において算出された線幅の内から最小塗布幅を特定し、当該最小塗布幅を詳細表示領域74に表示する。また、制御装置110は、基準直線L1〜L9上において算出された線幅の内から最大塗布幅を特定し、当該最大塗布幅を詳細表示領域74に表示する。また、制御装置110は、基準直線L1〜L9上において算出された線幅の平均塗布幅を算出し、当該平均塗布幅を詳細表示領域74に表示する。また、制御装置110は、上述のグルーピング部152によって塗布領域64がグルーピングされたグループ数を塗布材の分離数として詳細表示領域74に表示する。また、制御装置110は、互いに隣接する線部分の間隔を途切れ幅として算出し、当該途切れ幅を詳細表示領域74に表示する。
【0113】
<E.まとめ>
以上のようにして、画像処理装置100は、塗布領域64を一連の線部分ごとにグルーピングし、塗布領域64の複数箇所において、グルーピングされた線部分ごとに、当該線部分の直交方向に対する線幅を算出する。その後、画像処理装置100は、各線部分について算出された線幅に基づいて、塗布領域64の斜め途切れを検出する。グルーピングされた一連の線部分ごとに線幅が算出されることで、画像処理装置100は、塗布材が3つ以上に分離している場合であっても、途切れを検出することができる。
【0114】
<F.付記>
以上のように、本実施形態は以下のような開示を含む。
【0115】
[構成1]
塗布材が線状に塗布された検査対象物を撮影して得られた入力画像(30)内において前記塗布材を表わす塗布領域を抽出し、当該塗布領域を一連の線部分ごとにグルーピングするためのグルーピング部(152)と、
前記線部分の各々の端部を含む前記塗布領域の複数箇所において、前記線部分ごとに、当該線部分の直交方向に対する線幅を算出するための算出部(154)と、
前記複数箇所において算出された前記線幅に基づいて、前記塗布材の途切れを検出するための途切れ検出部(156)と、
前記途切れが検出された場合に、前記途切れが生じていることを出力するための出力部(101)とを備える、画像処理装置。
【0116】
[構成2]
前記出力部(101)は、前記入力画像(30)を表示するとともに、当該入力画像(30)上において、前記途切れが生じている部分を他の部分よりも強調して表示する、構成1に記載の画像処理装置。
【0117】
[構成3]
前記強調して表示することは、前記途切れに沿って直線を表示することを含む、構成2に記載の画像処理装置。
【0118】
[構成4]
前記出力部(101)は、前記グルーピング部(152)によって前記塗布領域がグルーピングされた数を前記塗布材の分離数としてさらに表示する、構成1〜3のいずれか1項に記載の画像処理装置。
【0119】
[構成5]
前記算出部(154)は、
画像内において前記塗布材が写っているべき位置を示す所定の基準経路に直交するように当該基準経路の複数箇所において直線を設定し、
前記線部分ごとに、前記設定された直線上の各々に存在する2つのエッジ点を検出するとともに、当該2つのエッジ点間の距離を前記線幅として算出する、構成1〜4のいずれか1項に記載の画像処理装置。
【0120】
[構成6]
前記途切れ検出部(156)は、前記複数箇所に設定された前記直線の1つに対して複数の前記線幅が算出された場合に、前記途切れを検出する、構成5に記載の画像処理装置。
【0121】
[構成7]
塗布材が線状に塗布された検査対象物を撮影して得られた入力画像(30)内において前記塗布材を表わす塗布領域を抽出し、当該塗布領域を一連の線部分ごとにグルーピングするステップ(S54)と、
前記線部分の各々の端部を含む前記塗布領域の複数箇所において、前記線部分ごとに、当該線部分の直交方向に対する線幅を算出するステップ(S58)と、
前記複数箇所において算出された前記線幅に基づいて、前記塗布材の途切れを検出するステップ(S60)と、
前記途切れが検出された場合に、前記途切れが生じていることを出力するステップ(S70)とを備える、画像処理方法。
【0122】
[構成8]
コンピュータに実行される画像処理プログラムであって、
前記画像処理プログラムは、前記コンピュータに、
塗布材が線状に塗布された検査対象物を撮影して得られた入力画像(30)内において前記塗布材を表わす塗布領域を抽出し、当該塗布領域を一連の線部分ごとにグルーピングするステップ(S54)と、
前記線部分の各々の端部を含む前記塗布領域の複数箇所において、前記線部分ごとに、当該線部分の直交方向に対する線幅を算出するステップ(S58)と、
前記複数箇所において算出された前記線幅に基づいて、前記塗布材の途切れを検出するステップ(S60)と、
前記途切れが検出された場合に、前記途切れが生じていることを出力するステップ(S70)とを実行させる、画像処理プログラム。
【0123】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。