JP2021144404A - 画像処理装置、制御方法およびプログラム - Google Patents

画像処理装置、制御方法およびプログラム Download PDF

Info

Publication number
JP2021144404A
JP2021144404A JP2020041865A JP2020041865A JP2021144404A JP 2021144404 A JP2021144404 A JP 2021144404A JP 2020041865 A JP2020041865 A JP 2020041865A JP 2020041865 A JP2020041865 A JP 2020041865A JP 2021144404 A JP2021144404 A JP 2021144404A
Authority
JP
Japan
Prior art keywords
processing
custom
item
data
processing item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020041865A
Other languages
English (en)
Other versions
JP7363601B2 (ja
Inventor
耕平 永田
Kohei Nagata
耕平 永田
隆史 井尻
Takashi Ijiri
隆史 井尻
象平 中岡
Shohei Nakaoka
象平 中岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2020041865A priority Critical patent/JP7363601B2/ja
Priority to PCT/JP2020/047031 priority patent/WO2021181794A1/ja
Publication of JP2021144404A publication Critical patent/JP2021144404A/ja
Application granted granted Critical
Publication of JP7363601B2 publication Critical patent/JP7363601B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Stored Programmes (AREA)
  • Image Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

【課題】画像処理プログラムの作成の手間を低減可能な画像処理装置を提供する。【解決手段】設定部は、複数の処理項目から指定された1つ以上の指定処理項目によって構成されるカスタム理項目を新たな処理項目として処理項目グループに設定する。作成部は、カスタム処理項目が選択されたことに応じて、カスタム処理項目の実行に使用される1つ以上のパラメータの各々の設定値を受け付け、受け付けた設定値を示す第2データを作成する。実行部は、第1データによって示される1つ以上の処理項目にカスタム処理項目が含まれることに応じて、第2データによって示される設定値を用いて、カスタム処理項目を実行する。【選択図】図2

Description

本開示は、画像処理装置、制御方法およびプログラムに関する。
FA(Factory Automation)分野において、ワークなどの対象物を自動で検査するための技術が普及している。ワークの検査処理は、様々な処理項目の組み合わせからなる画像処理プログラムによって実現される。このような画像処理プログラムをユーザ自身で作成するためのユーザインターフェイスを提供するアプリケーションが開発されている。
例えば、特開2011−118467号公報(特許文献1)は、画像処理を行うためのプログラムを作成する情報処理装置を開示している。情報処理装置は、作成したプログラムを他のプログラムを作成する際に使用可能な新たな処理項目として登録する機能を有する。
特開2011−118467号公報
特許文献1に開示の技術によれば、登録された新たな処理項目を用いて画像処理プログラムを作成できる。ただし、特許文献1では、新たな処理項目を実行するときに使用されるパラメータの値の変更について考慮されていない。そのため、パラメータの値の変更を希望するユーザは、登録された新たな処理項目を利用することができない。その結果、画像処理プログラムの作成に手間がかかる。
本開示は、上記の問題に鑑みてなされたものであり、その目的は、画像処理プログラムの作成の手間を低減可能な画像処理装置、制御方法およびプログラムを提供することである。
本開示の一例によれば、画像処理装置は、画像処理プログラムに従って画像処理を実行する実行部と、作成部と、設定部とを備える。作成部は、処理項目グループに含まれる複数の処理項目からの画像処理プログラムに含ませる1つ以上の処理項目の選択、および、選択された1つ以上の処理項目の実行順序の指定を受け付けるユーザインターフェイスを提供する。作成部は、ユーザインターフェイスへの入力に応じて、1つ以上の処理項目と実行順序とを示す第1データを作成する。設定部は、複数の処理項目から指定された1つ以上の指定処理項目によって構成されるカスタム理項目を新たな処理項目として処理項目グループに設定する。作成部は、カスタム処理項目が選択されたことに応じて、ユーザインターフェイスを介して、カスタム処理項目の実行に使用される1つ以上のパラメータの各々の設定値を受け付け、受け付けた設定値を示す第2データを作成する。実行部は、第1データによって示される1つ以上の処理項目にカスタム処理項目が含まれることに応じて、第2データによって示される設定値を用いて、カスタム処理項目を実行する。
この開示によれば、ユーザは、登録するときに指定された値とは異なる値を用いてカスタム処理項目を実行したい場合であっても、当該カスタム処理項目を利用することができる。これにより、画像処理プログラムの作成の手間を低減できる。
上述の開示において、設定部は、カスタム処理項目を定義するカスタム定義データを作成する。実行部は、第1データによって示される1つ以上の処理項目にカスタム処理項目が含まれることに応じて、カスタム定義データと第1データとを用いて、画像処理プログラムを作成する。実行部は、設定部によるカスタム定義データの編集に応じて、画像処理プログラムを更新する。
この開示によれば、カスタム定義データを編集するだけで、カスタム処理項目を示す第1データを用いて作成される画像処理プログラムに編集内容を反映させることができる。
上述の開示において、設定部は、第2データが作成された後に、カスタム定義データの編集を実行可能である。カスタム定義データは、1つ以上のパラメータの各々の初期値を含む。実行部は、第1データによって示される1つ以上の処理項目にカスタム処理項目が含まれることに応じて、1つ以上のパラメータのうち第2データが作成されたパラメータについて設定値を用い、第2データが作成されていないパラメータについて初期値を用いて、カスタム処理項目を実行する。
この開示によれば、第2データの作成後に、カスタム定義データが編集され、新たなパラメータが必要になったとしても、当該新たなパラメータについて初期値を用いてカスタム処理項目が実行される。すなわち、第2データを編集しなくても、カスタム処理項目の実行が可能である。
上述の開示において、1つ以上のパラメータは、カスタム処理項目を構成する1つ以上の指定処理項目の各々について、当該指定処理項目を実行するための第1パラメータを含む。編集は、カスタム処理項目を構成する1つ以上の指定処理項目に新たな指定処理項目を追加する処理である。実行部は、第1データによって示される1つ以上の処理項目にカスタム処理項目が含まれることに応じて、新たな指定処理項目に対応する第1パラメータの値として初期値を用いて、新たな指定処理項目を実行する。実行部は、カスタム処理項目を構成する1つ以上の指定処理項目のうち残りの指定処理項目に対応する第1パラメータの値として設定値を用いて、残りの指定処理項目を実行する。
この開示によれば、第2データの作成後に、カスタム処理項目に新たな指定処理項目が追加されたとしても、当該新たな指定処理項目について設定値を設定しなくても、初期値を用いてカスタム処理項目が実行される。
上述の開示において、1つ以上のパラメータは、カスタム処理項目を構成する1つ以上の指定処理項目の各々について、有効または無効を示す第2パラメータを含む。実行部は、画像処理プログラムにカスタム処理項目が含まれることに応じて、カスタム処理項目を構成する1つ以上の指定処理項目のうち、第2パラメータが有効を示す指定処理項目を実行し、第2パラメータが無効を示す指定処理項目を実行しない。
この開示によれば、ユーザは、カスタム処理項目を構成する1つ以上の指定処理項目の各々について、当該指定処理項目の実行の有無を切り替えることができる。これにより、カスタム処理項目の利便性が高まる。
本開示の一例によれば、画像処理装置の制御方法は、第1のステップと、第2のステップとを備える。第1のステップは、処理項目グループに含まれる複数の処理項目からの画像処理プログラムに含ませる1つ以上の処理項目の選択、および、選択された1つ以上の処理項目の実行順序の指定を受け付けるユーザインターフェイスを提供し、ユーザインターフェイスへの入力に応じて、1つ以上の処理項目と実行順序とを示す第1データを作成するステップである。第2のステップは、画像処理プログラムに従って画像処理を実行するステップである。制御方法は、さらに、複数の処理項目から指定された1つ以上の指定処理項目によって構成されるカスタム処理項目を新たな処理項目として処理項目グループに設定する第3のステップを備える。
第1のステップは、カスタム処理項目が選択されたことに応じて、ユーザインターフェイスを介して、カスタム処理項目を実行するときに使用される1つ以上のパラメータの各々の設定値を受け付けるステップと、受け付けた設定値を示す第2データを作成するステップとを含む。第2のステップは、第1データによって示される1つ以上の処理項目にカスタム処理項目が含まれることに応じて、第2データによって示される設定値を用いて、カスタム処理項目を実行するステップを含む。
本開示の一例によれば、プログラムは、上記の制御方法をコンピュータに実行させる。これらの開示によっても、画像処理プログラムの作成の手間を低減できる。
本開示によれば、画像処理プログラムの作成の手間を低減できる。
本実施の形態に係る画像処理装置を含む画像処理システムの全体構成を示す概略図である。 カスタム処理項目を含む画像処理プログラムの作成手順の一例を示す図である。 画像処理装置のハードウェア構成を示す模式図である。 本実施の形態に係る画像処理装置の機能構成を示す模式図である。 カスタム定義データの一例を示す図である。 カスタム処理項目の設定画面の一例を示す図である。 指定処理項目「サーチ」および指定処理項目「位置ずれ修正」の処理内容を説明する図である。 指定処理項目の実行に使用される1つ以上のパラメータの初期値の設定方法の一例を示す図である。 各パラメータの値の変更可否の設定方法の一例を示す図である。 マクロコードの一例を示す図である。 フローデータを作成するための画面(フロー作成画面)の一例を示す図である。 パラメータの設定値を入力するときの設定画面の一例を示す図である。 フローデータおよび設定データの一例を示す図である。 画像処理プログラムの作成手順の動作例1を示す図である。 画像処理プログラムの作成手順の動作例2を示す図である。 画像処理プログラムの作成手順の動作例3を示す図である。 カスタム処理項目の登録処理の流れを示すフローチャートである。 画像処理プログラムを構成する処理項目としてカスタム処理項目が選択されたときの処理の流れを示すフローチャートである。 カスタム処理項目を含む画像処理プログラムの作成処理の流れを示すフローチャートである。 画像処理プログラムの作成手順の動作例4を示す図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。以下で説明される各変形例は、適宜選択的に組み合わされてもよい。
§1 適用例
図1および図2を参照して、本発明の適用例について説明する。本適用例では、ワークを検査するための画像処理プログラムを実行する画像処理装置を説明する。
図1は、本実施の形態に係る画像処理装置を含む画像処理システムの全体構成を示す概略図である。図1に示されるように、画像処理システム1は、主要なコンポーネントとして、視覚センサとも称される画像処理装置100と、画像処理装置100に接続された撮像部8と、画像処理装置100と通信可能なPLC(Programmable Logic Controller)5とを含む。一例として、表示部102と一体的に構成された画像処理装置100を示す。
画像処理装置100は、生産ラインに組み込まれ、対象物(以下、「ワークW」ともいう。)上の欠陥や汚れの有無の検査、ワークWの大きさや配置向きなどの計測、ワークW表面上の文字や図形などの認識といった画像処理を実行する。すなわち、画像処理装置100は、ワークWを撮像することで生成された画像データに対する画像処理を実行する。ワークWは、ベルトコンベヤなどの搬送機構6によって搬送され、撮像部8によって順次撮像される。PLC5は、画像処理装置100と連係して、搬送機構6などの制御を実行する。
撮像部8は、一例として、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった、複数の画素に区画された撮像素子を含んで構成される。撮像部8による撮像によって取得された画像データ(以下、「カメラ画像」ともいう。)は、画像処理装置100へ伝送される。そして、画像処理装置100は、撮像部8により撮像されたカメラ画像に対して画像処理を行なう。撮像部8によって撮像されるワークWに対して光を照射する照明装置をさらに設けてもよい。
画像処理装置100は、ワークWおよび検査目的に応じた画像処理プログラムの作成を支援するユーザインターフェイスを提供する。ユーザインターフェイスは、処理項目グループに含まれる複数の処理項目からの画像処理プログラムに含ませる1つ以上の処理項目の選択、および、選択された1つ以上の処理項目の実行順序の指定を受け付ける。画像処理装置100は、ユーザインターフェイスへの入力に応じて、画像処理プログラムに含まれる1つ以上の処理項目とその実行順序とを示すフローデータを作成する。
以下、画像処理装置100の出荷時点において処理項目グループに含まれる複数の処理項目の各々を「汎用処理項目」と称する。汎用処理項目として、画像の取り込みに関する処理項目、画像の補正に関する処理項目、画像に写る特徴部分に対する検査または計測に関する処理項目、上記の検査または計測の補助に関する処理項目、処理結果の出力に関する処理項目、処理結果の表示に関する処理項目、画像処理プログラムの分岐に関する処理項目などが挙げられる。
画像処理装置100は、処理項目グループから指定された1つ以上の指定処理項目によって構成されるカスタム処理項目を新たな処理項目として処理項目グループに設定する機能を有する。これにより、ユーザは、処理項目グループから上記1つ以上の指定処理項目を選択することなく、カスタム処理項目を選択することにより、上記1つ以上の指定処理項目を含む画像処理プログラムを容易に作成できる。
指定処理項目として、汎用処理項目が指定されてもよいし、既に登録された別のカスタム処理項目が指定されてもよい。
図2は、カスタム処理項目を含む画像処理プログラムの作成手順の一例を示す図である。図2には、汎用処理項目31a、汎用処理項目31b、汎用処理項目31c、カスタム処理項目32a、汎用処理項目31dをこの順に実行する画像処理プログラム30の作成手順が示される。
画像処理装置100は、処理項目グループに含まれる複数の処理項目の各々に対応する定義データを記憶している。具体的には、画像処理装置100には、各汎用処理項目を定義する汎用定義データ21と、各カスタム処理項目を定義するカスタム定義データ22とを記憶する。
汎用定義データ21は、対応する汎用処理項目のプログラムと、対応する汎用処理項目の実行に使用される1つ以上のパラメータの初期値とを含む。
カスタム定義データ22は、カスタム処理項目を処理項目グループに新規登録するときに作成される。カスタム定義データ22は、カスタム処理項目のプログラムと、カスタム処理項目の実行に使用される1つ以上のパラメータの初期値とを含む。なお、カスタム処理項目のプログラムは、カスタム処理項目を構成する1以上の指定処理項目の各々のプログラム自体を含んでもよいし、指定処理項目に対応する汎用定義データ21に含まれるプログラムを呼び出すコードを含んでもよい。
例えば、カスタム定義データ22aは、カスタム処理項目32aのプログラムと、カスタム処理項目32aを構成する3つの指定処理項目「明度補正」,「傷汚れ」および「ラベリング」の実行順序に関する情報と、3つの指定処理項目「明度補正」,「傷汚れ」および「ラベリング」の実行に使用されるパラメータの初期値25aとを含む。初期値25aは、カスタム処理項目32aを処理項目グループに新規登録するときにユーザによって指定される。
ユーザは、処理項目グループからの汎用処理項目31a〜31dおよびカスタム処理項目32aの選択、および、選択された汎用処理項目31a〜31dおよびカスタム処理項目32aの実行順序の指定をユーザインターフェイスに入力する。画像処理装置100は、ユーザインターフェイスへの入力に応じてフローデータ10を作成する。
フローデータ10は、汎用処理項目31a〜31dおよびカスタム処理項目32aをそれぞれ識別する処理項目名11a〜11d,12aを含む。さらに、フローデータ10は、処理項目名11a〜11d,12aの各々に対応付けられたユニット番号13を含む。ユニット番号13は、処理項目の配列順序に応じて付与される。ユニット番号13を確認することにより、対応する処理項目の実行順序を把握できる。上述したように、汎用処理項目として、画像処理プログラムの分岐に関する処理項目がある。画像処理プログラムの分岐に関する処理項目を含まない画像処理プログラムでは、ユニット番号13は、対応する処理項目の実行順序を示す。画像処理プログラムの分岐に関する処理項目を含む画像処理プログラムでは、分岐の条件に応じて、あるユニット番号の処理項目が飛ばされることがあるため、ユニット番号が実行順序を示すとは限らない。ただし、ユニット番号を確認することにより、対応する処理項目の実行順序を把握できる。
画像処理装置100は、ユーザインターフェイスを介して、汎用処理項目31a〜31dの各々について、当該汎用処理項目の実行に使用される1つ以上のパラメータの設定値を受け付ける。画像処理装置100は、受け付けた設定値を示す設定データを作成する。図2に示す例では、画像処理装置100は、汎用処理項目31a〜31dに対して設定データ14a〜14dをそれぞれ作成している。
さらに、本実施の形態に係る画像処理装置100は、カスタム処理項目32aが選択されたことに応じて、ユーザインターフェイスを介して、カスタム処理項目32aを実行するときに使用される1つ以上のパラメータの各々の設定値を受け付ける。画像処理装置100は、受け付けた設定値を示す設定データ15aを作成する。
図2に例示される設定データ15aは、カスタム処理項目32aを構成する3つの指定処理項目「明度補正」,「傷汚れ」および「ラベリング」の実行に使用されるパラメータの設定値を示す。
画像処理装置100は、フローデータ10と、設定データ14a〜14d,15aと、定義データ(汎用定義データ21およびカスタム定義データ22)とを用いて、画像処理プログラム30を作成する。
まず、画像処理装置100は、フローデータ10に含まれる、処理項目名11a〜11d,12aおよび各処理項目名に対応付けられたユニット番号13に基づいて、汎用処理項目31a、汎用処理項目31b、汎用処理項目31c、カスタム処理項目32a、汎用処理項目31dをこの順に実行する画像処理プログラム30を作成する。
具体的には、画像処理装置100は、処理項目名11a〜11d,12aにそれぞれ対応する汎用定義データ21a〜21d,カスタム定義データ22aを読み込む。画像処理装置100は、読み込んだ汎用定義データ21a〜21dおよびカスタム定義データ22aをユニット番号13に従って組み合わせることにより、画像処理プログラム30を作成する。
上述したように、汎用定義データ21a〜21dは、対応する汎用処理項目の実行に使用される1つ以上のパラメータの初期値を含む。同様に、カスタム定義データ22aも、対応するカスタム処理項目の実行に使用される1つ以上のパラメータの初期値25aを含む。画像処理装置100は、各パラメータの値として、汎用定義データ21a〜21dおよびカスタム定義データ22aによって示される初期値を一時的に設定する。
次に、画像処理装置100は、設定データ14a〜14dを読み込み、汎用処理項目31a〜31dの実行に使用される各パラメータの値を、設定データ14a〜14dによって示される設定値に変更する。同様に、画像処理装置100は、設定データ15aを読み込み、カスタム処理項目32aの実行に使用される各パラメータの値を、設定データ15aによって示される設定値に変更する。図2に示す例では、指定処理項目「明度補正」のパラメータ「オフセット」の値が「140」から「150」に変更され、指定処理項目「傷汚れ」のパラメータ「欠陥サイズ上限値」の値が「64」から「60」に変更され、指定処理項目「ラベリング」のパラメータ「穴埋め処理」の値が「する」から「しない」に変更される。その後、画像処理プログラム30の実行指示であるトリガ信号または外部コマンドを受けて、画像処理装置100は、画像処理プログラム30を実行する。これにより、画像処理装置100は、パラメータの値として設定データ14a〜14d,15aによって示される設定値を用いて、画像処理プログラム30を実行する。
以上のように、本実施の形態に係る画像処理装置100は、カスタム処理項目32aを実行するときに使用される1つ以上のパラメータの各々の設定値を受け付け、受け付けた設定値を用いてカスタム処理項目32aを実行する。そのため、ユーザは、登録するときに指定された初期値25aとは異なる値を用いてカスタム処理項目32aを実行したい場合であっても、当該カスタム処理項目32aを利用することができる。これにより、画像処理プログラム30の作成の手間を低減できる。
§2 具体例
<A.画像処理装置のハードウェア構成>
図3は、画像処理装置のハードウェア構成を示す模式図である。図3に示すように、画像処理装置100は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の処理を実現する。
より具体的には、画像処理装置100は、CPU(Central Processing Unit)やMP U(Micro-Processing Unit)などのプロセッサ110と、RAM(Random Access Memory)112と、表示コントローラ114と、システムコントローラ116と、I/O(Input Output)コントローラ118と、ハードディスク120と、カメラインターフェイス122と、入力インターフェイス124と、PLCインターフェイス126と、通信インターフェイス128と、メモリカードインターフェイス130とを含む。これらの各部は、システムコントローラ116を中心として、互いにデータ通信可能に接続される。
プロセッサ110は、システムコントローラ116との間でプログラム(コード)などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。
システムコントローラ116は、プロセッサ110、RAM112、表示コントローラ114、およびI/Oコントローラ118とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに、画像処理装置100全体の処理を司る。
RAM112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク120から読み出されたプログラムや、撮像部8によって取得されたカメラ画像(画像データ)、カメラ画像に対する処理結果、およびワークデータなどを保持する。
表示コントローラ114は、表示部102と接続されており、システムコントローラ116からの内部コマンドに従って、各種の情報を表示するための信号を表示部102へ出力する。表示部102は、一例として、液晶ディスプレイや有機EL(Electro Luminescence)ディスプレイや有機ELなどを含む。
I/Oコントローラ118は、画像処理装置100に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、I/Oコントローラ118は、ハードディスク120と、カメラインターフェイス122と、入力インターフェイス124と、PLCインターフェイス126と、通信インターフェイス128と、メモリカードインターフェイス130と接続される。
ハードディスク120は、典型的には、不揮発性の磁気記憶装置であり、プロセッサ110で実行される制御プログラム150を記憶する。このハードディスク120にインストールされる制御プログラム150は、メモリカード106などに格納された状態で流通する。さらに、ハードディスク120には、カメラ画像が格納される。なお、ハードディスク120に代えて、フラッシュメモリなどの半導体記憶装置やDVD−RAM(Digital Versatile Disk Random Access Memory)などの光学記憶装置を採用してもよい。
カメラインターフェイス122は、ワークWを撮像することで生成された画像データを受け付ける入力部に相当し、プロセッサ110と撮像部8との間のデータ伝送を仲介する。より具体的には、カメラインターフェイス122は、1つ以上の撮像部8と接続が可能であり、プロセッサ110からカメラインターフェイス122を介して撮像部8に撮像指示が出力される。これにより、撮像部8は、被写体を撮像し、カメラインターフェイス122を介して、生成された画像をプロセッサ110に出力する。
入力インターフェイス124は、プロセッサ110とキーボード104、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。すなわち、入力インターフェイス124は、ユーザが入力装置を操作することで与えられる操作指令を受け付ける。
PLCインターフェイス126は、プロセッサ110とPLC5との間のデータ伝送を仲介する。より具体的には、PLCインターフェイス126は、PLC5によって制御される生産ラインの状態に係る情報やワークWに係る情報などをプロセッサ110へ伝送する。
通信インターフェイス128は、プロセッサ110と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス128は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。なお、後述するように、メモリカード106に格納されたプログラムを画像処理装置100にインストールする形態に代えて、通信インターフェイス128を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置100にインストールしてもよい。一例として、通信インターフェイス128は、撮像部8の状態を表わす信号を撮像部8やPLC5などから受信する。当該信号は、撮像部8が撮像中であるか否かを示す。
メモリカードインターフェイス130は、プロセッサ110と記録媒体であるメモリカード106との間のデータ伝送を仲介する。すなわち、メモリカード106には、画像処理装置100で実行される制御プログラム150などが格納された状態で流通し、メモリカードインターフェイス130は、このメモリカード106から制御プログラム150を読み出す。また、メモリカードインターフェイス130は、プロセッサ110の内部指令に応答して、撮像部8によって取得されたカメラ画像および/または画像処理装置100における処理結果などをメモリカード106へ書き込む。なお、メモリカード106は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記録媒体や、CD−ROM(Compact Disk Read Only Memory)などの光学記録媒体等からなる。
上述のような汎用的なコンピュータアーキテクチャに従う構造を有するコンピュータを利用する場合には、本実施の形態に係る機能を提供するためのアプリケーションに加えて、コンピュータの基本的な機能を提供するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に係るプログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の順序および/またはタイミングで呼出して処理を実行するものであってもよい。すなわち、本実施の形態に係るプログラム自体は、上記のようなモジュールを含んでおらず、OSと協働して処理が実行される場合もある。
さらに、本実施の形態に係る制御プログラム150は、他のプログラムの一部に組み込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組み合わせられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係る制御プログラム150としては、このような他のプログラムに組み込まれた形態であってもよい。
なお、代替的に、制御プログラム150の実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
<B.画像処理装置の機能構成>
図4は、本実施の形態に係る画像処理装置の機能構成を示す模式図である。図4に示されるように、記憶部160と、設定部164と、作成部166と、プログラム実行部168とを備える。記憶部160は、ハードディスク120およびRAM112によって構成される。設定部164、作成部166およびプログラム実行部168は、プロセッサ110が制御プログラム150を実行することにより実現される。
記憶部160には、処理項目グループに含まれる各汎用処理項目に対応する汎用定義データ21と、処理項目グループに含まれる各カスタム処理項目に対応するカスタム定義データ22と、フローデータ10と、設定データ14,15とが保存される。
設定部164は、処理項目グループから指定された1つ以上の指定処理項目によって構成されるカスタム処理項目を新たな処理項目として処理項目グループに設定する。設定部164は、処理項目グループに設定したカスタム処理項目を定義するカスタム定義データ22を作成し、作成したカスタム定義データ22を記憶部160に保存する。
設定部164は、既に登録されているカスタム処理項目に対応するカスタム定義データ22の編集を実行可能である。なお、編集には、カスタム処理項目に対する指定処理項目の追加および削除が含まれる。
作成部166は、処理項目グループに含まれる複数の処理項目からの画像処理プログラムに含ませる1つ以上の処理項目の選択、および、選択された1つ以上の処理項目の実行順序の指定を受け付けるユーザインターフェイスを提供する。作成部166は、ユーザインターフェイスへの入力に応じてフローデータ10を作成する。
作成部166は、汎用処理項目が選択されたことに応じて、ユーザインターフェイスを介して、汎用処理項目を実行するときに使用される1つ以上のパラメータの各々の設定値を受け付ける。作成部166は、受け付けた設定値を示す設定データ14を作成する。
さらに、作成部166は、カスタム処理項目が選択されたことに応じて、ユーザインターフェイスを介して、カスタム処理項目を実行するときに使用される1つ以上のパラメータの各々の設定値を受け付ける。作成部166は、受け付けた設定値を示す設定データ15を作成する。
作成部166は、作成したフローデータ10および設定データ14,15を記憶部160に保存する。
プログラム実行部168は、フローデータ10と、設定データ14,15と、汎用定義データ21と、カスタム定義データ22とを用いて、画像処理プログラムを作成する。プログラム実行部168は、実行指示(トリガ信号や外部コマンドなど)に応じて、作成した画像処理プログラムを実行する。
<C.カスタム定義データ>
図5は、カスタム定義データの一例を示す図である。図5に例示されるカスタム定義データ22は、ファンクション部221と、マクロ部222と、変更可否データ225とを含む。
ファンクション部221は、カスタム処理項目を構成する1つ以上の指定処理項目の各々を識別する情報(例えば、処理項目名)を示す。
マクロ部222は、マクロコード223と、初期値データ224とを含む。マクロコード223は、ファンクション部221によって示される1つ以上の指定処理項目の実行順序、1つ以上の指定処理項目間の変数の受け渡し、表示部102への描画処理などを定義する。初期値データ224は、カスタム処理項目の実行に使用される1つ以上のパラメータの初期値を示す。
変更可否データ225は、カスタム処理項目の実行に使用される1つ以上のパラメータの各々について、初期値からの変更の可否を示す。なお、変更可否データ225は、初期値からの変更可であるパラメータの一覧を示してもよいし、初期値からの変更不可であるパラメータの一覧を示してもよい。
<D.カスタム処理項目の設定手順>
図6〜図9を参照して、カスタム処理項目の設定手順を説明する。図6は、カスタム処理項目の設定画面の一例を示す図である。図6に例示される設定画面60は、設定部164として動作するプロセッサ110によって、表示部102に表示される。
設定画面60は、カスタム処理項目を構成する1つ以上の指定処理項目を選択するためのタブ61を含む。図6には、タブ61が操作されたときの設定画面60が示される。設定画面60は、指定処理項目に対応するオブジェクトを配置するための作業領域62と、作業領域62にオブジェクトを追加するためのボタン63とを含む。
ボタン63の操作に応じて、プロセッサ110は、ウィンドウ64を表示部102に表示させる。ウィンドウ64は、処理項目グループに含まれる複数の処理項目のリスト65を含む。リスト65には、1つの処理項目を指定するためのカーソル65aが表示される。ユーザは、カーソル65aを移動させることにより、カスタム処理項目を構成する1つの処理項目を指定処理項目としてリスト65から指定する。
ウィンドウ64は、作業領域62への追加を実行するためのボタン66をさらに含む。ボタン66の操作に応じて、プロセッサ110は、カーソル65aによって指定された指定処理項目に対応するオブジェクト300を作業領域62に表示させる。
図6に例示される作業領域62には、指定処理項目「サーチ」に対応するオブジェクト300aと、指定処理項目「位置ずれ修正」に対応するオブジェクト300bとが追加されている。なお、指定処理項目「サーチ」および指定処理項目「位置ずれ修正」は、汎用処理項目である。ただし、上述したように、既に登録済みのカスタム処理項目が指定処理項目として指定されてもよい。
プロセッサ110は、作業領域62に配置された1つ以上のオブジェクト300に従って、カスタム定義データ22のファンクション部221を作成する。
図7は、指定処理項目「サーチ」および指定処理項目「位置ずれ修正」の処理内容を説明する図である。図7(a)には、指定処理項目「サーチ」の処理内容が示され、図7(b)には、指定処理項目「位置ずれ修正」の処理内容が示される。
図7(a)に示されるように、指定処理項目「サーチ」は、入力された画像の中から特徴部分50を探索する処理である。例えば、特徴部分50の写るモデル画像を用いたテンプレートマッチングにより、入力された画像から特徴部分50が探索される。
図7(a)および図7(b)に示されるように、処理項目「位置ずれ修正」は、入力された画像の座標を変換する処理である。図7では、特徴部分50が画像の中心に位置するように、入力された画像の座標が変換されている。
図8は、指定処理項目の実行に使用される1つ以上のパラメータの初期値の設定方法の一例を示す図である。図8に示されるように、設定画面60は、パラメータの初期値を入力するためのボタン67を含む。さらに、作業領域62には、1つの指定処理項目を選択するためのカーソル62aが表示されている。
ボタン67の操作に応じて、プロセッサ110は、カーソル62aによって選択されている指定処理項目に対応する定義データ(ここでは汎用定義データ21)を記憶部160から読み出す。さらに、プロセッサ110は、カーソル62aによって選択されている指定処理項目の実行に使用される1つ以上のパラメータの初期値の入力を促すウィンドウ68を表示部102に表示させる。
ウィンドウ68は、指定処理項目の実行に使用される1つ以上のパラメータのリスト69を含む。プロセッサ110は、指定処理項目に対応する汎用定義データ21に基づいて、リスト69を作成すればよい。リスト69は、各パラメータの初期値を入力するための入力欄69aを含む。ユーザは、入力欄69aに所望の初期値を入力する。
ウィンドウ68は、初期値の入力の完了を指示するためのボタン70を含む。ボタン70の操作に応じて、プロセッサ110は、指定処理項目を識別する情報(例えば処理項目名)と、ウィンドウ68に入力された、各パラメータの初期値とを示す初期値データ224を作成し、ウィンドウ68を閉じる。このようにして、プロセッサ110は、カスタム処理項目を構成する1つ以上の指定処理項目の各々について初期値データ224を作成する。
図9は、各パラメータの値の変更可否の設定方法の一例を示す図である。図9に示されるように、設定画面60は、変更可否を設定するためのタブ71を含む。タブ71の操作に応じて、プロセッサ110は、カスタム処理項目の実行に使用されるパラメータのリスト72を設定画面60内に表示させる。
リスト72は、各パラメータについて、変更可否を設定するためのチェックボックス72aを含む。例えば、ユーザは、変更可のパラメータに対応するチェックボックス72aをチェックし、変更不可のパラメータに対応するチェックボックス72aをチェックしない。プロセッサ110は、チェックボックス72aへの入力に従って、変更可否データ225(図5参照)を作成する。
図6に戻って、設定画面60は、カスタム処理項目に関する命令コードを入力するための作業領域73を含む。ユーザは、作業領域73に命令コードを入力する。設定画面60は、命令コードの入力を支援するためのボタン群74を含む。さらに、設定画面60は、作業領域73の入力された命令コードを一時保存するためのボタン75と、保存済の命令コードを読み込むためのボタン76とを含む。ユーザは、ボタン群74およびボタン75,76を操作することにより、命令コードを作業領域73に入力する。プロセッサ110は、作業領域73へ入力された命令コードに従って、マクロコード223を作成する。
図10は、マクロコードの一例を示す図である。図10に例示されるマクロコード223は、サブルーチンコード230a〜230dを含む。サブルーチンコード230a〜230dは、特定のタイミングで呼び出される処理を定義する。例えば、サブルーチンコード230aは、カスタム処理項目の実行時に呼び出される画像処理を定義する。サブルーチンコード230aによって、カスタム処理項目を構成する1つ以上の指定処理項目の実行順序が定義される。サブルーチンコード230bは、カスタム処理項目の実行に使用される1つ以上のパラメータに対して設定値が設定されたときに呼び出される設定処理を定義する。サブルーチンコード230cは、カスタム処理項目の実行時に読み出される画面描画処理を定義する。サブルーチンコード230dは、カスタム処理項目の実行に使用される1つ以上のパラメータの設定値を設定するときに呼び出される画面描画処理を定義する。なお、マクロコード223は、図10に例示されるものに限定されない。
図6に戻って、設定画面60は、カスタム処理項目に対応する処理項目名を入力するための入力欄77を含む。プロセッサ110は、入力欄77への入力に従って、カスタム処理項目に対応する処理項目名を設定する。
設定画面60は、カスタム処理項目に対応するカスタム定義データ22の作成を指示するボタン78を含む。ボタン78の操作に応じて、プロセッサ110は、上記のようにして作成されたファンクション部221、マクロコード223、初期値データ224および変更可否データ225を含むカスタム定義データ22を作成する。
なお、上記説明した設定手順は、カスタム処理項目を新規登録する際に限らず、登録済のカスタム処理項目の編集の際にも適用される。
<E.フローデータおよび設定データの作成手順>
図11は、フローデータを作成するための画面(フロー作成画面)の一例を示す図である。図11に例示されるフロー作成画面80は、作成部166として動作するプロセッサ110によって、表示部102に表示される。
フロー作成画面80は、処理項目グループに含まれる複数の処理項目のリスト81を含む。リスト81は、各汎用処理項目に対応するオブジェクト400と、各カスタム処理項目に対応するオブジェクト401とを含む。リスト81は、4つのオブジェクト401を含む。
フロー作成画面80は、画像処理プログラムに追加すべき処理項目に対応するオブジェクト400,401を配置するための作業領域82を含む。ユーザは、リスト81の中から、画像処理プログラムに含めたい処理項目に対応するオブジェクト400,401を選択し、作業領域82に配置する。図11に例示されるフロー作成画面80では、カスタム処理項目「位置ずれ修正II」に対応するオブジェクト400が作業領域82に配置されている。ユーザは、同一の処理項目を複数回実行させたい場合、複数の同一オブジェクトを作業領域82に配置すればよい。
プロセッサ110は、作業領域82に配置されたオブジェクト400,401とその配置順序とに従って、フローデータ10を作成する。
図12は、パラメータの設定値を入力するときの設定画面の一例を示す図である。図12に示されるように、作業領域82には、作業領域82に配置された1つのオブジェクトを選択するためのカーソル82aが表示される。さらに、フロー作成画面80は、処理項目の実行に使用される1つ以上のパラメータの設定値を設定するためのボタン83を含む。
ボタン83の操作に応じて、プロセッサ110は、カーソル82aによって選択されたオブジェクトに対応する処理項目の実行に使用される1つ以上のパラメータの設定値を入力するためのウィンドウ84を表示部102に表示させる。図12には、カスタム処理項目に対応するオブジェクト401が選択されたときのウィンドウ84が示される。
ウィンドウ84は、選択されたカスタム処理項目の実行に使用される1つ以上のパラメータのリスト85を含む。プロセッサ110は、選択されたカスタム処理項目に対応するカスタム定義データ22に含まれる初期値データ224に基づいて、リスト85を作成すればよい。ただし、プロセッサ110は、カスタム定義データ22に含まれる変更可否データ225によって変更不可が示されるパラメータをリスト85から除く。
リスト85は、各パラメータの設定値を入力するための入力欄85aを含む。ユーザは、入力欄85aに所望の設定値を入力する。
ウィンドウ84は、設定値の入力の完了を指示するためのボタン86を含む。ボタン86の操作に応じて、プロセッサ110は、ウィンドウ84に入力された設定値を示す設定データ15を作成し、ウィンドウ84を閉じる。なお、プロセッサ110は、カスタム定義データ22に含まれる変更可否データ225によって変更不可を示すパラメータについて、初期値データ224によって示される初期値を設定値として設定データ15を作成する。
同様の方法に従って、プロセッサ110は、作業領域82に配置されたオブジェクト400に対応する汎用処理項目の実行に使用される1つ以上のパラメータの設定値の入力を受け付け、当該設定値を示す設定データ14を作成すればよい。
図13は、フローデータおよび設定データの一例を示す図である。図13(a)には、汎用処理項目「画像入力」、カスタム処理項目「位置ずれ修正II」、汎用処理項目「文字検査」がこの順に実行されるフローを示すフローデータ10aが示される。図13(b)には、汎用処理項目「画像入力」、カスタム処理項目「位置ずれ修正II」、汎用処理項目「文字検査」、汎用処理項目「計測画像切替」、カスタム処理項目「位置ずれ修正II」、汎用処理項目「キズ汚れ」がこの順に実行されるフローを示すフローデータ10bが示される。
フローデータ10aは、汎用処理項目「画像入力」、カスタム処理項目「位置ずれ修正II」および汎用処理項目「文字検査」にそれぞれ対応する処理項目名11e,12b,11fを含む。同様に、フローデータ10bは、汎用処理項目「画像入力」、カスタム処理項目「位置ずれ修正II」、汎用処理項目「文字検査」、汎用処理項目「計測画像切替」、カスタム処理項目「位置ずれ修正II」および汎用処理項目「キズ汚れ」にそれぞれ対応する処理項目名11e,12b,11f,11g,12c,11hを含む。処理項目名12b,12cは、同一のカスタム処理項目を識別している。
各処理項目名には、実行順序に応じたユニット番号13が付与される。フローデータ10aは、処理項目名11e,12b,11fにそれぞれ対応付けられた「No.0」,「No.1」,「No.2」をユニット番号13として含む。フローデータ10bは、処理項目名11e,12b,11f,11g,12b,11hにそれぞれ対応付けられた「No.0」,「No.1」,「No.2」,「No.3」,「No.4」,「No.5」をユニット番号13として含む。
フローデータ10a,10bに含まれる処理項目名11,12およびユニット番号13により、画像処理プログラムに含まれる処理項目とその実行順序とが定義される。
さらに、フローデータ10aに含まれる処理項目名11e,12b,11fによって識別される処理項目に対して、パラメータの設定値を示す設定データ14e,15b,14fがそれぞれ作成される。同様に、フローデータ10bに含まれる処理項目名11e,12b,11f,11g,12c,11hによって識別される処理項目に対して、パラメータの設定値を示す設定データ14e,15b,14f,14g,15c,14hがそれぞれ作成される。
カスタム処理項目の実行に使用される1つ以上のパラメータの設定値を示す設定データ15b,15cの各々は、カスタム処理項目を構成する指定処理項目「サーチ」および指定処理項目「位置ずれ修正」それぞれの設定値16b,16cを示す。
プロセッサ110は、フローデータ10が1つ以上のカスタム処理項目を識別する処理項目名12を含むことに応じて、当該1つ以上のカスタム処理項目を構成する各指定処理項目に対してIDをユニークに付与する。
例えば、フローデータ10aに含まれる処理項目名12bによって識別されるカスタム処理項目を構成する指定処理項目「サーチ」および指定処理項目「位置ずれ修正」に対して、「ID=0」および「ID=1」が付与されている。
フローデータ10bに含まれる処理項目名12bによって識別されるカスタム処理項目を構成する指定処理項目「サーチ」および指定処理項目「位置ずれ修正」に対して、「ID=0」および「ID=1」が付与されている。さらに、フローデータ10bに含まれる処理項目名12cによって識別されるカスタム処理項目を構成する指定処理項目「サーチ」および指定処理項目「位置ずれ修正」に対して、「ID=2」および「ID=3」が付与されている。
<F.画像処理プログラムの作成手順>
次に、画像処理プログラムの作成手順について説明する。画像処理プログラムのうち汎用処理項目に対応する部分の作成手順は、公知であるため、その説明を省略する。以下、画像処理プログラムのうちカスタム処理項目に対応する部分の作成手順の動作例を説明する。
(F−1.動作例1)
図14は、画像処理プログラムの作成手順の動作例1を示す図である。図14に例示される作成手順は、図13(a)に示すフローデータ10aを作成した後、カスタム定義データ22が更新されていないことを前提としている。
プログラム実行部168として動作するプロセッサ110は、フローデータ10aに含まれる処理項目名12bに対応するカスタム定義データ22を読み込む。プロセッサ110は、読み込んだカスタム定義データ22を用いて、画像処理プログラムのうち、処理項目名12bによって識別されるカスタム処理項目の実行プログラム33bを作成する((1)カスタム処理項目に対応する部分のプログラムを作成)。すなわち、プロセッサ110は、カスタム定義データ22のマクロコード223に従って、ファンクション部221によって示される1つ以上の指定処理項目を順次呼び出す実行プログラム33bを作成する。
図14に例示される作成手順では、指定処理項目「サーチ」および指定処理項目「位置ずれ修正」をこの順に呼び出す実行プログラム33bが作成される。プロセッサ110は、実行プログラム33bにおいて、指定処理項目「サーチ」および指定処理項目「位置ずれ修正」に対して、フローデータ10aに従って、「ID=0」および「ID=1」をそれぞれ付与する。
次に、プロセッサ110は、実行プログラム33bの実行に使用されるパラメータの値として、カスタム定義データ22に含まれる初期値データ224によって示される初期値を一時的に設定する((2)パラメータの値として初期値を設定)。
その後、プロセッサ110は、設定データ15bを読み込み、実行プログラム33bの実行に使用されるパラメータの値を、設定データ15bによって示される設定値に変更する((3)パラメータの値を設定値に変更)。このとき、プロセッサ110は、指定処理項目ごとに付与されたIDを用いて、設定値を変更する。すなわち、プロセッサ110は、「ID=0」が付与された指定処理項目「サーチ」の実行に使用されるパラメータの値として、設定データ15bに含まれる、「ID=0」と対応付けられた設定値16aを設定する。同様に、プロセッサ110は、「ID=1」が付与された指定処理項目「位置ずれ修正」の実行に使用されるパラメータの値として、設定データ15bに含まれる、「ID=1」と対応付けられた設定値16bを設定する。
その後、プロセッサ110は、作成した画像処理プログラムの実行指示を受けると、当該画像処理プログラムを実行する。このとき、画像処理プログラムに含まれる実行プログラム33bは、登録するときに指定された初期値とは異なる設定値をパラメータの値として用いて実行される。
動作例1によれば、プロセッサ110は、登録するときに指定された初期値とは異なる設定値16a,16bを用いてカスタム処理項目を実行することができる。これにより、ユーザは、登録するときに指定された初期値とは異なる値を用いてカスタム処理項目を実行したい場合であっても、カスタム処理項目を利用することができる。これにより、画像処理プログラムの作成の手間を低減できる。
(F−2.動作例2)
図15は、画像処理プログラムの作成手順の動作例2を示す図である。図15に例示される作成手順は、図13(b)に示すフローデータ10bを作成した後、カスタム定義データ22が更新されていないことを前提としている。
プログラム実行部168として動作するプロセッサ110は、フローデータ10bに含まれる処理項目名12b,12cに対応するカスタム定義データ22を読み込む。プロセッサ110は、読み込んだカスタム定義データ22を用いて、画像処理プログラムのうち、処理項目名12b,12cによって識別されるカスタム処理項目の実行プログラム33b,33cをそれぞれ作成する((1)カスタム処理項目に対応する部分のプログラムを作成)。すなわち、プロセッサ110は、カスタム定義データ22のマクロコード223に従って、ファンクション部221によって示される1つ以上の指定処理項目を順次呼び出す実行プログラム33b,33cを作成する。
図15に例示される作成手順では、処理項目名12bに対応するユニット番号13が「No.1」を示すため、実行順序「1」に対応付けて、実行プログラム33bが作成される。同様に、処理項目名12cに対応するユニット番号13が「No.4」を示すため、実行順序「4」に対応付けて、実行プログラム33cが作成される。
図15に例示される作成手順では、処理項目名12b,12cは、指定処理項目「サーチ」および指定処理項目「位置ずれ修正」によって構成されるカスタム処理項目を識別する。そのため、実行プログラム33b,33cは、指定処理項目「サーチ」および指定処理項目「位置ずれ修正」をこの順に呼び出す。
上述したように、フローデータ10bにおいて、処理項目名12bによって識別されるカスタム処理項目を構成する指定処理項目「サーチ」および指定処理項目「位置ずれ修正」に対して、「ID=0」および「ID=1」が付与されている。そのため、プロセッサ110は、実行プログラム33bにおいて、指定処理項目「サーチ」および指定処理項目「位置ずれ修正」に対して、フローデータ10bに従って、「ID=0」および「ID=1」をそれぞれ付与する。
同様に、フローデータ10bにおいて、処理項目名12cによって識別されるカスタム処理項目を構成する指定処理項目「サーチ」および指定処理項目「位置ずれ修正」に対して、「ID=2」および「ID=3」が付与されている。そのため、プロセッサ110は、実行プログラム33cにおいて、指定処理項目「サーチ」および指定処理項目「位置ずれ修正」に対して、フローデータ10bに従って、「ID=2」および「ID=3」をそれぞれ付与する。
次に、プロセッサ110は、カスタム処理項目の実行に使用されるパラメータの値として、カスタム定義データ22に含まれる初期値データ224によって示される初期値を一時的に設定する((2)パラメータの値として初期値を設定)。
その後、プロセッサ110は、設定データ15b,15cを読み込み、カスタム処理項目の実行に使用されるパラメータの値を、設定データ15b,15cによって示される設定値に変更する((3)パラメータの値を設定値に変更)。このとき、プロセッサ110は、指定処理項目ごとに付与されたIDを用いて、設定値を変更する。
具体的には、プロセッサ110は、「ID=0」が付与された指定処理項目「サーチ」の実行に使用されるパラメータの値として、設定データ15bに含まれる、「ID=0」と対応付けられた設定値16aを設定する。同様に、プロセッサ110は、「ID=1」が付与された指定処理項目「位置ずれ修正」の実行に使用されるパラメータの値として、設定データ15bに含まれる、「ID=1」と対応付けられた設定値16bを設定する。プロセッサ110は、「ID=2」が付与された指定処理項目「サーチ」の実行に使用されるパラメータの値として、設定データ15cに含まれる、「ID=2」と対応付けられた設定値16aを設定する。プロセッサ110は、「ID=3」が付与された指定処理項目「位置ずれ修正」の実行に使用されるパラメータの値として、設定データ15cに含まれる、「ID=3」と対応付けられた設定値16bを設定する。
動作例2によれば、プロセッサ110は、フローデータ10bが同一の複数のカスタム処理項目に対応する処理項目名12b、12cを含む場合であっても、各カスタム処理項目を構成する各指定処理項目に対して、当該指定処理項目に付与されたIDを用いて設定値を適切に設定できる。
(F−3.動作例3)
図16は、画像処理プログラムの作成手順の動作例3を示す図である。図16に例示される作成手順は、図13(a)に示すフローデータ10aを作成した後、カスタム定義データ22が更新されたことを前提としている。
図16に例示される作成手順では、カスタム処理項目に新たな指定処理項目「明度補正」が追加されている。そのため、カスタム定義データ22は、指定処理項目「明度補正」の実行に使用されるパラメータの初期値を含む初期値データ224を含む。
プログラム実行部168として動作するプロセッサ110は、フローデータ10aに含まれる処理項目名12bに対応するカスタム定義データ22を読み込む。プロセッサ110は、読み込んだカスタム定義データ22を用いて、画像処理プログラムのうち、処理項目名12bによって識別されるカスタム処理項目の実行プログラム33dを作成する((1)カスタム処理項目に対応する部分のプログラムを作成)。すなわち、プロセッサ110は、カスタム定義データ22のマクロコード223に従って、ファンクション部221によって示される1つ以上の指定処理項目を順次呼び出す実行プログラム33dを作成する。
図16に示されるように、実行プログラム33dは、指定処理項目「明度補正」、指定処理項目「サーチ」および指定処理項目「位置ずれ修正」をこの順に呼び出す。プロセッサ110は、実行プログラム33dにおいて、指定処理項目「サーチ」および指定処理項目「位置ずれ修正」に対して、フローデータ10aに従って、「ID=0」および「ID=1」をそれぞれ付与する。さらに、プロセッサ110は、フローデータ10aが指定処理項目「明度補正フィルタ」に対するIDを含まないため、指定処理項目「明度補正」に対してユニークなID(図では「ID=2」)を付与する。
次に、プロセッサ110は、カスタム処理項目の実行に使用されるパラメータの値として、カスタム定義データ22に含まれる初期値データ224によって示される初期値を一時的に設定する((2)パラメータの値として初期値を設定)。
その後、プロセッサ110は、設定データ15bを読み込み、カスタム処理項目の実行に使用されるパラメータの値を、設定データ15bによって示される設定値に変更する((3)パラメータの値を設定値に変更)。このとき、プロセッサ110は、指定処理項目ごとに付与されたIDを用いて、設定値を変更する。
具体的には、プロセッサ110は、「ID=0」が付与された指定処理項目「サーチ」の実行に使用されるパラメータの値として、設定データ15bに含まれる、「ID=0」と対応付けられた設定値16aを設定する。同様に、プロセッサ110は、「ID=1」が付与された指定処理項目「位置ずれ修正」の実行に使用されるパラメータの値として、設定データ15bに含まれる、「ID=1」と対応付けられた設定値16bを設定する。
プロセッサ110は、「ID=2」が付与された指定処理項目「明度補正フィルタ」の実行に使用されるパラメータの設定値が設定データ15bに含まれないことを認識し、当該パラメータの値を変更しない。すなわち、指定処理項目「明度補正フィルタ」の実行に使用されるパラメータの値として、カスタム定義データ22に含まれる初期値データ224によって示される初期値が維持される。
その後、プロセッサ110は、作成した画像処理プログラムの実行指示を受けると、当該画像処理プログラムを実行する。このとき、フローデータ10aの作成後にカスタム処理項目に追加された指定処理項目「明度補正フィルタ」は、カスタム定義データ22の初期値データ224によって示される初期値を用いて実行される。このように、フローデータ10aを作成した後にカスタム処理項目が編集されたとしても、フローデータ10aの編集を行なうことなく、カスタム処理項目の編集を画像処理プログラムに反映させることができる。
<G.画像処理装置の制御方法>
図17〜図19を参照して、画像処理装置の制御方法について説明する。
(G−1.カスタム処理項目の登録)
図17は、カスタム処理項目の登録処理の流れを示すフローチャートである。
まず、プロセッサ110は、カスタム処理項目を構成する1つ以上の指定処理項目の指定を受け付け、受け付けた1つ以上の指定処理項目を示すファンクション部221を作成する(ステップS1)。
次に、プロセッサ110は、カスタム処理項目のマクロコード223を作成する(ステップS2)。マクロコード223は、1つ以上の指定処理項目の呼び出し順序、各指定処理項目への変数の割り当て、カスタム処理項目に関する設定画面および実行画面の描画などを定義する。プロセッサ110は、マクロコード223自体の入力を受け付けてもよいし、マクロコード223の作成を支援する画面を表示部102に表示させ、入力された情報に基づいて、マクロコード223を作成してもよい。
次に、プロセッサ110は、カスタム処理項目の実行に使用される1つ以上のパラメータの初期値を示す初期値データ224を作成する(ステップS3)。具体的には、プロセッサ110は、初期値を入力するためのウィンドウを表示部102に表示させ、入力に従って初期値データ224を作成する。
次に、プロセッサ110は、カスタム処理項目の実行に使用される1つ以上のパラメータの各々について、変更可否を示す変更可否データ225を作成する(ステップS4)。具体的には、プロセッサ110は、変更可否を入力するためのウィンドウを表示部102に表示させ、入力に従って変更可否データ225を作成する。
最後に、プロセッサ110は、ファンクション部221、マクロコード223、初期値データ224および変更可否データ225を含むカスタム定義データ22を保存する。これにより、カスタム定義データ22によって定義されるカスタム処理項目が処理項目グループに登録される(ステップS5)。ステップS5の完了後、プロセッサ110は、カスタム処理項目の登録処理を終了する。
ステップS2〜S4の処理順序はこれに限定されず、適宜入れ替えてもよい。また、カスタム処理項目の実行に使用される1つ以上のパラメータの全てを変更可とする場合には、ステップS4は省略されてもよい。また、図17に示すステップS1〜S5は、登録済のカスタム処理項目の編集にも適用される。
(G−2.画像処理プログラムを構成する処理項目としてカスタム処理項目が選択されたときの処理)
図18は、画像処理プログラムを構成する処理項目としてカスタム処理項目が選択されたときの処理の流れを示すフローチャートである。
まず、プロセッサ110は、選択されたカスタム処理項目を識別する処理項目名と、当該カスタム処理項目に対応するユニット番号とを含むフローデータ10を作成する(ステップS11)。
次に、プロセッサ110は、選択されたカスタム処理項目に対応するカスタム定義データ22を読み込む(ステップS12)。
次に、プロセッサ110は、選択されたカスタム処理項目の実行に使用される1つ以上のパラメータの設定値を受け付け、受け付けた設定値を示す設定データ15を作成する(ステップS13)。カスタム処理項目の実行に使用される1つ以上のパラメータの種類は、カスタム定義データ22の初期値データ224によって定義される。また、カスタム定義データ22が変更可否データ225を含む場合、プロセッサ110は、変更可であるパラメータのみ設定値を受け付ければよい。
ステップS13の後、プロセッサ110は、処理を終了する。なお、ステップS11は、ステップS13の後に実行されてもよい。
(G−3.カスタム処理項目を含む画像処理プログラムの作成処理)
図19は、カスタム処理項目を含む画像処理プログラムの作成処理の流れを示すフローチャートである。
まず、プロセッサ110は、フローデータ10に含まれる処理項目名12とそのユニット番号とに基づいて、当該処理項目名12によって識別されるカスタム処理項目の実行順序を決定する(ステップS21)。
次に、プロセッサ110は、フローデータ10に含まれる処理項目名12に対応するカスタム定義データ22を読み込む(ステップS22)。
プロセッサ110は、カスタム定義データ22に基づいて、カスタム処理項目を実行するためのプログラムを作成する(ステップS23)。さらに、プロセッサ110は、カスタム処理項目の実行に使用されるパラメータの値を、カスタム定義データ22の初期値データ224によって示される初期値に一時的に設定する(ステップS24)。
次に、プロセッサ110は、フローデータ10に含まれる処理項目名12に対応する設定データ15を読み込む(ステップS25)。プロセッサ110は、カスタム処理項目の実行に使用されるパラメータの値を、初期値から設定データ15によって示される設定値に変更する(ステップS26)。ステップS26の後、プロセッサ110は、処理を終了する。
<H.作用・効果>
以上のように、本実施の形態に係る画像処理装置100は、画像処理プログラムに従って画像処理を実行するプログラム実行部168と、作成部166と、設定部164とを備える。作成部166は、処理項目グループに含まれる複数の処理項目からの画像処理プログラムに含ませる1つ以上の処理項目の選択、および、選択された1つ以上の処理項目の実行順序の指定を受け付けるユーザインターフェイスを提供する。作成部166は、ユーザインターフェイスへの入力に応じて、1つ以上の処理項目と実行順序とを示すフローデータ10を作成する。設定部164は、処理項目グループに含まれる複数の処理項目から指定された1つ以上の指定処理項目によって構成されるカスタム処理項目を新たな処理項目として処理項目グループに設定する。作成部166は、カスタム処理項目が選択されたことに応じて、ユーザインターフェイスを介して、カスタム処理項目の実行に使用される1つ以上のパラメータの各々の設定値を受け付け、受け付けた設定値を示す設定データ15を作成する。プログラム実行部168は、フローデータ10によって示される1つ以上の処理項目にカスタム処理項目が含まれることに応じて、設定データ15によって示される設定値を用いて、カスタム処理項目を実行する。
上記の構成によれば、ユーザは、登録するときに指定された初期値とは異なる値を用いてカスタム処理項目を実行したい場合であっても、当該カスタム処理項目を利用することができる。これにより、画像処理プログラムの作成の手間を低減できる。
設定部164は、カスタム処理項目を定義するカスタム定義データ22を作成する。プログラム実行部168は、フローデータ10によって示される1つ以上の処理項目にカスタム処理項目が含まれることに応じて、カスタム定義データ22とフローデータ10とを用いて、画像処理プログラムを作成する。プログラム実行部168は、設定部164によるカスタム定義データ22の編集に応じて、画像処理プログラムを更新する。
上記の構成によれば、カスタム定義データ22を編集するだけで、カスタム処理項目を示すフローデータ10を用いて作成される画像処理プログラムに編集内容を反映させることができる。
例えば、設定部164は、設定データ15が作成された後に、カスタム定義データ22の編集を実行可能である。カスタム定義データ22は、カスタム処理項目の実行に使用される1つ以上のパラメータの各々の初期値を含む。プログラム実行部168は、フローデータ10によって示される1つ以上の処理項目にカスタム処理項目が含まれることに応じて、1つ以上のパラメータのうち設定データ15が作成されたパラメータについて設定値を用い、設定データ15が作成されていないパラメータについて初期値を用いて、カスタム処理項目を実行する。
上記の構成によれば、設定データ15の作成後に、カスタム定義データ22が編集され、新たなパラメータが必要になったとしても、当該新たなパラメータについて初期値を用いてカスタム処理項目が実行される。すなわち、設定データ15を編集しなくても、カスタム処理項目の実行が可能である。
カスタム処理項目の実行に使用される1つ以上のパラメータは、カスタム処理項目を構成する1つ以上の指定処理項目の各々について、指定処理項目を実行するためのパラメータを含む。編集は、カスタム処理項目を構成する1つ以上の指定処理項目に新たな指定処理項目を追加する処理である。プログラム実行部168は、フローデータ10によって示される1つ以上の処理項目にカスタム処理項目が含まれることに応じて、上記の新たな指定処理項目に対応するパラメータの値として初期値を用いて、上記の新たな指定処理項目を実行する。プログラム実行部168は、カスタム処理項目を構成する1つ以上の指定処理項目のうち残りの指定処理項目に対応するパラメータの値として設定値を用いて、当該残りの指定処理項目を実行する。
上記の構成によれば、設定データ15の作成後に、カスタム処理項目に新たな指定処理項目が追加されたとしても、当該新たな指定処理項目について設定値を設定しなくても、初期値を用いてカスタム処理項目が実行される。
<I.変形例>
カスタム処理項目の実行に使用されるパラメータは、カスタム処理項目を構成する1つ以上の指定処理項目の実行の有無を切り替えるための切替フラグを含んでもよい。
図20は、画像処理プログラムの作成手順の動作例4を示す図である。図20に示されるように、カスタム定義データ22の初期値データ224は、カスタム処理項目「位置ずれ修正II」を構成する指定処理項目「明度補正」、「サーチ」および「位置ずれ修正」の各々について、切替フラグを含む。
フローデータ10aは、カスタム処理項目「位置ずれ修正II」を識別する処理項目名12bを含む。処理項目名12bによって識別される処理項目に対して、パラメータの設定値を示す設定データ15bがそれぞれ作成される。設定データ15bは、カスタム処理項目「位置ずれ修正II」を構成する指定処理項目「明度補正」、「サーチ」および「位置ずれ修正」の各々について、切替フラグを含む。ユーザは、図12に例示されるウィンドウ84において、切替フラグの値(「有効」または「無効」)を入力すればよい。
プログラム実行部168として動作するプロセッサ110は、フローデータ10aに含まれる処理項目名12bに対応するカスタム定義データ22を読み込む。プロセッサ110は、読み込んだカスタム定義データ22を用いて、画像処理プログラムのうち、処理項目名12bによって識別されるカスタム処理項目の実行プログラム33bを作成する((1)カスタム処理項目に対応する部分のプログラムを作成)。
次に、プロセッサ110は、実行プログラム33bの実行に使用されるパラメータの値として、カスタム定義データ22に含まれる初期値データ224によって示される初期値を一時的に設定する((2)パラメータの値として初期値を設定)。
その後、プロセッサ110は、設定データ15bを読み込み、実行プログラム33bの実行に使用されるパラメータの値を、設定データ15bによって示される設定値に変更する((3)パラメータの値を設定値に変更)。
図20に例示される作成手順では、カスタム処理項目「位置ずれ修正II」を構成する指定処理項目「明度補正」の切替フラグが、初期値「有効」から設定値「無効」に変更されている。
プロセッサ110は、切替フラグが「有効」である指定処理項目を実行し、切替フラグが「無効」である指定処理項目を実行しない。そのため、図20に例示される作成手順によって作成された画像処理プログラムに従って、プロセッサ110は、カスタム処理項目を実行する際に、指定処理項目「明度補正」の実行を省略する。
変形例によれば、ユーザは、カスタム処理項目を構成する1つ以上の指定処理項目の各々について、当該指定処理項目の実行の有無を切り替えることができる。これにより、カスタム処理項目の利便性が高まる。
§3 付記
以上のように、本実施の形態は以下のような開示を含む。
(構成1)
画像処理装置(100)であって、
画像処理プログラムに従って画像処理を実行する実行部(110,168)と、
処理項目グループに含まれる複数の処理項目からの前記画像処理プログラムに含ませる1つ以上の処理項目の選択、および、選択された前記1つ以上の処理項目の実行順序の指定を受け付けるユーザインターフェイスを提供し、前記ユーザインターフェイスへの入力に応じて、前記1つ以上の処理項目と前記実行順序とを示す第1データ(10,10a,10b)を作成する作成部(110,166)と、
前記複数の処理項目から指定された1つ以上の指定処理項目によって構成されるカスタム処理項目を新たな処理項目として前記処理項目グループに設定する設定部(110,164)とを備え、
前記作成部(110,166)は、
前記カスタム処理項目が選択されたことに応じて、前記ユーザインターフェイスを介して、前記カスタム処理項目の実行に使用される1つ以上のパラメータの各々の設定値を受け付け、
受け付けた設定値を示す設定データ(15,15a〜15c)を作成し、
前記実行部(110,168)は、前記第1データ(10,10a,10b)によって示される前記1つ以上の処理項目に前記カスタム処理項目が含まれることに応じて、前記設定データ(15,15a〜15c)によって示される設定値を用いて、前記カスタム処理項目を実行する、画像処理装置(100)。
(構成2)
前記設定部(110,164)は、
前記カスタム処理項目を定義するカスタム定義データ(22,22a)を作成し、
前記実行部(110,168)は、
前記第1データ(10,10a,10b)によって示される前記1つ以上の処理項目に前記カスタム処理項目が含まれることに応じて、前記カスタム定義データ(22,22a)と前記第1データ(10,10a,10b)とを用いて、前記画像処理プログラムを作成し、
前記設定部(110,164)による前記カスタム定義データ(22,22a)の編集に応じて、前記画像処理プログラムを更新する、構成1に記載の画像処理装置(100)。
(構成3)
前記設定部(110,164)は、前記設定データ(15,15a〜15c)が作成された後に、前記カスタム定義データ(22,22a)の編集を実行可能であり、
前記カスタム定義データは、前記1つ以上のパラメータの各々の初期値を含み、
前記実行部(110,168)は、前記第1データ(10,10a,10b)によって示される前記1つ以上の処理項目に前記カスタム処理項目が含まれることに応じて、前記1つ以上のパラメータのうち前記設定データが作成されたパラメータについて前記設定値を用い、前記設定データが作成されていないパラメータについて前記初期値を用いて、前記カスタム処理項目を実行する、構成2に記載の画像処理装置(100)。
(構成4)
前記1つ以上のパラメータは、前記カスタム処理項目を構成する前記1つ以上の指定処理項目の各々について、当該指定処理項目を実行するための第1パラメータを含み、
前記編集は、前記カスタム処理項目を構成する前記1つ以上の指定処理項目に新たな指定処理項目を追加する処理であり、
前記実行部(110,168)は、前記第1データ(10,10a,10b)によって示される前記1つ以上の処理項目に前記カスタム処理項目が含まれることに応じて、前記新たな指定処理項目に対応する前記第1パラメータの値として前記初期値を用いて、前記新たな指定処理項目を実行し、前記カスタム処理項目を構成する前記1つ以上の指定処理項目のうち残りの指定処理項目に対応する前記第1パラメータの値として前記設定値を用いて、前記残りの指定処理項目を実行する、構成3に記載の画像処理装置(100)。
(構成5)
前記1つ以上のパラメータは、前記カスタム処理項目を構成する前記1つ以上の指定処理項目の各々について、有効または無効を示す第2パラメータを含み、
前記実行部(110,168)は、前記画像処理プログラムに前記カスタム処理項目が含まれることに応じて、前記カスタム処理項目を構成する前記1つ以上の指定処理項目のうち、前記第2パラメータが有効を示す指定処理項目を実行し、前記第2パラメータが無効を示す指定処理項目を実行しない、構成1に記載の画像処理装置(100)。
(構成6)
画像処理装置(100)の制御方法であって、
処理項目グループに含まれる複数の処理項目からの画像処理プログラムに含ませる1つ以上の処理項目の選択、および、選択された前記1つ以上の処理項目の実行順序の指定を受け付けるユーザインターフェイスを提供し、前記ユーザインターフェイスへの入力に応じて、前記1つ以上の処理項目と前記実行順序とを示す第1データ(10,10a,10b)を作成するステップと、
前記画像処理プログラムに従って画像処理を実行するステップとを備え、
前記制御方法は、さらに、
前記複数の処理項目から指定された1つ以上の指定処理項目によって構成されるカスタム処理項目を新たな処理項目として前記処理項目グループに設定するステップを備え、
前記第1データ(10,10a,10b)を作成するステップは、
前記カスタム処理項目が選択されたことに応じて、前記ユーザインターフェイスを介して、前記カスタム処理項目を実行するときに使用される1つ以上のパラメータの各々の設定値を受け付けるステップと、
受け付けた設定値を示す設定データ(15,15a〜15c)を作成するステップとを含み、
前記実行するステップは、前記第1データ(10,10a,10b)によって示される前記1つ以上の処理項目に前記カスタム処理項目が含まれることに応じて、前記設定データ(15,15a〜15c)によって示される設定値を用いて、前記カスタム処理項目を実行するステップを含む、制御方法。
(構成7)
構成6に記載の制御方法をコンピュータに実行させるプログラム。
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 画像処理システム、5 PLC、6 搬送機構、8 撮像部、10,10a,10b フローデータ、11,11a〜11h,12,12a〜12c 処理項目名、13 ユニット番号、14,14a〜14h,15,15a〜15c 設定データ、16a,16b,16c 設定値、21,21a〜21d 汎用定義データ、22,22a カスタム定義データ、25a 初期値、30 画像処理プログラム、31a〜31d 汎用処理項目、32a カスタム処理項目、33b〜33d 実行プログラム、50 特徴部分、60 設定画面、61,71 タブ、62,73,82 作業領域、62a,65a,82a カーソル、63,66,67,70,75,76,78,83,86 ボタン、64,68,84 ウィンドウ、65,69,72,81,85 リスト、69a,77,85a 入力欄、72a チェックボックス、74 ボタン群、80 フロー作成画面、100 画像処理装置、102 表示部、104 キーボード、106 メモリカード、110 プロセッサ、112 RAM、114 表示コントローラ、116 システムコントローラ、118 I/Oコントローラ、120 ハードディスク、122 カメラインターフェイス、124 入力インターフェイス、126 PLCインターフェイス、128 通信インターフェイス、130 メモリカードインターフェイス、150 制御プログラム、160 記憶部、164 設定部、166 作成部、168 プログラム実行部、221 ファンクション部、222 マクロ部、223 マクロコード、224 初期値データ、225 変更可否データ、230a〜230d サブルーチンコード、300,300a,300b,400,401 オブジェクト、W ワーク。

Claims (7)

  1. 画像処理装置であって、
    画像処理プログラムに従って画像処理を実行する実行部と、
    処理項目グループに含まれる複数の処理項目からの前記画像処理プログラムに含ませる1つ以上の処理項目の選択、および、選択された前記1つ以上の処理項目の実行順序の指定を受け付けるユーザインターフェイスを提供し、前記ユーザインターフェイスへの入力に応じて、前記1つ以上の処理項目と前記実行順序とを示す第1データを作成する作成部と、
    前記複数の処理項目から指定された1つ以上の指定処理項目によって構成されるカスタム処理項目を新たな処理項目として前記処理項目グループに設定する設定部とを備え、
    前記作成部は、
    前記カスタム処理項目が選択されたことに応じて、前記ユーザインターフェイスを介して、前記カスタム処理項目の実行に使用される1つ以上のパラメータの各々の設定値を受け付け、
    受け付けた設定値を示す第2データを作成し、
    前記実行部は、前記第1データによって示される前記1つ以上の処理項目に前記カスタム処理項目が含まれることに応じて、前記第2データによって示される設定値を用いて、前記カスタム処理項目を実行する、画像処理装置。
  2. 前記設定部は、
    前記カスタム処理項目を定義するカスタム定義データを作成し、
    前記実行部は、
    前記第1データによって示される前記1つ以上の処理項目に前記カスタム処理項目が含まれることに応じて、前記カスタム定義データと前記第1データとを用いて、前記画像処理プログラムを作成し、
    前記設定部による前記カスタム定義データの編集に応じて、前記画像処理プログラムを更新する、請求項1に記載の画像処理装置。
  3. 前記設定部は、前記第2データが作成された後に、前記カスタム定義データの編集を実行可能であり、
    前記カスタム定義データは、前記1つ以上のパラメータの各々の初期値を含み、
    前記実行部は、前記第1データによって示される前記1つ以上の処理項目に前記カスタム処理項目が含まれることに応じて、前記1つ以上のパラメータのうち前記第2データが作成されたパラメータについて前記設定値を用い、前記第2データが作成されていないパラメータについて前記初期値を用いて、前記カスタム処理項目を実行する、請求項2に記載の画像処理装置。
  4. 前記1つ以上のパラメータは、前記カスタム処理項目を構成する前記1つ以上の指定処理項目の各々について、当該指定処理項目を実行するための第1パラメータを含み、
    前記編集は、前記カスタム処理項目を構成する前記1つ以上の指定処理項目に新たな指定処理項目を追加する処理であり、
    前記実行部は、前記第1データによって示される前記1つ以上の処理項目に前記カスタム処理項目が含まれることに応じて、前記新たな指定処理項目に対応する前記第1パラメータの値として前記初期値を用いて、前記新たな指定処理項目を実行し、前記カスタム処理項目を構成する前記1つ以上の指定処理項目のうち残りの指定処理項目に対応する前記第1パラメータの値として前記設定値を用いて、前記残りの指定処理項目を実行する、請求項3に記載の画像処理装置。
  5. 前記1つ以上のパラメータは、前記カスタム処理項目を構成する前記1つ以上の指定処理項目の各々について、有効または無効を示す第2パラメータを含み、
    前記実行部は、前記画像処理プログラムに前記カスタム処理項目が含まれることに応じて、前記カスタム処理項目を構成する前記1つ以上の指定処理項目のうち、前記第2パラメータが有効を示す指定処理項目を実行し、前記第2パラメータが無効を示す指定処理項目を実行しない、請求項1に記載の画像処理装置。
  6. 画像処理装置の制御方法であって、
    処理項目グループに含まれる複数の処理項目からの画像処理プログラムに含ませる1つ以上の処理項目の選択、および、選択された前記1つ以上の処理項目の実行順序の指定を受け付けるユーザインターフェイスを提供し、前記ユーザインターフェイスへの入力に応じて、前記1つ以上の処理項目と前記実行順序とを示す第1データを作成するステップと、
    前記画像処理プログラムに従って画像処理を実行するステップとを備え、
    前記制御方法は、さらに、
    前記複数の処理項目から指定された1つ以上の指定処理項目によって構成されるカスタム処理項目を新たな処理項目として前記処理項目グループに設定するステップを備え、
    前記第1データを作成するステップは、
    前記カスタム処理項目が選択されたことに応じて、前記ユーザインターフェイスを介して、前記カスタム処理項目を実行するときに使用される1つ以上のパラメータの各々の設定値を受け付けるステップと、
    受け付けた設定値を示す第2データを作成するステップとを含み、
    前記実行するステップは、前記第1データによって示される前記1つ以上の処理項目に前記カスタム処理項目が含まれることに応じて、前記第2データによって示される設定値を用いて、前記カスタム処理項目を実行するステップを含む、制御方法。
  7. 請求項6に記載の制御方法をコンピュータに実行させるプログラム。
JP2020041865A 2020-03-11 2020-03-11 画像処理装置、制御方法およびプログラム Active JP7363601B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020041865A JP7363601B2 (ja) 2020-03-11 2020-03-11 画像処理装置、制御方法およびプログラム
PCT/JP2020/047031 WO2021181794A1 (ja) 2020-03-11 2020-12-16 画像処理装置、制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020041865A JP7363601B2 (ja) 2020-03-11 2020-03-11 画像処理装置、制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2021144404A true JP2021144404A (ja) 2021-09-24
JP7363601B2 JP7363601B2 (ja) 2023-10-18

Family

ID=77671568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020041865A Active JP7363601B2 (ja) 2020-03-11 2020-03-11 画像処理装置、制御方法およびプログラム

Country Status (2)

Country Link
JP (1) JP7363601B2 (ja)
WO (1) WO2021181794A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229783A (ja) * 2001-01-31 2002-08-16 Toshiba Corp ソフトウェア構築支援システム、その方法およびソフトウェア構築支援プログラム
JP2009059203A (ja) * 2007-08-31 2009-03-19 Omron Corp 画像処理機能のカスタマイズ装置、画像処理機能のカスタマイズ方法、および画像処理機能のカスタマイズのためのプログラム
JP2011118467A (ja) * 2009-11-30 2011-06-16 Canon It Solutions Inc 情報処理装置情報処理方法、及び、コンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229783A (ja) * 2001-01-31 2002-08-16 Toshiba Corp ソフトウェア構築支援システム、その方法およびソフトウェア構築支援プログラム
JP2009059203A (ja) * 2007-08-31 2009-03-19 Omron Corp 画像処理機能のカスタマイズ装置、画像処理機能のカスタマイズ方法、および画像処理機能のカスタマイズのためのプログラム
JP2011118467A (ja) * 2009-11-30 2011-06-16 Canon It Solutions Inc 情報処理装置情報処理方法、及び、コンピュータプログラム

Also Published As

Publication number Publication date
WO2021181794A1 (ja) 2021-09-16
JP7363601B2 (ja) 2023-10-18

Similar Documents

Publication Publication Date Title
JP5411049B2 (ja) 画像処理装置
EP2787483A2 (en) Image processing device, control method, and program
JP5415182B2 (ja) 画像処理装置及びプログラム作成支援装置並びに画像処理方法
US6928625B2 (en) Systems and methods for managing process control in a graphical user interface
JP2019525365A (ja) コンピュータプログラムを生成するデバイス及びコンピュータプログラムを生成する方法
JP2014109479A (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
WO2021181794A1 (ja) 画像処理装置、制御方法およびプログラム
JP5182121B2 (ja) 基板外観検査用のライブラリデータの作成方法および検査データ作成方法
JP5532715B2 (ja) 画像処理装置、画像処理システム及びプログラム
JP5696194B2 (ja) プログラム作成支援装置及び画像処理装置
JP2021033869A (ja) 電子機器、その制御方法、プログラム、および記憶媒体
US20070300167A1 (en) Integrated development environment and related methods
JP2002181728A (ja) 外観検査システム
WO2021131531A1 (ja) プログラム実行装置、プログラム実行方法およびプログラム
JP2008047621A (ja) 検査装置における情報表示方法およびこの方法を用いた検査装置
JP2022136792A (ja) 画像処理装置、編集方法およびプログラム
JP2021140270A (ja) 画像処理装置、画像処理装置の制御方法およびプログラム
WO2020141808A1 (ko) 외부 장치의 콘텐트를 편집하는 전자 장치 및 방법
JP6819096B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
WO2022045066A1 (ja) 検査支援装置、検査支援システム、検査支援ネットワークシステム、検査支援方法、及びプログラム
JP5861743B2 (ja) 画像処理装置
WO2024014596A1 (ko) 배송 관련 정보 제공 방법 및 이를 위한 전자 장치
JP2003271757A (ja) 保全作業支援システム及びセンタサーバ並びに保全作業支援方法
JP4053442B2 (ja) 照明系および撮像系のシステム設計装置
JP2023119841A (ja) 動作制御装置および露光装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230808

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230918

R150 Certificate of patent or registration of utility model

Ref document number: 7363601

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150