(57)【特許請求の範囲】
【請求項１】
画像表示用の表示手段と、各種操作入力用の入力手段と、予め分類された複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みの項目毎に、複数種類の画像処理サブルーチン候補を含む画像処理サブルーチン候補セットを記憶する記憶手段とを利用して、画像処理プログラム作成機能が画像処理装置の画像処理プログラムを作成する方法であって、画像処理対象の撮像で得た対象画像を前記表示手段に表示するステップと、前記複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みから、前記入力手段を通じた操作入力で選択された項目に応じて、対応する画像処理サブルーチン候補セットを前記記憶手段から選択するステップと、この選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補の各々を、前記入力手段を通じた操作入力で指定された指定領域内の、前記対象画像の全部または一部の画像に対して実行するステップと、前記選択された複数種類の画像処理サブルーチン候補の各実行結果を基に、前記選択された画像処理サブルーチン候補セットから選択された画像処理サブルーチン候補を、前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理装置の画像処理プログラムに組み込むステップとを有し、
前記選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補に、共通する処理部分がある場合、それら複数種類の画像処理サブルーチン候補は、前記共通する処理部分を兼用し、
前記共通する処理部分により処理された処理結果は一時的に記憶されるとともに、各画像処理サーブルーチン候補の処理時に、該処理結果がコピーされて使用されることを特徴とする画像処理プログラム作成方法。
【請求項２】
前記指定領域内の画像に対して、前記選択された複数種類の画像処理サブルーチン候補の各々を実行した後、これら画像処理サブルーチン候補の各実行結果を前記表示手段に表示するステップをさらに有し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、前記表示手段に表示された各実行結果を基に、前記選択された画像処理サブルーチン候補セットから、前記入力手段を通じた操作入力で選択された画像処理サブルーチン候補を、前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理プログラムに組み込むことを特徴とする請求項１記載の画像処理プログラム作成方法。
【請求項３】
前記指定領域内の画像に対して、前記選択された複数種類の画像処理サブルーチン候補の各々を実行した後、これら画像処理サブルーチン候補の実行結果から、それぞれ、所定基準から乖離する度合いを示す乖離度を算出するステップをさらに有し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、前記算出された複数の乖離度を基に、前記選択された画像処理サブルーチン候補セットから自動的に画像処理サブルーチン候補を選択し、これを前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理プログラムに組み込むことを特徴とする請求項１記載の画像処理プログラム作成方法。
【請求項４】
前記対象画像は、良品および不良品の複数の画像処理対象からそれぞれ複数得られ、前記対象画像を前記表示手段に表示するステップでは、前記複数の対象画像の少なくとも１つを前記表示手段に表示し、前記選択された複数種類の画像処理サブルーチン候補の各々を実行するステップでは、これら画像処理サブルーチン候補の各々を、前記複数の対象画像の各指定領域内の画像に対して実行し、前記乖離度を算出するステップでは、前記各対象画像に対する前記複数種類の画像処理サブルーチン候補の実行結果から、それぞれの画像処理サブルーチン候補に対する乖離度を統計的に算出し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、前記統計的に算出された各乖離度を基に、前記選択された画像処理サブルーチン候補セットから自動的に画像処理サブルーチン候補を選択し、これを前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理プログラムに組み込むことを特徴とする請求項３記載の画像処理プログラム作成方法。
【請求項５】
前記画像処理サブルーチン候補セットには、それぞれに互いに異なるパラメータの値が割り当てられた複数の同一フローの画像処理サブルーチン候補が含まれることを特徴とする請求項１〜４のいずれかに記載の画像処理プログラム作成方法。
【請求項６】
前記入力手段を通じて操作入力された画像処理対象項目および検査目的項目の少なくとも一方の項目と、前記記憶手段に記憶されている全種類の画像処理サブルーチン候補から前記入力手段を通じた操作入力で選択された複数種類の画像処理サブルーチン候補とに応じて、これら画像処理サブルーチン候補を前記操作入力された項目に対応させて前記記憶手段に記憶することを特徴とする請求項１〜４のいずれかに記載の画像処理プログラム作成方法。
【請求項７】
前記指定領域内の画像に対して、前記選択された複数種類の画像処理サブルーチン候補の各々を実行するステップでは、その複数種類の画像処理サブルーチン候補の各々に含まれるパラメータのうち、前記入力手段を通じた操作入力で選択されたパラメータとこのパラメータに対して指定された可変条件とに応じて、前記選択された複数種類の画像処理サブルーチン候補の各々を、これに含まれる前記選択されたパラメータを前記指定された可変条件で可変しながら、前記指定領域内の画像に対して実行し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、その画像処理サブルーチン内の前記選択されたパラメータの値を、前記各実行結果から得られるそのパラメータの適正範囲の中心値に設定することを特徴とする請求項１〜４のいずれかに記載の画像処理プログラム作成方法。
【請求項８】
前記選択された複数種類の画像処理サブルーチン候補の各実行結果を前記表示手段に表示するステップでは、これらの各実行結果とともに、前記対象画像または各実行結果を出した画像処理サブルーチン候補による前記対象画像に対する画像処理済みの画像を前記表示手段に表示することを特徴とする請求項２記載の画像処理プログラム作成方法。
【請求項９】
前記画像処理サブルーチンが組み込まれて作成された前記画像処理プログラムに、共通する処理部分がある場合、これらの処理部分を一の処理部分として統合するステップをさらに有することを特徴とする請求項１〜４のいずれかに記載の画像処理プログラム作成方法。
【請求項１０】
前記画像処理サブルーチンが組み込まれて作成された前記画像処理プログラムのフローチャートを前記表示手段に表示するステップをさらに有することを特徴とする請求項１〜４のいずれかに記載の画像処理プログラム作成方法。
【請求項１１】
前記画像処理プログラムのフローチャートを前記表示手段に表示するステップでは、そのフローチャート内の前記画像処理サブルーチンのシンボルと関連付けられた位置に、その画像処理サブルーチンによる前記対象画像に対する画像処理済みの画像を表示することを特徴とする請求項１０記載の画像処理プログラム作成方法。
【請求項１２】
前記画像処理プログラムのフローチャートを前記表示手段に表示するステップでは、そのフローチャート内の前記画像処理サブルーチンのシンボルに対する前記入力手段を通じた操作入力に応じて、対応する画像処理サブルーチンによる各画像処理過程の画像を順次切替表示することを特徴とする請求項１０記載の画像処理プログラム作成方法。
【請求項１３】
前記画像処理プログラムのフローチャートを前記表示手段に表示するステップでは、まず、画像処理プログラムのフローチャートを前記表示手段に表示し、続いてこの表示手段に表示したフローチャートに対して、前記入力手段を通じた操作入力で指定された位置に、前記選択された画像処理サブルーチン候補を画像処理サブルーチンとして組み込んで、これが組み込まれて作成された画像処理プログラムのフローチャートを前記表示手段に表示することを特徴とする請求項１０記載の画像処理プログラム作成方法。
【請求項１４】
前記対象画像を前記表示手段に表示するステップでは、まず、前記画像処理装置の画像処理プログラムのフローチャートを、画像処理サブルーチン用のシンボルとともに前記表示手段に表示し、続いて、前記入力手段を通じた操作入力による前記フローチャート上の前記シンボルの選択に応じて、前記対象画像を前記表示手段に表示し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、前記選択された画像処理サブルーチン候補を、画像処理サブルーチンとして前記画像処理プログラム内の前記選択されたシンボルに対応する位置に組み込むことを特徴とする請求項１〜４のいずれかに記載の画像処理プログラム作成方法。
【請求項１５】
前記画像処理サブルーチンを前記画像処理プログラムに組み込んだ後、前記対象画像とともに前記指定領域を前記表示手段に表示するステップと、この表示手段に表示された指定領域を別の指定領域にコピーアンドペーストする前記入力手段を通じた操作入力に応じて、前記別の指定領域内の画像に対する画像処理サブルーチンとして、前記選択された画像処理サブルーチン候補を割り当てて前記画像処理プログラムを修正するステップとをさらに有することを特徴とする請求項１〜４のいずれかに記載の画像処理プログラム作成方法。
【請求項１６】
画像表示用の表示手段と、各種操作入力用の入力手段と、予め分類された複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みの項目毎に、複数種類の画像処理サブルーチン候補を含む画像処理サブルーチン候補セットを記憶する記憶手段とを利用して、画像処理装置の画像処理プログラムを作成する画像処理プログラム作成機能とにより構成される画像処理プログラム作成システムであって、前記画像処理プログラム作成機能は、画像処理対象の撮像で得た対象画像を前記表示手段に表示し、前記複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みから、前記入力手段を通じた操作入力で選択された項目に応じて、対応する画像処理サブルーチン候補セットを前記記憶手段から選択し、この選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補の各々を、前記入力手段を通じた操作入力で指定された指定領域内の、前記対象画像の全部または一部の画像に対して実行し、前記選択された複数種類の画像処理サブルーチン候補の各実行結果を基に、前記選択された画像処理サブルーチン候補セットから選択された画像処理サブルーチン候補を、前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理装置の画像処理プログラムに組み込む各処理を実行し、
前記選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補に、共通する処理部分がある場合、それら複数種類の画像処理サブルーチン候補は、前記共通する処理部分を兼用し、
前記共通する処理部分により処理された処理結果は一時的に記憶されるとともに、各画像処理サーブルーチン候補の処理時に、該処理結果がコピーされて使用されることを特徴とする画像処理プログラム作成システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置の画像処理プログラムを作成するための画像処理プログラム作成方法およびそのシステムに関するものである。
【０００２】
【従来の技術】
この種の従来技術として、特開平７−１６０８４３号公報には、所定の画像処理を実行する画像処理サブルーチンを複数記憶した記憶手段と、記憶手段に記憶された画像処理サブルーチンをメニュー表示する表示手段と、操作者の指示により、メニュー表示から所望のサブルーチンを選択する選択手段と、選択手段によって選択されたサブルーチンを呼び出して、この呼び出したサブルーチンの実行を含む画像認識プログラムを構築する構築手段とを含む画像認識プログラム構築装置が開示されている。この装置では、操作者が所望の画像処理サブルーチンを選択すると、その画像処理をした結果がモニタ上に表示される。操作者は、その画像処理の結果に満足すれば、画像処理サブルーチンを画像認識プログラムに登録し、結果に満足しない場合は、再び、選択を繰り返すことになる。登録は、テーブルに画像処理サブルーチンを書き込むことにより行われる。登録されている画像処理サブルーチンを画像処理ライブラリから呼び出すことにより、所望の画像処理を実行する画像認識プログラムが実現される。この画像認識プログラム構築装置では、アルゴリズムに関する知識のあるユーザが、画像処理の知識からメニューを辿り、選択した画像処理サブルーチンの結果を見てこれを取捨する。また、画像処理の知識のあるユーザがメニューで選択した一の結果の表示を見て画像処理サブルーチンを登録するかどうかを決定する。
【０００３】
特開２０００−５６９５８公報には、画像データに対してそれぞれ各種処理を行う入出力の各引数を持つ複数のソフトウエア部品を備え、少なくとも入力引数と出力引数とを対応させて複数のソフトウエア部品を結合させて所望の画像処理機能を実現する画像処理ソフトウエアの自動生成方法が開示されている。この方法は、ソフトウエア部品の入出力関係で、ソフトウエア部品同士の結合候補を探し、画像処理ソフトウエアを自動的に生成する。
【０００４】
特開昭６３−１９１２７８号公報には、外部記憶装置にアルゴリズムの操作仕様とアルゴリズムの使用に関する画像処理専門家のノウハウを格納し、画像処理アルゴリズム実行時のユーザへの入力要求に関してユーザへの入力選択の判断基準の説明もしくは入力の選択範囲限定もしくは入力自動選択を行う画像処理アルゴリズム実行時のユーザ支援方式が開示されている。この方式は、ユーザが副機能選択やパラメータ値設定のために入力を要求される場合に入力を決定することを支援する。
【０００５】
特願２０００−１９３４０８の外観検査プログラム作成装置は、画像処理アルゴリズム記憶部に記憶されている画像処理アルゴリズムと、検査対象種別標準検査フロー記憶部に記憶されている検査パラメータとを組み合わせて、外観検査プログラムを作成する。
【０００６】
特開平９−２８８５６８号公報には、入力された画像を格納する画像記憶手段と、画像に施す一連の処理を処理単位として複数種類の処理単位を格納した処理単位記憶手段と、処理単位記憶手段に格納された処理単位を選択して用いるための手順を記述した実行フローを格納する実行フロー記憶手段と、実行フロー記憶手段に格納された実行フローに従って処理単位記憶手段に格納された各処理単位を組み合わせて用いることにより画像記憶手段に格納された画像から対象物に関する特定の性状を検出する処理手段と、処理手段による処理結果を出力する出力手段とを備える画像処理装置が開示されている。この装置は、画像を施す一連の処理を処理単位として複数種類の処理単位を、手順を記述した実行フローによって動作させる。また、画像処理装置の実行フロー作成方法が記載され、未定義の変数名があるときの処理でフローチャートの作成を禁止する方法が提案されている。
【０００７】
ところで、画像処理装置は、外観検査、寸法測定検査、位置測定検査、傷クラック検査、文字検査など、画像処理対象の検査に適合するように設定されて使用される。その設定方法は、メニューを通して、画像処理装置内に予め内蔵された各機能を取捨選択するとともにパラメータを設定することによって画像処理の設定を行う第１の方法と、画像処理装置上で画像処理の基本機能としてのプログラムを動かし選別することによって画像処理の設定を行う第２の方法とに大別される。
【０００８】
画像処理装置の検査能力の向上によって、多種多様な対象物を扱うようになってきている昨今においては、画像処理装置の使用態様を予測する必要のある第１の方法よりも、上記プログラムをライブラリ化してユーザに提供し、ユーザの様々な目的に合った画像処理装置に設定することができる第２の方法によって設定が行われる場合が増えてきている。
【０００９】
この第２の方法（プログラム方式）では、画像処理装置のハードウエア性能および画像処理のアルゴリズムなど、ユーザにとって作成困難なものがライブラリになっていることが多い。そして、ライブラリは、例えばＣ言語ライブラリとしてＣ言語でまたは画像処理装置専用ライブラリとして専用言語で提供される。
【００１０】
【発明が解決しようとする課題】
しかしながら、上記第２の方法の場合、ユーザにとっては、ライブラリを使いこなすための前提条件として、当然にその使い方を習得する必要があることに加えて、そのプログラム言語でのプログラムの設計および作成の技能習得が必要となり、相当数の工数（訓練）を消化しなければならないといった問題がある。
【００１１】
このため、画像処理（条件）の設定を自動化して、上記工数を削減する方法が提案されている（プログラミングの自動化）。例えば自動ティーチングがあり、これは、検査対象（物体）を画像処理装置の視野に捉え、ボタン押下等の動作によって、その画像のデータ的特徴を抽出し、それを所定の判断アルゴリズムに通して所定の判断を行い、この判断により画像処理のパラメータを設定する（例えば特開２０００−１３４４６７参照）。
【００１２】
しかしながら、この方法は、どの画像処理で検査をするか予め決まっている単機能な画像処理センサなどに適用されており、どの画像処理で検査をするか定まらない汎用の画像処理装置には適さない。この理由は、汎用の画像処理装置の場合、画像処理対象の画像が例えば日の丸のような白地に赤丸の画像であったとすると、その画像からは、赤丸の面積を求めることもでき、あるいは赤丸の重心位置を求めることもできるなか、人の判断によらずに判断アルゴリズムのみで、それらのどちらを求めるべきであるかの判断を下すことができないからである。
【００１３】
このため、画像処理装置において、どの画像処理で検査をするかの判断が可能となるように、画像処理対象の画像に対して領域を指定し、この領域内の画像のデータ的特徴を限定することにより、どの画像処理で検査をするかを自動的に設定（自動設定）することが試みられている。
【００１４】
しかしながら、この自動設定は、ユーザの判断を領域指定という操作入力で取り込むことで、画像処理装置側がどの画像処理で検査をするかの判断が容易になるものの、自動ティーチングと本質的に同じ問題を持っており、予め想定した画像処理のみを設定できることに変わりがない。
【００１５】
この他、プログラムの自動作成手法としては、ユーザの判断を、対話型インターフェースを通して取得し、雛形のプログラムを作成するものがある。しかし、この方法では、ユーザの目的が何であるのかを判別するための設問を、予め想定して作成する必要がある。もし、ユーザの目的に合致する設問が用意されていなければ、ユーザは、自己の目的に近いと考える雛形のプログラムが作成されるように、設問に答える必要がある。この場合、設問に対する答えに応じてどのような雛形のプログラムが作成されるかを把握していなければならない。また、雛形のプログラムの作成時点では、画像処理によるデータが提示されない状態で判断する必要がある。
【００１６】
上記従来の方法は、いずれも想定された機能を設定する方法であり、設定された機能によって抽出された画像データのユーザへのフィードバック、ユーザによる自動設定自体の調整がなく、自動設定自体がユーザのニーズに合うようになっていく成長性に欠けるという問題点があった。
【００１７】
本発明は、上記事情に鑑みてなされたものであり、ユーザに画像処理の知識が無くても画像処理装置の画像処理プログラムを簡単に作成することができる画像処理プログラム作成方法およびそのシステムを提供することを目的とする。
【００１８】
【課題を解決するための手段】
上記課題を解決するための請求項１記載の発明の画像処理プログラム作成方法は、画像表示用の表示手段と、各種操作入力用の入力手段と、予め分類された複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みの項目毎に、複数種類の画像処理サブルーチン候補を含む画像処理サブルーチン候補セットを記憶する記憶手段とを利用して、画像処理プログラム作成機能が画像処理装置の画像処理プログラムを作成する方法であって、画像処理対象の撮像で得た対象画像を前記表示手段に表示するステップと、前記複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みから、前記入力手段を通じた操作入力で選択された項目に応じて、対応する画像処理サブルーチン候補セットを前記記憶手段から選択するステップと、この選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補の各々を、前記入力手段を通じた操作入力で指定された指定領域内の、前記対象画像の全部または一部の画像に対して実行するステップと、前記選択された複数種類の画像処理サブルーチン候補の各実行結果を基に、前記選択された画像処理サブルーチン候補セットから選択された画像処理サブルーチン候補を、前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理装置の画像処理プログラムに組み込むステップとを有し、前記選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補に、共通する処理部分がある場合、それら複数種類の画像処理サブルーチン候補は、前記共通する処理部分を兼用し、前記共通する処理部分により処理された処理結果は一時的に記憶されるとともに、各画像処理サーブルーチン候補の処理時に、該処理結果がコピーされて使用されることを特徴とする。
【００１９】
この方法によれば、ユーザが、入力手段を通じた操作入力で、複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みから、所望の項目を選択するとともに、表示手段に表示された対象画像に対して領域を指定して指定領域の情報を入力すると、選択された項目に対応する画像処理サブルーチン候補セットが選択されて、この画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補の各々が指定領域内の画像に対して実行され、続いて、これら画像処理サブルーチン候補の各実行結果を基に、上記選択された画像処理サブルーチン候補セットから選択された画像処理サブルーチン候補が、指定領域内の画像に対する画像処理サブルーチンとして画像処理プログラムに組み込まれるようになるから、ユーザに画像処理の知識が無くても画像処理装置の画像処理プログラムを作成することができる。
【００２０】
ここで、例えば生産ラインで得られた欠陥のある検査対象を撮像して得た画像が上記対象画像として使用される場合、対象画像の欠陥のある領域を指定領域とするなどの簡単な操作で、画像処理プログラムを作成することができる。また、複数種類の画像処理サブルーチン候補には、例えば、異物検査、ひび検査およびクラック検査などの各種検査用のものがあるが、外観検査、寸法測定、有無検知および文字検出などの検査目的を選択するだけで、検査目的に最適な画像処理サブルーチン候補が複数種類自動的に選択されることになるので、ユーザは、上述の具体的な画像処理の検査種別を知らなくても、入力手段を通じた上記操作入力を容易に行うことができる。さらに、画像処理装置が、検査対象に発生しうる不具合の有無を確認するなどのために使用される場合、画像処理装置を使用する現場のユーザは、たとえ画像処理の知識が無くても、検査対象としての画像処理対象に発生しうる不具合などを経験的なノウハウとして通常把握しており、この場合、検査対象に発生しうる不具合などに関する経験的なノウハウが盛り込まれた画像処理プログラムが作成されることになる。
【００２１】
要するに、請求項１記載の発明によれば、ユーザに画像処理の知識が無くても画像処理装置の画像処理プログラムを簡単に作成することができるほか、画像処理の知識が不要となるため、その習得時間を削減することができる。また、ユーザが指定領域を設定するので、画像処理対象の間違った部分を検査する画像処理プログラムが作成されることがない。さらに、複数種類の画像処理対象項目および複数種類の検査項目の少なくとも一方の組みから項目が選択されるので、画像処理対象や検査目的に適した画像処理プログラムを作成することができ、また不要な項目が排除されるから、画像処理プログラムによる実行時間を短縮することができる。
また、画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補は、画像処理サブルーチン候補セットが画像処理対象項目および検査目的項目の少なくとも一方に対応する関係で、例えば同じ前処理を踏む場合などが多くなり、その前処理を複数種類の画像処理サブルーチン候補の各々について逐一実行していくと全体の実行時間が勢い長くなるが、請求項１記載の発明によれば、共通する処理部分が複数種類の画像処理サブルーチン候補の各々によって兼用され、共通する処理部分については１回の処理で済むようになるから、画像処理プログラムを作成するための実行時間を大幅に短縮することができる。
【００２２】
請求項２記載の発明は、請求項１記載の画像処理プログラム作成方法において、前記指定領域内の画像に対して、前記選択された複数種類の画像処理サブルーチン候補の各々を実行した後、これら画像処理サブルーチン候補の各実行結果を前記表示手段に表示するステップをさらに有し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、前記表示手段に表示された各実行結果を基に、前記選択された画像処理サブルーチン候補セットから、前記入力手段を通じた操作入力で選択された画像処理サブルーチン候補を、前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理プログラムに組み込むことを特徴とする。この方法によれば、請求項１記載の発明において、選択された複数種類の画像処理サブルーチン候補の各々が指定領域内の画像に対して実行されると、これら画像処理サブルーチン候補の各実行結果が表示手段に表示されるようになり、この後、ユーザが、表示手段に表示された各実行結果を基に、上記選択された画像処理サブルーチン候補セットから、入力手段を通じた操作入力で画像処理サブルーチン候補を選択すると、これが指定領域内の画像に対する画像処理サブルーチンとして画像処理プログラムに組み込まれるようになるから、ユーザに画像処理の知識が無くても画像処理装置の画像処理プログラムを作成することができる。また、項目に対応する複数種類の画像処理サブルーチン候補が選択されるので、これら画像処理サブルーチン候補には、項目に対応するものが含まれ、項目に対応しないものは含まれないから、選択された複数種類の画像処理サブルーチン候補の数が必要以上に多くなるという問題が生ぜず、各実行結果を基にした画像処理サブルーチン候補の選択操作が容易となる。さらに、対話式の面倒な設問に答えることなく、従ってその機能を設ける必要もなく、ユーザが満足する実行結果となった画像処理サブルーチンにより、ユーザの検査目的に合致した画像処理プログラムを作成することができ、画像処理プログラムの修正などを不要にすることができる。
【００２３】
請求項３記載の発明は、請求項１記載の画像処理プログラム作成方法において、前記指定領域内の画像に対して、前記選択された複数種類の画像処理サブルーチン候補の各々を実行した後、これら画像処理サブルーチン候補の実行結果から、それぞれ、所定基準から乖離する度合いを示す乖離度を算出するステップをさらに有し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、前記算出された複数の乖離度を基に、前記選択された画像処理サブルーチン候補セットから自動的に画像処理サブルーチン候補を選択し、これを前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理プログラムに組み込むことを特徴とする。この方法によれば、請求項１記載の発明において、選択された複数種類の画像処理サブルーチン候補の各々が指定領域内の画像に対して実行されると、これら画像処理サブルーチン候補の実行結果からそれぞれ乖離度が算出され、続いて、これら乖離度を基に、上記選択された画像処理サブルーチン候補セットから自動的に画像処理サブルーチン候補が選択されて、これが指定領域内の画像に対する画像処理サブルーチンとして画像処理プログラムに組み込まれるようになるから、ユーザに画像処理の知識が無くても画像処理装置の画像処理プログラムをより簡単に作成することができる。また、例えば、画像処理サブルーチン候補セットに含まれる異なる画像処理サブルーチン候補（画像処理アルゴリズム）の各々によって欠陥が検出される場合、それらから、欠陥の検出に最適な画像処理サブルーチン候補を自動的に検出させる構成が可能となり、この場合、ユーザの判断ミスで最適でない画像処理サブルーチン候補が選ばれるといったことをなくすことができる。
【００２４】
請求項４記載の発明は、請求項３記載の画像処理プログラム作成方法において、前記対象画像は、良品および不良品の複数の画像処理対象からそれぞれ複数得られ、前記対象画像を前記表示手段に表示するステップでは、前記複数の対象画像の少なくとも１つを前記表示手段に表示し、前記選択された複数種類の画像処理サブルーチン候補の各々を実行するステップでは、これら画像処理サブルーチン候補の各々を、前記複数の対象画像の各指定領域内の画像に対して実行し、前記乖離度を算出するステップでは、前記各対象画像に対する前記複数種類の画像処理サブルーチン候補の実行結果から、それぞれの画像処理サブルーチン候補に対する乖離度を統計的に算出し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、前記統計的に算出された各乖離度を基に、前記選択された画像処理サブルーチン候補セットから自動的に画像処理サブルーチン候補を選択し、これを前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理プログラムに組み込むことを特徴とする。この方法によれば、ユーザが、入力手段を通じた操作入力で、複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みから、所望の項目を選択するとともに、表示手段に表示された少なくとも１つの対象画像に対して領域を指定して指定領域の情報を入力すると、選択された項目に対応する画像処理サブルーチン候補セットが選択されて、この画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補の各々が、複数の対象画像の各指定領域内の画像に対して実行され、続いて、これら画像処理サブルーチン候補の各実行結果から、上記選択された複数種類の画像処理サブルーチン候補の各々の乖離度が統計的に算出され、続いて、これら乖離度を基に、上記選択された画像処理サブルーチン候補セットから自動的に画像処理サブルーチン候補が選択されて、これが指定領域内の画像に対する画像処理サブルーチンとして画像処理プログラムに組み込まれるようになるから、ユーザに画像処理の知識が無くても画像処理装置の画像処理プログラムをより簡単に作成することができる。例えば、画像処理プログラムの作成の際、生産ラインに流れる良品および不良品の複数の画像処理対象を撮像して複数の対象画像を取得し、これら複数の対象画像を請求項４記載の発明に適用すれば、選択された画像処理サブルーチン候補セットに含まれる各画像処理サブルーチン候補の乖離度が統計的に算出されていくので、検査精度の最適な画像処理サブルーチン候補を画像処理サブルーチンとして統計的に自動選択することができる。また、画像処理対象の良品画像、不良品画像をプログラム作成前に取得、記憶しておき、これを利用することでプログラム作成が効率的に行え、同画像データの繰り返し利用や確認も可能となる。
【００２５】
請求項５記載の発明は、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記画像処理サブルーチン候補セットには、それぞれに互いに異なるパラメータの値が割り当てられた複数の同一フローの画像処理サブルーチン候補が含まれることを特徴とする。この方法によれば、好適なパラメータの値が割り当てられた好適な画像処理サブルーチン候補セットで、より好適な画像処理プログラムを作成することができる。
【００２６】
請求項６記載の発明は、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記入力手段を通じて操作入力された画像処理対象項目および検査目的項目の少なくとも一方の項目と、前記記憶手段に記憶されている全種類の画像処理サブルーチン候補から前記入力手段を通じた操作入力で選択された複数種類の画像処理サブルーチン候補とに応じて、これら画像処理サブルーチン候補を前記操作入力された項目に対応させて前記記憶手段に記憶することを特徴とする。この方法によれば、ユーザが、入力手段を通じた操作入力で、所望する項目を設定するとともに、記憶手段に記憶されている全種類の画像処理サブルーチン候補から所望する複数種類の画像処理サブルーチン候補を選択すると、選択された複数種類の画像処理サブルーチン候補が設定した項目に対応して記憶手段に記憶されるようになる。このような登録は、例えば生産技術者が製造部門の技術者に依頼することで行われ、この依頼を受けた製造部門の技術者が現場に則した登録をすることになる。これにより、現場により一層適合した画像処理プログラムの作成が可能になる。
【００２８】
請求項７記載の発明は、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記指定領域内の画像に対して、前記選択された複数種類の画像処理サブルーチン候補の各々を実行するステップでは、その複数種類の画像処理サブルーチン候補の各々に含まれるパラメータのうち、前記入力手段を通じた操作入力で選択されたパラメータとこのパラメータに対して指定された可変条件とに応じて、前記選択された複数種類の画像処理サブルーチン候補の各々を、これに含まれる前記選択されたパラメータを前記指定された可変条件で可変しながら、前記指定領域内の画像に対して実行し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、その画像処理サブルーチン内の前記選択されたパラメータの値を、前記各実行結果から得られるそのパラメータの適正範囲の中心値に設定することを特徴とする。この方法によれば、ユーザが、入力手段を通じた操作入力で、既に選択された複数種類の画像処理サブルーチン候補の各々に含まれるパラメータのうち、所望のパラメータを選択するとともに、その可変条件（範囲および刻みなど）を指定すると、選択されたパラメータと指定された可変条件とに応じて、上記選択された複数種類の画像処理サブルーチン候補の各々が、これに含まれる選択されたパラメータを指定された可変条件で可変しながら、指定領域内の画像に対して実行され、続いて、上記選択された複数種類の画像処理サブルーチン候補の各実行結果を基に選択された画像処理サブルーチン候補内の選択されたパラメータの値が、各実行結果から得られるそのパラメータの適正範囲（例えば、各実行結果のヒストグラムのピークなどで適正範囲の限界が決まる）の中心値に設定されて、この中心値に設定された画像処理サブルーチン候補が画像処理サブルーチンとして画像処理プログラムに組み込まれるようになる。これにより、良不良判定が特定の範囲で一定する場合、画像処理プログラムに組み込む画像処理サブルーチン内の所望のパラメータの値が適正範囲の中心値に設定され、最も代表的なパラメータに設定されることになる。
【００２９】
請求項８記載の発明は、請求項２記載の画像処理プログラム作成方法において、前記選択された複数種類の画像処理サブルーチン候補の各実行結果を前記表示手段に表示するステップでは、これらの各実行結果とともに、前記対象画像または各実行結果を出した画像処理サブルーチン候補による前記対象画像に対する画像処理済みの画像を前記表示手段に表示することを特徴とする。この方法によれば、選択された複数種類の画像処理サブルーチン候補の各実行結果とともに、対象画像または各画像処理済みの画像が表示手段に表示されるから、各実行結果の視認性が高まり、例えば、各実行結果のみでは画像処理サブルーチン候補の選択が困難である場合、画像処理済みの画像を参考にして適切な画像処理サブルーチン候補を画像処理サブルーチンとして選択することが可能となる。
【００３０】
請求項９記載の発明は、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記画像処理サブルーチンが組み込まれて作成された前記画像処理プログラムに、共通する処理部分がある場合、これらの処理部分を一の処理部分として統合するステップをさらに有することを特徴とする。この方法によれば、画像処理プログラムの容量を減らすことができるほか、その実行の高速化を図ることができる。また、画像処理プログラムが短くなり、全体の把握が容易になる。
【００３１】
請求項１０記載の発明は、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記画像処理サブルーチンが組み込まれて作成された前記画像処理プログラムのフローチャートを前記表示手段に表示するステップをさらに有することを特徴とする。この方法によれば、各画像処理サブルーチンが画像処理プログラムのどこに組み込まれたかを容易に把握することができる。例えば、画像処理サブルーチンが画像処理プログラムに組み込まれる毎に、表示手段に画像処理プログラムのフローチャートが表示されるようにすれば、文字プログラミングに不慣れなユーザでも、フローチャートのシンボルが増えるのを確認することで、画像処理サブルーチンが画像処理プログラムのどこに組み込まれたのかを感覚的に把握することができる。
【００３２】
請求項１１記載の発明は、請求項１０記載の画像処理プログラム作成方法において、前記画像処理プログラムのフローチャートを前記表示手段に表示するステップでは、そのフローチャート内の前記画像処理サブルーチンのシンボルと関連付けられた位置に、その画像処理サブルーチンによる前記対象画像に対する画像処理済みの画像を表示することを特徴とする。この方法によれば、対象画像の各指定領域内の画像に対する各画像処理サブルーチンによる実行結果を容易に検証することができる。
【００３３】
請求項１２記載の発明は、請求項１０記載の画像処理プログラム作成方法において、前記画像処理プログラムのフローチャートを前記表示手段に表示するステップでは、そのフローチャート内の前記画像処理サブルーチンのシンボルに対する前記入力手段を通じた操作入力に応じて、対応する画像処理サブルーチンによる各画像処理過程の画像を順次切替表示することを特徴とする。この方法によれば、画像処理サブルーチンによる各画像処理過程および画像処理結果が適切であるか否かの確認が行うことができる。
【００３４】
請求項１３記載の発明は、請求項１０記載の画像処理プログラム作成方法において、前記画像処理プログラムのフローチャートを前記表示手段に表示するステップでは、前記画像処理プログラムのフローチャートを前記表示手段に表示するステップでは、まず、画像処理プログラムのフローチャートを前記表示手段に表示し、続いてこの表示手段に表示したフローチャートに対して、前記入力手段を通じた操作入力で指定された位置に、前記選択された画像処理サブルーチン候補を画像処理サブルーチンとして組み込んで、これが組み込まれて作成された画像処理プログラムのフローチャートを前記表示手段に表示することを特徴とする。この方法によれば、画像処理サブルーチンを画像処理プログラムの所望する位置に組み込むことができるほか、前に作成した画像処理プログラムの所望する位置に、新たな画像処理サブルーチンを容易に組み込むことができるから、別の画像処理プログラムを作成するための時間（工数）を、前に作成した画像処理プログラムを土台にすることで大幅に削減することができる。
【００３５】
請求項１４記載の発明は、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記対象画像を前記表示手段に表示するステップでは、まず、前記画像処理装置の画像処理プログラムのフローチャートを、画像処理サブルーチン用のシンボルとともに前記表示手段に表示し、続いて、前記入力手段を通じた操作入力による前記フローチャート上の前記シンボルの選択に応じて、前記対象画像を前記表示手段に表示し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、前記選択された画像処理サブルーチン候補を、画像処理サブルーチンとして前記画像処理プログラム内の前記選択されたシンボルに対応する位置に組み込むことを特徴とする。この方法によれば、画像処理プログラムを作成する前に、その全体を構成しておくことができる。ユーザは、画像処理プログラムのどこに、これから選択される画像処理サブルーチン候補が画像処理サブルーチンとして組み込まれるのかを理解することができる。画像処理プログラムの作成後でも、再度同様のステップを踏むことで、画像処理サブルーチンを変更することができる。例えば、画像処理対象の変更により、画像処理プログラムの全体を変更する必要はないが、ある画像処理サブルーチンを変更する必要がある場合などに対応可能となる。
【００３６】
請求項１５記載の発明は、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記画像処理サブルーチンを前記画像処理プログラムに組み込んだ後、前記対象画像とともに前記指定領域を前記表示手段に表示するステップと、この表示手段に表示された指定領域を別の指定領域にコピーアンドペーストする前記入力手段を通じた操作入力に応じて、前記別の指定領域内の画像に対する画像処理サブルーチンとして、前記選択された画像処理サブルーチン候補を割り当てて前記画像処理プログラムを修正するステップとをさらに有することを特徴とする。この方法によれば、検査対象の特定部分の欠陥に的を絞って、適用すべき画像処理サブルーチンを決定するだけで、その欠陥が発生しそうな別の部分にも同じ画像処理サブルーチンを容易に適用することができる。これにより、画像処理プログラムの作成時間を大幅に短縮することができる。また、実際の検査対象の指定領域が多角形などで、矩形などの代表的な領域形状で表現し難い場合などでは、予め矩形などの代表的な領域形状の別の領域で画像処理サブルーチンを決定しておき、決定した画像処理サブルーチンの設定内容を所望の形状の指定領域にコピーすることで、この指定領域の画像処理サブルーチンを設定することができる。
【００３７】
請求項１６記載の発明は、画像表示用の表示手段と、各種操作入力用の入力手段と、予め分類された複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みの項目毎に、複数種類の画像処理サブルーチン候補を含む画像処理サブルーチン候補セットを記憶する記憶手段とを利用して、画像処理装置の画像処理プログラムを作成する画像処理プログラム作成機能とにより構成される画像処理プログラム作成システムであって、前記画像処理プログラム作成機能は、画像処理対象の撮像で得た対象画像を前記表示手段に表示し、前記複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みから、前記入力手段を通じた操作入力で選択された項目に応じて、対応する画像処理サブルーチン候補セットを前記記憶手段から選択し、この選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補の各々を、前記入力手段を通じた操作入力で指定された指定領域内の、前記対象画像の全部または一部の画像に対して実行し、前記選択された複数種類の画像処理サブルーチン候補の各実行結果を基に、前記選択された画像処理サブルーチン候補セットから選択された画像処理サブルーチン候補を、前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理装置の画像処理プログラムに組み込む各処理を実行することを特徴とする。この構成にによれば、ユーザに画像処理の知識が無くても画像処理装置の画像処理プログラムを簡単に作成することができるほか、画像処理の知識が不要となるため、その習得時間を削減することができる。また、ユーザが指定領域を設定するので、画像処理対象の間違った部分を検査する画像処理プログラムが作成されることがない。さらに、複数種類の画像処理対象項目および複数種類の検査項目の少なくとも一方の組みから項目が選択されるので、画像処理対象や検査目的に適した画像処理プログラムを作成することができ、また不要な項目が排除されるから、画像処理プログラムによる実行時間を短縮することができる。
【００３８】
【発明の実施の形態】
図１は画像処理プログラム作成システムの構成図、図２は図１の画像処理アルゴリズム記憶部の説明図、図３は図１の画像処理プログラム作成システムに設けられる画像処理プログラム作成機能の動作フロー図、図４は図３の動作フローの説明図であり、これらの図を用いて本発明の第１実施形態について説明する。
【００３９】
図１に示す画像処理プログラム作成システムは、ＣＲＴまたはＬＣＤなどにより構成される画像表示用の入出力表示装置１と、画像処理対象（例えば生産物などの検査対象）を撮像するための撮像装置２と、キーボードおよびマウスなどにより構成される各種操作入力用の操作入力装置３と、画像処理装置４とを備えている。
【００４０】
この画像処理装置４は、ＣＰＵ、各種メモリおよびハードディスクなどにより構成され、撮像用メモリ４１、自動実行設定部４２、画像処理アルゴリズム記憶部４３、プログラム作成部４４、画像処理プログラム格納部４５、画像処理プログラム実行部４６、処理画像・結果格納部４７および画像・設定表示用メモリ４８を備え、これら各部により構成される通常の画像処理機能および第１実施形態の特徴となる画像処理プログラム作成機能を有している。
【００４１】
これら両機能のうち、通常の画像処理機能は従来と同様であるのでその説明を省略し、以下では第１実施形態の特徴となる画像処理プログラム作成機能について説明する。なお、図１の例では、プログラム作成部４４は、自動実行データ格納部４４１、画像処理サブルーチン挿入位置指定部４４２、領域指定部４４３、「複数の画像処理サブルーチン候補実行部」４４４、画像処理サブルーチン候補選択指定部４４５および「画像処理プログラムへの組込み部」４４６を含んでいる。また、画像処理アルゴリズム記憶部４３は、画像処理記憶部４３１および複数の画像処理サブルーチン候補セット設定情報部４３２を含んでいる。
【００４２】
先ず、画像処理プログラム作成機能により解決する課題について説明すると、従来では、既述の如く画像処理装置の使用には一定の習得工数を必要とする。このため、実際には画像処理を習得した技術者のみが画像処理装置を使用する傾向が高くなり、その使用範囲を拡大することができない。これらの工数を低減するために、自動設定機能や雛形プログラム作成機能を持つ画像処理装置が見受けられるが、これらは、画像処理をサブルーチン化し、メニューや対話型のインターフェースを通して画像処理サブルーチンを選択して画像処理プログラムを作成するものであり、通常、各画像処理機能に対応した選択インターフェースになっているので、ユーザに画像処理の内容の認識を強いることが多くなる。
【００４３】
例えば、特開平７−１６０８４３号公報の画像認識プログラム構築装置では、メニュー選択によりコーディングおよびコンパイルの作業を不要にし、画像処理プログラムの作成作業の簡易化を図っているが、ユーザが画像データの知識を持っていることを期待し、その知識によって画像処理サブルーチンが選択されるように構成されている。しかし、汎用の画像処理装置では、その機能も多岐にわたり、画像処理サブルーチンも数多く（１００個以上の画像処理サブルーチンが用意されていることが多い）、画像処理知識のないユーザにとって、所望の処理を実現するために適切な画像処理サブルーチンの選択を行うことは困難である。
【００４４】
そこで、第１実施形態では、上記課題を解決すべく、入出力表示装置１と、操作入力装置３と、画像処理アルゴリズム記憶部４３に含まれる画像処理記憶部４３１とを利用して、画像処理装置４の画像処理プログラムを作成する画像処理プログラム作成機能が設けられるのである。
【００４５】
画像処理記憶部４３１には、予め分類された複数種類の画像処理対象項目および複数種類の検査目的項目の各項目毎に、複数種類の画像処理サブルーチン候補を含む画像処理サブルーチン候補セットが記憶されている。検査目的項目は、図２の例に示すように、外観検査、寸法測定、有無検知（位置検出）および文字検出などの各項目に予め分類され、これらの項目毎に画像処理サブルーチン候補セットが対応付けされて画像処理記憶部４３１に記憶されている。各画像処理サブルーチン候補セットには、外観検査の項目の場合、異物検査、ひび検査、クラック検査および欠け検査の複数種類の画像処理サブルーチン候補が含まれる。同様に、寸法測定、有無検知および文字検出などの各画像処理サブルーチン候補セットにも、図２（ａ）に示すような複数種類の画像処理サブルーチン候補が含まれる。そして、これらの各画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補は、図２（ｂ）に示すＧＵＩ（グラフィカル・ユーザ・インターフェース）を通じて選択可能になっている。例えば、図２（ｃ）に示すように、外観検査の画像処理サブルーチン候補セットに含まれる異物検査の項目をアクティブにして、操作入力装置３を通じてＧＵＩの「設定」ボタンをオンする操作を行えば、異物検査の画像処理サブルーチン候補が選択される。
【００４６】
なお、図２の例には示されていないが、各画像処理対象項目にも、複数種類の画像処理サブルーチン候補を含む画像処理サブルーチン候補セットが対応付けされている。画像処理対象項目の例を挙げると、画像処理対象が生産品である場合には、商品的に形状の安定した例えばスイッチなどの商品分類項目が使用され、画像処理対象が人や動物である場合には、手、足および顔などの部位項目が使用される。また、画像処理対象および検査目的の両方を一の項目として画像処理サブルーチン候補セットが対応付けされる場合もある。
【００４７】
上記画像処理プログラム作成機能は、主として自動実行設定部４２およびプログラム作成部４４により構成され、画像処理装置４の画像処理プログラムを作成するための各種処理を実行する。例えば、画像処理対象の撮像で得えられ、撮像用メモリ４１に記憶されている対象画像のデータを画像・設定表示用メモリ４８に転送して、対象画像を入出力表示装置１の画面に表示する処理が行われる。また、複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みから、操作入力装置３を通じた操作入力で選択された項目に応じて、対応する画像処理サブルーチン候補セットを画像処理記憶部４３１から選択する処理が行われる。また、選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補の各々を、操作入力装置３を通じた操作入力で指定された指定領域内の、対象画像の全部または一部の画像に対して実行し、これらの各実行結果を入出力表示装置１の画面に表示する処理が実行される。さらに、その画面に表示された各実行結果を基に、上記選択された画像処理サブルーチン候補セットから、操作入力装置３を通じた操作入力で選択された画像処理サブルーチン候補を、上記指定領域内の画像に対する画像処理サブルーチンとして画像処理装置４の画像処理プログラムに組み込む処理が実行される。
【００４８】
次に、第１実施形態の特徴となる画像処理プログラム作成機能の動作について説明する。まず、ＧＵＩを利用して、これからユーザに選択させる画像処理サブルーチン候補を画像処理サブルーチンとして挿入すべき画像処理プログラム内の位置を指定させるための画面に、入出力表示装置１の画面を切り替える処理が実行される。この後、ステップＳ１で、上記画像処理サブルーチンを挿入すべき位置が、操作入力装置３を通じた操作入力で指定されると、指定された位置情報を一時保持し、続いて、対象画像を入出力表示装置１の画面に表示する処理が行われる。これらは、自動実行設定部４２および画像処理サブルーチン挿入位置指定部４４２により実行される。
【００４９】
この後、ステップＳ２で、対象画像の全部または一部の画像に対する指定領域（図４（ａ）の「領域作成」の枠参照）が、操作入力装置３を通じた操作入力で指定されると、その指定領域の情報を一時保持し（図１の４４３）、続いて、ＧＵＩを用いて、複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みから所望の項目をユーザに選択させるための画面に、入出力表示装置１の画面を切り替える処理が実行される。
【００５０】
この後、複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みから、操作入力装置３を通じた操作入力で所望の項目が選択されると、ステップＳ３で、その項目に対応する画像処理サブルーチン候補セットを画像処理記憶部４３１から選択する処理が行われる。
【００５１】
続いて、ステップＳ４で、選択された画像処理サブルーチン候補セット内から登録順に従って一の画像処理サブルーチン候補を選択し、これを上記指定領域内の画像に対して実行する処理が行われる（図１の４４４）。
【００５２】
続いて、ステップＳ５で、選択された画像処理サブルーチン候補セット内に、未実行の画像処理サブルーチン候補が残っているか否かの判別が行われる。未実行の画像処理サブルーチン候補が残っていれば（Ｓ５でＹＥＳ）、ステップＳ４に戻る一方、そうでなければ（Ｓ５でＮＯ）、ステップＳ８で、図４（ｂ）の例に示すように、上記各画像処理サブルーチン候補の実行結果を入出力表示装置１の画面に表示して、所望の画像処理サブルーチン候補を受け付ける処理が実行される（図１の４４５）。
【００５３】
この後、ステップＳ９，Ｓ１０で、その画面に表示された各実行結果を基に、上記選択された画像処理サブルーチン候補セットから、操作入力装置３を通じた操作入力で所望の画像処理サブルーチン候補（図４（ｄ）では「ひび検査」）が選択されると、この選択された画像処理サブルーチン候補を、上記指定領域内の画像に対する画像処理サブルーチンとして、画像処理プログラム内の、ステップＳ１で指定された位置に組み込む処理が行われる（図４（ｃ）の「領域１のひび検査」参照）。
【００５４】
ここで、例えば生産ラインで得られた欠陥のある検査対象を撮像して得た画像が上記対象画像として使用される場合、対象画像の欠陥のある領域を指定領域とするなどの簡単な操作で、画像処理プログラムを作成することができる。実際、生産ラインでは、欠陥のある検査対象そのものを撮像した画像を参照しながら画像処理プログラムが作成されるが、本画像処理プログラム作成機能によれば、画像処理の知識のない人でも、欠陥が発生し得る領域を指摘しながら、画像処理プログラムを作成することができる。
【００５５】
また、複数種類の画像処理サブルーチン候補には、例えば、異物検査、ひび検査およびクラック検査などの各種検査用のものがあるが、外観検査、寸法測定、有無検知（位置検出）および文字検出などの検査目的を選択するだけで、検査目的に最適な画像処理サブルーチン候補が複数種類自動的に選択されることになるので、ユーザは、上述の具体的な画像処理の検査種別を知らなくても、操作入力装置３を通じた上記操作入力を容易に行うことができる。
【００５６】
また、画像処理には、一般的に外観検査、寸法測定、有無検知などの類型が見られ、画像処理対象が異なっても、同様の検査を行う場合には画像データの特性に合わせていく課程で、同じような画像処理アルゴリズムが使用されるという傾向がある。すなわち、画像処理装置に搭載されている多数の画像処理アルゴリズムのうち、少なくとも初期段階では、少数の画像処理アルゴリズムが使用できれば、画像処理を行うことができる。また、同様の検査対象を扱う場合には、同じような画像処理プログラムが組み込まれて処理を行うことが多い。従って、代表的な（よく使われる）画像処理を自動実行し、予め画像処理装置に組み込まれた判断のみでは不十分となる部分を、自動処理結果としてユーザにフィードバックし、ユーザの判断を仰ぐことで、最適となる画像処理プログラムの作成が可能になるのである。
【００５７】
さらに、画像処理装置４が、検査対象に発生しうる不具合の有無を確認するなどのために使用される場合、画像処理装置４を使用する現場のユーザは、たとえ画像処理の知識が無くても、検査対象としての画像処理対象に発生しうる不具合（例えば検査対象の欠陥部分または欠陥が起きそうな箇所など）を経験的なノウハウとして通常把握しており、この場合、検査対象に発生しうる不具合などに関する経験的なノウハウが盛り込まれた画像処理プログラムが作成されることになる。
【００５８】
以上、第１実施形態によれば、ユーザに画像処理の知識が無くても画像処理装置４の画像処理プログラム（例えば外観検査および計測など、画像処理対象に適した応用プログラム）を簡単に作成することができるほか、画像処理の知識が不要となるため、その習得時間（工数）を削減することができる。また、ユーザが指定領域を設定するので、画像処理対象の間違った部分を検査する画像処理プログラムが作成されることがない。さらに、複数種類の画像処理対象項目および複数種類の検査項目の少なくとも一方の組みから項目が選択されるので、画像処理対象や検査目的に適した画像処理プログラムを作成することができ、また不要な項目が排除されるから、画像処理プログラムによる実行時間を短縮することができる。
【００５９】
また、項目に対応する複数種類の画像処理サブルーチン候補が選択されるので、これら画像処理サブルーチン候補には、項目に対応するものが含まれ、項目に対応しないものは含まれないから、選択された複数種類の画像処理サブルーチン候補の数が必要以上に多くなるという問題が生ぜず、各実行結果を基にした画像処理サブルーチン候補の選択操作が容易となる。さらに、対話式の面倒な設問に答えることなく、従ってその機能を設ける必要もなく、ユーザが満足する実行結果となった画像処理サブルーチン候補により、ユーザの検査目的に合致した画像処理プログラムを作成することができ、画像処理プログラムの修正などを不要にすることができる。
【００６０】
なお、第１実施形態では、画像処理プログラム作成機能が画像処理装置内に具備される構成になっているが、画像処理プログラム作成機能が画像処理装置とは別体の画像処理プログラム作成装置として設けられる構成でもよい。
【００６１】
図５は画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の動作フロー図、図６は図５の動作フローの説明図であり、これらの図を用いて本発明の第２実施形態について説明する。ただし、以下の各実施形態では図１を共通に使用する。
【００６２】
第２実施形態の画像処理プログラム作成システムは、入出力表示装置１と、撮像装置２と、操作入力装置３とを第１実施形態と同様に備えるほか、選択された画像処理サブルーチン候補に対するパラメータ設定機能を画像処理プログラム作成機能がさらに有する以外は第１実施形態と同様に構成される画像処理装置４を備える。
【００６３】
すなわち、図５に示すように、ステップＳ５，Ｓ８間にステップＳ６，Ｓ７が追加され、ステップＳ６で、図６に示す「パラメータ修正画面」のようなＧＵＩを用いて、所望の画像処理サブルーチン候補に対するパラメータの修正入力を受け付け、続いて、修正があると（Ｓ７でＹＥＳ）、所望の画像処理サブルーチン候補に対するパラメータを、受け付けたパラメータに修正した上で、ステップＳ４に戻る一方、修正がなければ（Ｓ７でＮＯ）、ステップＳ８に進む処理を実行する構成になっている。
【００６４】
以上、第２実施形態によれば、所望の画像処理サブルーチン候補に対するパラメータの修正が可能になっているので、より好適な画像処理プログラムの作成が可能になる。
【００６５】
図７は画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の動作フロー図、図８，図９は図７の動作フローの説明図であり、これらの図を用いて本発明の第３実施形態について説明する。
【００６６】
第３実施形態の画像処理プログラム作成システムは、選択された複数種類の画像処理サブルーチン候補の各実行結果を入出力表示装置１の画面に表示し、この画面に表示された各実行結果を基に、選択済みの画像処理サブルーチン候補セットから、操作入力装置３を通じた操作入力で画像処理サブルーチン候補を選択させる処理手順に代えて、選択された複数種類の画像処理サブルーチン候補の各実行結果から、それぞれ、所定基準から乖離する度合いを示す乖離度を算出し、これら複数の乖離度を基に、選択済みの画像処理サブルーチン候補セットから、自動的に画像処理サブルーチン候補を選択する処理手順を含む画像処理プログラム作成機能が画像処理装置４に具備される以外は第１実施形態と同様に構成される。
【００６７】
第３実施形態では、一の良品および一の不良品の画像処理対象をそれぞれ撮像して２つの対象画像を取得し、これら対象画像の各々に対し、選択された画像処理サブルーチン候補セットに含まれる各画像処理サブルーチン候補を実行し、これらの実行結果から、良品の対象画像については値が小さく、不良品の対象画像については値が大きくなる、良品基準に対する乖離度を算出し、対象画像が不良品である場合に乖離度の値が一番大きくなる画像処理サブルーチン候補を選択し、これを画像処理サブルーチンとして画像処理プログラムに組み込む処理が行われる。
【００６８】
図７において、２つの対象画像が画像処理装置４に入力されると、不良品の対象画像に対してステップＳ１１，Ｓ１２の処理が実行され、この後、ステップＳ１３，Ｓ１４に進んで、良品の画像に切り替えられ、ステップＳ１１に戻って、良品の対象画像に対してステップＳ１１，Ｓ１２の処理が実行され、この後、ステップＳ１３，Ｓ１５を経てステップＳ１７に進む。
【００６９】
ステップＳ１１では、第１実施形態と同様に、画像処理サブルーチンの挿入位置指定用の画面に切り替える処理と、指定された位置情報を一時保持し、対象画像を表示する処理と、指定領域の情報を一時保持し、所望の項目選択用の画面に切り替える処理と、選択された項目に対応する画像処理サブルーチン候補セットを画像処理記憶部４３１から選択する処理と、各画像処理サブルーチン候補を実行する処理とが行われる。ステップＳ１２では、上記各画像処理サブルーチン候補の実行結果を所定のメモリなどに格納する処理が実行される（図１の４４１）。
【００７０】
そして、ステップＳ１７に進むと、良品結果の正規化値計算の処理が実行され、続いて、ステップＳ１８〜Ｓ２０で、不良品結果の正規化値計算の処理と、良品／不良品の乖離度（分離度合い）の比の計算の処理と、最大乖離度のアルゴリズム選択の処理とが順次実行され、この後、乖離度を基に自動的に選択された画像処理サブルーチン候補を画像処理サブルーチンとして画像処理装置４の画像処理プログラムに組み込む処理が実行される。
【００７１】
ここで、図８（ａ）に示すように、ステップＳ１７，Ｓ１８では、同一基準で判定するために、良品基準の測定値で正規化値（百分率）が算出される。なお、これに限らず、複数の良品基準の平均値あるいは平均値と標準偏差から求めた最大基準値や最小基準値などを使用して正規化を行ってもよい。
【００７２】
ステップＳ１９では、良品の測定結果を良品基準に十分近いとみなして、良品の、良品基準からの乖離度と、不良品の、良品基準からの乖離度との比（下記の式参照）をとって、図８（ｂ）に示すように、分離度合いとしての乖離度が算出される。ステップＳ２０では、乖離度の比が最大になった画像処理サブルーチン候補が、良不良を最も分離した画像処理サブルーチンとして選択される。
【００７３】
比＝|不良品正規化値-100|/|良品正規化値-100|
さらに詳述すると、図９（ａ）に示す黒の円形の画像を良品基準としたとき、対象画像から画像処理で得られるデータは多数考えられるが、ここでは、面積、周囲長検出、射影幅およびパターンマッチングによる相関値であるとする。図９（ｂ）に示す画像を良品画像としたとき、これは良品基準よりも若干小さくまた偏っており、良品基準と差があるが、この良品画像から得られる上記のデータは良品基準に十分近いとみなす。この設定で、例えば、図９（ｃ）〜（ｅ）に示す画像Ａ、画像Ｂ、画像Ｃを不良品画像として良品基準と比較すると、画像Ａの場合、面積値、周囲長の乖離度は余り変わらず、射影幅、パターンマッチングの乖離度が大きくなる。また、画像Ｂの場合は射影幅、周囲長の乖離度は余り変わらず、面積値とパターンマッチングの乖離度が大きくなる。また、画像Ｃの場合は射影幅、面積値、パターンマッチングの乖離度は余り変わらず、周囲長の乖離度が大きくなる。このように、不良の状態によって、正確な判定に効果的な画像処理が異なるため、抽出すべき不良の状態に適した画像処理を選択することが、第３実施形態の目的である。
【００７４】
以上、第３実施形態によれば、ユーザに画像処理の知識が無くても画像処理装置の画像処理プログラムをより簡単に作成することができる。
【００７５】
なお、図７のフローでは、良品画像および不良品画像が各１つ使用されることになっているが、それぞれ複数使用されることにすれば、より多くのサンプル画像から乖離度の比が統計的に得られる。これにより、一層好適な画像処理サブルーチン候補の選択が可能となって、一層好適な画像処理プログラムの作成が可能となる。また、製造工程では、スタッフは、良品基準を確認した後、良品グループ、不良品グループを工程に流して、良品、不良品混在でも正確に判別することができるように訓練をして経験を積むが、これにそのまま上記画像処理プログラム作成システムを適用することができる。
【００７６】
図１０は画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の説明図、図１１は画像処理サブルーチン候補の選択、そのパラメータの修正および新たな画像処理サブルーチン候補の登録の説明図であり、これらの図を用いて本発明の第４実施形態について説明する。
【００７７】
第４実施形態の画像処理プログラム作成システムは、画像処理サブルーチン候補セットに、それぞれに互いに異なるパラメータの値が割り当てられた複数の同一フローの画像処理サブルーチン候補が含まれる以外は第１実施形態と同様に構成される。
【００７８】
すなわち、図１０に示すように、画像処理サブルーチン候補セットに含まれる異物検査、ひび検査およびかけ検査などの複数種類の画像処理サブルーチン候補の各々には、同一フローの画像処理サブルーチン候補が複数設けられており、それぞれのパラメータには異なる値が予め割り当てられている。例えば、異物検査の同一フローの「微分値しきい値」には、「４０」、「５０」、「６０」の異なる値が割り当てられ、ひび検査の同一フローの「光量差しきい値」には、「１０」、「５０」の異なる値が割り当てられ、そしてかけ検査の同一フローの「ライン本数」には、「１５」，「１０」の異なる値が割り当てられている。
【００７９】
そして、図１１（ａ）に示すように、画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補は、各実行結果（図では「ＯＫ」，「ＮＧ」）とともに表示され、ＧＵＩを通じて所望のものを選択することができるようになっている。例えば、所望の画像処理サブルーチン候補をアクティブにして、操作入力装置３を通じてＧＵＩの「設定」ボタンをオンする操作を行えば、その画像処理サブルーチン候補が画像処理サブルーチンとして選択される。キャンセルする場合は、ＧＵＩの「キャンセル」ボタンをオンする操作を行えばよい。
【００８０】
また、操作入力装置３を通じてＧＵＩの「パラメータ設定」ボタンをオンする操作を行えば、図１１（ｂ）に示す「パラメータ設定・登録」の画面に切り替わる。そして、操作入力装置３を通じて所望の値を修正したいパラメータの項目に入力する操作を行い、続いてＧＵＩの「設定」ボタンをオンする操作を行えば、図１０に示した対応する画像処理サブルーチン候補のパラメータの値がその入力した値に修正される。また、ＧＵＩの「登録」ボタンをオンする操作を行えば、対応する画像処理サブルーチン候補と同一のフローをコピーして、これに図１１（ｂ）に示す一連のパラメータが設定され、新たな画像処理サブルーチン候補が対応する画像処理サブルーチン候補セットに追加される。
【００８１】
以上、第４実施形態によれば、好適なパラメータの値が割り当てられた好適な画像処理サブルーチン候補セットで、より好適な画像処理プログラムを作成することができる。
【００８２】
図１２は画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の説明図であり、この図を用いて本発明の第５実施形態について説明する。
【００８３】
第５実施形態の画像処理プログラム作成システムは、操作入力装置３を通じて操作入力された画像処理対象項目および検査目的項目の少なくとも一方の項目と、画像処理記憶部４３１に記憶されている全種類の画像処理サブルーチン候補から操作入力装置３を通じた操作入力で選択された複数種類の画像処理サブルーチン候補とに応じて、これら画像処理サブルーチン候補を上記操作入力された項目に対応させて画像処理記憶部４３１に記憶する処理を画像処理プログラム作成機能がさらに行う以外は第１実施形態と同様に構成される。
【００８４】
すなわち、画像処理記憶部４３１には、図１２（ａ）に示すように多数の画像処理サブルーチン候補が記憶されており、図１２（ｂ）に示す「画像処理対象・目的選択」の画面を呼び出すと、画像処理記憶部４３１に記憶されている全種類の画像処理サブルーチン候補が入出力表示装置１に表示される。そして、操作入力装置３を通じて、画像処理対象項目および検査目的項目の少なくとも一方の項目を入力するとともに、入出力表示装置１に表示された全種類の画像処理サブルーチン候補から所望する複数種類の画像処理サブルーチン候補を選択すると、これら画像処理サブルーチン候補が入力された項目に対応して画像処理記憶部４３１に記憶される。図１２（ｂ），（ｃ），（ｄ）の例では、外観検査の項目が選択され、この項目に対応して、異物検査、ひび検査、クラック検査および欠け検査の画像処理サブルーチン候補が画像処理記憶部４３１に記憶される。このような登録は、例えば生産技術者が製造部門の技術者に依頼することで行われ、この依頼を受けた製造部門の技術者が現場に則した登録をすることになる。なお、図１２（ｄ）には、新しく登録された画像処理サブルーチン候補セットによる自動実行の結果が示されている。
【００８５】
以上、第５実施形態によれば、現場により一層適合した画像処理プログラムの作成が可能になる。また、自動的に実行させる複数の画像処理サブルーチン候補を登録または削除して、画像処理サブルーチン候補セットをカスタマイズし、各画像処理サブルーチン候補セットを選択容易にすれば、画像処理プログラムの作成の生産性を向上させることである。
【００８６】
図１３は画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の説明図であり、この図を用いて本発明の第６実施形態について説明する。
【００８７】
第６実施形態の画像処理プログラム作成システムは、選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補に、共通する処理部分がある場合には、それら複数種類の画像処理サブルーチン候補が、その共通する処理部分を兼用する以外は第１実施形態と同様に構成される。
【００８８】
図１３（ａ）〜（ｄ）の例では、画像処理サブルーチン候補セットには、有無判定、面積検出、重心位置検出およびひび検査の複数種類の画像処理サブルーチン候補が含まれ、これらの各々には複数種類の処理が含まれている。この画像処理サブルーチン候補セットの設計時、各画像処理サブルーチン候補内に、どのような前処理または共通化の可能な処理が含まれているかが分かるので、各画像処理サブルーチン候補内の処理を検討して共通化情報が設定される。
【００８９】
ここでは、２値化、微分および細線化の処理が共通化情報（２値化，微分，細線化）として設定されている。具体的には、複数種類の画像処理サブルーチン候補のうち、有無判定、面積検出および重心位置検出の画像処理サブルーチン候補には、共通化情報の２値化処理が含まれ、共通化情報の微分処理および細線化が含まれないので、それぞれに（１，０，０）が共通化情報の各処理のアルゴリズムに代えて割り当てられている。これに対して、残りの画像処理サブルーチン候補には、共通化情報の微分処理および細線化が含まれ、共通化情報の２値化処理が含まれないので、（０，１，１）が共通化情報の各処理のアルゴリズムに代えて割り当てられている。共通化情報の各処理のアルゴリズムは画像処理サブルーチン候補セットに含まれる。
【００９０】
このように、２値化、微分および細線化の各処理のアルゴリズムに代えて、共通化情報が割り当てられた各画像処理サブルーチン候補が最初にコールされたとき、まず、共通化情報の各処理が実行され、共通化処理の出力データが一時保持される。この後、各画像処理サブルーチン候補内に格納されている共通化情報に従って、上記出力データがコピーされて使用され、各画像処理サブルーチン候補の、共通化情報の各処理を除く個別処理（図では個別部分）が実行される。
【００９１】
なお、同じ２値化でもパラメータが異なる場合があるので、図１３（ｅ）に示すように、パラメータを付加してフラグ対応させるようにしてもよい。ただし、図において、Ａ，Ｂ，Ｃなどのアルファベットはパラメータ条件であり、０，１の数字は共通化フラグである。
【００９２】
画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補は、画像処理サブルーチン候補セットが画像処理対象項目および検査目的項目の少なくとも一方に対応する関係で、例えば同じ前処理を踏む場合などが多くなり、その前処理を複数種類の画像処理サブルーチン候補の各々について逐一実行していくと全体の実行時間が勢い長くなるが、第６実施形態によれば、共通する処理部分が複数種類の画像処理サブルーチン候補の各々によって兼用され、共通する処理部分については１回の処理で済むようになるから、画像処理プログラムを作成するための実行時間を大幅に短縮することができる。
【００９３】
図１４は画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能による動作フロー図、図１５，図１６は図１４の動作フローの説明図であり、これらの図を用いて本発明の第７実施形態について説明する。
【００９４】
第７実施形態の画像処理プログラム作成システムは、指定領域内の画像に対して、選択された複数種類の画像処理サブルーチン候補の各々を実行するとき、その複数種類の画像処理サブルーチン候補の各々に含まれるパラメータのうち、操作入力装置３を通じた操作入力で選択されたパラメータとこのパラメータに対して指定された可変条件とに応じて、上記選択された複数種類の画像処理サブルーチン候補の各々を、これに含まれる上記選択されたパラメータを上記指定された可変条件で可変しながら、指定領域内の画像に対して実行し、選択された画像処理サブルーチン候補を画像処理サブルーチンとして画像処理プログラムに組み込むとき、その画像処理サブルーチン内の上記選択されたパラメータの値を、各実行結果から得られるそのパラメータの適正範囲の中心値に設定する処理を画像処理プログラム作成機能がさらに行う以外は第１実施形態と同様に構成される。
【００９５】
すなわち、可変パラメータフラグが１で、パラメータが選択され、この可変条件が指定されると（Ｓ２１でＹＥＳ）、ステップＳ２２に進む一方、そうでなければ（Ｓ２２でＮＯ）、ステップＳ２８に進む。
【００９６】
ステップＳ２２に進むと、選択されたパラメータの値を可変条件の初期値に変更し、ステップＳ２３で、その変更されたパラメータの画像処理サブルーチンを実行する処理が行われる。続いて、ステップＳ２４で、実行結果が適正範囲内か否かの判定が行われ、適正であれば（Ｓ２４でＹＥＳ）、ステップＳ２５でそのパラメータを格納し、この後、ステップＳ２６に進む一方、適正でなければ（Ｓ２４でＮＯ）、ステップＳ２６に進む。
【００９７】
ステップＳ２６に進むと、パラメータの値が可変条件（可変範囲）を超えたか否かの判定が行われ、超えると（Ｓ２６でＹＥＳ）、ステップＳ２７でパラメータを適正範囲の中心に設定し、この後、ステップＳ２８に進む一方、超えなければ（Ｓ２６でＮＯ）、パレメータの値を変更した後にステップＳ２２に戻る。なお、ステップＳ２８では、第１実施形態の図３に示したフローと同様の処理が実行される。
【００９８】
図１５の例に示す重心位置検出の場合、ステップＳ２２〜Ｓ２７において、可変パラメータフラグが１のとき、可変パラメータ情報部を参照し、この部分を実行することでパラメータが決定される。つまり、図１の「複数の画像処理サブルーチン候補実行部」４４４は、画像処理サブルーチン候補セット内の可変パラメータ情報を使用してパラメータを決定した上でステップＳ２８の自動実行に進むのである。各画像処理サブルーチン候補毎に、可変パラメータの有無を示す可変パラメータフラグが用意されており、可変パラメータフラグが１のとき、ステップＳ２２〜Ｓ２７のパラメータ決定ルーチンが機能する。
【００９９】
特定のパラメータの上下限値・変化量を設定すると、「複数の画像処理サブルーチン候補実行部」４４４は、その全てを実行し、検査結果が適正範囲内であれば、パラメータを格納していく。全可変パラメータを実行し終わると、適正パラメータの上限および下限からパラメータを確定する。図１４のステップＳ２７では、最も上限に近い適正パラメータと最も下限に近い適正パラメータの平均値、あるいは中央値などが求められる。図１６の例に示す左側の画像について、光量１８０の部分の中心あたりに重心位置を求めたい場合、可変パラメータを２値化のしきい値とし、このしきい値の上限値を２００、下限値を１００、そして変化量を１とし、検査結果（重心位置）の適正範囲を矩形領域Ｒ１であるとすると、２値化しきい値が１５１〜１８０の間で重心位置が求められ、自動実行によって決定される２値化しきい値は１６５となる。
【０１００】
ここで、画像処理サブルーチンの選択および実行と、その実行結果の表示と、画像処理サブルーチンの選択または解除との一連の処理を繰り返して画像処理プログラムを作成する従来技術では、画像処理サブルーチンに、予め予想されたパラメータが使用されるので、検査対象が予想範囲内に入っていなければ、適切な画像処理プログラムを作成することができない課題がある。
【０１０１】
これに対し、第７実施形態によれば、画像処理サブルーチンのパラメータが適切な値に設定されるので、適切な画像処理プログラムが可能になる。また、良不良判定が特定の範囲で一定する場合、画像処理プログラムに組み込む画像処理サブルーチン内の所望のパラメータの値が適正範囲の中心値に設定され、最も代表的なパラメータに設定されることになる。
【０１０２】
図１７は画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能による動作フロー図、図１８は図１４の動作フローの説明図であり、これらの図を用いて本発明の第８実施形態について説明する。
【０１０３】
第８実施形態の画像処理プログラム作成システムは、選択された複数種類の画像処理サブルーチン候補の各実行結果を入出力表示装置１の画面に表示するとき、それらの各実行結果とともに、対象画像または各実行結果を出した画像処理サブルーチン候補による対象画像に対する画像処理済みの画像を入出力表示装置１の画面に表示する処理部が、画像処理プログラム作成機能にさらに設けられている以外は第１実施形態と同様に構成される。
【０１０４】
すなわち、ステップＳ３１で、第１実施形態と同様に、選択された複数種類の画像処理サブルーチン候補の各実行結果を得たとき、ステップＳ３２で、それらの各実行結果（図では処理結果）を格納し、ステップＳ３３で、画像処理フラグが示す画像を格納する処理が行われる。ここでは、図１８（ａ），（ｂ）の例に示す画像表示フラグが使用される。この画像表示フラグは、画像処理サブルーチン候補セット内の各画像処理サブルーチン候補に付加され、対象画像（図では原画像）または付加された画像処理サブルーチン候補による各処理のうち、どの処理による画像処理済みの画像を入出力表示装置１の画面に表示するのかを示すフラグを有している。例えば、画像処理サブルーチン候補セット内の異物検査およびかけ検査の画像処理サブルーチン候補については、原画像のフラグが１になっているので、原画像が入出力表示装置１の画面に表示され、ひび検査の画像処理サブルーチン候補については、すべてのフラグが０になっているので、画像が表示されないことになる。
【０１０５】
ステップＳ３４で、画像表示フラグ内に１のフラグがあるか否かの判別が行われ、１のフラグがあれば（Ｓ３４でＹＥＳ）、ステップＳ３５で、対応する画像と処理結果とを合成し、ステップＳ３６で、処理結果の一覧を作成する処理が行われる一方、１のフラグがなければ（Ｓ３４でＮＯ）、ステップＳ３６に進む。この後、作成された一覧に従って、入出力表示装置１の画面に各実行結果が表示される。図１８（ｃ）には、図１８（ａ），（ｂ）の画像表示フラグに対応する表示例が示されている。なお、図１８（ｃ）の例では、一つの画像処理サブルーチン候補には、一つの画像が表示されているが、複数の画像が表示されるようにしてもよい。
【０１０６】
以上、第８実施形態によれば、各実行結果の視認性が高まり、例えば、各実行結果のみでは画像処理サブルーチン候補の選択が困難である場合、画像処理済みの画像を参考にして適切な画像処理サブルーチン候補を選択することが可能となる。
【０１０７】
図１９は画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の説明図であり、この図を用いて本発明の第９実施形態について説明する。
【０１０８】
第９実施形態の画像処理プログラム作成システムは、画像処理サブルーチンが組み込まれて作成された画像処理プログラムに、共通する処理部分がある場合、これらの処理部分を一の処理部分として統合する処理を画像処理プログラム作成機能がさらに行う以外は第１実施形態と同様に構成される。
【０１０９】
例えば、図１９（ａ）に示すように、画像処理サブルーチン候補セットから有無判定の画像処理サブルーチン候補を選択する操作入力に応じて、これを画像処理プログラムに組み込み、続いて別の画像処理サブルーチン候補セットから面積検出の画像処理サブルーチン候補を選択する操作入力に応じて、これを画像処理プログラムに組み込むなどして、画像処理プログラムを作成した後、図１９（ｂ）に示す画面に切り替える処理が行われる。
【０１１０】
この後、図１９（ｂ）に示す画面の「編集」をチェックする操作入力などに応じて、図１９（ｃ）の処理順序を図１９（ｄ）の処理順序に編集する処理が行われる。図１９（ｃ）の編集前の処理順序では、有無判定から重心位置検出に処理が移行するが、メニューなどで共通化の編集を指示し、これに応じた操作入力に従って、図１９（ｄ）に示すように、有無判定の前に２値化処理を実行するように共通する処理部分を一の処理部分として統合する処理が実行される。
【０１１１】
なお、図中の領域情報は、画像処理サブルーチン挿入位置指定部４４２でユーザが入力した情報を基に、「画像処理プログラムへの組込み部」４４６によって生成される。また、領域情報の内容は、領域番号（各画像処理がどの領域を対象としているかを示すＩＤ）、領域種別（矩形、円、多角形など）、領域形状（頂点座標、中心座標・半径など）などである。
【０１１２】
以上、第９実施形態によれば、画像処理プログラムの容量を減らすことができるほか、その実行速度の高速化を図ることができる。また、画像処理プログラムが短くなり、全体の把握が容易となり、画像処理の生産性を向上させることができる。
【０１１３】
図２０は画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能による動作フロー図、図２１は図２０の動作フローの説明図であり、これらの図を用いて本発明の第１０実施形態について説明する。
【０１１４】
第１０実施形態の画像処理プログラム作成システムは、画像処理サブルーチンが組み込まれて作成された画像処理プログラムのフローチャートを入出力表示装置１の画面に表示するとともに、そのフローチャート内の画像処理サブルーチンのシンボルと関連付けられた位置、例えばそのシンボル上に、その画像処理サブルーチンによる対象画像に対する画像処理済みの画像を表示する処理を画像処理プログラム作成機能がさらに行う以外は第１実施形態と同様に構成される。
【０１１５】
図２０において、ステップ４１で、画像処理サブルーチン候補が選択されると、ステップＳ４２の「画像処理サブルーチンによる追加用プログラムの構成」、ステップＳ４３の「表示データ読み込み」、ステップＳ４４の「画像処理サブルーチンのアイコン読み込み」、ステップＳ４５の「出力画像読み込み」、ステップＳ４６の「表示用アイコンと出力画像の合成」、ステップＳ４７の「表示用アイコンの表示位置情報作成」、ステップＳ４８の「アイコン接続情報作成」、そしてステップＳ４９の「表示データ書き込み」の各処理が順次実行される。
【０１１６】
ここで、ステップＳ４２の追加用プログラムは、検査領域の自動実行で選択された画像処理サブルーチン候補をソースプログラムに置き換えたものであり、図２１（ｃ）に示す画像処理記憶部４３１に格納されている画像処理サブルーチン候補とリンクし、画像処理サブルーチン挿入位置選択部４４２で画像処理プログラムに組み込まれる。ステップＳ４３の表示データは、アイコン、表示位置、アイコン間の接続情報からなり、図２１（ａ）に示す画像処理プログラム格納部４５から読み出され、フローチャートへの挿入時に見え方を考慮して再計算され、選択された画像処理サブルーチンのアイコンを挿入して元に戻される。ステップＳ４５の出力画像は自動実行データ格納部４４１から読み込まれる。実行結果の画像は、自動実行時、自動実行データ格納部４４１に保存されている出力画像をアイコンに合成し、一つのアイコンとして表示される。画像処理プログラム実行部４６が情報を解析して、画像・設定表示用メモリ４８に書き込むことで、図２１（ｂ）に示すように、入出力表示装置１に表示される。なお、アイコンの情報は、画像処理記憶部４３１に格納されている。
【０１１７】
つまり、画像処理サブルーチン候補が組み込まれて作成された画像処理プログラムのフローチャートが、図２１（ｂ）に示すように、入出力表示装置１の画面に表示されるとともに、そのフローチャート内の画像処理サブルーチンのシンボルと関連付けられた位置に、その画像処理サブルーチンによる対象画像に対する画像処理済みの画像が表示され、その画像と、対応する画像処理サブルーチンのアイコンとが一つのアイコンになっているのである。
【０１１８】
以上、第１０実施形態によれば、各画像処理サブルーチン候補が画像処理プログラム内のどこに組み込まれたかを容易に把握することができ、対象画像の各指定領域内の画像に対する各画像処理サブルーチン候補による実行結果を容易に検証することができる。また、プログラマが画像処理プログラムを修正する場合、画像処理サブルーチンが画像処理プログラム内に隠蔽されることがなく、それが画像処理プログラム内のどこに組み込まれたかを容易に把握することができるので、その修正が容易となる。
【０１１９】
図２２は画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能による動作フロー図、図２３〜図２５は図２２の動作フローの説明図であり、これらの図を用いて本発明の第１１実施形態について説明する。
【０１２０】
第１１実施形態の画像処理プログラム作成システムは、画像処理プログラムのフローチャートを入出力表示装置１の画面に表示するとき、そのフローチャート内の画像処理サブルーチンのシンボル（アイコン）に対する操作入力装置３を通じた操作入力に応じて、対応する画像処理サブルーチンによる各画像処理過程の画像を順次切替表示する処理を画像処理プログラム作成機能がさらに行う以外は第１０実施形態と同様に構成される。
【０１２１】
図２２において、操作入力装置３を通じて、図２３（ｂ）に示す画像処理サブルーチンのアイコンをダブルクリックする操作を行えば、ステップＳ５２の「画像処理サブルーチンの実行」、ステップＳ５３の「処理画像・結果の格納」、ステップＳ５４の「表示データ読み込み」、ステップＳ５５の「画像処理サブルーチンのアイコン読み込み」、ステップＳ５６の「再表示入力待ち」、ステップＳ５７の「未表示の処理画像・結果あり？」の処理が順次実行される。ステップＳ５７で、未表示の処理画像・結果ありの判定結果が得られると（Ｓ５７でＹＥＳ）、ステップＳ５８に進み、そうでなければ（Ｓ５７でＮＯ）、終了する。
【０１２２】
ステップＳ５８に進むと、「出力画像・結果読み込み」の処理が実行され、この後、ステップＳ５９の「表示用アイコンと出力画像・結果の合成」、ステップＳ６０の「表示用アイコンの表示位置情報作成」、ステップＳ６１の「アイコン接続情報作成」、ステップＳ６２の「表示データ書き込み」の処理が順次実行され、この後、ステップＳ５６に戻る。
【０１２３】
上記フローを補説すると、ステップＳ５４の表示データは、図２３（ａ）に示す画像処理プログラム格納部４５から読み出される。ステップＳ５６〜Ｓ６２で、順次画像表示するとき、例えば入出力表示装置１の画面に表示されているアイコンをクリックすると、次の処理画像・結果を表示する動作に入る。処理画像表示をしていて、再表示入力待ちがない場合も考えられ、この場合で、処理画像が複数枚あれば、動画を表示することになる。画像処理サブルーチンの種別によって処理画像・結果の数が変動する。入出力表示装置１の画面に表示されたフローチャートの構成要素（アイコン）に対する操作に応じて、詳細データ、途中経過の確認を可能にするために、画像処理の処理画像・結果を表示する。なお、図２２のフローでは、図２３（ｂ）に示すように画像が表示されるが、図２３（ｃ）の「かけ検査」のサブルーチンに示すように、その画像処理サブルーチンのパラメータのリストが表示されるようにしてもよい。
【０１２４】
ここで、本発明の各実施形態では、画像処理プログラムに組み込まれる画像処理サブルーチンは、間接的に、複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みの項目に対応して選択される関係で、従来の「複数」の画像処理サブルーチンに相当する大きなものとなる場合があるが、この場合の「大きな」画像処理サブルーチンによる各画像処理過程の画像を確認したいときがあり得る。
【０１２５】
そこで、図２４（ａ）の例に示すように、入出力表示装置１の画面上の「ひび検査」のサブルーチン内には、デフォルトで、図２４（ｆ），図２５（ｂ）に示すような、その画像処理サブルーチンによる最終の処理結果画像が表示されている。この状態で、図２４（ａ）の例に示す「ひび検査」のサブルーチンのアイコンをクリックする毎に、「ひび検査」の画像処理サブルーチンによる各画像処理過程の画像が、図２４（ｂ），図２５（ａ）に示すような対象画像（原画像）、図２４（ｃ），図２５（ｃ）に示すような微分値画像、図２４（ｄ），図２５（ｄ）に示すような微分方向値画像、図２４（ｅ），図２５（ｅ）に示すような細線化画像、そして図２４（ｆ），図２５（ｂ）に示すような画像処理結果の画像に周期的に切り替わるのである。なお、図２５（ｆ）はエッジ延長した画像が表示される場合の例である。
【０１２６】
以上、第１１実施形態によれば、画像処理サブルーチンによる各画像処理過程および画像処理結果が適切であるか否かの確認が行うことができる。
【０１２７】
図２６，図２７は画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能による動作フロー図であり、これらの図を用いて本発明の第１２実施形態について説明する。
【０１２８】
第１２実施形態の画像処理プログラム作成システムは、画像処理プログラムのフローチャートを入出力表示装置１の画面に表示するとき、まず、画像処理プログラムのフローチャートを入出力表示装置１の画面に表示し、続いて入出力表示装置１の画面に表示したフローチャートに対して、操作入力装置３を通じた操作入力で指定された位置に、上記選択された画像処理サブルーチン候補を画像処理サブルーチンとして組み込んで、これが組み込まれて作成された画像処理プログラムのフローチャートを入出力表示装置１の画面に表示する処理を画像処理プログラム作成機能がさらに行う以外は第１０実施形態と同様に構成される。
【０１２９】
図２６において、領域指定部から画像処理サブルーチン選択指定部までを経た後、ステップＳ７１の「全体プログラム（画像処理プログラム）の読み込み」、ステップＳ７２の「入力装置による挿入位置指定」、ステップＳ７３の「指定位置へのプログラム挿入」、ステップＳ７４の「全体プログラムの格納」、ステップＳ７５の「表示データ読み込み」、ステップＳ７６の「画像処理サブルーチンのアイコン読み込み」、ステップＳ７７の「表示用アイコンの表示位置情報作成」、ステップＳ７８の「アイコン接続情報作成」、そしてステップＳ７９の「表示データ書き込み」の処理が順次実行される。なお、ステップＳ７５の表示データは、図２７（ａ）の画像処理プログラム格納部４５から読み出される。
【０１３０】
つまり、図２６のＳ７０内に示す「検査１」と「検査２」との間が指定されると、図２７（ｂ）に示すように、その指定された位置に、選択された画像処理サブルーチン候補が画像処理サブルーチンとして組み込まれる。図では、「検査１」と「検査２」との間に、異物検査およびかけ検査の画像処理サブルーチンが組み込まれている。そして、これらの画像処理サブルーチンが組み込まれて作成された画像処理プログラムのフローチャートが入出力表示装置１の画面に表示されるのである。
【０１３１】
以上、第１２実施形態によれば、画像処理サブルーチンを画像処理プログラムの所望する位置に組み込むことができるほか、前に作成した画像処理プログラムの所望する位置に、新たな画像処理サブルーチンを容易に組み込むことができるから、別の画像処理プログラムを作成するための時間を、前に作成した画像処理プログラムを土台にすることで大幅に削減することができる。
【０１３２】
図２８は画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の説明図であり、この図を用いて本発明の第１３実施形態について説明する。
【０１３３】
第１３実施形態の画像処理プログラム作成システムは、対象画像を入出力表示装置１の画面に表示するとき、まず、画像処理装置４の画像処理プログラムのフローチャートを、画像処理サブルーチン用のシンボルとともに入出力表示装置１の画面に表示し、続いて、操作入力装置を通じた操作入力による上記フローチャート上の上記シンボルの選択に応じて、対象画像を入出力表示装置１の画面に表示し、画像処理サブルーチンを画像処理プログラムに組み込むとき、選択された画像処理サブルーチン候補を、画像処理サブルーチンとして画像処理プログラム内の上記選択されたシンボルに対応する位置に組み込む処理を画像処理プログラム作成機能がさらに行う以外は第１実施形態と同様に構成される。
【０１３４】
図２８（ａ）において、画像処理記憶部４３１には、デフォルト処理用のデフォルトアイコンが格納されている。そして、第１実施形態では、ステップＳ１の前に、これからユーザに選択させる画像処理サブルーチン候補を画像処理サブルーチンとして挿入すべき画像処理プログラム内の位置を指定させるための画面に、入出力表示装置１の画面を切り替える処理が実行されるが、このとき、図２８（ｂ）に示すように、デフォルトアイコンを含む画像処理プログラムのフローチャートが入出力表示装置１の画面に表示されるのである。この後、第１実施形態と同様に、画像処理サブルーチン候補が選択されると、図２８（ｃ）に示すように、デフォルトアイコンの位置から、選択された画像処理サブルーチン候補が画像処理サブルーチンとして組み込まれる。
【０１３５】
以上、第１３実施形態によれば、画像処理プログラムを作成する前に、その全体を構成しておくことができ、ユーザは、画像処理プログラムのどこに、これから選択される画像処理サブルーチン候補が画像処理サブルーチンとして組み込まれるのかを理解することができる。画像処理プログラムの作成後でも、再度同様のステップを踏むことで、画像処理サブルーチンを変更することができる。例えば、画像処理対象の変更により、画像処理プログラムの全体を変更する必要はないが、ある画像処理サブルーチンを変更する必要がある場合などに対応可能となる。
【０１３６】
図２９は画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能による動作フロー図、図３０は図２９の動作フローの説明図であり、これらの図を用いて本発明の第１４実施形態について説明する。
【０１３７】
第１４実施形態の画像処理プログラム作成システムは、画像処理サブルーチンを画像処理プログラムに組み込んだ後、対象画像とともに指定領域を入出力表示装置１の画面に表示し、入出力表示装置１の画面に表示された指定領域を別の指定領域にコピーアンドペーストする、操作入力装置３を通じた操作入力に応じて、別の指定領域内の画像に対する画像処理サブルーチンとして、選択された画像処理サブルーチン候補を割り当てて画像処理プログラムを修正する処理を画像処理プログラム作成機能がさらに行う以外は第１実施形態と同様に構成される。
【０１３８】
図２９において、ステップＳ８１の「領域選択」、ステップＳ８２の「領域のコピー」、ステップＳ８３の「コピー先領域用画像処理プログラムの作成」、ステップＳ８４の「全体プログラムの読み込み」、ステップＳ８５の「コピーされた領域の画像処理サブルーチンの追加」、ステップＳ８６の「全体プログラムの格納」、ステップＳ８７の「表示データ読み込み」、ステップＳ８８の「表示用アイコンの表示位置情報作成」、ステップＳ８９の「アイコン接続情報作成」、そしてステップＳ９０の「表示データ書き込み」の各処理が順次実行される。
【０１３９】
ステップＳ８１，８２では、画像の領域を操作して、領域をコピーする。例えば、図３０（ａ）に示すように、操作入力装置３で、領域Ｒ２を選択してコピーし、別の場所に領域Ｒ３をペーストする。ステップＳ８３では、領域情報が操作入力装置３によって変更されていることを除き、コピー元領域において自動生成された画像処理プログラムのデータをコピーし、プログラムを生成する（図３０（ｂ）参照）。
【０１４０】
ここで、対称形の画像の場合には、一箇所で不良が見つかったとき、他と同じような箇所でも不良が発生する可能性が高い。コピー元の検査領域内でプログラムを調整したとき、コピー先の検査領域でも同じ検査をする必要がある可能性が高い。格納内容は、領域番号（各画像処理がどの領域を対象としているかを示すＩＤ）、領域種別（矩形、円、多角形など）、領域形状（頂点座標、中心座標・半径など）を含み、これらは操作入力装置の操作によるコピーの段階で変更される。
【０１４１】
つまり、図３０（ａ）に示すように、領域Ｒ２を領域Ｒ３にコピーアンドペーストすることで、図３０（ｄ）に示すように、領域Ｒ２に対する「領域Ｒ２の異物検査」、「領域Ｒ２のかけ検査」の処理がコピーされて、その下に領域Ｒ３に対する「領域Ｒ３の異物検査」、「領域Ｒ３のかけ検査」の処理が追加されるのである。なお、図３０（ａ）には配線パターンの画像が示されている。
【０１４２】
以上、第１４実施形態によれば、検査対象の特定部分の欠陥に的を絞って、適用すべき画像処理サブルーチンを決定するだけで、その欠陥が発生しそうな別の部分にも同じ画像処理サブルーチンを容易に適用することができ、これにより、画像処理プログラムの作成時間を大幅に短縮することができる。また、実際の検査対象の指定領域が多角形などで、矩形などの代表的な領域形状で表現し難い場合などでは、予め矩形などの代表的な領域形状の別の領域で画像処理サブルーチンを決定しておき、決定した画像処理サブルーチンの設定内容を所望の形状の指定領域にコピーすることで、この指定領域の画像処理サブルーチンを設定することができる。
【０１４３】
【発明の効果】
以上のことから明らかなように、請求項１記載の発明の画像処理プログラム作成方法は、画像表示用の表示手段と、各種操作入力用の入力手段と、予め分類された複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みの項目毎に、複数種類の画像処理サブルーチン候補を含む画像処理サブルーチン候補セットを記憶する記憶手段とを利用して、画像処理プログラム作成機能が画像処理装置の画像処理プログラムを作成する方法であって、画像処理対象の撮像で得た対象画像を前記表示手段に表示するステップと、前記複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みから、前記入力手段を通じた操作入力で選択された項目に応じて、対応する画像処理サブルーチン候補セットを前記記憶手段から選択するステップと、この選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補の各々を、前記入力手段を通じた操作入力で指定された指定領域内の、前記対象画像の全部または一部の画像に対して実行するステップと、前記選択された複数種類の画像処理サブルーチン候補の各実行結果を基に、前記選択された画像処理サブルーチン候補セットから選択された画像処理サブルーチン候補を、前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理装置の画像処理プログラムに組み込むステップとを有し、前記選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補に、共通する処理部分がある場合、それら複数種類の画像処理サブルーチン候補は、前記共通する処理部分を兼用し、前記共通する処理部分により処理された処理結果は一時的に記憶されるとともに、各画像処理サーブルーチン候補の処理時に、該処理結果がコピーされて使用されるので、ユーザに画像処理の知識が無くても画像処理装置の画像処理プログラムを簡単に作成することができるほか、画像処理の知識が不要となるため、その習得時間を削減することができる。また、ユーザが指定領域を設定するので、画像処理対象の間違った部分を検査する画像処理プログラムが作成されることがない。さらに、複数種類の画像処理対象項目および複数種類の検査項目の少なくとも一方の組みから項目が選択されるので、画像処理対象や検査目的に適した画像処理プログラムを作成することができ、また不要な項目が排除されるから、画像処理プログラムによる実行時間を短縮することができる。また、選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補に、共通する処理部分がある場合、それら複数種類の画像処理サブルーチン候補は、前記共通する処理部分を兼用するので、画像処理プログラムを作成するための実行時間を大幅に短縮することができる。
【０１４４】
請求項２記載の発明によれば、請求項１記載の画像処理プログラム作成方法において、前記指定領域内の画像に対して、前記選択された複数種類の画像処理サブルーチン候補の各々を実行した後、これら画像処理サブルーチン候補の各実行結果を前記表示手段に表示するステップをさらに有し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、前記表示手段に表示された各実行結果を基に、前記選択された画像処理サブルーチン候補セットから、前記入力手段を通じた操作入力で選択された画像処理サブルーチン候補を、前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理プログラムに組み込むので、ユーザに画像処理の知識が無くても画像処理装置の画像処理プログラムを作成することができる。また、選択された複数種類の画像処理サブルーチン候補の数が必要以上に多くなるという問題が生ぜず、各実行結果を基にした画像処理サブルーチン候補の選択操作が容易となる。さらに、対話式の面倒な設問に答えることなく、従ってその機能を設ける必要もなく、ユーザが満足する実行結果となった画像処理サブルーチンにより、ユーザの検査目的に合致した画像処理プログラムを作成することができ、画像処理プログラムの修正などを不要にすることができる。
【０１４５】
請求項３記載の発明によれば、請求項１記載の画像処理プログラム作成方法において、前記指定領域内の画像に対して、前記選択された複数種類の画像処理サブルーチン候補の各々を実行した後、これら画像処理サブルーチン候補の実行結果から、それぞれ、所定基準から乖離する度合いを示す乖離度を算出するステップをさらに有し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、前記算出された複数の乖離度を基に、前記選択された画像処理サブルーチン候補セットから自動的に画像処理サブルーチン候補を選択し、これを前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理プログラムに組み込むので、ユーザに画像処理の知識が無くても画像処理装置の画像処理プログラムをより簡単に作成することができる。また、例えば、画像処理サブルーチン候補セットに含まれる異なる画像処理サブルーチン候補（画像処理アルゴリズム）の各々によって欠陥が検出される場合、それらから、欠陥の検出に最適な画像処理サブルーチン候補を自動的に検出させる構成が可能となり、この場合、ユーザの判断ミスで最適でない画像処理サブルーチン候補が選ばれるといったことをなくすことができる。
【０１４６】
請求項４記載の発明によれば、請求項３記載の画像処理プログラム作成方法において、前記対象画像は、良品および不良品の複数の画像処理対象からそれぞれ複数得られ、前記対象画像を前記表示手段に表示するステップでは、前記複数の対象画像の少なくとも１つを前記表示手段に表示し、前記選択された複数種類の画像処理サブルーチン候補の各々を実行するステップでは、これら画像処理サブルーチン候補の各々を、前記複数の対象画像の各指定領域内の画像に対して実行し、前記乖離度を算出するステップでは、前記各対象画像に対する前記複数種類の画像処理サブルーチン候補の実行結果から、それぞれの画像処理サブルーチン候補に対する乖離度を統計的に算出し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、前記統計的に算出された各乖離度を基に、前記選択された画像処理サブルーチン候補セットから自動的に画像処理サブルーチン候補を選択し、これを前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理プログラムに組み込むので、ユーザに画像処理の知識が無くても画像処理装置の画像処理プログラムをより簡単に作成することができる。また、検査精度の最適な画像処理サブルーチン候補を画像処理サブルーチンとして統計的に自動選択することができる。
【０１４７】
請求項５記載の発明によれば、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記画像処理サブルーチン候補セットには、それぞれに互いに異なるパラメータの値が割り当てられた複数の同一フローの画像処理サブルーチン候補が含まれるので、より好適な画像処理プログラムを作成することができる。
【０１４８】
請求項６記載の発明によれば、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記入力手段を通じて操作入力された画像処理対象項目および検査目的項目の少なくとも一方の項目と、前記記憶手段に記憶されている全種類の画像処理サブルーチン候補から前記入力手段を通じた操作入力で選択された複数種類の画像処理サブルーチン候補とに応じて、これら画像処理サブルーチン候補を前記操作入力された項目に対応させて前記記憶手段に記憶するので、現場により一層適合した画像処理プログラムの作成が可能になる。
【０１５０】
請求項７記載の発明によれば、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記指定領域内の画像に対して、前記選択された複数種類の画像処理サブルーチン候補の各々を実行するステップでは、その複数種類の画像処理サブルーチン候補の各々に含まれるパラメータのうち、前記入力手段を通じた操作入力で選択されたパラメータとこのパラメータに対して指定された可変条件とに応じて、前記選択された複数種類の画像処理サブルーチン候補の各々を、これに含まれる前記選択されたパラメータを前記指定された可変条件で可変しながら、前記指定領域内の画像に対して実行し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、その画像処理サブルーチン内の前記選択されたパラメータの値を、前記各実行結果から得られるそのパラメータの適正範囲の中心値に設定するので、良不良判定が特定の範囲で一定する場合、画像処理プログラムに組み込む画像処理サブルーチン内の所望のパラメータの値が適正範囲の中心値に設定され、最も代表的なパラメータに設定される。
【０１５１】
請求項８記載の発明によれば、請求項２記載の画像処理プログラム作成方法において、前記選択された複数種類の画像処理サブルーチン候補の各実行結果を前記表示手段に表示するステップでは、これらの各実行結果とともに、前記対象画像または各実行結果を出した画像処理サブルーチン候補による前記対象画像に対する画像処理済みの画像を前記表示手段に表示するので、各実行結果の視認性が高まり、例えば、各実行結果のみでは画像処理サブルーチン候補の選択が困難である場合、画像処理済みの画像を参考にして適切な画像処理サブルーチン候補を画像処理サブルーチン候補として選択することが可能となる。
【０１５２】
請求項９記載の発明によれば、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記画像処理サブルーチンが組み込まれて作成された前記画像処理プログラムに、共通する処理部分がある場合、これらの処理部分を一の処理部分として統合するステップをさらに有するので、画像処理プログラムの容量を減らすことができるほか、その実行の高速化を図ることができる。また、画像処理プログラムが短くなり、全体の把握が容易になる。
【０１５３】
請求項１０記載の発明によれば、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記画像処理サブルーチンが組み込まれて作成された前記画像処理プログラムのフローチャートを前記表示手段に表示するステップをさらに有するので、各画像処理サブルーチンが画像処理プログラムのどこに組み込まれたかを容易に把握することができる。例えば、画像処理サブルーチンが画像処理プログラムに組み込まれる毎に、表示手段に画像処理プログラムのフローチャートが表示されるようにすれば、文字プログラミングに不慣れなユーザでも、フローチャートのシンボルが増えるのを確認することで、画像処理サブルーチンが画像処理プログラムのどこに組み込まれたのかを感覚的に把握することができる。
【０１５４】
請求項１１記載の発明によれば、請求項１０記載の画像処理プログラム作成方法において、前記画像処理プログラムのフローチャートを前記表示手段に表示するステップでは、そのフローチャート内の前記画像処理サブルーチンのシンボルと関連付けられた位置に、その画像処理サブルーチンによる前記対象画像に対する画像処理済みの画像を表示するので、対象画像の各指定領域内の画像に対する各画像処理サブルーチンによる実行結果を容易に検証することができる。
【０１５５】
請求項１２記載の発明によれば、請求項１０記載の画像処理プログラム作成方法において、前記画像処理プログラムのフローチャートを前記表示手段に表示するステップでは、そのフローチャート内の前記画像処理サブルーチンのシンボルに対する前記入力手段を通じた操作入力に応じて、対応する画像処理サブルーチンによる各画像処理過程の画像を順次切替表示するので、画像処理サブルーチンによる各画像処理過程および画像処理結果が適切であるか否かの確認が行うことができる。
【０１５６】
請求項１３記載の発明によれば、請求項１０記載の画像処理プログラム作成方法において、前記画像処理プログラムのフローチャートを前記表示手段に表示するステップでは、まず、画像処理プログラムのフローチャートを前記表示手段に表示し、続いてこの表示手段に表示したフローチャートに対して、前記入力手段を通じた操作入力で指定された位置に、前記選択された画像処理サブルーチン候補を画像処理サブルーチンとして組み込んで、これが組み込まれて作成された画像処理プログラムのフローチャートを前記表示手段に表示するので、画像処理サブルーチンを画像処理プログラムの所望する位置に組み込むことができるほか、別の画像処理プログラムを作成するための時間（工数）を、前に作成した画像処理プログラムを土台にすることで大幅に削減することができる。
【０１５７】
請求項１４記載の発明によれば、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記対象画像を前記表示手段に表示するステップでは、まず、前記画像処理装置の画像処理プログラムのフローチャートを、画像処理サブルーチン用のシンボルとともに前記表示手段に表示し、続いて、前記入力手段を通じた操作入力による前記フローチャート上の前記シンボルの選択に応じて、前記対象画像を前記表示手段に表示し、前記画像処理サブルーチンを前記画像処理プログラムに組み込むステップでは、前記選択された画像処理サブルーチン候補を、画像処理サブルーチンとして前記画像処理プログラム内の前記選択されたシンボルに対応する位置に組み込むので、画像処理プログラムを作成する前に、その全体を構成しておくことができる。ユーザは、画像処理プログラムのどこに、これから選択される画像処理サブルーチン候補が画像処理サブルーチンとして組み込まれるのかを理解することができる。画像処理プログラムの作成後でも、再度同様のステップを踏むことで、画像処理サブルーチンを変更することができる。例えば、画像処理対象の変更により、画像処理プログラムの全体を変更する必要はないが、ある画像処理サブルーチンを変更する必要がある場合などに対応可能となる。
【０１５８】
請求項１５記載の発明によれば、請求項１〜４のいずれかに記載の画像処理プログラム作成方法において、前記画像処理サブルーチンを前記画像処理プログラムに組み込んだ後、前記対象画像とともに前記指定領域を前記表示手段に表示するステップと、この表示手段に表示された指定領域を別の指定領域にコピーアンドペーストする前記入力手段を通じた操作入力に応じて、前記別の指定領域内の画像に対する画像処理サブルーチンとして、前記選択された画像処理サブルーチン候補を割り当てて前記画像処理プログラムを修正するステップとをさらに有するので、検査対象の特定部分の欠陥に的を絞って、適用すべき画像処理サブルーチンを決定するだけで、その欠陥が発生しそうな別の部分にも同じ画像処理サブルーチンを容易に適用することができる。これにより、画像処理プログラムの作成時間を大幅に短縮することができる。
【０１５９】
請求項１６記載の発明は、画像表示用の表示手段と、各種操作入力用の入力手段と、予め分類された複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みの項目毎に、複数種類の画像処理サブルーチン候補を含む画像処理サブルーチン候補セットを記憶する記憶手段とを利用して、画像処理装置の画像処理プログラムを作成する画像処理プログラム作成機能とにより構成される画像処理プログラム作成システムであって、前記画像処理プログラム作成機能は、画像処理対象の撮像で得た対象画像を前記表示手段に表示し、前記複数種類の画像処理対象項目および複数種類の検査目的項目の少なくとも一方の組みから、前記入力手段を通じた操作入力で選択された項目に応じて、対応する画像処理サブルーチン候補セットを前記記憶手段から選択し、この選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補の各々を、前記入力手段を通じた操作入力で指定された指定領域内の、前記対象画像の全部または一部の画像に対して実行し、前記選択された複数種類の画像処理サブルーチン候補の各実行結果を基に、前記選択された画像処理サブルーチン候補セットから選択された画像処理サブルーチン候補を、前記指定領域内の画像に対する画像処理サブルーチンとして前記画像処理装置の画像処理プログラムに組み込む各処理を実行し、前記選択された画像処理サブルーチン候補セットに含まれる複数種類の画像処理サブルーチン候補に、共通する処理部分がある場合、それら複数種類の画像処理サブルーチン候補は、前記共通する処理部分を兼用し、前記共通する処理部分により処理された処理結果は一時的に記憶されるとともに、各画像処理サーブルーチン候補の処理時に、該処理結果がコピーされて使用されるので、ユーザに画像処理の知識が無くても画像処理装置の画像処理プログラムを簡単に作成することができるほか、画像処理の知識が不要となるため、その習得時間を削減することができる。また、ユーザが指定領域を設定するので、画像処理対象の間違った部分を検査する画像処理プログラムが作成されることがない。さらに、複数種類の画像処理対象項目および複数種類の検査項目の少なくとも一方の組みから項目が選択されるので、画像処理対象や検査目的に適した画像処理プログラムを作成することができ、また不要な項目が排除されるから、画像処理プログラムによる実行時間を短縮することができる。
【図面の簡単な説明】
【図１】画像処理プログラム作成システムの構成図である。
【図２】図１の画像処理アルゴリズム記憶部の説明図である。
【図３】図１の画像処理プログラム作成システムに設けられる画像処理プログラム作成機能の動作フロー図である。
【図４】図３の動作フローの説明図である。
【図５】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の動作フロー図である。
【図６】図５の動作フローの説明図である。
【図７】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の動作フロー図である。
【図８】図７の動作フローの説明図である。
【図９】図７の動作フローの説明図である。
【図１０】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の説明図である。
【図１１】画像処理サブルーチン候補の選択、そのパラメータの修正および新たな画像処理サブルーチン候補の登録の説明図である。
【図１２】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の説明図である。
【図１３】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の説明図である。
【図１４】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能による動作フロー図である。
【図１５】図１４の動作フローの説明図である。
【図１６】図１４の動作フローの説明図である。
【図１７】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能による動作フロー図である。
【図１８】図１４の動作フローの説明図である。
【図１９】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の説明図である。
【図２０】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能による動作フロー図である。
【図２１】図２０の動作フローの説明図である。
【図２２】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能による動作フロー図である。
【図２３】図２２の動作フローの説明図である。
【図２４】図２２の動作フローの説明図であって、表示装置（入出力表示装置）上に表示された中間画像をプリンタで印刷出力して得た図面に代わる写真である。
【図２５】図２２の動作フローの説明図であって、表示装置（入出力表示装置）上に表示された中間画像をプリンタで印刷出力して得た図面に代わる写真である。
【図２６】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能による動作フロー図である。
【図２７】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能による動作フロー図である。
【図２８】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能の説明図である。
【図２９】画像処理プログラム作成システムに設けられる別の画像処理プログラム作成機能による動作フロー図である。
【図３０】図２９の動作フローの説明図である。
【符号の説明】
１  入出力表示装置
２  撮像装置
３  操作入力装置
４  画像処理装置４
【図１】
0004442042.tif 000002
【図２】
0004442042.tif 000003
【図３】
0004442042.tif 000004
【図４】
0004442042.tif 000005
【図５】
0004442042.tif 000006
【図６】
0004442042.tif 000007
【図７】
0004442042.tif 000008
【図８】
0004442042.tif 000009
【図９】
0004442042.tif 000010
【図１０】
0004442042.tif 000011
【図１１】
0004442042.tif 000012
【図１２】
0004442042.tif 000013
【図１３】
0004442042.tif 000014
【図１４】
0004442042.tif 000015
【図１５】
0004442042.tif 000016
【図１６】
0004442042.tif 000017
【図１７】
0004442042.tif 000018
【図１８】
0004442042.tif 000019
【図１９】
0004442042.tif 000020
【図２０】
0004442042.tif 000021
【図２１】
0004442042.tif 000022
【図２２】
0004442042.tif 000023
【図２３】
0004442042.tif 000024
【図２４】
0004442042.tif 000025
【図２５】
0004442042.tif 000026
【図２６】
0004442042.tif 000027
【図２７】
0004442042.tif 000028
【図２８】
0004442042.tif 000029
【図２９】
0004442042.tif 000030
【図３０】
0004442042.tif 000031