JP2011043928A - Image processor, program creation support device, and image processing method - Google Patents

Image processor, program creation support device, and image processing method Download PDF

Info

Publication number
JP2011043928A
JP2011043928A JP2009190547A JP2009190547A JP2011043928A JP 2011043928 A JP2011043928 A JP 2011043928A JP 2009190547 A JP2009190547 A JP 2009190547A JP 2009190547 A JP2009190547 A JP 2009190547A JP 2011043928 A JP2011043928 A JP 2011043928A
Authority
JP
Japan
Prior art keywords
image processing
parameter
unit
image
recipe
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
JP2009190547A
Other languages
Japanese (ja)
Other versions
JP5415182B2 (en
Inventor
Kazuhiko Terada
一彦 寺田
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.)
Keyence Corp
Original Assignee
Keyence Corp
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 Keyence Corp filed Critical Keyence Corp
Priority to JP2009190547A priority Critical patent/JP5415182B2/en
Publication of JP2011043928A publication Critical patent/JP2011043928A/en
Application granted granted Critical
Publication of JP5415182B2 publication Critical patent/JP5415182B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)
  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processor which is compatible with a plurality of types, and maintained with less man-hours without editing a plurality of flow charts even when the processing sequence of an image processing unit or a parameter corresponding to the image processing unit is changed. <P>SOLUTION: An image processing unit specified as an individual processing unit is specified so that at least one individual parameter having a plurality of different parameter values can be included. The image processing unit is provided with: a means for setting or accepting an image processing program specified by associating identification information which is common among individual processing units with the parameter value of each of the individual parameters; a means for designating the identification information; and a means for executing image processing by allocating a parameter value corresponding to identification information to the individual parameter of the image processing unit specified as the individual processing unit. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、検査対象物をカメラ等の撮像手段で撮像して、得られた画像データを用いて計測処理を実行する画像処理装置及びプログラム作成支援装置並びに画像処理方法に関する。   The present invention relates to an image processing apparatus, a program creation support apparatus, and an image processing method that capture an image of an inspection object with an imaging unit such as a camera and perform measurement processing using the obtained image data.

工場など数多くの生産現場では、人の目視に頼っていた検査を自動化・高速化する画像処理装置が導入されている。画像処理装置は、ベルトコンベア等の生産ラインを流れてくるワークをカメラによって撮像し、得られた画像データを用いて、所定領域のエッジ検出や面積計算などの計測処理を実行する。そして、計測処理の処理結果に基づいて、ワークの欠け検出やアライメントマークの位置検出などの検査を行い、ワークの欠けや位置ずれの有無を判定する判定信号を出力する。このように、画像処理装置は、FAセンサの一つとして利用されることがある。   In many production sites such as factories, an image processing apparatus is introduced that automates and speeds up inspections that rely on human visual inspection. The image processing apparatus captures an image of a workpiece flowing on a production line such as a belt conveyor with a camera, and executes measurement processing such as edge detection and area calculation of a predetermined region using the obtained image data. Then, based on the processing result of the measurement process, inspection such as workpiece chipping detection or alignment mark position detection is performed, and a determination signal for determining the presence or absence of workpiece chipping or positional deviation is output. As described above, the image processing apparatus may be used as one of FA sensors.

画像処理装置の中には、実行される画像処理の処理順序が予め決められているパッケージ型のものや、ユーザがパソコン上で作成した所望の処理順序を実行する画像処理プログラムを転送し、思い通りの計測処理を行わせるものなどがある。前者は、予め決められた処理順序でしか画像処理を行うことができないため、画像処理の自由度が制限される一方、後者は、所望の計測処理を行わせるには高度なプログラミングスキルと多大な工数を必要とする。これらの課題を解決する画像処理装置として、画像処理の検査項目一連の処理順序をフローチャートで表示し、そのフローチャート上で、ユーザにより処理順序を変更可能にしたものがある(例えば特許文献1参照)。ユーザが所望の処理順序を実現するためには、例えば、PC上の専用ソフトウェアによりフローチャート上で処理順序をカスタマイズし、カスタマイズされた処理順序を画像処理装置に実行させるための画像処理プログラムを生成した後、その画像処理プログラムを画像処理装置のコントローラに転送する。   The image processing apparatus transfers a package type image processing program to be executed in a predetermined order, or an image processing program for executing a desired processing order created on a personal computer by a user. There are things that perform the measurement process. Since the former can only perform image processing in a predetermined processing order, the degree of freedom of image processing is limited. On the other hand, the latter requires advanced programming skills and a large amount of man-hours to perform desired measurement processing. Need. As an image processing apparatus that solves these problems, there is an image processing apparatus that displays a processing order of a series of inspection items for image processing in a flowchart, and the processing order can be changed by the user on the flowchart (see, for example, Patent Document 1). . In order to realize a desired processing order, for example, the processing order is customized on a flowchart using dedicated software on a PC, and an image processing program for causing the image processing apparatus to execute the customized processing order is generated. Thereafter, the image processing program is transferred to the controller of the image processing apparatus.

フローチャート上で処理順序をカスタマイズ可能な画像処理装置によれば、高度なプログラミングスキルを必要とすることなく、少ない工数で画像処理の自由度を向上させることができる。また、各画像処理をフローチャートに示す処理順序と同期させて実行することによって、撮像して得られた画像データをメモリへ書き込む、計測処理を実行するために画像データをメモリから読み出す、といった動作が同じタイミングで行われることはなく、メモリ競合の問題を防ぐこともできる。さらに、その処理順序に沿ってデバッグを行うことができ、バグ修正を容易化することもできる。   According to the image processing apparatus in which the processing order can be customized on the flowchart, the degree of freedom of image processing can be improved with a small number of man-hours without requiring advanced programming skills. In addition, by executing each image processing in synchronization with the processing order shown in the flowchart, operations such as writing image data obtained by imaging to the memory and reading the image data from the memory to execute the measurement processing are performed. It is not performed at the same timing, and the memory contention problem can be prevented. Furthermore, debugging can be performed along the processing order, and bug correction can be facilitated.

このような画像処理装置の検査設定では、まず、撮像のような必須の画像処理や、エッジ検出や面積計算など、検査に必要な個別の画像処理を検査項目として選択し、それらを所望の順序(例えば上から下へ順番に)に並べて配置し、処理順序を示すフローチャートを作成する。なお、検査項目の配置を入れ替えることによって、上述したように、フローチャート上で処理順序を変更することができる。次に、各検査項目についてパラメータ値の設定を行う。例えば撮像では、撮像対象カメラやシャッタースピードなどを指定するためのパラメータ値を設定する。また、エッジ検出や面積計算では、ワークの欠けや位置ずれの有無を判定する判定条件などを設定する。さらに、検査項目によっては、パラメータ値の設定に加えて基準画像を設定する。例えば、検査対象物を撮像して得られた画像データの中に特定のパターンが出現するか否か、出現する場合には位置はどこか、を特定するパターンマッチングでは、特定のパターンとして予め基準画像を設定する。このようにして、検査項目の選択・配置によるフローチャートの作成と、各検査項目についてパラメータ値の設定及び必要に応じて基準画像の設定とが終わると、検査設定が完了する。   In such image processing apparatus inspection settings, first, essential image processing such as imaging, individual image processing necessary for inspection such as edge detection and area calculation, etc. are selected as inspection items, and these are processed in a desired order. Arrange them in order (for example, in order from top to bottom), and create a flowchart showing the processing order. Note that, by changing the arrangement of the inspection items, the processing order can be changed on the flowchart as described above. Next, parameter values are set for each inspection item. For example, in imaging, parameter values for specifying an imaging target camera, a shutter speed, and the like are set. In edge detection and area calculation, determination conditions for determining the presence or absence of workpiece chipping or positional deviation are set. Further, depending on the inspection item, a reference image is set in addition to the parameter value. For example, in pattern matching that specifies whether or not a specific pattern appears in the image data obtained by imaging the inspection object, and where it appears, the pattern matching that specifies the specific pattern in advance Set the image. In this way, when the creation of the flowchart by selecting and arranging the inspection items, the setting of the parameter values for each inspection item, and the setting of the reference image as necessary are completed, the inspection setting is completed.

このような検査設定は、画像処理装置で取り扱う検査対象物の品種が複数ある場合には、品種ごとに別個に行う必要がある。検査対象物の品種が異なれば、検査で正しく判定するための最適なパラメータ値や基準画像が変わってくるからである。例えば、パッキンなどOリングの切り欠き位置を検出する検査を行う場合において、様々な大きさ(複数の品種)のOリングに対応するためには、まず、一の品種について検査項目のフローチャートを作成し、各検査項目のパラメータ値を設定する。これにより、一の検査設定が完了する。そして、別の品種については、検査項目のフローチャート及び各検査項目のパラメータ値全てを複製(コピー)し、例えば切り欠き位置を検出するための円周エッジ領域の半径など、品種ごとに異なるパラメータ値を設定する。これにより、上述した一の検査設定とは異なる他の検査設定が完了する。   When there are a plurality of types of inspection objects handled by the image processing apparatus, it is necessary to perform such inspection settings separately for each type. This is because, if the type of inspection object is different, the optimum parameter value and the reference image for correctly determining in inspection change. For example, when performing inspection to detect notch positions of O-rings such as packing, in order to support O-rings of various sizes (multiple types), first create a flowchart of inspection items for one type And set the parameter value of each inspection item. Thereby, one inspection setting is completed. And for other types, the flowchart of the inspection items and all the parameter values of each inspection item are copied (copied), for example, the parameter values that differ for each type, such as the radius of the circumferential edge region for detecting the notch position. Set. This completes another inspection setting different from the one inspection setting described above.

他にも例えば、液晶基板のアライメント検査を行う場合において、様々なマーキングパターン(複数の品種)を有する液晶基板に対応するためには、上述同様、まず、一の品種について検査項目のフローチャートを作成し、各検査項目のパラメータ値を設定する。これにより、一の検査設定が完了する。そして、別の品種については、検査項目のフローチャート及び各検査項目のパラメータ値全てを複製し、例えばサーチ領域や予め登録されたマーキングパターン(基準画像)など、品種ごとに異なるパラメータ値及び基準画像を設定する。これにより、上述した一の検査設定とは異なる他の検査設定が完了する。   In addition, for example, when performing alignment inspection of a liquid crystal substrate, in order to deal with liquid crystal substrates having various marking patterns (plural types), a flowchart of inspection items is first prepared for one type as described above. And set the parameter value of each inspection item. Thereby, one inspection setting is completed. For another product type, the flowchart of the test item and all the parameter values of each test item are duplicated. For example, a different parameter value and reference image for each product type, such as a search area or a pre-registered marking pattern (reference image). Set. This completes another inspection setting different from the one inspection setting described above.

このように、フローチャート上で処理順序をカスタマイズ可能な従来の画像処理装置では、検査対象物の品種に応じた検査設定を繰り返し行うことによって、複数の品種に対応していた。すなわち、ユーザは、検査項目のフローチャート及び各検査項目のパラメータ値を品種の数だけ複製した後、各々のフローチャートについて、品種ごとにパラメータ値や基準画像の変更を行って、パラメータ値や基準画像の異なる複数のフローチャートを作成していた。   As described above, in the conventional image processing apparatus in which the processing order can be customized on the flowchart, the inspection setting corresponding to the type of the inspection object is repeatedly performed, thereby supporting a plurality of types. That is, after copying the flowchart of the inspection item and the parameter value of each inspection item for the number of types, the user changes the parameter value and the reference image for each type for each flowchart, Several different flowcharts were created.

特開平09−288568号公報JP 09-288568 A

しかしながら、フローチャートの複製によって品種の数だけフローチャートが作成されると、フローチャートに一部修正の必要性が生じたときに、多くのメンテナンス工数が掛かってしまう。具体的には、画像処理装置を運用していく過程で、例えば不良品が良品と誤判定されてしまった場合には、ユーザは、検査項目を入れ替えたり、必要な検査項目をフローチャートに追加したり、既に設定されている検査項目のパラメータ値を変更したりと、各種編集作業を行って、誤判定を防ぐ対策を講じなければならない。ところが、上述したように品種の数だけフローチャートが作成されていると、全てのフローチャートについて同じような編集作業を繰り返し行わなければならないため、多くのメンテナンス工数が掛かってしまう。特に、近年、ユーザの品種に関するニーズは多様化しており、画像処理装置で取り扱う品種の数が増大しているため、フローチャートのメンテナンスは非常に手間の掛かる作業となっている。   However, if flowcharts are created as many as the number of products by duplicating the flowcharts, a large number of maintenance steps will be required when the flowcharts need to be partially corrected. Specifically, in the process of operating the image processing apparatus, for example, when a defective product is erroneously determined as a non-defective product, the user replaces the inspection item or adds a necessary inspection item to the flowchart. In addition, various editing operations, such as changing the parameter values of inspection items that have already been set, must be taken to prevent erroneous determination. However, as described above, if flowcharts are created for the number of products, the same editing operation must be repeated for all flowcharts, which requires a lot of maintenance man-hours. In particular, in recent years, the needs related to the types of users have been diversified, and the number of types handled by the image processing apparatus has increased. Therefore, the maintenance of the flowchart is a very time-consuming operation.

図35は、従来の画像処理装置におけるメンテナンス方法の概略を説明するための説明図である。図35に示すフローチャートは、「撮像」、「第1計測」、「第2計測」の3個の画像処理ユニットから構成されている。また、図35において、第1計測ユニットは、P11,P12,P13のパラメータを有し、第2計測ユニットは、P21,P22,P23のパラメータを有している。撮像ユニットも、いくつかのパラメータを有しているが、ここでは説明の便宜上、省略する。   FIG. 35 is an explanatory diagram for explaining an outline of a maintenance method in a conventional image processing apparatus. The flowchart shown in FIG. 35 includes three image processing units of “imaging”, “first measurement”, and “second measurement”. In FIG. 35, the first measurement unit has parameters P11, P12, and P13, and the second measurement unit has parameters P21, P22, and P23. The imaging unit also has some parameters, but they are omitted here for convenience of explanation.

図35に示すように、検査対象物の品種が複数ある場合には、品種ごとにフローチャートを作成する必要がある。ユーザは、まず、品種0についての検査設定を行う。具体的には、撮像ユニット、第1計測ユニット、第2計測ユニットからなるフローチャートを作成する。そして、各画像処理ユニットのパラメータに対し、品種0に最適なパラメータ値を設定する。ただし、各画像処理ユニットにはデフォルト値が規定されており、このデフォルト値をそのまま使う場合には特に設定を行う必要はない。ここでは、デフォルト値がP11=0、P12=0、P13=0、P21=0、P22=0、P23=0と設定されているものとする。これにより、一つの検査設定が完了し、この検査設定は保存される。   As shown in FIG. 35, when there are a plurality of types of inspection objects, it is necessary to create a flowchart for each type. The user first performs inspection setting for the product type 0. Specifically, a flowchart including an imaging unit, a first measurement unit, and a second measurement unit is created. Then, optimal parameter values for the product type 0 are set for the parameters of each image processing unit. However, a default value is defined for each image processing unit, and when this default value is used as it is, no setting is required. Here, it is assumed that the default values are set as P11 = 0, P12 = 0, P13 = 0, P21 = 0, P22 = 0, and P23 = 0. Thereby, one inspection setting is completed, and this inspection setting is saved.

次に、品種1用の検査設定を行う場合には、品種0用の検査設定(フローチャートと各パラメータ値)をコピーする。そして、各画像処理ユニットのパラメータに対し、品種1に最適なパラメータ値を設定する。ここではP11とP21に変更はないが(デフォルト値のまま)、P12=1、P13=1、P22=1、P23=1と変更したとする。同様にして、品種2用の検査設定を行う場合には、再度、品種0用の検査設定をコピーし、必要に応じて、品種2に最適なパラメータ値(P12=2、P13=2、P22=2、P23=2)を設定し、検査設定を保存する。以下、品種3、品種4、品種5、・・・と、これらの作業を繰り返す。このように、従来の画像処理装置では、品種に応じた検査設定を繰り返し行うことによって、複数の品種に対応することができる。   Next, when the inspection setting for the product type 1 is performed, the inspection setting for the product type 0 (flow chart and each parameter value) is copied. Then, the optimum parameter value for the product type 1 is set for the parameters of each image processing unit. Here, P11 and P21 are not changed (the default values are maintained), but it is assumed that P12 = 1, P13 = 1, P22 = 1, and P23 = 1. Similarly, when the inspection setting for the product type 2 is performed, the inspection setting for the product type 0 is copied again, and the parameter values optimum for the product type 2 (P12 = 2, P13 = 2, P22) as necessary. = 2 and P23 = 2) and save the inspection settings. Hereinafter, these operations are repeated for the product types 3, 4, 5,... As described above, the conventional image processing apparatus can cope with a plurality of types by repeatedly performing the inspection setting according to the types.

ここで、図35(a)→図35(b)に示すように、画像処理ユニットの一部を入れ替えるメンテナンスを行う必要性が生じたとする。これは、画像処理装置を運用していく過程で、最適な検査を行うために他の画像処理ユニットを使いたいときや、既存の画像処理ユニットの機能拡張(改良)などが行われ、その機能拡張版画像処理ユニットを使いたいときなどが想定される。図35(b)において、「第1計測ii」及び「第2計測ii」は、それぞれ「第1計測」及び「第2計測」に改良を加えた画像処理ユニットである。なお、第1計測iiユニットのパラメータは、第1計測ユニットと共通するパラメータ(P11,P12,P13)と、第1計測ユニットにはない新規なパラメータ(P14)とがあり、また、第2計測iiユニットのパラメータも、第2計測ユニットと共通するパラメータ(P21,P22,P23)と、第2計測ユニットにはない新規なパラメータ(P24)とがある。   Here, as shown in FIG. 35A → FIG. 35B, it is assumed that it is necessary to perform maintenance for replacing a part of the image processing unit. This is because, in the process of operating an image processing device, when you want to use another image processing unit to perform an optimal inspection, or the function expansion (improvement) of an existing image processing unit has been performed. For example, when you want to use the extended image processing unit. In FIG. 35B, “first measurement ii” and “second measurement ii” are image processing units obtained by improving “first measurement” and “second measurement”, respectively. The parameters of the first measurement ii unit include the parameters common to the first measurement unit (P11, P12, P13) and the new parameter (P14) not found in the first measurement unit, and the second measurement. The parameters of the ii unit also include parameters (P21, P22, P23) common to the second measurement unit and new parameters (P24) not found in the second measurement unit.

まずユーザは、画像処理装置に保存されている品種0用の検査設定を呼び出し、第1計測ユニットと第2計測ユニットを削除する。そして、撮像ユニットの直下に、第1計測iiユニット、第2計測iiユニットが、この順で配置されるように追加する。また、品種0用の検査設定における第1計測iiユニット、第2計測iiユニットのパラメータについては、第1計測ユニット、第2計測ユニットと同様にデフォルト値を使うものとする。次に、品種1の検査設定をメンテナンスするにあたっては、品種1用の検査設定を呼び出し、上述同様、第1計測ユニット及び第2計測ユニットの削除、第1計測iiユニット及び第2計測iiユニットの追加を行う。   First, the user calls the inspection setting for the product type 0 stored in the image processing apparatus, and deletes the first measurement unit and the second measurement unit. And it adds so that a 1st measurement ii unit and a 2nd measurement ii unit may be arrange | positioned in this order directly under an imaging unit. In addition, for the parameters of the first measurement ii unit and the second measurement ii unit in the inspection setting for the product type 0, default values are used as in the first measurement unit and the second measurement unit. Next, in order to maintain the inspection setting for the product type 1, the inspection setting for the product type 1 is called, and as described above, the first measurement unit and the second measurement unit are deleted, and the first measurement ii unit and the second measurement ii unit are deleted. Add.

ここで、第1計測iiユニット、第2計測iiユニットのパラメータのうち、第1計測ユニット、第2計測ユニットと共通するパラメータ(P12,P13,P22,P23)については、図35(a)と同様に、品種1に最適なパラメータ値を設定したい場合がある。この場合、ユーザは、P12=1、P13=1、P22=1、P23=1と変更する設定を行う。したがって、品種1の検査設定をメンテナンスするにあたって、ユーザの修正が必要な箇所は、第1計測iiユニットの追加と第2計測iiユニットの追加に加えて、品種に応じて異なるパラメータ値(P12,P13,P22,P23のパラメータ値)の設定となる。同様にして、品種2用の検査設定をメンテナンスするにあたっても、ユーザは、品種2用の検査設定を呼び出し、第1計測iiユニット及び第2計測iiユニットを追加し、品種2に最適なパラメータ値(P12=2、P13=2、P22=2、P23=2)を設定する。以下、品種3、品種4、品種5、・・・についても、これらの作業を繰り返す。   Here, of the parameters of the first measurement ii unit and the second measurement ii unit, the parameters (P12, P13, P22, P23) common to the first measurement unit and the second measurement unit are as shown in FIG. Similarly, there is a case where it is desired to set an optimum parameter value for the product type 1. In this case, the user performs setting to change P12 = 1, P13 = 1, P22 = 1, and P23 = 1. Therefore, when maintaining the inspection setting of the product type 1, in addition to the addition of the first measurement ii unit and the addition of the second measurement ii unit, the part that needs to be corrected is a parameter value (P12, P13, P22, and P23 parameter values). Similarly, when maintaining the inspection settings for the product type 2, the user calls the inspection settings for the product type 2, adds the first measurement ii unit and the second measurement ii unit, and sets the optimum parameter value for the product type 2. (P12 = 2, P13 = 2, P22 = 2, P23 = 2) are set. Hereinafter, these operations are repeated for the types 3, 4, 5,...

このように、従来の画像処理装置では、後々にメンテナンスを行う際に、品種の数が多ければ多いほど煩雑な編集作業が必要になり、メンテナンスに多大な工数が掛かっていた。なお、図35(b)では、品種に応じて値が異なるパラメータ値の設定のみに着目したが、品種が変わっても値が変化しないパラメータ値の設定をしなければならない場合には、尚更煩雑になる。例えば、第2計測iiユニットで新規に追加されたパラメータ(P24)に着目し、デフォルト値(P24=0)ではなく、所望の値(P24=1など)に変更しようとする。この場合、上述した編集作業に加えて、品種0用の検査設定を呼び出したときにP24=1を設定し、品種1用の検査設定を呼び出したときにP24=1を設定し、品種2用の検査設定を呼び出したときにP24=1を設定し、・・・というように、同様の設定を繰り返し行う必要があり、これも、品種の数が多ければ多いほど煩雑な編集作業となる。   As described above, in the conventional image processing apparatus, when the maintenance is performed later, the larger the number of products, the more complicated editing work is required, and the maintenance takes a lot of man-hours. In FIG. 35 (b), attention is paid only to the setting of parameter values that differ depending on the product type. However, when parameter values that do not change even if the product type must be set, it is more complicated. become. For example, paying attention to the parameter (P24) newly added in the second measurement ii unit, the user tries to change it to a desired value (P24 = 1, etc.) instead of the default value (P24 = 0). In this case, in addition to the editing work described above, P24 = 1 is set when the inspection setting for the product type 0 is called, and P24 = 1 is set when the inspection setting for the product type 1 is called, and for the product type 2. When the inspection setting is called, P24 = 1 is set, and so on, and so on. It is necessary to repeatedly perform the same setting as described above. This also becomes a complicated editing work as the number of types increases.

この点、例えば特開2002−251603号公報(段落[0076]〜[0080])には、フローチャートを構成する画像処理サブルーチンとして、パラメータ値の異なる複数種類の画像処理サブルーチン候補を用意しておき、実際に各画像処理サブルーチン候補を実行してみて、その実行結果に基づいて、ユーザが一の画像処理サブルーチン候補を選択し、それをフローチャートに追加する、という画像処理プログラム作成方法が開示されている。この画像処理プログラム作成方法によれば、品種ごとにパラメータ値を変更しようとしたとき、ユーザは、所望のパラメータ値が設定された画像処理サブルーチン候補を選択するだけで、新たなフローチャートを作成・保存することができる。   In this regard, for example, in JP-A-2002-251603 (paragraphs [0076] to [0080]), a plurality of types of image processing subroutine candidates having different parameter values are prepared as image processing subroutines constituting the flowchart. An image processing program creation method is disclosed in which each image processing subroutine candidate is actually executed, and based on the execution result, the user selects one image processing subroutine candidate and adds it to the flowchart. . According to this image processing program creation method, when a parameter value is to be changed for each product type, a user can create and save a new flowchart simply by selecting a candidate image processing subroutine set with a desired parameter value. can do.

しかし、この画像処理プログラム作成方法によっても上述したメンテナンス性の問題は解決困難である。すなわち、複数の品種に対応させるために、ユーザは、まず、第一の品種に最適なパラメータ値が設定された画像処理サブルーチン候補を(必要に応じていくつか)選択し、その第一の品種に最適な一又は複数の画像処理サブルーチンからなるフローチャートを作成・保存し、次に、第二の品種に最適なパラメータ値が設定された画像処理サブルーチン候補を(必要に応じていくつか)選択し、その第二の品種に最適な一又は複数の画像処理サブルーチンからなるフローチャートを作成・保存し、以後、第三の品種以降についても同様に、それぞれフローチャートを作成・保存していく必要がある。そうすると、結局のところ、フローチャートに一部修正の必要性が生じたときに、品種の数だけ作成されたフローチャートについて編集作業を行わなくてはならないため、多くのメンテナンス工数が掛かってしまう。   However, it is difficult to solve the above-described problem of maintainability by this image processing program creation method. That is, in order to correspond to a plurality of types, the user first selects (some if necessary) image processing subroutine candidates set with optimum parameter values for the first type, and the first type Create and save a flowchart consisting of one or more image processing subroutines that are optimal for the image, and then select (some if necessary) image processing subroutine candidates that have the optimal parameter values for the second product type. Therefore, it is necessary to create and save a flowchart composed of one or a plurality of image processing subroutines that are optimal for the second product type, and to create and save the flowcharts for the third product type and thereafter. As a result, when there is a need to partially modify the flowchart, it is necessary to perform editing operations on the flowcharts created for the number of types, which requires a lot of maintenance man-hours.

本発明は、以上の点に鑑みてなされたものであり、その目的は、複数の品種に対応することが可能であり、かつ、例えば画像処理ユニットの入れ替えや追加、画像処理ユニットのパラメータ値の修正などの編集の必要性が生じたときであっても、複数のフローチャートについて編集作業を行う必要がなく、少ない工数でメンテナンスでき、ひいては使い勝手を向上させることが可能な画像処理装置及びプログラム作成支援装置並びに画像処理方法を提供することにある。   The present invention has been made in view of the above points. The object of the present invention is to support a plurality of types, and for example, replacement and addition of image processing units, parameter values of image processing units, and the like. Even when there is a need for editing, such as correction, an image processing apparatus and program creation support that do not require editing operations for multiple flowcharts, can be maintained with a small number of man-hours, and can improve usability. An apparatus and an image processing method are provided.

本発明に係る画像処理装置は、一又は複数のパラメータを有し、パラメータに対してユーザが設定したパラメータ値が割り付けられる複数の画像処理が順次実行される画像処理装置において、パラメータとして、複数の異なるパラメータ値を設定可能な個別パラメータと、一のパラメータ値を設定可能な共通パラメータとが混在するとともに、個別パラメータの各々のパラメータ値に対し複数の画像処理間で共通の識別情報が関連付けて規定されており、識別情報を指定する手段と、個別パラメータに対して識別情報に対応したパラメータ値を割り付ける一方で、共通パラメータに対して識別情報によらない一のパラメータ値を割り付ける割り付け手段と、割り付け手段により割り付けられたパラメータ値を用いて複数の画像処理を実行する実行手段と、を備える。   An image processing apparatus according to the present invention has one or a plurality of parameters, and in an image processing apparatus in which a plurality of image processings in which parameter values set by a user are assigned to the parameters are sequentially executed, a plurality of parameters are used as parameters. Individual parameters for which different parameter values can be set and common parameters for which one parameter value can be set coexist, and each parameter value for individual parameters is associated with common identification information among multiple image processes. A means for designating identification information, an assignment means for assigning a parameter value corresponding to the identification information to an individual parameter, and assigning one parameter value not depending on the identification information to a common parameter; Execute multiple image processing using parameter values assigned by means It includes a line means, a.

このような構成によれば、複数の画像処理間で共通の識別情報が指定され、個別パラメータに対してその識別情報に対応したパラメータ値が割り付けられ、共通パラメータに対してその識別情報によらない一のパラメータ値が割り付けられた上で、複数の画像処理が実行されるので、例えばユーザ又は外部PLC等からのコマンドにより検査対象物の品種に応じた識別情報を指定することによって、個別パラメータのパラメータ値が品種に応じたパラメータ値に切り換わる。その結果、画像処理ユニットの処理順序を1つ作成するだけで複数の品種に対応することができ、例えば画像処理ユニットの入れ替えや追加、画像処理ユニットのパラメータ修正など編集の必要性が生じたときであっても、1つの処理順序についてのみ編集を行うだけでよいので、少ない工数でメンテナンスすることができ、ひいては画像処理装置の使い勝手を向上させることができる。   According to such a configuration, identification information common to a plurality of image processes is designated, parameter values corresponding to the identification information are assigned to individual parameters, and the identification information is not used for the common parameters. Since a plurality of image processes are executed after a single parameter value is assigned, for example, by specifying identification information corresponding to the type of inspection object by a command from a user or an external PLC, the individual parameters The parameter value switches to the parameter value corresponding to the product type. As a result, it is possible to support multiple types of products by creating only one processing order of image processing units. For example, when there is a need for editing such as replacement or addition of image processing units or parameter correction of image processing units Even so, it is only necessary to edit one processing order, so that maintenance can be performed with a small number of man-hours, and the usability of the image processing apparatus can be improved.

ここで、画像処理装置は、複数の画像処理には、個別パラメータを少なくとも一つ有する個別画像処理と共通パラメータのみ有する共通画像処理とが含まれ、割り付け手段は、個別画像処理の個別パラメータに対して識別情報に対応したパラメータ値を割り付ける一方で、共通画像処理の共通パラメータに対して識別情報によらない一のパラメータ値を割り付けるような構成としてもよい。これにより、上述した個別画像処理と共通画像処理とが混在する場合に、個別画像処理の個別パラメータに対して検査対象物の品種に応じたパラメータ値を割り付ける一方で、共通画像処理の共通パラメータに対して検査対象物の品種が変わっても値が不変の一のパラメータ値を割り付けることができ、少ない工数でメンテナンスが可能となるので、画像処理装置の使い勝手を向上させることができる。   Here, in the image processing apparatus, the plurality of image processing includes individual image processing having at least one individual parameter and common image processing having only the common parameter. Alternatively, a parameter value corresponding to the identification information may be allocated, while one parameter value not depending on the identification information may be allocated to the common parameter of the common image processing. As a result, when the above-described individual image processing and common image processing are mixed, parameter values corresponding to the type of inspection object are assigned to the individual parameters of the individual image processing, while the common parameters of the common image processing are set as common parameters. On the other hand, even if the type of inspection object changes, one parameter value that does not change can be assigned, and maintenance can be performed with a small number of man-hours, so that the usability of the image processing apparatus can be improved.

また、画像処理装置は、複数の画像処理には、ユーザによって登録された基準画像をパラメータの一つとして用いる画像処理が含まれるとともに、個別パラメータには、複数の異なる基準画像を設定可能なパラメータが含まれ、割り付け手段は、個別パラメータに対して識別情報に対応したパラメータ値及び/又は基準画像を割り付ける一方で、共通パラメータに対して識別情報によらない一のパラメータ値及び/又は基準画像を割り付け、実行手段は、割り付け手段により割り付けられたパラメータ値及び/又は基準画像を用いて複数の画像処理を実行するような構成としてもよい。これにより、ユーザは識別情報を指定することによって、個別パラメータとして設定される基準画像も品種に応じて切り換えることができるので、基準画像を用いて処理内容を実行する画像処理ユニットの入れ替えや追加、パラメータ修正などのメンテナンスを行う際は、品種に応じて基準画像を切り換える設定を簡易に行うことができ、ひいては少ない工数でメンテナンスを行うことができる。   In the image processing apparatus, the plurality of image processing includes image processing using a reference image registered by the user as one of the parameters, and the individual parameter is a parameter capable of setting a plurality of different reference images. The assigning means assigns the parameter value and / or reference image corresponding to the identification information to the individual parameter, while assigning one parameter value and / or reference image that does not depend on the identification information to the common parameter. The allocation and execution means may be configured to execute a plurality of image processes using the parameter value and / or the reference image allocated by the allocation means. Thereby, the user can switch the reference image set as the individual parameter according to the product type by specifying the identification information, so that replacement or addition of the image processing unit that executes the processing content using the reference image, When performing maintenance such as parameter correction, the setting for switching the reference image according to the product type can be easily performed, and as a result, the maintenance can be performed with less man-hours.

また、画像処理装置は、識別情報を切り換える切換コマンドを受け付ける手段を備え、割り付け手段は、個別パラメータに対して切換コマンドにより切り換えられた識別情報に対応したパラメータ値を割り付ける一方で、共通パラメータに対して切換コマンドにより切り換えられた識別情報によらない一のパラメータ値を割り付けるような構成としてもよい。ここでいう「切換コマンド」は、複数ある検査設定(画像処理の複数種類の処理順序)を切り換えるコマンド等ではなく、本発明における「識別情報」を切り換えるコマンドを意味する。このような切換コマンドを外部から受け付けると、画像処理の個別パラメータに対して、切換コマンドにより切り換えられた識別情報に対応したパラメータ値が割り付けられる。したがって、ユーザは、外部PLC等を用いて切換コマンドを画像処理装置に送るだけの簡易な操作により、検査対象物の品種に応じたパラメータ値を用いて検査を行うことができ、ひいては使い勝手を向上させることができる。   The image processing apparatus also includes means for receiving a switching command for switching identification information, and the allocating means allocates a parameter value corresponding to the identification information switched by the switching command to an individual parameter, while The configuration may be such that one parameter value that is not based on the identification information switched by the switching command is assigned. Here, the “switching command” means a command for switching “identification information” in the present invention, not a command for switching a plurality of examination settings (a plurality of types of processing order of image processing). When such a switching command is received from the outside, a parameter value corresponding to the identification information switched by the switching command is assigned to the individual parameter of the image processing. Therefore, the user can perform inspection using the parameter value corresponding to the type of the inspection object by a simple operation by simply sending a switching command to the image processing apparatus using an external PLC or the like, which improves usability. Can be made.

以上説明したように、本発明によれば、画像処理ユニットの処理順序を1つ作成するだけで複数の品種に対応することができるようになり、画像処理ユニットの処理順序や画像処理ユニットに対するパラメータなどに修正の必要性が生じたときであっても、その1つの処理順序についてのみ編集を行えばよいので、少ない工数でメンテナンスすることができる。   As described above, according to the present invention, it is possible to deal with a plurality of types by creating only one processing order of image processing units. Even when there is a need for correction, etc., only one processing order needs to be edited, so that maintenance can be performed with less man-hours.

本発明の実施の形態に係る画像処理装置の概略構成例を示す図である。It is a figure which shows the schematic structural example of the image processing apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る画像処理装置におけるメンテナンス方法の概略を説明するための説明図である。It is explanatory drawing for demonstrating the outline of the maintenance method in the image processing apparatus which concerns on embodiment of this invention. 本実施形態に係る画像処理装置におけるコントローラのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the controller in the image processing apparatus which concerns on this embodiment. 本実施形態に係る画像処理装置におけるコントローラの機能構成例を示すブロック図である。It is a block diagram which shows the function structural example of the controller in the image processing apparatus which concerns on this embodiment. 本実施形態に係るプログラム作成支援装置としてのPCの機能構成例を示すブロック図である。It is a block diagram which shows the function structural example of PC as a program creation assistance apparatus which concerns on this embodiment. PCの表示部に表示されるエディタ画面(主要部)の一例を示す図である。It is a figure which shows an example of the editor screen (main part) displayed on the display part of PC. 傷ユニットのプロパティ設定画面の一例を示す図である。It is a figure which shows an example of the property setting screen of a wound unit. パターンサーチユニットのプロパティ設定画面の一例を示す図である。It is a figure which shows an example of the property setting screen of a pattern search unit. 変数設定画面の一例を示す図である。It is a figure which shows an example of a variable setting screen. 傷ユニットのプロパティ設定画面の一例を示す図である。It is a figure which shows an example of the property setting screen of a wound unit. パターンサーチユニットのプロパティ設定画面の一例を示す図である。It is a figure which shows an example of the property setting screen of a pattern search unit. PCの表示部に表示されるエディタ画面(主要部)の一例であって、レシピファイルが表示されている様子を示す図である。It is an example of the editor screen (main part) displayed on the display part of PC, Comprising: It is a figure which shows a mode that the recipe file is displayed. レシピ設定のコピー画面例を示す図である。It is a figure which shows the example of a copy screen of a recipe setting. レシピファイルが自動生成され、このレシピファイルがアクティブになっている様子を示す図である。It is a figure which shows a mode that the recipe file is produced | generated automatically and this recipe file is active. レシピファイルが自動生成され、このレシピファイルがアクティブになっている様子を示す図である。It is a figure which shows a mode that the recipe file is produced | generated automatically and this recipe file is active. 傷ユニットのプロパティ設定画面の一例を示す図である。It is a figure which shows an example of the property setting screen of a wound unit. パターンサーチユニットのプロパティ設定画面の一例を示す図である。It is a figure which shows an example of the property setting screen of a pattern search unit. レシピ0からレシピ3までのレシピファイルに保存された内容のイメージを示す図である。It is a figure which shows the image of the content preserve | saved in the recipe file from recipe 0 to recipe 3. 品種3に対応するパラメータ値を設定した後、レシピ3のレシピファイルがアクティブになっている様子を示す図である。It is a figure which shows a mode that the recipe file of the recipe 3 is activated after the parameter value corresponding to the kind 3 is set. 基準画像として登録された画像一覧を示す図である。It is a figure which shows the image list registered as a reference | standard image. 4個の基準画像を登録し、レシピ3のレシピファイル及び基準画像がアクティブになっている様子を示す図である。It is a figure which shows a mode that 4 reference | standard images are registered and the recipe file and reference | standard image of recipe 3 are active. 画像処理装置における画像処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the image processing in an image processing apparatus. 画像処理装置においてレシピ番号が切り換えられる例を説明するためのフローチャートである。10 is a flowchart for explaining an example in which recipe numbers are switched in the image processing apparatus. 画像処理装置のモニタにおいて、コンソールを用いてレシピ設定に関する操作を行う画面例を示す図である。It is a figure which shows the example of a screen which performs operation regarding a recipe setting using a console in the monitor of an image processing apparatus. メンテナンス内容を示すフローチャートである。It is a flowchart which shows the content of maintenance. PCの表示部に表示されるエディタ画面(主要部)の一例を示す図である。It is a figure which shows an example of the editor screen (main part) displayed on the display part of PC. 傷ユニットのプロパティ設定画面の一例を示す図である。It is a figure which shows an example of the property setting screen of a wound unit. 傷ユニットのプロパティ設定画面の一例を示す図である。It is a figure which shows an example of the property setting screen of a wound unit. パターンサーチユニットのプロパティ設定画面の一例を示す図である。It is a figure which shows an example of the property setting screen of a pattern search unit. パターンサーチユニットのプロパティ設定画面の一例を示す図である。It is a figure which shows an example of the property setting screen of a pattern search unit. メンテナンスを行った際の画像処理装置の動作の流れを示すフローチャートである。It is a flowchart which shows the flow of operation | movement of the image processing apparatus at the time of performing a maintenance. 本発明の他の実施の形態に係る画像処理装置におけるメンテナンス方法の概略を説明するための説明図である。It is explanatory drawing for demonstrating the outline of the maintenance method in the image processing apparatus which concerns on other embodiment of this invention. 本発明の他の実施の形態に係る画像処理装置におけるメンテナンス方法の概略を説明するための説明図である。It is explanatory drawing for demonstrating the outline of the maintenance method in the image processing apparatus which concerns on other embodiment of this invention. レシピ切り換えコマンドと検査設定切り換えコマンドとが混在する場合を説明するためのフローチャートである。It is a flowchart for demonstrating the case where a recipe switching command and an inspection setting switching command coexist. 従来の画像処理装置におけるメンテナンス方法の概略を説明するための説明図である。It is explanatory drawing for demonstrating the outline of the maintenance method in the conventional image processing apparatus.

以下、本発明の実施の形態に係る画像処理装置について、図面に基づいて具体的に説明する。   Hereinafter, an image processing apparatus according to an embodiment of the present invention will be specifically described with reference to the drawings.

[概略]
図1は、本発明の実施の形態に係る画像処理装置1の概略構成例を示す図である。図1に示すように、画像処理装置1は、エッジ検出や面積計算などの計測処理を実行するコントローラ10と、検査対象物を撮像する3台のカメラ30a,30b,30cと、液晶パネル等のモニタ40と、ユーザがモニタ40上で各種操作するためのコンソール50と、を有している。カメラ30a,30b,30c、モニタ40、及びコンソール50は、コントローラ10と着脱可能に接続される。コントローラ10は、カメラ30a,30b,30cから得られた画像データを用いて画像処理を実行し、外部接続されたPLC60に対し、ワークの良否などの判定結果を示す信号として判定信号を出力する。
[Outline]
FIG. 1 is a diagram illustrating a schematic configuration example of an image processing apparatus 1 according to an embodiment of the present invention. As shown in FIG. 1, the image processing apparatus 1 includes a controller 10 that performs measurement processing such as edge detection and area calculation, three cameras 30a, 30b, and 30c that image an inspection object, a liquid crystal panel, and the like. A monitor 40 and a console 50 for a user to perform various operations on the monitor 40 are provided. The cameras 30a, 30b, 30c, the monitor 40, and the console 50 are detachably connected to the controller 10. The controller 10 executes image processing using the image data obtained from the cameras 30a, 30b, and 30c, and outputs a determination signal as a signal indicating a determination result of the quality of the workpiece to the externally connected PLC 60.

3台のカメラ30a,30b,30cは、PLC60から入力される制御信号、例えばカメラ30a,30b,30cから画像データを取り込むタイミングを規定する撮像トリガ信号に基づいて、検査対象物の撮像を行う。モニタ40は、検査対象物を撮像して得られた画像データや、その画像データを用いた計測処理の結果を表示するための表示装置である。一般に、ユーザはモニタ40を視認することによって、画像処理装置1が運転中である場合のコントローラ10の動作状態を確認することができる。コンソール50は、モニタ40上でフォーカス位置を移動させたり、メニュー項目を選択したりするための入力装置である。特に、後述するように、本実施形態では、コンソール50は検査対象物の品種に応じた識別情報を入力するための入力装置にもなる。   The three cameras 30a, 30b, and 30c image the inspection object based on a control signal input from the PLC 60, for example, an imaging trigger signal that defines the timing for capturing image data from the cameras 30a, 30b, and 30c. The monitor 40 is a display device for displaying the image data obtained by imaging the inspection object and the result of the measurement process using the image data. In general, the user can check the operating state of the controller 10 when the image processing apparatus 1 is in operation by visually checking the monitor 40. The console 50 is an input device for moving the focus position on the monitor 40 and selecting menu items. In particular, as will be described later, in this embodiment, the console 50 also serves as an input device for inputting identification information corresponding to the type of inspection object.

また、画像処理装置1のコントローラ10には、画像処理装置1の画像処理プログラム(制御プログラム)を生成するためのPC70が接続されており、このPC70上で動作するソフトウェアによって、画像処理ユニットの処理順序を規定する画像処理プログラムが生成される(詳細については後述する)。画像処理装置1では、その処理順序に沿って各画像処理ユニットが順次実行される。PC70とコントローラ10とは、通信ネットワークを介して接続されており、PC70上で生成された画像処理プログラムは、モニタ40の表示態様を規定するレイアウト情報などとともにコントローラ10に転送される。また逆に、コントローラ10から画像処理プログラムやレイアウト情報などを取り込んで、PC70上で編集することもできる。   A PC 70 for generating an image processing program (control program) of the image processing apparatus 1 is connected to the controller 10 of the image processing apparatus 1, and processing of the image processing unit is performed by software operating on the PC 70. An image processing program that defines the order is generated (details will be described later). In the image processing apparatus 1, each image processing unit is sequentially executed in the processing order. The PC 70 and the controller 10 are connected via a communication network, and the image processing program generated on the PC 70 is transferred to the controller 10 together with layout information that defines the display mode of the monitor 40 and the like. Conversely, an image processing program, layout information, and the like can be taken from the controller 10 and edited on the PC 70.

図2は、本発明の実施の形態に係る画像処理装置1におけるメンテナンス方法の概略を説明するための説明図である。メンテナンスの流れとしては、まずユーザが画像処理装置1で実行される画像処理プログラムを作成し、その画像処理プログラムを画像処理装置1に転送して運用を開始した後、一部の画像処理ユニットの追加/削除やパラメータ値の設定し直しなどのメンテナンスを行う、という流れである。図2(a)は、画像処理装置1で実行される画像処理プログラムの作成について示しており、図2(b)は、傷ユニットとパターンサーチユニットを削除し、傷iiユニットとパターンサーチiiユニットを追加するとともに、必要に応じてパラメータ値を設定し直す、というメンテナンスについて示している。なお、ここでは、図2(a)に示す画像処理プログラムの作成と、図2(a)から図2(b)へのメンテナンスは、画像処理装置1に接続されたPC70において行うものとする。   FIG. 2 is an explanatory diagram for explaining an outline of the maintenance method in the image processing apparatus 1 according to the embodiment of the present invention. As a maintenance flow, first, the user creates an image processing program to be executed by the image processing apparatus 1, transfers the image processing program to the image processing apparatus 1, starts operation, and then starts some of the image processing units. This is a flow of performing maintenance such as addition / deletion and resetting of parameter values. FIG. 2A shows creation of an image processing program executed by the image processing apparatus 1, and FIG. 2B shows a scratch unit and pattern search unit deleted, and a scratch ii unit and pattern search ii unit. And the maintenance of resetting parameter values as necessary. Here, the creation of the image processing program shown in FIG. 2A and the maintenance from FIG. 2A to FIG. 2B are performed in the PC 70 connected to the image processing apparatus 1.

図2(a)に示すフローチャートは、「撮像」、「傷」、「サーチ」(図2では、「パターンサーチ」を「サーチ」と略す)の3個の画像処理ユニットから構成されており、ユーザがPC70或いはモニタ40の画面上で(モニタ40の画面上の場合はコンソール50を使用して)作成し得るものである。また、図2(a)においては、傷ユニットのパラメータの一部として、検出方向,傷レベル,セグメントサイズの各パラメータを有しており(各パラメータの詳細は後述)、パターンサーチユニットのパラメータの一部として、検出個数,サーチ感度,サーチ精度の各パラメータを有している(各パラメータの詳細は後述)。撮像ユニットも、いくつかのパラメータを有しているが、ここでは説明の便宜上、省略する。なお、撮像ユニットは、カメラ30a,30b,30cから傷ユニット及びパターンサーチユニットの計測処理で用いる画像データを取り込む処理を実行するためのユニットであり、傷ユニットは、検査対象物の傷や汚れの位置を検知する処理を実行するためのユニットであり、サーチユニットは、特定のパターンとして予め登録しておいた基準画像に最も似ている部分を入力画像の中から検出する処理を実行するためのユニットである。   The flowchart shown in FIG. 2A is composed of three image processing units of “imaging”, “scratch”, and “search” (in FIG. 2, “pattern search” is abbreviated as “search”). It can be created on the screen of the PC 70 or the monitor 40 (using the console 50 in the case of the screen of the monitor 40) by the user. In FIG. 2A, parameters of the detection direction, the scratch level, and the segment size are included as part of the parameters of the scratch unit (details of each parameter will be described later). As a part, it has parameters of the number of detections, search sensitivity, and search accuracy (details of each parameter will be described later). The imaging unit also has some parameters, but they are omitted here for convenience of explanation. The imaging unit is a unit for executing processing for taking in image data used in measurement processing of the scratch unit and the pattern search unit from the cameras 30a, 30b, and 30c, and the scratch unit is a scratch or dirt on the inspection target. A unit for executing processing for detecting a position, and a search unit for executing processing for detecting a portion most similar to a reference image registered in advance as a specific pattern from an input image. Is a unit.

まず、図2(a)に示すように、ユーザは、PC70の表示画面において、検査対象物(ワーク)の品種が複数ある場合であっても、品種ごとに別々のフローチャートを作成する必要はない。ユーザは、まず撮像ユニット、傷ユニット、パターンサーチユニットからなるフローチャートを1つ作成する。また、フローチャートの作成過程において、各画像処理ユニットのパラメータに対し、画像処理装置1において画像処理が実行される際に割り付けられるパラメータ値の設定を行う。   First, as shown in FIG. 2A, the user does not need to create a separate flowchart for each type even when there are a plurality of types of inspection objects (work) on the display screen of the PC 70. . First, the user creates one flowchart including an imaging unit, a scratch unit, and a pattern search unit. In addition, in the process of creating the flowchart, parameter values assigned when image processing is executed in the image processing apparatus 1 are set for the parameters of each image processing unit.

本実施形態では、傷ユニットとパターンサーチユニットについて、検査対象となるワークの品種ごとにパラメータ値が変わらない共通パラメータ(傷ユニットの検出方向及びパターンサーチユニットの検出個数)と、検査対象となるワークの品種ごとにパラメータ値が異なる個別パラメータ(傷ユニットの傷レベルとセグメントサイズ、パターンサーチユニットのサーチ感度とサーチ精度)とが混在している。   In the present embodiment, for the scratch unit and the pattern search unit, common parameters (scratch unit detection direction and number of pattern search units detected) whose parameter values do not change for each type of workpiece to be inspected, and the workpiece to be inspected. Individual parameters (scratch level and segment size of the scratch unit, search sensitivity and search accuracy of the pattern search unit) having different parameter values for each type are mixed.

共通パラメータについては、検査対象となるワークの品種ごとにパラメータ値が変わらないため、ユーザは、一のパラメータ値を設定する。図2(a)では、傷ユニットの検出方向及びパターンサーチユニットの検出個数について、それぞれ円周及び1が設定されている。   For the common parameter, the parameter value does not change for each type of workpiece to be inspected, so the user sets one parameter value. In FIG. 2A, the circumference and 1 are set for the detection direction of the scratch unit and the number of detections of the pattern search unit, respectively.

一方で、個別パラメータについては、検査対象となるワークの品種ごとにパラメータ値が異なるように、ユーザは、品種に応じてパラメータ値が切り換わるような設定を行う。図2(a)に示すように、例えば個別パラメータに予め定義した変数を関連付け、その変数には、品種に応じて異なる値が代入されるようにする。図2(a)では、傷レベルに変数#kizuを関連付け、セグメントサイズに変数#sizeを関連付け、サーチ感度に変数#kandoを関連付け、サーチ精度に変数#seidoを関連付けている。また、変数#kizuについては、品種0のワークを検査する際には50が代入され、品種1のワークを検査する際には60が代入され、品種2のワークを検査する際には70が代入されるようにしている(品種3以降についても同様)。また、変数#size,#kando,#seidoについても同様に、それぞれ、品種0のワークを検査する際には20,0,0が代入され、品種1のワークを検査する際には30,1,1が代入され、品種2のワークを検査する際には40,2,2が代入されるようにしている(品種3以降については省略)。このような設定を行うことにより、変数に代入される値は、例えば図2(a)に示すような品種ごとのファイル(レシピファイル)に纏めることができる。   On the other hand, for the individual parameters, the user performs setting so that the parameter values are switched according to the type so that the parameter values differ for each type of work to be inspected. As shown in FIG. 2A, for example, a variable defined in advance is associated with an individual parameter, and a different value is assigned to the variable depending on the product type. In FIG. 2A, the variable #kizu is associated with the scratch level, the variable #size is associated with the segment size, the variable #kando is associated with the search sensitivity, and the variable #seido is associated with the search accuracy. For variable #kizu, 50 is assigned when inspecting workpieces of type 0, 60 is assigned when inspecting workpieces of type 1, and 70 is inspected when workpieces of type 2 are inspected. It is set to be substituted (the same applies to the product types 3 and later). Similarly, for variables #size, #kando, and #seido, 20, 0, 0 are substituted when inspecting a workpiece of type 0, and 30, 1 when inspecting a workpiece of type 1 respectively. , 1 is substituted, and 40, 2, and 2 are substituted when inspecting workpieces of type 2 (omitted for types 3 and later). By performing such settings, the values to be assigned to the variables can be collected in a file (recipe file) for each product type as shown in FIG.

ユーザは、以上の設定が完了すると、図2(a)に示す設定内容をPC70から画像処理装置1に転送し、複数の品種を有するワークについて画像処理を実行する。このとき、画像処理装置1のコントローラ10において、共通パラメータについては、ユーザが設定した一のパラメータ値が割り付けられ、個別パラメータについては、品種に応じて変数に代入された値が割り付けられる。なお、コントローラ10は、コンソール50を用いたユーザの指示により、或いは、PLC60からのコマンドにより、どの品種のワークを検査するかを認識する。   When the above setting is completed, the user transfers the setting contents shown in FIG. 2A from the PC 70 to the image processing apparatus 1 and executes image processing for a workpiece having a plurality of types. At this time, in the controller 10 of the image processing apparatus 1, one parameter value set by the user is assigned to the common parameter, and the value assigned to the variable is assigned to the individual parameter according to the product type. The controller 10 recognizes which type of workpiece is to be inspected by a user instruction using the console 50 or by a command from the PLC 60.

画像処理装置1の運転中に、外部からワークの品種切り換えを示す指示又はコマンドが送られてくると、コントローラ10は、パラメータ値の割り付けをし直す。具体的には、共通パラメータについては、ユーザが設定した一のパラメータ値が割り付けられ、個別パラメータについては、品種に応じて変数に代入された値が割り付けられる。このようにして、画像処理装置1は、共通パラメータについては、品種によらない共通のパラメータ値を割り付け、個別パラメータについては、品種に対応したパラメータ値を割り付けることによって、複数の品種のワークに対応することができるようになっている。   When an instruction or command indicating workpiece type switching is sent from the outside during the operation of the image processing apparatus 1, the controller 10 reassigns parameter values. Specifically, one parameter value set by the user is assigned to the common parameter, and the value assigned to the variable is assigned to the individual parameter according to the product type. In this manner, the image processing apparatus 1 assigns a common parameter value that does not depend on the product type for the common parameter, and assigns a parameter value corresponding to the product type for the individual parameter, thereby supporting a plurality of product types. Can be done.

ここで、図2(a)→図2(b)に示すように、画像処理ユニットの一部を入れ替えてメンテナンスを行う必要性が生じたとする。このときユーザは、例えばコンソール50を操作して、画像処理装置1の運転を停止する。その後、図2(a)に示すフローチャートやレシピファイルなどをコントローラ10からPC70に転送し、PC70の表示画面に、図2(a)に示すフローチャートを表示させる。そして、傷ユニットとパターンサーチユニットを削除した後、傷iiユニット、パターンサーチiiユニットを追加する。また、フローチャートの編集過程において、各画像処理ユニットのパラメータに対し、次に画像処理装置1において画像処理が実行される際に割り付けられるパラメータ値の設定を行う。   Here, as shown in FIG. 2A → FIG. 2B, it is assumed that it is necessary to perform maintenance by replacing a part of the image processing unit. At this time, for example, the user operates the console 50 to stop the operation of the image processing apparatus 1. 2A is transferred from the controller 10 to the PC 70, and the flowchart shown in FIG. 2A is displayed on the display screen of the PC 70. Then, after deleting the scratch unit and the pattern search unit, the scratch ii unit and the pattern search ii unit are added. In the editing process of the flowchart, parameter values assigned when the image processing is executed next in the image processing apparatus 1 are set for the parameters of each image processing unit.

図2(b)に示すフローチャートでも、図2(a)に示すフローチャートと同様に、傷iiユニットとパターンサーチiiユニットについて共通パラメータと個別パラメータとを混在させており、傷iiユニットの検出方向及び新規なパラメータ「間引き方法」、パターンサーチiiユニットの検出個数及び新規なパラメータ「サーチ高速化」を、それぞれ共通パラメータとして規定し、傷iiユニットの傷レベルとセグメントサイズ、パターンサーチiiユニットのサーチ感度とサーチ精度を、それぞれ個別パラメータとして規定している。なお、「間引き方法」は欠陥を検出する際の精度を調整するためのパラメータであり、「サーチ高速化」は処理速度を調整するためのパラメータである。   In the flowchart shown in FIG. 2B as well, as in the flowchart shown in FIG. 2A, common parameters and individual parameters are mixed for the scratch ii unit and the pattern search ii unit, and the detection direction of the scratch ii unit and The new parameter “decimation method”, the number of pattern search ii units detected, and the new parameter “search acceleration” are defined as common parameters, the scratch level and segment size of the scratch ii unit, and the search sensitivity of the pattern search ii unit. And search accuracy are defined as individual parameters. The “thinning method” is a parameter for adjusting the accuracy in detecting a defect, and “acceleration of search” is a parameter for adjusting the processing speed.

共通パラメータについては、上述同様、一のパラメータ値を設定する。図2(b)に示すように、傷iiユニットの検出方向及びパターンサーチiiユニットの検出個数については、図2(a)と同じくそれぞれ円周及び1が設定されている。また、傷iiユニットの新規なパラメータ「間引き方法」及びパターンサーチiiユニットの新規なパラメータ「サーチ高速化」については、それぞれオート及びOFFが設定されている。一方、個別パラメータについては、品種に応じてパラメータ値が切り換わるような設定を行う。ここでは図2(b)に示すように、傷iiユニットの傷レベル及びセグメントサイズ、パターンサーチiiユニットのサーチ感度及びサーチ精度について、それぞれ、例えば個別パラメータに図2(a)で定義した変数#kizu,#size,#kando,#seidoを関連付ける。そうすると、図2(a)を用いて説明したように、変数#kizu,#size,#kando,#seidoには、品種に応じて異なる値が代入されるように構成されているため、個別パラメータに変数を関連付けるだけで、個別パラメータについて検査対象となるワークの品種ごとにパラメータ値を切り換えることができる。以上のメンテナンスが終了すると、ユーザは、図2(b)に示すフローチャートやレシピファイルなどをPC70から画像処理装置1へ転送し、画像処理装置1の運転を再開する。このとき、画像処理装置1のコントローラ10において、共通パラメータについては、ユーザが設定した一のパラメータ値が割り付けられ、個別パラメータについては、品種に応じて変数に代入された値が割り付けられる。   As for the common parameters, one parameter value is set as described above. As shown in FIG. 2B, as for the detection direction of the scratch ii unit and the number of detected pattern search ii units, the circumference and 1 are set as in FIG. 2A. For the new parameter “thinning method” of the scratch ii unit and the new parameter “acceleration of search” of the pattern search ii unit, auto and OFF are set, respectively. On the other hand, the individual parameters are set so that the parameter values are switched according to the product type. Here, as shown in FIG. 2 (b), the flaw level and segment size of the flaw ii unit, the search sensitivity and search accuracy of the pattern search ii unit, for example, the variable # defined in FIG. Associate kizu, #size, #kando, #seido. Then, as described with reference to FIG. 2A, the variable #kizu, #size, #kando, and #seido are configured so that different values are assigned depending on the product type. By simply associating variables with each other, it is possible to switch the parameter value for each type of work to be inspected for individual parameters. When the above maintenance is completed, the user transfers the flowchart and the recipe file shown in FIG. 2B to the image processing apparatus 1 from the PC 70, and restarts the operation of the image processing apparatus 1. At this time, in the controller 10 of the image processing apparatus 1, one parameter value set by the user is assigned to the common parameter, and the value assigned to the variable is assigned to the individual parameter according to the product type.

このように、本実施形態に係る画像処理装置1は、傷ユニット及び傷iiユニット並びにパターンサーチユニット及びパターンサーチiiユニットを個別処理ユニット(個別画像処理の一例に相当)として規定し、これらの個別処理ユニットについて、共通パラメータと個別パラメータとを混在させている。そして、共通パラメータについては、検査対象となるワークの品種ごとにパラメータ値が変わらないように構成し、個別パラメータについては、品種に応じてパラメータ値が切り換わるような構成にしている。したがって、画像処理ユニットの一部を追加・削除するような編集を行った場合であっても、図2(b)を用いて説明したように、一のフローチャートについてのみ編集を行うだけでよいので、少ない工数でメンテナンスすることができ、使い勝手を向上させることができる。   As described above, the image processing apparatus 1 according to the present embodiment defines the scratch unit, the scratch ii unit, the pattern search unit, and the pattern search ii unit as individual processing units (corresponding to an example of individual image processing). For processing units, common parameters and individual parameters are mixed. The common parameter is configured such that the parameter value does not change for each type of workpiece to be inspected, and the individual parameter is configured such that the parameter value is switched according to the type. Therefore, even when editing is performed such that a part of the image processing unit is added or deleted, as described with reference to FIG. 2B, it is only necessary to edit only one flowchart. Maintenance can be performed with less man-hours, and usability can be improved.

以上説明したように、画像処理装置1には、予め処理内容が規定され、ユーザにより設定可能な一又は複数のパラメータからなるパラメータセットに従って処理内容を実行する複数の画像処理ユニットが記憶されている。また、画像処理ユニットが共通処理ユニット又は個別処理ユニットとして規定されており、個別処理ユニットとして規定された画像処理ユニットについて複数の異なるパラメータ値をもつ個別パラメータが少なくとも一つ含まれるように規定されており、個別パラメータの各々のパラメータ値に対し個別処理ユニット間で共通の識別情報を関連付けて規定された画像処理プログラムが、設定され又は受け付けられる。そして、外部からワークの品種切り換えを示す指示又はコマンドが送られて、識別情報が指定されると、個別パラメータに対して識別情報に対応したパラメータ値が割り付けられ、共通パラメータに対して識別情報によらないパラメータ値が割り付けられて、画像処理プログラムで規定された画像処理ユニットの処理順序及び割り付けられたパラメータ値により画像処理ユニットの処理内容と協働して画像処理が実行される。   As described above, the image processing apparatus 1 stores a plurality of image processing units that define processing contents in advance and execute the processing contents according to a parameter set including one or more parameters that can be set by the user. . Further, the image processing unit is defined as a common processing unit or an individual processing unit, and the image processing unit defined as the individual processing unit is defined to include at least one individual parameter having a plurality of different parameter values. An image processing program defined by associating identification information common to the individual processing units with respect to each parameter value of the individual parameter is set or accepted. Then, when an instruction or command indicating workpiece type switching is sent from the outside and identification information is designated, a parameter value corresponding to the identification information is assigned to the individual parameter, and the identification information is assigned to the common parameter. Non-relevant parameter values are assigned, and image processing is executed in cooperation with the processing contents of the image processing unit according to the processing order of the image processing units defined by the image processing program and the assigned parameter values.

以下、本発明の実施の形態に係る画像処理装置1及びプログラム作成支援装置の一例となるPC70について、詳細に説明する。   Hereinafter, the image processing apparatus 1 and the PC 70 as an example of a program creation support apparatus according to an embodiment of the present invention will be described in detail.

[ハードウェア構成]
図3は、本実施形態に係る画像処理装置1におけるコントローラ10のハードウェア構成例を示すブロック図である。図3に示すように、画像処理装置1におけるコントローラ10は、各種プログラムに基づき数値計算や情報処理を行うとともに、ハードウェア各部の制御を行うCPUなどの主制御部11と、起動プログラムや初期化プログラムなどが格納されたROM,フラッシュROM,EEPROMなどのプログラムメモリ12と、CPU11が各種プログラムを実行する際のワークエリアとして機能するRAMなどのメインメモリ13と、外部のPLC60やPC70などと通信可能に接続される通信部14と、コンソール50からの操作信号が入力される操作入力部15と、を有している。
[Hardware configuration]
FIG. 3 is a block diagram illustrating a hardware configuration example of the controller 10 in the image processing apparatus 1 according to the present embodiment. As shown in FIG. 3, the controller 10 in the image processing apparatus 1 performs numerical calculation and information processing based on various programs, and controls a main control unit 11 such as a CPU that controls each part of the hardware, a startup program, and initialization. Can communicate with program memory 12 such as ROM, flash ROM, and EEPROM in which programs are stored, main memory 13 such as RAM that functions as a work area when CPU 11 executes various programs, and external PLC 60 and PC 70 And an operation input unit 15 to which an operation signal from the console 50 is input.

また、画像処理装置1は、カメラ30a〜カメラ30cでの撮像により得られた画像データを取り込むASICなどの画像入力部16と、画像データをバッファリングする画像メモリ(フレームバッファ)17aと、エッジ検出や面積計算などの計測処理を実行するDSPなどの画像処理部18と、計測処理用に画像データを記憶する画像メモリ(ワークメモリ)17bと、液晶パネル等のモニタ40に対して画像を表示させるDSPなどの画像表示部19と、画像を表示させる際に画像データを一時記憶するVRAMなどのビデオメモリ20と、を有している。そして、これらの各ハードウェアは、バス等の電気配線を介して通信可能に接続されている。   The image processing apparatus 1 also includes an image input unit 16 such as an ASIC that captures image data obtained by imaging with the cameras 30a to 30c, an image memory (frame buffer) 17a that buffers image data, and edge detection. An image is displayed on an image processing unit 18 such as a DSP that executes measurement processing such as area calculation, an image memory (work memory) 17b that stores image data for measurement processing, and a monitor 40 such as a liquid crystal panel. It has an image display unit 19 such as a DSP, and a video memory 20 such as a VRAM that temporarily stores image data when displaying an image. Each piece of hardware is connected to be communicable via an electrical wiring such as a bus.

プログラムメモリ12には、画像入力部16、画像処理部18、及び画像表示部19、並びに、通信部14及び操作入力部15の各部を、主制御部11により制御するための装置制御プログラムが格納されている。また、本実施形態では、PC70において生成され、PC70から転送されてきた画像処理プログラムは、プログラムメモリ12に格納されるようにしている。勿論、メインメモリ13に格納されるようにすることもできる。   The program memory 12 stores an apparatus control program for controlling the image input unit 16, the image processing unit 18, the image display unit 19, the communication unit 14, and the operation input unit 15 by the main control unit 11. Has been. In this embodiment, the image processing program generated in the PC 70 and transferred from the PC 70 is stored in the program memory 12. Of course, it can also be stored in the main memory 13.

メインメモリ13、画像メモリ17a,17b、ビデオメモリ20は、SRAMやSDRAM等の揮発性メモリで構成されており、コントローラ10で別個独立したメモリとして設けられている。なお、不揮発性メモリを用いることもできるし、一個のメモリの記憶領域を切り分けて各メモリを構成することもできる。   The main memory 13, the image memories 17 a and 17 b, and the video memory 20 are constituted by volatile memories such as SRAM and SDRAM, and are provided as independent memories by the controller 10. Note that a non-volatile memory can be used, and each memory can be configured by dividing a storage area of one memory.

通信部14は、外部のPLC60に接続されたセンサ(光電センサ等)でトリガ入力があったときに、PLC60から撮像トリガ信号を受信するインターフェース(I/F)として機能する。また、PC70から転送されてくる画像処理装置1の画像処理プログラムやモニタ40の表示態様を規定するレイアウト情報などを受信するインターフェース(I/F)としても機能する。   The communication unit 14 functions as an interface (I / F) that receives an imaging trigger signal from the PLC 60 when a trigger is input from a sensor (photoelectric sensor or the like) connected to the external PLC 60. Also, it functions as an interface (I / F) that receives the image processing program of the image processing apparatus 1 transferred from the PC 70, layout information that defines the display mode of the monitor 40, and the like.

主制御部11は、通信部14を介してPLC60から撮像トリガ信号を受信すると、画像入力部16に対して撮像指令を送る。なお、撮像トリガ信号は、カメラ30a〜カメラ30cのいずれか一のカメラに対する撮像トリガになる場合もあるし、カメラ30a〜カメラ30cの全部のカメラに対する撮像トリガになる場合もある。したがって、主制御部11から画像入力部16へ送られる撮像指令も、カメラ30a〜カメラ30cのいずれか一の撮像指令になる場合もあるし、カメラ30a〜カメラ30cの全部の撮像指令になる場合もある。なお、撮像トリガ信号を生成する装置として、PLC60ではなく、光電センサなどのトリガ入力用のセンサを通信部14に直接接続することもできる。   When receiving the imaging trigger signal from the PLC 60 via the communication unit 14, the main control unit 11 sends an imaging command to the image input unit 16. The imaging trigger signal may be an imaging trigger for any one of the cameras 30a to 30c, or may be an imaging trigger for all the cameras 30a to 30c. Therefore, the imaging command sent from the main control unit 11 to the image input unit 16 may be any one of the imaging commands of the camera 30a to the camera 30c, or may be all imaging commands of the camera 30a to the camera 30c. There is also. In addition, as a device for generating an imaging trigger signal, a trigger input sensor such as a photoelectric sensor can be directly connected to the communication unit 14 instead of the PLC 60.

操作入力部15は、コンソール50からの操作信号を受信するインターフェース(I/F)として機能する。なお、コンソール50には、モニタ40上に表示されるカーソルを上下左右に移動させる十字キー、決定ボタン、又はキャンセルボタンなどの各部品が配置されている。これらの各部品を操作することによって、ユーザはモニタ40上でフローチャートを作成したり、レシピファイルをコピーしたり、所望のレシピを指定したりすることができる。なお、コンソール50は、キーボードやマウスで代用することもできる。また、コンソール50の機能とモニタ40の機能を一体化させたタッチパネルを用いることもできる。   The operation input unit 15 functions as an interface (I / F) that receives an operation signal from the console 50. The console 50 is provided with various components such as a cross key for moving the cursor displayed on the monitor 40 up and down, left and right, an enter button, and a cancel button. By operating each of these components, the user can create a flowchart on the monitor 40, copy a recipe file, or designate a desired recipe. The console 50 can be replaced with a keyboard or a mouse. A touch panel in which the functions of the console 50 and the monitor 40 are integrated can also be used.

カメラ30a〜カメラ30cは、可視光線や赤外線を利用して検査対象物を撮像する撮像手段の一例であり、例えばCCDやCMOSを用いることができる。画像入力部16に接続された3台のカメラ30a〜30cは、内部にA/D変換器を有しており、撮像して得られた画像データをデジタルデータで出力する。また、画像入力部16(或いは主制御部11)からの画像データ取り込み信号に基づき動作する。例えば、カメラ30a〜カメラ30cのいずれか一のみで検査対象物を撮像することもできるし、カメラ30a〜カメラ30cの全部で検査対象物を撮像することもできる。   The camera 30a to the camera 30c are an example of an imaging unit that images an inspection target using visible light or infrared light. For example, a CCD or a CMOS can be used. The three cameras 30a to 30c connected to the image input unit 16 have A / D converters inside, and output image data obtained by imaging as digital data. Further, the operation is performed based on an image data capturing signal from the image input unit 16 (or the main control unit 11). For example, the inspection object can be imaged with only one of the cameras 30a to 30c, or the inspection object can be imaged with all of the cameras 30a to 30c.

画像入力部16は、上述した画像入力プログラムに従って、画像データの取り込みを行う。具体的には、例えば主制御部11からカメラ30aの撮像指令を受信すると、カメラ30aに対して画像データ取り込み信号を送信する。そして、カメラ30aで撮像が行われた後、撮像して得られた画像データを取り込む。取り込んだ画像データは、一旦画像メモリ17aにバッファリング(キャッシュ)され、予め用意しておいた画像変数に代入される。この画像変数は、数値を扱う通常の変数と異なり、対応する画像処理ユニットの入力画像として割り付けることで、計測処理や画像表示の参照先となる変数である。   The image input unit 16 captures image data according to the above-described image input program. Specifically, for example, when an imaging command for the camera 30a is received from the main control unit 11, an image data capture signal is transmitted to the camera 30a. And after image pick-up with camera 30a, image data obtained by picking-up is taken in. The captured image data is once buffered (cached) in the image memory 17a, and is substituted for an image variable prepared in advance. Unlike normal variables that handle numerical values, this image variable is a variable that becomes a reference destination for measurement processing and image display by being assigned as an input image of a corresponding image processing unit.

画像処理部18は、画像データに対する計測処理を実行する。具体的には、まず画像入力部16が上述した画像変数を参照しつつ、画像メモリ17aから画像データを読み出して、画像処理部18を通じて画像メモリ17bへ内部転送を行う。そして、画像処理部18は、画像メモリ17bに記憶された画像データを読み出して、計測処理を実行する。   The image processing unit 18 performs a measurement process on the image data. Specifically, first, the image input unit 16 reads image data from the image memory 17a while referring to the image variables described above, and performs internal transfer to the image memory 17b through the image processing unit 18. Then, the image processing unit 18 reads out the image data stored in the image memory 17b and executes measurement processing.

画像表示部19は、主制御部11から送られてきた表示指令に基づいて、モニタ40に所定画像を表示させる。例えば、画像メモリ17bに記憶されている計測処理前又は計測処理後の画像データを読み出して、ビデオメモリ20に一時記憶し(展開し)、モニタ40に対して画像データ表示信号を送信する。   The image display unit 19 displays a predetermined image on the monitor 40 based on the display command sent from the main control unit 11. For example, the image data before or after the measurement process stored in the image memory 17 b is read out, temporarily stored (expanded) in the video memory 20, and an image data display signal is transmitted to the monitor 40.

[機能構成]
図4は、本実施形態に係る画像処理装置1におけるコントローラ10の機能構成例を示すブロック図である。主制御部11がプログラムメモリ12に格納されている装置制御プログラムを実行することによって、コントローラ10は図5に示す各機能を発揮するように動作する。
[Function configuration]
FIG. 4 is a block diagram illustrating a functional configuration example of the controller 10 in the image processing apparatus 1 according to the present embodiment. When the main control unit 11 executes the apparatus control program stored in the program memory 12, the controller 10 operates so as to exhibit each function shown in FIG.

図4に示すように、コントローラ10は、図2を用いて説明したレシピファイルのうち、どの品種用のレシピファイルを用いるかを示す識別情報、すなわち検査対象物の品種を識別するための識別情報を受信する識別情報受信部101と、PC70から転送された検査用データ(画像処理ユニットの処理順序を示すフローチャート、各画像処理ユニットに対応するパラメータセットのパラメータ値や基準画像などを含む)を記憶する検査用データ記憶部102と、識別情報受信部101から転送される識別情報と検査用データ記憶部102から読み出される検査用データとを用いて、フローチャートの中で、個別処理ユニットとして規定された画像処理ユニットのパラメータのうち個別パラメータ(詳細は後述)に対して、識別情報に対応した(識別情報が示すレシピファイルに保存された)パラメータ値や基準画像を割り付け、個別処理ユニットとして規定された画像処理ユニットのパラメータのうち共通パラメータ(詳細は後述)及び共通処理ユニット(共通画像処理の一例に相当)として規定された画像処理ユニットのパラメータに対して識別情報によらないパラメータ値や基準画像を割り付けるパラメータセット/基準画像割り付け部103と、予め処理内容が規定され、ユーザにより設定可能な一又は複数のパラメータからなるパラメータセットに従って処理内容を実行する複数の画像処理ユニットを記憶する処理ユニット記憶部104と、検査用データに含まれるフローチャート、パラメータセット/基準画像割り付け部103で割り付けられたパラメータ値により、処理ユニット記憶部104に記憶された画像処理ユニットの処理内容と協働して画像処理を実行する画像処理実行部105と、を有している。画像処理実行部105は、検査用データに含まれる画像処理プログラムに従って、画像処理を実行する。   As shown in FIG. 4, the controller 10 has identification information indicating which kind of recipe file is used among the recipe files described with reference to FIG. 2, that is, identification information for identifying the kind of inspection object. ID information receiving unit 101 that receives the image data, and inspection data transferred from the PC 70 (including a flowchart showing the processing order of the image processing units, parameter values of parameter sets corresponding to each image processing unit, reference images, etc.) Using the inspection data storage unit 102, the identification information transferred from the identification information receiving unit 101, and the inspection data read from the inspection data storage unit 102. Among the parameters of the image processing unit, it corresponds to the identification information for individual parameters (details will be described later). Allocate parameter values and reference images (saved in the recipe file indicated by the identification information), and select common parameters (details will be described later) and common processing units (common image processing parameters) among the parameters of the image processing units defined as individual processing units. A parameter set / reference image allocating unit 103 that assigns parameter values and reference images that do not depend on identification information to parameters of the image processing unit specified as equivalent to an example), and processing contents are specified in advance and can be set by the user Assigned by a processing unit storage unit 104 that stores a plurality of image processing units that execute processing contents according to a parameter set including one or a plurality of parameters, a flowchart included in the inspection data, and a parameter set / reference image allocation unit 103 Depending on the parameter value Has an image processing execution unit 105 which sense unit storage unit 104 in cooperation with the processing contents of the stored image processing unit performs image processing, the. The image processing execution unit 105 executes image processing according to an image processing program included in the inspection data.

なお、識別情報受信部101は、例えば上述した通信部14や操作入力部15などによって具現化することができ、検査用データ記憶部102及び処理ユニット記憶部104は、例えばプログラムメモリ12などによって具現化することができ、パラメータセット/基準画像割り付け部103は、例えば主制御部11などによって具現化することができ、画像処理実行部105は、例えば主制御部11,画像入力部16,画像処理部18,画像メモリ17a及び17b,プログラムメモリ12,メインメモリ13などによって具現化することができる。   The identification information receiving unit 101 can be realized by the communication unit 14 or the operation input unit 15 described above, for example, and the inspection data storage unit 102 and the processing unit storage unit 104 are realized by the program memory 12 or the like, for example. The parameter set / reference image allocation unit 103 can be embodied by the main control unit 11 and the like, and the image processing execution unit 105 includes, for example, the main control unit 11, the image input unit 16, and the image processing. It can be realized by the unit 18, the image memories 17a and 17b, the program memory 12, the main memory 13, and the like.

図5は、本実施形態に係るプログラム作成支援装置としてのPC70の機能構成例を示すブロック図である。PC70は、例えばCPU,ROM,RAM,及びハードディスク等から構成される汎用のパーソナルコンピュータを用いることができる。また、図6に示す各機能は、PC70にインストールされたプログラム作成支援ソフトウェアが実行されることによって発揮される。   FIG. 5 is a block diagram illustrating a functional configuration example of the PC 70 as the program creation support apparatus according to the present embodiment. As the PC 70, a general-purpose personal computer including a CPU, a ROM, a RAM, a hard disk, and the like can be used. Further, each function shown in FIG. 6 is exhibited by executing program creation support software installed in the PC 70.

PC70は、フローチャート生成部7011及びプログラム生成部7012として機能する制御部701と、処理ユニット記憶部7021及び検査用データ記憶部7022として機能するメモリ702と、画像処理装置1のコントローラ10と通信可能に接続される通信部703と、マウスやキーボード等から構成される入力部704と、液晶モニタ等で構成される表示部705と、を有している。   The PC 70 can communicate with a control unit 701 that functions as a flowchart generation unit 7011 and a program generation unit 7012, a memory 702 that functions as a processing unit storage unit 7021 and an inspection data storage unit 7022, and the controller 10 of the image processing apparatus 1. A communication unit 703 to be connected, an input unit 704 including a mouse and a keyboard, and a display unit 705 including a liquid crystal monitor are included.

フローチャート生成部7011は、スタートシンボルにおいて開始し、エンドシンボルにおいて終了するフローチャートを生成する機能を有する。ユーザは、入力部704を用いて、所望の画像処理ユニットを所望の順序に配置することによって、表示部705上でフローチャートを作成する。これにより、フローチャートが生成される。   The flowchart generation unit 7011 has a function of generating a flowchart that starts at a start symbol and ends at an end symbol. The user creates a flowchart on the display unit 705 by arranging desired image processing units in a desired order using the input unit 704. Thereby, a flowchart is generated.

プログラム生成部7012は、生成されたフローチャートをコントローラ10で解釈できる設定データに直して、検査用データを生成する機能を有する。ユーザは、入力部704を用いて、表示部705において所定のボタン等をクリックすることによって、画像処理プログラムを含む検査用データを生成することができる。生成された検査用データ(画像処理プログラム)は、メモリ702の検査用データ記憶部7022に記憶される。制御部701は、検査用データ記憶部7022から検査用データ(画像処理プログラム)を読み出して、通信部703を介してコントローラ10へ転送する。   The program generation unit 7012 has a function of generating inspection data by converting the generated flowchart into setting data that can be interpreted by the controller 10. The user can generate inspection data including an image processing program by clicking a predetermined button or the like on the display unit 705 using the input unit 704. The generated inspection data (image processing program) is stored in the inspection data storage unit 7022 of the memory 702. The control unit 701 reads out inspection data (image processing program) from the inspection data storage unit 7022 and transfers it to the controller 10 via the communication unit 703.

また、PC70では、検査用データ(画像処理プログラム)をコントローラ10へ転送するに先立って、画像処理シミュレーションを行うこともできる。具体的には、制御部701が、フローチャート生成部7011によって生成されたフローチャートをPC70上で実行可能な形式に変換し、処理ユニット記憶部7021に記憶された画像処理ユニットの中からフローチャートに配置された画像処理ユニットを参照しながら画像処理シミュレーションを行う。   Further, the PC 70 can perform an image processing simulation prior to transferring the inspection data (image processing program) to the controller 10. Specifically, the control unit 701 converts the flowchart generated by the flowchart generation unit 7011 into a format that can be executed on the PC 70, and is arranged in the flowchart from among the image processing units stored in the processing unit storage unit 7021. An image processing simulation is performed while referring to the image processing unit.

以下、PC70における画像処理プログラム作成の流れについて説明し、その後、作成された画像処理プログラムにより画像処理装置1を運用している際に、メンテナンスの必要性が生じたときのメンテナンス方法について説明する。   Hereinafter, a flow of creating an image processing program in the PC 70 will be described, and then a maintenance method when maintenance is required when the image processing apparatus 1 is operated by the created image processing program will be described.

[画像処理プログラム作成の流れ]
図6は、PC70の表示部705に表示されるエディタ画面(主要部)の一例を示す図である。このエディタ画面は、PC70においてプログラム作成支援ソフトウェアが実行されると、自動的にPC70の表示部705に表示される。
[Flow of image processing program creation]
FIG. 6 is a diagram illustrating an example of an editor screen (main part) displayed on the display unit 705 of the PC 70. This editor screen is automatically displayed on the display unit 705 of the PC 70 when the program creation support software is executed on the PC 70.

図6において、まずユーザは、入力部704の操作によって、所望の画像処理ユニットを、パーツリスト1003からフロービュー1002へ所望の順序で配置されるように、ドラッグアンドドロップを繰り返す。すなわち、スタートシンボルにおいて開始し、エンドシンボルにおいて終了する実行フロー上に、画像処理ユニットを配置することによって、簡易に所望のフローチャートを作成することができる。すなわち、コントローラ10に行わせる一連の画像処理は、画像処理ユニットとしてブロック化されていて、ユーザが画像処理ユニットを実行フロー上に配置するだけで、その画像処理ユニットが、それより前の画像処理ユニットの処理結果に基づいて所定の処理を行うフローシーケンスを作成することができる。   In FIG. 6, first, the user repeats drag and drop so that a desired image processing unit is arranged in the desired order from the parts list 1003 to the flow view 1002 by operating the input unit 704. That is, a desired flowchart can be easily created by arranging the image processing unit on the execution flow starting at the start symbol and ending at the end symbol. That is, a series of image processing to be performed by the controller 10 is blocked as an image processing unit, and the user simply places the image processing unit on the execution flow, and the image processing unit can perform the previous image processing. Based on the processing result of the unit, a flow sequence for performing predetermined processing can be created.

パーツリスト1003内では、複数の画像処理ユニットが、「画像入力」「計測」「制御」「演算」「タイミング」「表示」「出力」「コマンド出力」のカテゴリーに区分されている。各カテゴリーに属する画像処理ユニットをパーツリスト1003内に実際に表示させるには、各カテゴリー左端の+ボタンをクリックすればよい。   In the parts list 1003, a plurality of image processing units are divided into categories of “image input”, “measurement”, “control”, “calculation”, “timing”, “display”, “output”, and “command output”. In order to actually display the image processing units belonging to each category in the parts list 1003, the + button at the left end of each category may be clicked.

「画像入力」は、撮像に関する画像処理ユニットが属するカテゴリーであり、撮像ユニットが属している。この撮像ユニットには、シャッタースピード、カメラ感度、フラッシュオン時間、フラッシュ遅延時間、撮像対象カメラ、トリガ端子を指定するためのパラメータからなるパラメータセットが、撮像ユニットのプロパティとして関連付けられている。図6に示すフロービュー1002では、フローチャートの1番目のユニット(ユニット番号U0001)として、撮像ユニットが配置されている。   “Image input” is a category to which an image processing unit related to imaging belongs, to which the imaging unit belongs. A parameter set including parameters for designating a shutter speed, camera sensitivity, flash-on time, flash delay time, imaging target camera, and trigger terminal is associated with the imaging unit as properties of the imaging unit. In the flow view 1002 shown in FIG. 6, an imaging unit is arranged as the first unit (unit number U0001) in the flowchart.

「計測」は、計測に関する画像処理ユニットが属するカテゴリーであり、撮像ユニットによって得られた画像データから計測結果を抽出し、この計測結果に基づいて検査対象物の良否を判定する計測ユニットが属している。例えば、エリアユニットやエッジ位置ユニット、傷ユニットやパターンサーチが属している。図6に示すフロービュー1002では、フローチャートの2番目及び3番目のユニット(それぞれユニット番号U0002及びU0003)として、それぞれ傷ユニット及びパターンサーチユニットが配置されている。傷ユニットは、小面積の検出領域(セグメント)を移動して平均濃度を算出し、しきい値以上の濃度差がある箇所を傷として検出するユニットである。パターンサーチは、特定の画像パターンを基準画像として予め登録しておき、入力画像の中から基準画像に最も似ている部分を検出し、その部分の位置や角度、相関値を計測するユニットである。また、本実施形態では、図2を用いて説明したように、傷ユニットを改良した画像処理ユニットとして傷iiユニットや、パターンサーチユニットを改良した画像処理ユニットとしてパターンサーチiiユニットなども、「計測」のカテゴリーに属している。   “Measurement” is a category to which an image processing unit related to measurement belongs. A measurement unit that extracts a measurement result from image data obtained by an imaging unit and determines the quality of an inspection object based on the measurement result belongs. Yes. For example, an area unit, an edge position unit, a scratch unit, and a pattern search belong. In the flow view 1002 shown in FIG. 6, a scratch unit and a pattern search unit are arranged as the second and third units (unit numbers U0002 and U0003, respectively) in the flowchart. The flaw unit is a unit that calculates a mean density by moving a detection area (segment) with a small area, and detects a spot having a density difference equal to or greater than a threshold value as a flaw. Pattern search is a unit that registers a specific image pattern as a reference image in advance, detects a portion most similar to the reference image from the input image, and measures the position, angle, and correlation value of that portion. . In this embodiment, as described with reference to FIG. 2, the scratch ii unit is used as an image processing unit with an improved scratch unit, and the pattern search ii unit is used as an image processing unit with an improved pattern search unit. ”Category.

その他、「制御」は、制御に関する画像処理ユニットが属するカテゴリーであり、バイパスユニットやエンドシンボルなどの制御ユニットが属している。バイパスユニットは、実行フローを2以上の枝フローに分岐させる分岐ユニットと、分岐された枝フローを合流させる合流ユニットからなる画像処理ユニットであり、所定条件で実行フローを分岐させるユニットである。エンドシンボルは、1回のフローシーケンスを終了させるためのシンボルである。「演算」は、数値演算ユニットなど、演算に関する画像処理ユニットが属するカテゴリーであり、「タイミング」は、タイマ待ちユニットなど、フロー遷移のタイミング制御に関する画像処理ユニットが属するカテゴリーであり、「表示」は、表示に関する画像処理ユニットが属するカテゴリーであり、「出力」及び「コマンド出力」は、それぞれ出力及びコマンド出力に関する画像処理ユニットが属するカテゴリーである。   In addition, “control” is a category to which image processing units related to control belong, and control units such as a bypass unit and an end symbol belong to it. The bypass unit is an image processing unit that includes a branch unit that branches an execution flow into two or more branch flows and a merging unit that joins the branched branch flows, and is a unit that branches an execution flow under a predetermined condition. The end symbol is a symbol for ending one flow sequence. “Calculation” is a category to which an image processing unit related to calculation such as a numerical calculation unit belongs, “Timing” is a category to which an image processing unit related to timing control of flow transition such as a timer waiting unit belongs, and “Display” is , The category to which the image processing unit related to display belongs, and “output” and “command output” are the categories to which the image processing unit related to output and command output belong, respectively.

このようにして、例えば3個の画像処理ユニットを配置してフローチャートの作成が終わると、次にユーザは、各画像処理ユニットに対応するパラメータ値を設定する。具体的には、フロービュー1002内の撮像ユニット、傷ユニット、パターンサーチユニットそれぞれの上にカーソルを合わせ、右クリックしてプロパティ設定画面を表示部705に表示させる。ここでは、傷ユニットとパターンサーチユニットのプロパティ設定について詳しく説明する。   In this way, for example, when three image processing units are arranged and the creation of the flowchart is completed, the user then sets a parameter value corresponding to each image processing unit. Specifically, the cursor is placed on each of the imaging unit, flaw unit, and pattern search unit in the flow view 1002, and right-clicked to display the property setting screen on the display unit 705. Here, property settings for the scratch unit and the pattern search unit will be described in detail.

図7は、傷ユニットのプロパティ設定画面の一例を示す図である。図8は、パターンサーチユニットのプロパティ設定画面の一例を示す図である。   FIG. 7 is a diagram illustrating an example of a property setting screen for a scratch unit. FIG. 8 is a diagram illustrating an example of a property setting screen for the pattern search unit.

図7において、傷ユニットのプロパティは、例えば「全般」「検出条件」「表示設定」「詳細設定」などの各タブに区分されており、図7では「検出条件」が表示されている。検出条件のパラメータの一例としては、例えば、傷の検出方向を選ぶ「検出方向」、傷と判定する平均濃度の差(公差)を指定する「傷レベル」、計測領域内で移動するセグメントの大きさを指定する「セグメントサイズ」、セグメントにより平均濃度算出を行う際の移動量を指定する「移動量」などが挙げられる(他のパラメータについては説明の便宜上、省略する)。図7では、検出方向はプルダウンメニューの中から円周が選択され、傷レベルは50が選択され、セグメントサイズは20が選択され、移動量は8が選択されている。このように、ユーザはパラメータ値として数値を入力するのではなく、予め定められた数値リストの中から入力部704のマウス操作により選択することができるようになっている。これにより、ユーザは整数型(int型)や倍精度浮動小数型(double型)などの属性を気にすることなく、パラメータ値の設定を行うことができる。これらの各パラメータが一つのパラメータセットになって、画像処理プログラムにおいて傷ユニットに対応するパラメータセットとして規定される。   In FIG. 7, the property of the scratch unit is divided into tabs such as “General”, “Detection condition”, “Display setting”, and “Detail setting”, and “Detection condition” is displayed in FIG. Examples of detection condition parameters include, for example, a “detection direction” for selecting the detection direction of a scratch, a “scratch level” for designating a difference (tolerance) in average density to be determined as a scratch, and a size of a segment moving within a measurement region “Segment size” for designating the size, “Movement amount” for designating the amount of movement for calculating the average density by segment (other parameters are omitted for convenience of explanation). In FIG. 7, as the detection direction, the circumference is selected from the pull-down menu, the scratch level is selected as 50, the segment size is selected as 20, and the movement amount is selected as 8. As described above, the user can select a parameter value from a predetermined numerical list by operating the mouse of the input unit 704 instead of inputting a numerical value. Thereby, the user can set the parameter value without worrying about attributes such as an integer type (int type) and a double precision floating point type (double type). Each of these parameters becomes one parameter set, and is defined as a parameter set corresponding to the flaw unit in the image processing program.

なお、このときユーザはデフォルト値を使用することもできる。デフォルト値は、ユーザがパラメータ値の設定を省略したときに、画像処理ユニットのパラメータに対する割り付けに使用されるように予め設定されたパラメータ値であって、コントローラ10に組み込まれている。また、図7に示すプロパティ設定画面を表示部705上で開いたときには、そのプロパティ設定画面に予め設定されたパラメータ値として、最初にデフォルト値が表示されるようになっている。図7では、検出方向のデフォルト値として円周が設定されており、傷レベルのデフォルト値として50が設定されており、セグメントサイズのデフォルト値として20が設定されており、移動量のデフォルト値として8が設定されている。したがって、ユーザは、図7に示すプロパティ設定画面に表示される各パラメータのデフォルト値を確認し、そのままデフォルト値をパラメータに対する割り付けに使用する場合(デフォルト値を変更しない場合)には、パラメータ値の設定を省略することができる。   At this time, the user can also use the default value. The default value is a parameter value set in advance so as to be used for assignment to the parameter of the image processing unit when the user omits the setting of the parameter value, and is incorporated in the controller 10. When the property setting screen shown in FIG. 7 is opened on the display unit 705, default values are first displayed as parameter values preset in the property setting screen. In FIG. 7, the circumference is set as the default value of the detection direction, 50 is set as the default value of the scratch level, 20 is set as the default value of the segment size, and the default value of the moving amount is 8 is set. Therefore, when the user confirms the default value of each parameter displayed on the property setting screen shown in FIG. 7 and uses the default value as it is for assignment to the parameter (when the default value is not changed), the parameter value Setting can be omitted.

一方、図8において、パターンサーチユニットのプロパティは、例えば「全般」「検出条件」「表示設定」「詳細設定」などの各タブに区分されており、図8では「検出条件」が表示されている。検出条件のパラメータの一例としては、例えば、入力画像中の特定の画像パターンが回転している場合に、計測する角度の範囲を指定する「角度範囲」、パターンサーチ計測で検出する特定の画像パターンの最大個数を指定する「検出個数」、検出の安定度と処理時間との優先付けを調整するサーチ感度を指定する「サーチ感度」、検出の精度と処理時間との優先付けを調整するサーチ精度を指定する「サーチ精度」などが挙げられる。図8では、「角度範囲」は+方向にも−方向にも0度が選択され、「検出個数」は1個が選択され、「サーチ感度」は0が選択され、「サーチ精度」は0が選択されている。なお、図7と同様に、ユーザは、入力部704のマウス操作により所望のパラメータ値を選択することができる。また、図8では、角度範囲のデフォルト値として+方向にも−方向にも0が設定されており、検出個数のデフォルト値として1が設定されており、サーチ感度のデフォルト値として0が設定されており、サーチ精度のデフォルト値として0が設定されているため、ユーザは、そのままデフォルト値をパラメータに対する割り付けに使用する場合(デフォルト値を変更しない場合)には、パラメータ値の設定を省略することができる。これらの各パラメータが一つのパラメータセットになって、パターンサーチユニットに対応するパラメータセットとして規定されている。   On the other hand, in FIG. 8, the properties of the pattern search unit are divided into tabs such as “general”, “detection condition”, “display setting”, and “detail setting”, and “detection condition” is displayed in FIG. Yes. As an example of the detection condition parameter, for example, when a specific image pattern in the input image is rotated, an “angle range” that specifies a range of angles to be measured, and a specific image pattern that is detected by pattern search measurement "Detection number" to specify the maximum number of search, "Search sensitivity" to specify search sensitivity to adjust the priority of detection stability and processing time, Search accuracy to adjust the priority of detection accuracy and processing time "Search accuracy" to specify. In FIG. 8, “degree range” is set to 0 degree in both the + direction and the − direction, “detection number” is set to 1, “search sensitivity” is set to 0, and “search accuracy” is set to 0. Is selected. As in FIG. 7, the user can select a desired parameter value by operating the input unit 704 with the mouse. In FIG. 8, 0 is set as the default value of the angle range in both the + direction and the − direction, 1 is set as the default value of the number of detections, and 0 is set as the default value of the search sensitivity. Since the default value of search accuracy is set to 0, the user omits the parameter value setting when using the default value as it is for assignment to the parameter (when the default value is not changed). Can do. Each of these parameters forms one parameter set and is defined as a parameter set corresponding to the pattern search unit.

なお、上述した画像処理ユニットの処理順序の一例となるフローチャートの設定、及び画像処理ユニットに対応するパラメータセットの各パラメータ値の設定は、入力部704を通じたユーザの操作に基づいて、フローチャート生成部7011が行う。したがって、本実施形態では、フローチャート生成部7011は、複数の画像処理の処理順序及びパラメータ値を設定する「第1設定手段」の一例として機能する。   Note that the setting of the flowchart as an example of the processing order of the image processing unit described above and the setting of each parameter value of the parameter set corresponding to the image processing unit are performed based on a user operation through the input unit 704. 7011. Therefore, in the present embodiment, the flowchart generation unit 7011 functions as an example of a “first setting unit” that sets the processing order and parameter values of a plurality of image processes.

次に、ユーザは、レシピ切り換えに対応したローカル変数を宣言(定義)し、そのローカル変数を、レシピ切り換えを行いたいパラメータと対応付ける(関連付ける)。これにより、そのパラメータを含む画像処理ユニットが個別処理ユニットとして規定される。具体的に説明すると、図6に示すエディタ画面に戻って、「設定」をクリックし、図示しないプルダウンメニューから変数設定をクリックし、ポップアップウィンドウで変数設定画面を表示部705に表示させる。   Next, the user declares (defines) a local variable corresponding to recipe switching, and associates (associates) the local variable with a parameter for which recipe switching is to be performed. Thereby, an image processing unit including the parameter is defined as an individual processing unit. More specifically, returning to the editor screen shown in FIG. 6, click “Setting”, click a variable setting from a pull-down menu (not shown), and display the variable setting screen on the display unit 705 in a pop-up window.

図9は、変数設定画面の一例を示す図である。図9に示す変数設定画面では、「ローカル変数」、「グローバル変数」、「画像変数」の3個の変数タブが含まれている。「ローカル変数」は、一時的に数字や文字等を記憶しておくとともに、一の検査設定内で参照可能な変数であり、画像処理ユニットの一の処理順序(フローチャート)において参照し得る変数である。ローカル変数は、コントローラ10の電源起動時や検査設定切換時に、ユーザによって予め定義された初期値で初期化される。また、特定の画像処理ユニットの実行結果(例えばエッジ位置など)が一時的に記憶された後、その画像処理ユニット以下に配置された画像処理ユニットの実行(例えばエッジ位置とエッジ位置との間の距離など)において参照され得る。「グローバル変数」は、一時的に数字や文字等を記憶しておくとともに、複数の検査設定を跨いで(全検査設定に共通して)参照可能な変数である。すなわち、画像処理ユニットの処理順序(フローチャート)が複数ある場合に、それら複数の処理順序において共通で参照し得る変数である。「画像変数」は、上述のとおりである。   FIG. 9 is a diagram illustrating an example of a variable setting screen. The variable setting screen shown in FIG. 9 includes three variable tabs of “local variable”, “global variable”, and “image variable”. The “local variable” is a variable that temporarily stores numbers, characters, and the like and can be referred to in one inspection setting, and can be referred to in one processing order (flow chart) of the image processing unit. is there. The local variable is initialized with an initial value defined in advance by the user when the controller 10 is turned on or when the inspection setting is switched. In addition, after an execution result (for example, an edge position) of a specific image processing unit is temporarily stored, an execution of an image processing unit arranged below the image processing unit (for example, between an edge position and an edge position) Distance). The “global variable” is a variable that temporarily stores numbers, characters, and the like and can be referred to across a plurality of inspection settings (common to all inspection settings). That is, when there are a plurality of processing orders (flow charts) of the image processing units, the variables can be referred to in common in the plurality of processing orders. The “image variable” is as described above.

図9に示すように、ユーザは、追加ボタン1015をクリックして、例えば「ローカル変数」として“#kizu”“#size”“#kando”“#seido”を宣言するとともに、レシピ対応欄1016の各チェックボックスをクリックし、これらのローカル変数をレシピ対応にする。これにより、4個のレシピ対応ローカル変数が定義される。このようにして宣言されたレシピ対応ローカル変数は、通常のローカル変数とは意義が異なる。一時的に数字や文字等を記憶しておくとともに、一の検査設定内で参照可能である、という意味においてはローカル変数の範疇に包含される変数であるが、これに加えて、レシピ(品種)に応じて異なる値が代入されるようになっている。なお、変数名の頭についた#は、ローカル変数を意味する接頭子であり、レシピ対応ローカル変数の接頭子も#になっている。   As shown in FIG. 9, the user clicks the add button 1015 and declares “#kizu”, “#size”, “#kando”, “#seido” as “local variables”, for example, Click each check box to make these local variables recipe-friendly. As a result, four recipe-corresponding local variables are defined. The recipe-corresponding local variable declared in this way has a different meaning from a normal local variable. It is a variable that is included in the category of local variables in the sense that it can temporarily store numbers, letters, etc., and can be referenced within one inspection setting. ), Different values are assigned. Note that # at the beginning of the variable name is a prefix that means a local variable, and the prefix of the recipe corresponding local variable is also #.

そして、これら4個のレシピ対応ローカル変数を、レシピ切り換えを行いたいパラメータと対応付ける(関連付ける)。具体的には、ユーザは、図7に戻って、傷レベルの変数入力欄1011の左側のチェックボックスにチェックを入れると、変数入力欄1011が入力不可能な状態(グレーアウト状態)から入力可能な状態になるので、レシピ対応ローカル変数“#kizu”を入力する。なお、チェックボックスにおけるチェックの有無により変数入力欄1011の入力可否状態をコントロールすることによって、ユーザが誤って変数を入力してしまうミスを防ぐことができる。また、セグメントサイズの変数入力欄1012の左側のチェックボックスにチェックを入れ、レシピ対応ローカル変数“#size”を入力する。そうすると、図10に示すように、レシピ対応ローカル変数“#kizu”及び“#size”が、それぞれパラメータ「傷レベル」及び「セグメントサイズ」と関連付けられる。同様にして、ユーザは、図8に戻って、サーチ感度の変数入力欄1013の左側のチェックボックスにチェックを入れ、レシピ対応ローカル変数“#kando”を入力する。また、サーチ精度の変数入力欄1014の左側のチェックボックスにチェックを入れ、レシピ対応ローカル変数“#seido”を入力する。そうすると、図11に示すように、レシピ対応ローカル変数“#kando”及び“#seido”が、それぞれパラメータ「サーチ感度」及び「サーチ精度」と関連付けられる。このようにして、4個のレシピ対応ローカル変数が、レシピ切り換えを行いたいパラメータと関連付けられる。なお、図10及び図11において、レシピ対応ローカル変数と通常のローカル変数とを混在させてもよい。通常のローカル変数は、一の処理順序(フローチャート)において画像処理ユニット間で受け渡しを行う値が格納される変数であり、レシピ対応ローカル変数は、一の処理順序(フローチャート)において識別情報(レシピ)に応じて異なる値が代入される変数である。このように、画像処理装置1で実行される画像処理プログラムでは、レシピ対応ローカル変数と通常のローカル変数が混在可能となっている。これにより、通常のローカル変数がもつ画像処理ユニットの間での値の受け渡し機能とともに、レシピ対応ローカル変数がもつレシピに応じたパラメータ値の切り換え機能の双方を発揮することができる。   Then, these four recipe-corresponding local variables are associated (associated) with parameters for which recipe switching is to be performed. Specifically, when the user returns to FIG. 7 and checks the check box on the left side of the variable input column 1011 for the wound level, the variable input column 1011 can be input from a state where it cannot be input (grayed out state). Enter the recipe corresponding local variable “#kizu”. It should be noted that by controlling whether or not the variable input field 1011 can be input based on whether or not the check box is checked, it is possible to prevent a user from mistakenly inputting a variable. Also, the check box on the left side of the segment size variable input field 1012 is checked, and the recipe corresponding local variable “#size” is input. Then, as shown in FIG. 10, the recipe corresponding local variables “#kizu” and “#size” are associated with the parameters “scratch level” and “segment size”, respectively. Similarly, the user returns to FIG. 8 and checks the check box on the left side of the search sensitivity variable input field 1013 to input the recipe-corresponding local variable “#kando”. Also, the check box on the left side of the search accuracy variable input field 1014 is checked, and the recipe corresponding local variable “#seido” is input. Then, as shown in FIG. 11, the recipe corresponding local variables “#kando” and “#seido” are associated with the parameters “search sensitivity” and “search accuracy”, respectively. In this way, the four recipe-corresponding local variables are associated with the parameters for which recipe switching is to be performed. In FIG. 10 and FIG. 11, recipe corresponding local variables and normal local variables may be mixed. A normal local variable is a variable in which a value to be transferred between image processing units in one processing order (flowchart) is stored. A recipe-corresponding local variable is identification information (recipe) in one processing order (flowchart). It is a variable that is assigned a different value depending on. As described above, in the image processing program executed by the image processing apparatus 1, recipe-corresponding local variables and normal local variables can be mixed. As a result, both the function of transferring values between the image processing units of the normal local variable and the function of switching the parameter value according to the recipe of the recipe-corresponding local variable can be exhibited.

次に、ユーザは図6に戻って、「ファイル」の中にある「レシピ保存」ボタン(図示せず)をクリックし、レシピの保存を行う。そうすると、図10及び図11で設定した内容、すなわち#kizu=50、#size=20、#seido=0、#kando=0が格納されたレシピファイル(recipe0000.dat)が生成される。レシピファイルの内容を変更したい場合、すなわちレシピに応じてレシピ対応ローカル変数に代入される値を変更したい場合には、図10又は図11に示すプロパティ設定画面を開き、そのプロパティ設定画面上で所望のパラメータ値を選択し、上述した「レシピ保存」ボタン(図示せず)をクリックしてレシピの保存を行う。これにより、最初にパラメータ値を設定する場合と同様(図7及び図8)、ユーザは整数型(int型)や倍精度浮動小数型(double型)などの属性を気にすることなく、パラメータ値の再設定(修正)を行うことができる。   Next, the user returns to FIG. 6 and clicks a “recipe save” button (not shown) in the “file” to save the recipe. Then, a recipe file (recipe0000.dat) storing the contents set in FIGS. 10 and 11, that is, # kizu = 50, # size = 20, # seido = 0, and # kando = 0 is generated. If you want to change the contents of the recipe file, that is, if you want to change the value assigned to the recipe-corresponding local variable according to the recipe, open the property setting screen shown in FIG. 10 or FIG. The parameter value is selected, and the “save recipe” button (not shown) described above is clicked to save the recipe. Thus, as in the case of setting the parameter value first (FIGS. 7 and 8), the user can set the parameter without worrying about attributes such as integer type (int type) and double precision floating point type (double type). The value can be reset (corrected).

なお、recipe0000.datのファイル名は、システムによって自動的に命名されるファイル名であり、レシピファイルを追加するときには、0000の部分はレシピ番号としてユーザが指定することができる。また、レシピの保存を行う際に、レシピファイルの名称(レシピ名称)を設定することができる。recipe0000.datといったファイル名よりもレシピ名称の方が、ユーザにとって検査対象物の品種を認識しやすい。例えば、画像処理プログラムを最初に作成するユーザと、メンテナンスするユーザが異なる可能性がある場合には、レシピ名称を設定しておき、検査対象物の品種を認識しやすくしておくことができる。具体的には、ユーザは図6に示す「ファイル」の中にある「レシピ名称設定」ボタン(図示せず)をクリックし、図示しないダイアログボックスを開いて、レシピ名称の入力を行う。ここでは、品種0のワークを検査するときにレシピ対応ローカル変数に代入される値が保存されているレシピファイル、という意味で、「ワーク0」という名称を設定する。   The file name of recipe0000.dat is a file name that is automatically named by the system. When a recipe file is added, the part of 0000 can be designated by the user as a recipe number. In addition, when a recipe is saved, a recipe file name (recipe name) can be set. The recipe name is easier for the user to recognize the type of inspection object than the file name such as recipe0000.dat. For example, when there is a possibility that the user who initially creates the image processing program and the user who performs maintenance may be different, a recipe name can be set so that the type of the inspection object can be easily recognized. Specifically, the user clicks a “recipe name setting” button (not shown) in the “file” shown in FIG. 6, opens a dialog box (not shown), and inputs a recipe name. Here, the name “work 0” is set to mean a recipe file in which a value to be assigned to a recipe-corresponding local variable when a work of type 0 is inspected is stored.

図12は、PC70の表示部705に表示されるエディタ画面(主要部)の一例であって、生成されたレシピファイル(recipe0000.dat)が表示されている様子を示す図である。図12に示すように、システムビュー1019のタブをクリックすると、ワークスペース内に各種ファイルが表示される。具体的には、図12に示すように、システムビュー1019のワークスペースには、「0000:Oリング外観検査」と「0001:液晶アライメント」の2個の検査設定が表示され、そのうち「0000:Oリング外観検査」については下位層まで表示されている。そのうち、検査設定ファイル“inspect.dat”には、図6に示すフローチャート、フローチャートを構成する各画像処理ユニット(撮像ユニット、傷ユニット、パターンサーチユニット)のパラメータのデフォルト値、図9に示すレシピ対応有無の属性などが保存される。また、「0000:Oリング外観検査」の下位層には、レシピファイル(recipe0000.dat)が生成されている様子が表示され、このレシピファイルには、品種0のワークを検査するときにレシピ対応ローカル変数に代入される値が保存される。また、図12では、レシピファイル(recipe0000.dat)が点線枠で囲まれているが、これは、現在アクティブになっているレシピファイルであることを示している。つまり、この状態で上述したレシピの保存を行うと、現在レシピ対応ローカル変数が関連付けられたパラメータにおいて設定されているパラメータ値(図10及び図11参照)が、品種0のワークを検査するときにレシピ対応ローカル変数に代入される値として保存される。   FIG. 12 is an example of an editor screen (main part) displayed on the display unit 705 of the PC 70, and shows a state where a generated recipe file (recipe0000.dat) is displayed. As shown in FIG. 12, when the tab of the system view 1019 is clicked, various files are displayed in the workspace. Specifically, as shown in FIG. 12, two inspection settings “0000: O-ring appearance inspection” and “0001: liquid crystal alignment” are displayed in the workspace of the system view 1019, of which “0000: “O-ring appearance inspection” is displayed up to the lower layer. Among them, the inspection setting file “inspect.dat” includes a flowchart shown in FIG. 6, default values of parameters of each image processing unit (imaging unit, flaw unit, pattern search unit) constituting the flowchart, and recipe correspondence shown in FIG. 9. Presence / absence attributes are saved. The lower layer of “0000: O-ring appearance inspection” shows that a recipe file (recipe0000.dat) is generated. This recipe file supports recipes when inspecting workpieces of type 0 The value assigned to the local variable is saved. In FIG. 12, a recipe file (recipe0000.dat) is surrounded by a dotted frame, which indicates that the recipe file is currently active. In other words, when the above-described recipe is stored in this state, the parameter value (see FIGS. 10 and 11) set in the parameter associated with the current recipe-corresponding local variable is used when the workpiece of type 0 is inspected. Saved as a value to be assigned to the recipe-related local variable.

なお、図12に示すエディタ画面は、図6と異なり、最上部に「0000−0000:Oリング外観検査 ワーク0」と表示されているが、ハイフンより前の0000は検査設定フォルダ番号、ハイフンより後ろの0000はレシピ番号、ワーク0はレシピ名称を示している。このように、「ワーク0」というレシピ名称を最上部に表示することによって、メンテナンスを行う際にユーザが品種を認識しやすくなる。なお、ユーザが品種を認識しやすくする観点から、レシピ名称をワークスペース内に表示するようにすることもできる(例えば、「recipe0000.dat」を「recipe0000.dat:ワーク0」等と表示することも可能である)。   The editor screen shown in FIG. 12 is different from FIG. 6 in that “0000-0000: O-ring appearance inspection work 0” is displayed at the top, but “0000” before the hyphen is the inspection setting folder number. The back 0000 indicates the recipe number, and the work 0 indicates the recipe name. Thus, by displaying the recipe name “work 0” at the top, the user can easily recognize the product type when performing maintenance. Note that the recipe name can also be displayed in the workspace from the viewpoint of making it easier for the user to recognize the product type (for example, “recipe0000.dat” is displayed as “recipe0000.dat: work 0” or the like). Is also possible).

次に、品種1に対応するパラメータ値として、品種1のワークを検査するときにレシピ対応ローカル変数に代入される値の保存方法について説明する。図13は、レシピ設定のコピー画面例である。ユーザは、図12に示すエディタ画面において、「ファイル」をクリックし、図示しないプルダウンメニューから「レシピ設定のコピー」をクリックし、ポップアップウィンドウでレシピ設定のコピー画面(図13)を表示部705に表示させる。   Next, as a parameter value corresponding to the product type 1, a method of saving a value that is substituted into the recipe-corresponding local variable when inspecting the workpiece of the product type 1 will be described. FIG. 13 is an example of a recipe setting copy screen. The user clicks “File” on the editor screen shown in FIG. 12, clicks “Copy recipe setting” from a pull-down menu (not shown), and displays a copy screen of recipe setting (FIG. 13) on the display unit 705 in a pop-up window. Display.

まず、コピー元のレシピ番号1021を選択し、コピー対象となるレシピファイルをプルダウン等により選択する。ここでは、コピー元レシピ番号として、既にパラメータ値を設定しているレシピ番号0を用いる。また、コピー対象となる対象データ1022を、チェックボックスにチェックを入れて選択する。対象データ1022としては、例えばレシピ名称、ロット番号などのレシピ文字列0〜4、登録画像(登録された基準画像)、ワークの位置補正情報となる位置補正基準値、画面表示や演算などに使用する結果データ等を実寸など任意の単位に変換するスケーリング補正設定などが挙げられる。そして、コピー先レシピ番号1023として、開始(終了)レシピ番号或いはコピー回数などを指定した後(ここでは開始(終了)レシピ番号としてレシピ番号1を指定する)、実行ボタン1024をクリックすると、レシピファイル(recipe0000.dat)がコピーされ、レシピファイル(recipe0001.dat)が生成される。   First, the copy source recipe number 1021 is selected, and a recipe file to be copied is selected by pull-down or the like. Here, recipe number 0 for which parameter values have already been set is used as the copy source recipe number. Also, target data 1022 to be copied is selected by checking a check box. As the target data 1022, for example, used for recipe character strings 0 to 4 such as recipe names and lot numbers, registered images (registered reference images), position correction reference values serving as work position correction information, screen display and calculation, etc. For example, scaling correction setting for converting result data or the like into an arbitrary unit such as an actual size may be used. Then, after specifying the start (end) recipe number or the number of times of copying as the copy destination recipe number 1023 (here, the recipe number 1 is specified as the start (end) recipe number), and the execution file 1024 is clicked, the recipe file (Recipe0000.dat) is copied and a recipe file (recipe0001.dat) is generated.

図14及び図15は、レシピファイル(recipe0001.dat)が生成され、このレシピファイルがアクティブになっている様子を示す図である。図14は、フロービュー1018のタブがクリックされた状態であり、図15は、システムビュー1019のタブがクリックされた状態である。なお、レシピ名称として今度は「ワーク1」を設定しているため、図14及び図15に示すエディタ画面の最上部には、「0000−0001:Oリング外観検査 ワーク1」と表示されている。また、図14及び図15では、レシピファイル(recipe0001.dat)が点線枠で囲まれているため、このレシピファイルがアクティブになっていることが一目で分かるようになっている。   FIG. 14 and FIG. 15 are diagrams showing how a recipe file (recipe0001.dat) is generated and this recipe file is active. FIG. 14 shows a state where the tab of the flow view 1018 is clicked, and FIG. 15 shows a state where the tab of the system view 1019 is clicked. Since “work 1” is set as the recipe name this time, “0000-0001: O-ring appearance inspection work 1” is displayed at the top of the editor screen shown in FIGS. . In FIG. 14 and FIG. 15, the recipe file (recipe0001.dat) is surrounded by a dotted frame, so that it can be seen at a glance that this recipe file is active.

次に、ユーザは、傷ユニット及びパターンサーチユニットのプロパティ設定画面を開き、パラメータ値を変更する。具体的には、ユーザは、傷ユニット及びパターンサーチユニットのプロパティ設定画面を開くと、図10及び図11に示すプロパティ設定画面が表示される。これは、現在アクティブになっているレシピファイル(recipe0001.dat)は、レシピファイル(recipe0000.dat)からコピーしたものだからである。図10に示す傷ユニットについては、検出方向と移動量のパラメータ値としてデフォルト値が表示され、レシピ対応ローカル変数が関連付けられた傷レベル及びセグメントサイズのパラメータ値として、レシピファイル(recipe0000.dat)に保存されている値が読み出され、表示される(#kizu=50、#size=20、#seido=0、#kando=0が表示される)。図11に示すパターンサーチユニットについても同様である。   Next, the user opens the property setting screen of the scratch unit and the pattern search unit, and changes the parameter value. Specifically, when the user opens the property setting screen for the scratch unit and the pattern search unit, the property setting screen shown in FIGS. 10 and 11 is displayed. This is because the currently active recipe file (recipe0001.dat) is copied from the recipe file (recipe0000.dat). For the scratch unit shown in FIG. 10, default values are displayed as parameter values for the detection direction and movement amount, and parameter values for the scratch level and segment size associated with the recipe-related local variables are stored in the recipe file (recipe0000.dat). The stored value is read and displayed (# kizu = 50, # size = 20, # seido = 0, # kando = 0 is displayed). The same applies to the pattern search unit shown in FIG.

次に、ユーザは、図16及び図17に示すように、#kizu=60、#size=30、#seido=1、#kando=1となるようにパラメータ値を選択することによって、品種1に対応するパラメータ値を設定する。その後、ユーザは、OKボタンをクリックしてプロパティ設定画面を閉じ、図14又は図15に示す「ファイル」の中にある「レシピ保存」ボタン(図示せず)をクリックし、レシピを保存する。これにより、レシピファイル(recipe0001.dat)の内容が更新される。すなわち、#kizu、#size、#seido、#kandoの各レシピ対応ローカル変数に代入される値が、上記の値によって上書きされる。   Next, as shown in FIG. 16 and FIG. 17, the user selects a parameter value such that # kizu = 60, # size = 30, # seido = 1, # kando = 1, Set the corresponding parameter value. Thereafter, the user clicks the OK button to close the property setting screen, and clicks a “recipe save” button (not shown) in the “file” shown in FIG. 14 or FIG. 15 to save the recipe. As a result, the contents of the recipe file (recipe0001.dat) are updated. That is, the values assigned to the local variables corresponding to recipes #kizu, #size, #seido, and #kando are overwritten by the above values.

以下同様にして、レシピファイルのコピー、品種に対応するパラメータ値の選択、レシピの保存、という一連の作業を繰り返す。図18は、レシピ0からレシピ3までのレシピファイルに保存された内容のイメージを示す図である。図18に示すように、レシピファイル“recipe0000.dat”には、品種0のワークを検査するときに、レシピ対応ローカル変数“#kizu”に代入される値として50が規定され、レシピ対応ローカル変数“#size”に代入される値として20が規定され、レシピ対応ローカル変数“#kando”に代入される値として0が規定され、レシピ対応ローカル変数“#seido”に代入される値として0が規定されている。他のレシピファイルについても同様である。   In the same manner, a series of operations of copying the recipe file, selecting parameter values corresponding to the product type, and saving the recipe are repeated. FIG. 18 is a diagram showing an image of the contents stored in the recipe files from recipe 0 to recipe 3. As shown in FIG. 18, in the recipe file “recipe0000.dat”, 50 is defined as a value to be assigned to the recipe-corresponding local variable “#kizu” when a workpiece of type 0 is inspected. 20 is specified as the value to be assigned to “#size”, 0 is specified as the value to be assigned to the recipe-related local variable “#kando”, and 0 is assigned to the recipe-related local variable “#seido”. It is prescribed. The same applies to other recipe files.

図19は、品種3に対応するパラメータ値を設定した後、レシピ3のレシピファイルがアクティブになっている様子を示す図である。システムビュー1019のワークスペースでは、レシピファイル“recipe0003.dat”が点線枠で囲まれており、最上部には、「0000−0003:Oリング外観検査 ワーク3」と表示されている。なお、レシピ番号1001を変更することによって、アクティブなレシピファイルを切り換えることもできる。図19ではレシピ番号3がアクティブとなっているが、これを0〜2に切り換えることも可能である。本実施形態では、レシピ番号は0〜3の4種類を切り換えることができるようになっている。   FIG. 19 is a diagram illustrating a state in which the recipe file of the recipe 3 is activated after the parameter value corresponding to the product type 3 is set. In the workspace of the system view 1019, the recipe file “recipe0003.dat” is surrounded by a dotted frame, and “0000-0003: O-ring appearance inspection work 3” is displayed at the top. Note that the active recipe file can be switched by changing the recipe number 1001. In FIG. 19, recipe number 3 is active, but it can be switched to 0-2. In the present embodiment, four types of recipe numbers 0 to 3 can be switched.

次に、パターンサーチユニットの処理内容を実行する際に用いる基準画像について説明する。ユーザは、図19に示すエディタ画面に戻って、「設定」をクリックし、図示しないプルダウンメニューから「画像登録」をクリックし、ポップアップウィンドウで登録画像一覧を表示部705に表示させる。   Next, a reference image used when executing the processing contents of the pattern search unit will be described. The user returns to the editor screen shown in FIG. 19, clicks “setting”, clicks “image registration” from a pull-down menu (not shown), and displays a registered image list on the display unit 705 in a pop-up window.

図20は、基準画像として登録された画像一覧を示す図である。図20に示すように、ユーザは、パターンサーチユニットの品種に応じた4個の基準画像(ファイル名は、それぞれ“ref1_000_0000.jpg”“ref1_000_0001.jpg”“ref1_000_0002.jpg”“ref1_000_0003.jpg”)を登録しておき、最右欄のレシピ対応欄1017の各チェックボックスをクリックし、これらの画像をレシピ対応の基準画像にする。   FIG. 20 is a diagram showing a list of images registered as reference images. As shown in FIG. 20, the user has four reference images corresponding to the types of pattern search units (file names are “ref1_000_0000.jpg”, “ref1_000_0001.jpg”, “ref1_000_0002.jpg”, “ref1_000_0003.jpg”). Are registered, and each check box in the recipe corresponding column 1017 in the rightmost column is clicked to make these images the reference images corresponding to the recipe.

そして、基準画像を品種に応じて切り換えたいパターンサーチユニットのプロパティの基準画像設定画面(図示せず)で、パターンサーチの際に用いる基準画像として、下3桁の数字とファイル拡張子を除く“ref1_000”を指定する。そうすると、アクティブとなっているレシピ番号(下3桁で表わされるレシピ番号)に対応した基準画像がパターンサーチに用いられる。具体的に説明すると、レシピ番号0が指定されているときには“ref1_000_0000.jpg”が用いられ、レシピ番号1が指定されているときには“ref1_000_0001.jpg”が用いられ、レシピ番号2が指定されているときには“ref1_000_0002.jpg”が用いられ、レシピ番号3が指定されているときには“ref1_000_0003.jpg”が用いられる。なお、パラメータも基準画像も、レシピ対応有無(つまり、レシピ対応か否か)の属性自体は検査設定ファイル“inspect.dat”内に保存される。   Then, on the reference image setting screen (not shown) of the property of the pattern search unit to which the reference image is to be switched according to the product type, the lower three digits and the file extension are excluded as the reference image used for the pattern search. Specify ref1_000 ”. Then, the reference image corresponding to the active recipe number (the recipe number represented by the last three digits) is used for the pattern search. More specifically, “ref1_000_0000.jpg” is used when recipe number 0 is specified, and “ref1_000_0001.jpg” is used when recipe number 1 is specified, and recipe number 2 is specified. “Ref1_000_0002.jpg” is sometimes used, and “ref1_000_0003.jpg” is used when the recipe number 3 is designated. It should be noted that both the parameter and the reference image have the attribute itself indicating whether or not the recipe is compatible (that is, whether or not the recipe is compatible) in the inspection setting file “inspect.dat”.

図21は、図19に示す状態から更に、4個の基準画像を登録し、レシピ3のレシピファイル(“recipe0003.dat”)及び基準画像(“ref1_000_0003.jpg”)がアクティブになっている様子を示す図である。   FIG. 21 further shows that four reference images are registered from the state shown in FIG. 19, and the recipe file (“recipe0003.dat”) and reference image (“ref1_000_0003.jpg”) of recipe 3 are active. FIG.

最後に、PC70上で生成された画像処理プログラム、具体的には、図21のワークスペースに示す検査設定ファイル“inspect.dat”、レシピファイル“recipe0000.dat”〜“recipe0003.dat”、基準画像“ref1_000_0000.jpg”〜“ref1_000_0003.jpg”が、画像処理装置1のコントローラ10に転送された後、画像処理装置1において画像処理プログラムが実行される。 Finally, an image processing program generated on the PC 70, specifically, an inspection setting file “inspect.dat”, recipe files “recipe0000.dat” to “recipe0003.dat” shown in the workspace of FIG. After “ref1_000_0000.jpg” to “ref1_000_0003.jpg” are transferred to the controller 10 of the image processing apparatus 1, the image processing program is executed in the image processing apparatus 1.

以上、図6〜図21を用いて説明したように、ユーザは、PC70において画像処理プログラムを作成する際に、レシピ対応ローカル変数を定義し(図9)、それを傷ユニット及びパターンサーチユニットのパラメータに関連付けることによって(図10、図11)、これらの画像処理ユニットを個別処理ユニットとして指定することができる。同時に、レシピ対応ローカル変数と関連付けられたパラメータは、個別処理ユニットとして指定された傷ユニット及びパターンサーチユニットについて複数の異なるパラメータ値をもつ個別パラメータとして設定されるとともに、個別パラメータの各々のパラメータ値に対し個別処理ユニット間で共通のレシピ番号を関連付けて設定される(図18)。これらの各処理は、ユーザによる入力部704の操作を通じて、フローチャート生成部7011が行う。したがって、フローチャート生成部7011は、パラメータについて、複数の異なるパラメータ値を設定可能な個別パラメータか、或いは、一のパラメータ値を設定可能な共通パラメータかを指定する手段の一例として機能するとともに、個別パラメータの各々のパラメータ値に対し複数の画像処理間で共通の識別情報を関連付けて設定する「第2設定手段」の一例として機能する。   As described above with reference to FIGS. 6 to 21, when the user creates an image processing program on the PC 70, the user defines a recipe-corresponding local variable (FIG. 9) and uses it for the scratch unit and the pattern search unit. By associating with parameters (FIGS. 10 and 11), these image processing units can be designated as individual processing units. At the same time, the parameters associated with the recipe-corresponding local variables are set as individual parameters having a plurality of different parameter values for the scratch unit and the pattern search unit designated as the individual processing unit, and are set to the parameter values of the individual parameters. On the other hand, a common recipe number is set in association with the individual processing units (FIG. 18). Each of these processes is performed by the flowchart generation unit 7011 through the operation of the input unit 704 by the user. Accordingly, the flowchart generation unit 7011 functions as an example of a means for specifying whether a parameter is an individual parameter capable of setting a plurality of different parameter values or a common parameter capable of setting one parameter value. It functions as an example of “second setting means” for associating and setting common identification information among a plurality of image processes for each parameter value.

[画像処理装置の動作]
図22は、画像処理装置1における画像処理の流れを示すフローチャートである。
[Operation of image processing apparatus]
FIG. 22 is a flowchart showing the flow of image processing in the image processing apparatus 1.

図22に示すように、まず、画像処理装置1のコントローラ10は、検査用データを受信する(ステップS1)。具体的には、PC70から送られてきた検査用データとして、画像処理ユニットの処理手順を示すフローチャートや各画像処理ユニットの各パラメータのデフォルト値、レシピ対応有無の属性などを含む検査設定ファイル(inspect.dat)、上述したレシピファイル、必要に応じて基準画像などを受信する。受信した検査用データは、検査用データ記憶部102(図4)に記憶される。   As shown in FIG. 22, first, the controller 10 of the image processing apparatus 1 receives inspection data (step S1). Specifically, as inspection data sent from the PC 70, an inspection setting file (inspection file) including a flowchart showing a processing procedure of the image processing unit, default values of parameters of each image processing unit, attributes corresponding to recipe correspondence, and the like. .dat), the above-mentioned recipe file, and a reference image as necessary are received. The received inspection data is stored in the inspection data storage unit 102 (FIG. 4).

次に、デフォルトでアクティブになっているレシピ番号(例えばレシピ0)に基づいて、割り付けが行われる(ステップS2)。具体的には、コントローラ10のパラメータセット/基準画像割り付け部103(図4)は、検査用データ記憶部102の中からパラメータ値やレシピ番号などを読み出して、レシピ番号が示すレシピファイルを参照し、そのレシピ番号に応じた値をレシピ対応ローカル変数に代入する。そして、個別処理ユニットとして規定された傷ユニット及びパターンサーチユニットの個別パラメータに対して、レシピ番号に対応したパラメータ値(レシピ対応ローカル変数に代入された値)が割り付けられる。また、傷ユニット及びパターンサーチユニットの個別パラメータ以外のパラメータ(共通パラメータ)に対しては、検査設定ファイルを参照し、レシピ番号によらないパラメータ値(ユーザが設定した一のパラメータ値)が割り付けられる。また、共通処理ユニットとして規定される撮像ユニットのパラメータに対しても同様に、検査設定ファイルを参照し、レシピ番号によらないパラメータ値(ユーザが設定した一のパラメータ値)が割り付けられる。   Next, allocation is performed based on a recipe number (for example, recipe 0) which is active by default (step S2). Specifically, the parameter set / reference image assignment unit 103 (FIG. 4) of the controller 10 reads out the parameter value, the recipe number, and the like from the inspection data storage unit 102, and refers to the recipe file indicated by the recipe number. Then, a value corresponding to the recipe number is substituted into the recipe-corresponding local variable. A parameter value corresponding to the recipe number (a value assigned to the recipe-corresponding local variable) is assigned to the individual parameters of the scratch unit and pattern search unit defined as the individual processing unit. For parameters other than the individual parameters of the scratch unit and pattern search unit (common parameters), a parameter value (one parameter value set by the user) independent of the recipe number is assigned by referring to the inspection setting file. . Similarly, with respect to the parameters of the imaging unit defined as the common processing unit, a parameter value (one parameter value set by the user) independent of the recipe number is assigned by referring to the inspection setting file.

次に、割り付けが成功したか否かが判断される(ステップS3)。パラメータ値の割り付けは通常は成功する可能性が高いが、ユーザのミス等によって失敗することがある。例えば、ユーザが、レシピファイルの一つをPC70からコントローラ10にアップロードし忘れた場合には、参照すべきレシピファイルが存在しないため、レシピ番号に応じた値をレシピ対応ローカル変数に代入することができない。したがって、この場合は、パラメータセット/基準画像割り付け部103において、パラメータ値の割り付け失敗として判断され(ステップS3:NO)、エラー処理が実行される(ステップS5)。エラー処理としては、ユーザに「参照すべきレシピファイルが存在しません。」などの表示をモニタ40上に行うようにしてもよい。   Next, it is determined whether the allocation is successful (step S3). Allocation of parameter values is usually likely to succeed, but may fail due to user error or the like. For example, if the user forgets to upload one of the recipe files from the PC 70 to the controller 10, there is no recipe file to be referred to, and therefore a value corresponding to the recipe number can be assigned to the recipe-corresponding local variable. Can not. Therefore, in this case, the parameter set / reference image allocation unit 103 determines that the parameter value allocation has failed (step S3: NO), and executes error processing (step S5). As the error processing, a message such as “There is no recipe file to be referenced” may be displayed on the monitor 40.

一方で、パラメータ値の割り付けが成功した場合には(ステップS3:YES)、画像処理が実行される(ステップS4)。具体的には、画像処理実行部105は、検査用データに含まれるフローチャート、ステップS2で割り付けられたパラメータ値により、処理ユニット記憶部104に記憶された画像処理ユニットの処理内容と協働して、品種0のワークに対する画像処理を実行する。   On the other hand, when the parameter value assignment is successful (step S3: YES), image processing is executed (step S4). Specifically, the image processing execution unit 105 cooperates with the processing content of the image processing unit stored in the processing unit storage unit 104 by the flowchart included in the inspection data and the parameter value assigned in step S2. Then, image processing is performed on the workpiece of type 0.

ここで、今まで品種0のワークが流れていたが、連続して、次に品種1のワークが流れてくると仮定する。このとき、外部のPLC60からレシピ切り換えコマンドが送られてくる。図23は、画像処理装置1においてレシピ番号が切り換えられる例を説明するためのフローチャートである。コントローラ10の識別情報受信部101(図4)は、ユーザによって指定された、レシピ切り換えコマンドが示すレシピ番号を受信する(ステップS11)。レシピ番号は、識別情報受信部101によってパラメータセット/基準画像割り付け部103(図4)へ転送される。   Here, it is assumed that the work of the product type 0 has been flowing up to now, but the work of the product type 1 flows next. At this time, a recipe switching command is sent from the external PLC 60. FIG. 23 is a flowchart for explaining an example in which the recipe number is switched in the image processing apparatus 1. The identification information receiving unit 101 (FIG. 4) of the controller 10 receives the recipe number designated by the user and indicated by the recipe switching command (step S11). The recipe number is transferred by the identification information receiving unit 101 to the parameter set / reference image allocating unit 103 (FIG. 4).

パラメータセット/基準画像割り付け部103は、識別情報受信部101から転送されるレシピ番号(例えばレシピ0001)を参照し、そのレシピ番号に応じた値をレシピ対応ローカル変数に代入する。そして、個別処理ユニットとして規定された傷ユニット及びパターンサーチユニットの個別パラメータに対して、レシピ番号に対応したパラメータ値(レシピ対応ローカル変数に代入された値)が割り付けられる(ステップS12)。また、傷ユニット及びパターンサーチユニットの個別パラメータ以外のパラメータ(共通パラメータ)に対しては、検査設定ファイルを参照し、レシピ番号によらないパラメータ値(ユーザが設定した一のパラメータ値)が割り付けられる。また、共通処理ユニットとして規定される撮像ユニットのパラメータに対しても同様に、検査設定ファイルを参照し、レシピ番号によらないパラメータ値(ユーザが設定した一のパラメータ値)が割り付けられる。   The parameter set / reference image allocating unit 103 refers to a recipe number (for example, recipe 0001) transferred from the identification information receiving unit 101, and substitutes a value corresponding to the recipe number into a recipe-corresponding local variable. Then, the parameter value corresponding to the recipe number (value assigned to the recipe-corresponding local variable) is assigned to the individual parameters of the scratch unit and the pattern search unit defined as the individual processing unit (step S12). For parameters other than the individual parameters of the scratch unit and pattern search unit (common parameters), a parameter value (one parameter value set by the user) independent of the recipe number is assigned by referring to the inspection setting file. . Similarly, with respect to the parameters of the imaging unit defined as the common processing unit, a parameter value (one parameter value set by the user) independent of the recipe number is assigned by referring to the inspection setting file.

その後、上述したように、割り付けが成功したか否かが判断され(ステップS13)、成功した場合には(ステップS13:YES)、画像処理が実行され(ステップS14)、失敗した場合には(ステップS13:NO)、エラー処理が実行される(ステップS15)。   Thereafter, as described above, it is determined whether or not the allocation is successful (step S13). If the allocation is successful (step S13: YES), the image processing is executed (step S14). Step S13: NO), error processing is executed (step S15).

このように、ユーザ又は外部のPLC60などからレシピ切り換えの要求を受けたとき(図23のステップS11)、個別処理ユニットの個別パラメータについて、切り換えたいレシピ番号に対応したパラメータ値が割り付けられた上で(図23のステップS12)、画像処理が実行されるので(図23のステップS14)、フローチャートを1つ作成するだけで、複数の品種に対応することができる。その結果、切換コマンドを画像処理装置1に送るだけの簡易な操作により、ワークの品種に応じたパラメータ値を用いて検査を行うことができ、ひいては使い勝手を向上させることができる。   In this way, when a recipe switching request is received from the user or an external PLC 60 (step S11 in FIG. 23), the parameter value corresponding to the recipe number to be switched is assigned to the individual parameter of the individual processing unit. Since image processing is executed (step S12 in FIG. 23) (step S14 in FIG. 23), it is possible to support a plurality of types by creating only one flowchart. As a result, it is possible to perform inspection using parameter values according to the type of workpiece by a simple operation by simply sending a switching command to the image processing apparatus 1, and as a result, usability can be improved.

また、画像処理装置1は、複数のフローチャートを入れ換えて品種対応を可能にする画像処理装置と比べて、切り換えの内部処理に掛かる時間を短縮することができる。詳述すると、フローチャートを入れ換えた場合には、フローチャートの初期化に多少の時間が掛かる。例えば初期化処理では、画像処理に用いる基準画像をフラッシュメモリからRAMに予め展開しておいたり、頻繁に使うパラメータをフラッシュメモリからRAMに予め展開しておいたりする。レシピファイルを入れ換えて品種対応を可能にする画像処理装置1では、このような初期化処理をワークの品種が変わる度に行う必要はないため、切り換えの内部処理に掛かる時間を短縮することができる。   Further, the image processing apparatus 1 can reduce the time required for the internal processing for switching, as compared with an image processing apparatus that can support a product type by exchanging a plurality of flowcharts. More specifically, when the flowchart is replaced, it takes some time to initialize the flowchart. For example, in the initialization process, a reference image used for image processing is preliminarily developed from the flash memory to the RAM, or frequently used parameters are preliminarily developed from the flash memory to the RAM. In the image processing apparatus 1 that can cope with the type by exchanging the recipe file, it is not necessary to perform such initialization processing every time the type of the work changes, so that the time required for the internal processing for switching can be shortened. .

また、上述した本実施形態では、エディタ画面(UI)上でパラメータ値を設定するようにしたが、これによりユーザの設定ミスを防ぐことができる。仮に、図18に示すファイル群をテキストエディタで別途作成した場合には、“0”(ゼロ)と“O”(オー)の記述ミスなどが発生し、レシピ対応ローカル変数に代入される値を読み込めないエラーが生ずる虞がある。また、変数値の属性にはdouble(倍精度浮動小数型)やint(整数型)などがあるが、属性指定を勘違いした場合には、ユーザが思っていた値と異なる値が入力される虞がある(double型にも拘わらず単に0.1と入力すると、コントローラ10は0.1の近似値が入力されたものとして扱う場合がある)。そこで、エディタ画面(UI)上でパラメータ値を設定するようにすることで、このような設定ミスを防ぐことができる。   In the above-described embodiment, the parameter value is set on the editor screen (UI). However, this can prevent a user from making a setting error. If the file group shown in FIG. 18 is created separately by a text editor, a description error of “0” (zero) and “O” (o) occurs, and the value assigned to the recipe-corresponding local variable is changed. An error that cannot be read may occur. In addition, there are double (double-precision floating-point type) and int (integer type) attributes for variable values, but if you misunderstand the attribute specification, a value different from the value that the user expected may be input. (In spite of the double type, if the user simply inputs 0.1, the controller 10 may treat the input as an approximate value of 0.1). Therefore, setting errors can be prevented by setting parameter values on the editor screen (UI).

なお、図23は、PLC60から送られてきたレシピ切り換えコマンドによって、レシピ番号を自動的に切り換えることとしたが、例えばコンソール50を用いて手動でレシピ番号を切り換えることもできる。具体的には、例えば今まで品種0のワークが流れていたが、一旦中断して、次に品種1のワークが流れてくると仮定する。ワークの流れが中断しているときに、ユーザは、レシピ番号を手動で切り換えることができる。   In FIG. 23, the recipe number is automatically switched by the recipe switching command sent from the PLC 60. However, the recipe number can be manually switched using the console 50, for example. Specifically, for example, it is assumed that the workpiece of the product type 0 has been flowing up to now, but is temporarily interrupted and then the workpiece of the product type 1 flows next. When the work flow is interrupted, the user can manually switch the recipe number.

図24は、画像処理装置1のモニタ40において、コンソール50を用いてレシピ設定に関する操作を行う画面例を示す図である。ユーザは、コンソール50を操作して、モニタ40上でレシピ切り換えを行う。例えば、ファンクションキーなどから図24(a)に示すレシピ切換画面をモニタ40上に表示させる。そして、切換先となるレシピ番号(例えばレシピ0001)、レシピ名称(例えばワーク1)を指定し、実行ボタンをクリックする。そうすると、コントローラ10の識別情報受信部101(図4)は、ユーザによって指定された、コンソール50の操作信号に基づくレシピ番号を受信する(図23のステップS11)。レシピ番号は、識別情報受信部101によってパラメータセット/基準画像割り付け部103(図4)へ転送される。その後、図23のステップS12〜ステップS15の各処理が実行される。なお、図24(b),図24(c)の詳細については、後述する[メンテナンス方法]で説明する。   FIG. 24 is a diagram illustrating an example of a screen on which operations relating to recipe setting are performed using the console 50 on the monitor 40 of the image processing apparatus 1. The user operates the console 50 to switch recipes on the monitor 40. For example, a recipe switching screen shown in FIG. 24A is displayed on the monitor 40 from a function key or the like. Then, the recipe number (for example, recipe 0001) and the recipe name (for example, work 1) to be switched are designated, and the execution button is clicked. Then, the identification information receiving unit 101 (FIG. 4) of the controller 10 receives the recipe number based on the operation signal of the console 50 designated by the user (step S11 in FIG. 23). The recipe number is transferred by the identification information receiving unit 101 to the parameter set / reference image allocating unit 103 (FIG. 4). Then, each process of step S12-step S15 of FIG. 23 is performed. The details of FIGS. 24B and 24C will be described in [Maintenance Method] described later.

[メンテナンス方法]
次に、メンテナンス方法について説明する。図25は、メンテナンス内容を示すフローチャートである。図25において、メンテナンス前とメンテナンス後とでは、一部の画像処理ユニットが入れ替わっている(網掛けで示す)。図2を用いて説明したのと同様に、傷ユニットが傷iiユニットに代わり、パターンサーチユニットがパターンサーチiiユニットに代わっている。以下では、このようなメンテナンスをPC70において行う場合について説明する。すなわち、コントローラ10から検査用データをPC70へダウンロードし、PC70のソフトウェアを用いて編集作業(メンテナンス)を行った後、再びコントローラ10へ検査用データをアップロードする。なお、一般に、PC70にはコントローラ10に保存されている検査設定と同期して、同じ検査設定が保存されているため、検査用データをダウンロードしなくても、メンテナンスを行うことは可能である。
[Maintenance method]
Next, a maintenance method will be described. FIG. 25 is a flowchart showing the contents of maintenance. In FIG. 25, some image processing units are switched between before and after maintenance (indicated by shading). As described with reference to FIG. 2, the scratch unit is replaced with the scratch ii unit, and the pattern search unit is replaced with the pattern search ii unit. Hereinafter, a case where such maintenance is performed in the PC 70 will be described. That is, the inspection data is downloaded from the controller 10 to the PC 70, and after editing work (maintenance) is performed using the software of the PC 70, the inspection data is uploaded to the controller 10 again. In general, since the same inspection setting is stored in the PC 70 in synchronization with the inspection setting stored in the controller 10, maintenance can be performed without downloading the inspection data.

PC70でプログラム作成支援ソフトウェアを起動した後、コントローラ10から検査用データをPC70へダウンロードした直後のエディタ画面は、例えば図6に示すような画面になる。そして、図25に示すようなメンテナンスを行うため、まず画像処理ユニットの削除・追加を行う。その結果、図26に示すエディタ画面が表示される。そして、フロービュー1018の傷iiユニット上で右クリックをして、プロパティ設定画面を開くと、図27に示すような画面が表示される。このとき、パラメータ「傷レベル」のパラメータ値は50、パラメータ「セグメントサイズ」のパラメータ値は20、パラメータ「移動量」のパラメータ値は8と表示されているが、これは、傷iiユニットのデフォルト値として予め検査設定ファイルに保存されているパラメータ値である。   After starting the program creation support software on the PC 70, the editor screen immediately after downloading the inspection data from the controller 10 to the PC 70 is, for example, a screen as shown in FIG. Then, in order to perform maintenance as shown in FIG. 25, first, the image processing unit is deleted / added. As a result, the editor screen shown in FIG. 26 is displayed. When the property setting screen is opened by right-clicking on the wound ii unit in the flow view 1018, a screen as shown in FIG. 27 is displayed. At this time, the parameter value of the parameter “scratch level” is displayed as 50, the parameter value of the parameter “segment size” is 20, and the parameter value of the parameter “movement amount” is displayed as 8. It is a parameter value that is stored in advance in the examination setting file as a value.

ここで、ユーザは、個別パラメータとして、「傷レベル」にレシピ対応ローカル変数#kizuを入力し、「セグメントサイズ」にレシピ対応ローカル変数#sizeを入力して(図28参照)、パラメータにレシピ対応ローカル変数を関連付ける。他のパラメータ、すなわち検出方向や移動量については、予め定められた数値リストの中から所望の数値を選択することによって、一のパラメータ値を設定する。デフォルト値をそのまま使用する際には、パラメータ値の設定を省略することができる。パターンサーチiiユニットについても同様である。すなわち、図29及び図30に示すように、ユーザは、パターンサーチiiユニットのプロパティ設定画面(図29)において、個別パラメータとして「サーチ感度」にレシピ対応ローカル変数#kandoを関連付け、個別パラメータとして「サーチ精度」にレシピ対応ローカル変数#seidoを関連付ける(図30)。また、他のパラメータについても一のパラメータ値を設定する。   Here, as an individual parameter, the user inputs the recipe corresponding local variable #kizu for “scratch level”, the recipe corresponding local variable #size for “segment size” (see FIG. 28), and the parameter corresponds to the recipe. Associate local variables. As for other parameters, that is, the detection direction and the movement amount, one parameter value is set by selecting a desired numerical value from a predetermined numerical value list. When the default value is used as it is, the setting of the parameter value can be omitted. The same applies to the pattern search ii unit. That is, as shown in FIGS. 29 and 30, the user associates the recipe-corresponding local variable #kando with “search sensitivity” as an individual parameter on the property setting screen (FIG. 29) of the pattern search ii unit, and sets “ The recipe-related local variable #seido is associated with “search accuracy” (FIG. 30). Also, one parameter value is set for other parameters.

このように、ユーザは、PC70においてフローチャートの入れ替えを行った後(図26)、画像処理ユニットのパラメータ値の設定を行うことによって(図27〜図30)、メンテナンスを完了させることができる。メンテナンスが完了すると、検査用データがPC70からコントローラ10へ転送され、画像処理装置1に保存されている検査用データが上書きされ、画像処理装置1の運転が再開される。
なお、図27〜図30を用いて説明したメンテナンス方法では、画像処理ユニットの入れ替えと、画像処理ユニットのパラメータ修正、という編集を行うこととしたが、例えば画像処理ユニットのパラメータ修正、特にレシピファイルのみの編集を行うこともできる。この場合、ユーザは、PC70において、レシピファイルの編集を行う。例えば図16に示すレシピファイルのうち、recipe0001.datにおける#kizuの値(現在値60)を65に変更する場合を考える。
As described above, the user can complete the maintenance by changing the flowchart in the PC 70 (FIG. 26) and then setting the parameter value of the image processing unit (FIGS. 27 to 30). When the maintenance is completed, the inspection data is transferred from the PC 70 to the controller 10, the inspection data stored in the image processing apparatus 1 is overwritten, and the operation of the image processing apparatus 1 is resumed.
In the maintenance method described with reference to FIGS. 27 to 30, editing such as replacement of the image processing unit and correction of the parameter of the image processing unit is performed. You can also edit only. In this case, the user edits the recipe file on the PC 70. For example, consider a case where the value of #kizu (current value 60) in recipe0001.dat is changed to 65 in the recipe file shown in FIG.

ユーザは、PC70において、レシピ番号1001を操作してレシピファイルrecipe0001.datをアクティブにするとともに、傷ユニットのプロパティ設定画面を表示させる(図16参照)。そして、傷レベルのパラメータ値として65を選択することによって、パラメータ値を60から65へ変更する。その後、ユーザは、プロパティ設定画面を閉じ、図14に示す「ファイル」の中にある「レシピ保存」ボタン(図示せず)をクリックし、レシピを保存する。そうすると、recipe0001.datにおける#kizuの値が65になり、品種1のワークを検査するときに、レシピ対応ローカル変数#kizuに代入される値として65が規定される。レシピの保存が終わると、PC70と画像処理装置1を接続し、レシピファイルrecipe0001.datのみの転送を行う。その結果、コントローラ10に保存されているレシピファイルrecipe0001.datが、新たにPC70から転送されたレシピファイルrecipe0001.datによって上書きされ、品種1のワークを検査する際には、傷レベルのパラメータ値として65が割り付けられた上で、画像処理が行われる。   The user operates the recipe number 1001 on the PC 70 to activate the recipe file recipe0001.dat and display the property setting screen of the scratch unit (see FIG. 16). Then, by selecting 65 as the parameter value for the scratch level, the parameter value is changed from 60 to 65. Thereafter, the user closes the property setting screen, clicks a “recipe save” button (not shown) in the “file” shown in FIG. 14, and saves the recipe. Then, the value of #kizu in recipe0001.dat becomes 65, and 65 is defined as a value that is substituted into the recipe-corresponding local variable #kizu when inspecting the workpiece of type 1. When the recipe is stored, the PC 70 and the image processing apparatus 1 are connected, and only the recipe file recipe0001.dat is transferred. As a result, the recipe file recipe0001.dat stored in the controller 10 is overwritten by the recipe file recipe0001.dat newly transferred from the PC 70, and when inspecting the workpiece of the product type 1, the parameter value of the scratch level is used. Image processing is performed after 65 is assigned.

なお、以上はPC70においてフローチャートのメンテナンスを行う場合の説明であるが、画像処理装置1のモニタ40上でメンテナンスを行うこともできる。具体的には、モニタ40にフローチャートや画像処理ユニットのプロパティ設定画面を表示させ、コンソール50を用いてメンテナンスを行う。   Although the above description is for the case where the maintenance of the flowchart is performed in the PC 70, the maintenance can also be performed on the monitor 40 of the image processing apparatus 1. Specifically, a flowchart and a property setting screen of the image processing unit are displayed on the monitor 40 and maintenance is performed using the console 50.

図31は、画像処理装置1のモニタ40においてメンテナンスを行った際の処理の流れを示すフローチャートである。図31において、ユーザは、画像処理装置1の運転を停止させるとともに、コンソール50を操作してモニタ40上にフローチャートや画像処理ユニットのプロパティ設定画面を表示させる。そして、PC70でメンテナンスを行った場合と同様に、ユニットの追加・削除を行い(ステップS21)、パラメータ値の設定(ステップS22)を行う。このとき例えば、扱う品種が増えるような場合には、レシピ設定のコピーを行うことができる。例えば、ユーザはモニタ40上に図24(b)に示す画面を表示させ、コピー元のレシピ番号とコピー先のレシピ番号を指定し、実行ボタンをクリックする。そうすると、図13を用いて説明したときと同様に、コピー先のレシピ番号に対応するレシピファイルが新たに生成される。また、図24(c)に示すように、レシピ名称の変更を行うこともできる。モニタ40においてメンテナンスを行う場合であっても、図27〜図30を用いて説明したのと同様に、一のフローチャート上で必要な編集を行えばよいので、少ない工数でメンテナンスすることができる。なお、図31において、パラメータの設定(ステップS22)が終わると、あとは図22で説明した処理(ステップS2〜ステップS5)と同様である(ステップS23〜ステップS26)。   FIG. 31 is a flowchart showing the flow of processing when maintenance is performed on the monitor 40 of the image processing apparatus 1. In FIG. 31, the user stops the operation of the image processing apparatus 1 and operates the console 50 to display a flowchart and a property setting screen of the image processing unit on the monitor 40. Then, similarly to the case where maintenance is performed on the PC 70, units are added / deleted (step S21), and parameter values are set (step S22). At this time, for example, when the number of varieties handled increases, the recipe setting can be copied. For example, the user displays the screen shown in FIG. 24B on the monitor 40, designates the copy source recipe number and the copy destination recipe number, and clicks the execute button. Then, a recipe file corresponding to the copy destination recipe number is newly generated as in the case described with reference to FIG. Moreover, as shown in FIG.24 (c), a recipe name can also be changed. Even in the case where maintenance is performed on the monitor 40, it is possible to perform maintenance with a small number of man-hours since it is only necessary to perform necessary editing on one flowchart as described with reference to FIGS. In FIG. 31, when the parameter setting (step S22) is completed, the process is the same as that described in FIG. 22 (step S2 to step S5) (step S23 to step S26).

このように、本実施形態に係る画像処理装置1によれば、フローチャートを1つ作成するだけで複数の品種に対応することができるとともに、画像処理ユニットの一部を入れ替えたときであっても、1つのフローチャートについてのみ編集を行うだけでよいので、少ない工数でメンテナンスすることができ、ひいては画像処理装置の使い勝手を向上させることができる。   As described above, according to the image processing apparatus 1 according to the present embodiment, it is possible to cope with a plurality of types by creating only one flowchart, and even when a part of the image processing unit is replaced. Since only one flowchart needs to be edited, maintenance can be performed with less man-hours, and as a result, the usability of the image processing apparatus can be improved.

[変形例]
図32及び図33は、本発明の他の実施の形態に係る画像処理装置におけるメンテナンス方法の概略を説明するための説明図である。上述した本実施形態では、レシピ対応ローカル変数を別途定義した上で、個別処理ユニットの個別パラメータを規定することとしたが(図9参照)、本発明は、必ずしもレシピ対応ローカル変数を別途定義しなくてもよい。具体的には、例えば図32及び図33に示すように、個別処理ユニットのパラメータ設定画面においてレシピ対応にするためのチェックボックスを設けてもよい。これにより、図32及び図33に示す#kizu、#size、#kando、#seidoは、レシピ対応ローカル変数と同様の機能を発揮する変数にすることができる。
[Modification]
32 and 33 are explanatory diagrams for explaining an outline of the maintenance method in the image processing apparatus according to another embodiment of the present invention. In the above-described embodiment, the recipe-corresponding local variable is separately defined and then the individual parameter of the individual processing unit is defined (see FIG. 9). However, the present invention does not necessarily define the recipe-corresponding local variable separately. It does not have to be. Specifically, for example, as shown in FIG. 32 and FIG. 33, a check box for making a recipe compatible may be provided on the parameter setting screen of the individual processing unit. Accordingly, #kizu, #size, #kando, and #seido shown in FIGS. 32 and 33 can be variables that exhibit the same function as the recipe-corresponding local variables.

また、上述した本実施形態では、外部PLC60からレシピ番号を切り換えるレシピ切り換えコマンドが送られてくる場合について説明したが、例えば、検査設定切り換えコマンドが送られてくる場合が混在していてもよい。検査設定切り換えコマンドは、複数ある検査設定の中から、所定の検査設定に切り換えるコマンドである。これにより、画像処理が実行される際に用いられるフローチャート自体が切り換わる。   In the above-described embodiment, the case where a recipe switching command for switching the recipe number is sent from the external PLC 60 has been described. However, for example, cases where an inspection setting switching command is sent may be mixed. The inspection setting switching command is a command for switching to a predetermined inspection setting from a plurality of inspection settings. Thereby, the flowchart itself used when image processing is executed is switched.

図34は、レシピ切り換えコマンドと検査設定切り換えコマンドとが混在する場合を説明するためのフローチャートである。   FIG. 34 is a flowchart for explaining a case where a recipe switching command and an inspection setting switching command coexist.

図34に示すように、コントローラ10の識別情報受信部101(図4)は、外部のPLC60などからコマンドを受信すると(ステップS31)、それがレシピ切り換えコマンドか否かを判断する(ステップS32)。それがレシピ切り換えコマンドである場合には(ステップS32:YES)、識別情報受信部101によって、レシピ番号がパラメータセット/基準画像割り付け部103(図4)へ転送される。その後、ステップS33〜ステップS36までの処理は、図23を用いて説明したステップS12〜ステップS15までの処理と同様である。   As shown in FIG. 34, when the identification information receiving unit 101 (FIG. 4) of the controller 10 receives a command from an external PLC 60 or the like (step S31), it determines whether or not it is a recipe switching command (step S32). . If it is a recipe switching command (step S32: YES), the identification number receiving unit 101 transfers the recipe number to the parameter set / reference image allocating unit 103 (FIG. 4). Thereafter, the processing from step S33 to step S36 is the same as the processing from step S12 to step S15 described with reference to FIG.

一方で、コントローラ10の識別情報受信部101(図4)が、受信したコマンドをレシピ切り換えコマンドでないと判断した場合には(ステップS32:NO)、受信したコマンドが検査設定切り換えコマンドか否かを判断する(ステップS37)。検査設定切り換えコマンドである場合には、検査設定の切り換えが行われ(ステップS38)、検査設定切り換えコマンドでない場合には、他のコマンドであると認識して、他の処理が行われる(ステップS39)。   On the other hand, when the identification information receiving unit 101 (FIG. 4) of the controller 10 determines that the received command is not a recipe switching command (step S32: NO), it is determined whether or not the received command is an inspection setting switching command. Judgment is made (step S37). If it is an inspection setting switching command, inspection setting is switched (step S38). If it is not an inspection setting switching command, it is recognized as another command and other processing is performed (step S39). ).

このように、画像処理装置1は、受信したコマンドが、識別情報としてレシピを切り換えるコマンドであるか、或いは、画像処理ユニットの処理順序を切り換えるコマンドであるかを識別して判断する機能を有している。すなわち、外部からコマンドを受信したときに、受信したコマンドが(複数ある識別情報のうち一の)識別情報を指定するコマンドであるか、又は、(複数ある画像処理ユニットの処理順序のうち一の)処理順序を指定するコマンドであるかを識別し、識別情報を指定するコマンドである場合には、パラメータ値の割り付けを行う一方、処理順序を指定するコマンドである場合には、処理順序の切り換えを行うことが可能な構成となっている。これにより、これにより、識別情報を指定するコマンドと処理順序を指定するコマンドの双方が画像処理装置1に送られたときであっても、これらのコマンドを正しく認識して、正常に動作することができる。   As described above, the image processing apparatus 1 has a function of identifying and determining whether the received command is a command for switching the recipe as identification information or a command for switching the processing order of the image processing units. ing. That is, when a command is received from the outside, the received command is a command for specifying identification information (one of a plurality of identification information) or one of the processing orders of a plurality of image processing units. ) Identify whether the command is for specifying the processing order, and if it is a command for specifying the identification information, assign the parameter value. If the command specifies the processing order, switch the processing order. It is the structure which can perform. Thereby, even when both the command for specifying the identification information and the command for specifying the processing order are sent to the image processing apparatus 1, these commands are correctly recognized and operate normally. Can do.

また、上述した実施形態では、レシピ対象としてパラメータと基準画像の2つを説明したが、レシピ対象として位置補正基準値も考えられる(図13参照)。位置補正基準値は、基準画像に対して計測した結果を位置補正の基準の値となるものである。この位置補正基準値も、ワークの品種ごとに異なる値が考えられ、レシピ対象に含めておくことで、少ない工数で位置補正基準値のメンテナンスを行うことができる。   In the above-described embodiment, the parameters and the reference image have been described as the recipe target. However, the position correction reference value may be considered as the recipe target (see FIG. 13). The position correction reference value is a position correction reference value obtained by measuring the reference image. The position correction reference value may be different depending on the type of workpiece. By including the position correction reference value in the recipe object, the position correction reference value can be maintained with a small number of man-hours.

以上説明したように、画像処理装置1は、検査対象物の品種に応じたレシピ番号が指定されると、個別パラメータ(傷ユニット及び傷iiユニットの傷レベル及びセグメントサイズ、パターンサーチユニット及びパターンサーチiiユニットのサーチ感度及びサーチ精度)のパラメータ値を、指定されたレシピ番号に対応したパラメータ値に切り換えることができる。したがって、フローチャートを1つ作成するだけで複数の品種に対応することができ、メンテナンスの必要性が生じたときであっても、1つのフローチャートについてのみ編集を行うだけでよく、少ない工数でメンテナンスすることができる。その結果、画像処理装置の使い勝手を向上させることができる。   As described above, when the recipe number corresponding to the type of the inspection object is designated, the image processing apparatus 1 performs individual parameters (scratch level and segment size of the scratch unit and scratch ii unit, pattern search unit and pattern search). The parameter value of (ii unit search sensitivity and search accuracy) can be switched to the parameter value corresponding to the designated recipe number. Therefore, it is possible to deal with a plurality of types by creating only one flowchart, and even when maintenance is required, only one flowchart needs to be edited and maintenance can be performed with less man-hours. be able to. As a result, the usability of the image processing apparatus can be improved.

また、図2に示すように、個別処理ユニットとして規定される画像処理ユニットのパラメータには、個別パラメータだけではなく、共通パラメータ(傷ユニットの検出方向、パターンサーチユニットの検出個数など)が混在している。したがって、品種に応じてパラメータ値を切り換える必要のないパラメータについては、一のパラメータ値を設定するだけで全品種に反映させることができ、少ない工数でメンテナンスを完了させることができる。   As shown in FIG. 2, the parameters of the image processing unit defined as the individual processing unit include not only the individual parameters but also common parameters (such as the detection direction of the flaw unit and the number of detected pattern search units). ing. Therefore, parameters that do not need to be switched according to the product type can be reflected in all the product types by setting only one parameter value, and the maintenance can be completed with a small number of man-hours.

1 画像処理装置
10 コントローラ
11 主制御部
12 プログラムメモリ
13 メインメモリ
14 通信部
15 操作入力部
16 画像入力部
17a,17b 画像メモリ
18 画像処理部
19 画像表示部
20 ビデオメモリ
30 カメラ
40 モニタ
50 コンソール
60 PLC
70 PC
DESCRIPTION OF SYMBOLS 1 Image processing apparatus 10 Controller 11 Main control part 12 Program memory 13 Main memory 14 Communication part 15 Operation input part 16 Image input part 17a, 17b Image memory 18 Image processing part 19 Image display part 20 Video memory 30 Camera 40 Monitor 50 Console 60 PLC
70 PC

Claims (6)

一又は複数のパラメータを有し、当該パラメータに対してユーザが設定したパラメータ値が割り付けられる複数の画像処理が順次実行される画像処理装置において、
前記パラメータとして、複数の異なるパラメータ値を設定可能な個別パラメータと、一のパラメータ値を設定可能な共通パラメータとが混在するとともに、前記個別パラメータの各々のパラメータ値に対し前記複数の画像処理間で共通の識別情報が関連付けて規定されており、
前記識別情報を指定する手段と、
前記個別パラメータに対して前記識別情報に対応したパラメータ値を割り付ける一方で、前記共通パラメータに対して前記識別情報によらない前記一のパラメータ値を割り付ける割り付け手段と、
前記割り付け手段により割り付けられたパラメータ値を用いて前記複数の画像処理を実行する実行手段と、を備えることを特徴とする画像処理装置。
In an image processing apparatus that has one or a plurality of parameters and sequentially executes a plurality of image processes in which parameter values set by the user are assigned to the parameters,
As the parameter, there are a mixture of individual parameters capable of setting a plurality of different parameter values and common parameters capable of setting one parameter value, and each parameter value of the individual parameters between the plurality of image processes. Common identification information is associated and defined,
Means for designating the identification information;
Allocating means for allocating the parameter value corresponding to the identification information to the individual parameter while allocating the one parameter value not based on the identification information to the common parameter;
An image processing apparatus comprising: an execution unit that executes the plurality of image processes using the parameter values allocated by the allocation unit.
前記複数の画像処理には、前記個別パラメータを少なくとも一つ有する個別画像処理と、前記共通パラメータのみ有する共通画像処理とが含まれ、
前記割り付け手段は、前記個別画像処理の前記個別パラメータに対して前記識別情報に対応したパラメータ値を割り付ける一方で、前記共通画像処理の前記共通パラメータに対して前記識別情報によらない前記一のパラメータ値を割り付けることを特徴とする請求項1記載の画像処理装置。
The plurality of image processing includes individual image processing having at least one individual parameter and common image processing having only the common parameter,
The allocating unit allocates a parameter value corresponding to the identification information to the individual parameter of the individual image processing, while the one parameter not based on the identification information with respect to the common parameter of the common image processing 2. The image processing apparatus according to claim 1, wherein a value is assigned.
前記複数の画像処理には、ユーザによって登録された基準画像をパラメータの一つとして用いる画像処理が含まれるとともに、前記個別パラメータには、複数の異なる基準画像を設定可能なパラメータが含まれ、
前記割り付け手段は、前記個別パラメータに対して前記識別情報に対応したパラメータ値及び/又は基準画像を割り付ける一方で、前記共通パラメータに対して前記識別情報によらない前記一のパラメータ値及び/又は基準画像を割り付け、
前記実行手段は、前記割り付け手段により割り付けられたパラメータ値及び/又は基準画像を用いて前記複数の画像処理を実行することを特徴とする請求項1又は2記載の画像処理装置。
The plurality of image processing includes image processing using a reference image registered by a user as one of the parameters, and the individual parameter includes a parameter capable of setting a plurality of different reference images,
The assigning means assigns a parameter value and / or a reference image corresponding to the identification information to the individual parameter, while the one parameter value and / or reference that does not depend on the identification information for the common parameter. Assign images,
The image processing apparatus according to claim 1, wherein the execution unit executes the plurality of image processing using the parameter value and / or the reference image allocated by the allocation unit.
前記識別情報を切り換える切換コマンドを受け付ける手段を備え、
前記割り付け手段は、前記個別パラメータに対して前記切換コマンドにより切り換えられた識別情報に対応したパラメータ値を割り付ける一方で、前記共通パラメータに対して前記切換コマンドにより切り換えられた識別情報によらない前記一のパラメータ値を割り付けることを特徴とする請求項1から3のいずれか記載の画像処理装置。
Means for accepting a switching command for switching the identification information;
The allocating means allocates a parameter value corresponding to the identification information switched by the switching command to the individual parameter, while not depending on the identification information switched by the switching command to the common parameter. The image processing apparatus according to claim 1, wherein the parameter value is assigned.
一又は複数のパラメータを有し、当該パラメータに対してユーザが設定したパラメータ値が割り付けられる複数の画像処理を順次実行するための画像処理プログラムのプログラム作成支援装置において、
前記複数の画像処理の処理順序及び前記パラメータ値を設定する第1設定手段と、
前記パラメータについて、複数の異なるパラメータ値を設定可能な個別パラメータか、或いは、一のパラメータ値を設定可能な共通パラメータかを指定する手段と、
前記個別パラメータの各々のパラメータ値に対し前記複数の画像処理間で共通の識別情報を関連付けて設定する第2設定手段と、を備えることを特徴とするプログラム作成支援装置。
In a program creation support device for an image processing program for sequentially executing a plurality of image processings having one or a plurality of parameters and parameter values set by the user assigned to the parameters,
First setting means for setting a processing order of the plurality of image processing and the parameter value;
A means for designating whether the parameter is an individual parameter capable of setting a plurality of different parameter values or a common parameter capable of setting one parameter value;
And a second setting unit that associates and sets identification information common to the plurality of image processes for each parameter value of the individual parameter.
一又は複数のパラメータを有し、当該パラメータに対してユーザが設定したパラメータ値が割り付けられる複数の画像処理が順次実行される画像処理装置を用いた画像処理方法において、
前記パラメータとして、複数の異なるパラメータ値を設定可能な個別パラメータと、一のパラメータ値を設定可能な共通パラメータとが混在するとともに、前記個別パラメータの各々のパラメータ値に対し前記複数の画像処理間で共通の識別情報が関連付けて規定されており、
前記識別情報を指定する第1ステップと、
前記個別パラメータに対して前記識別情報に対応したパラメータ値を割り付ける一方で、前記共通パラメータに対して前記識別情報によらない前記一のパラメータ値を割り付ける第2ステップと、
前記第2ステップにより割り付けられたパラメータ値を用いて前記複数の画像処理を実行する第3ステップと、を備えることを特徴とする画像処理方法。
In an image processing method using an image processing apparatus that has one or a plurality of parameters and sequentially executes a plurality of image processes in which a parameter value set by a user is assigned to the parameters.
As the parameter, there are a mixture of individual parameters capable of setting a plurality of different parameter values and common parameters capable of setting one parameter value, and each parameter value of the individual parameters between the plurality of image processes. Common identification information is associated and defined,
A first step of specifying the identification information;
A second step of assigning a parameter value corresponding to the identification information to the individual parameter while assigning the one parameter value not based on the identification information to the common parameter;
And a third step of executing the plurality of image processing using the parameter values assigned in the second step.
JP2009190547A 2009-08-19 2009-08-19 Image processing apparatus, program creation support apparatus, and image processing method Active JP5415182B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009190547A JP5415182B2 (en) 2009-08-19 2009-08-19 Image processing apparatus, program creation support apparatus, and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009190547A JP5415182B2 (en) 2009-08-19 2009-08-19 Image processing apparatus, program creation support apparatus, and image processing method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013213365A Division JP5696194B2 (en) 2013-10-11 2013-10-11 Program creation support apparatus and image processing apparatus

Publications (2)

Publication Number Publication Date
JP2011043928A true JP2011043928A (en) 2011-03-03
JP5415182B2 JP5415182B2 (en) 2014-02-12

Family

ID=43831325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009190547A Active JP5415182B2 (en) 2009-08-19 2009-08-19 Image processing apparatus, program creation support apparatus, and image processing method

Country Status (1)

Country Link
JP (1) JP5415182B2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4886910B1 (en) * 2010-11-17 2012-02-29 キヤノンItソリューションズ株式会社 Information processing apparatus, information processing apparatus control method, program, and recording medium storing program
JP2013037510A (en) * 2011-08-08 2013-02-21 Juki Corp Image processing device
CN103037148A (en) * 2011-10-04 2013-04-10 富士机械制造株式会社 System construction device of camera device
JP2013081082A (en) * 2011-10-04 2013-05-02 Fuji Mach Mfg Co Ltd System construction device for camera device
JP2014055914A (en) * 2012-09-14 2014-03-27 Keyence Corp Appearance inspection device, appearance inspection method, and program
JP2014134526A (en) * 2013-01-11 2014-07-24 Sony Corp Substrate inspection device, image analyzing device, method of inspecting substrate and method of producing substrate
EP2902942A1 (en) 2014-01-31 2015-08-05 Omron Corporation Image processing device, managing system, and managing method
JP2015143923A (en) * 2014-01-31 2015-08-06 オムロン株式会社 Image processor and image processing program
CN104598212B (en) * 2013-10-30 2018-12-25 上海联影医疗科技有限公司 Image processing method and device based on algorithms library
JP2019212166A (en) * 2018-06-07 2019-12-12 オムロン株式会社 Image processing apparatus, image processing method, and image processing program
JP2020169962A (en) * 2019-04-05 2020-10-15 株式会社キーエンス Image inspection system
JP2020169949A (en) * 2019-04-05 2020-10-15 株式会社キーエンス Image inspection system and method for inspecting image
JP2020169958A (en) * 2019-04-05 2020-10-15 株式会社キーエンス Image inspection system and image inspection method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210683A (en) * 1994-01-19 1995-08-11 Matsushita Electric Ind Co Ltd Picture processor
JPH0844870A (en) * 1994-07-26 1996-02-16 Matsushita Electric Works Ltd Memory managing system for appearance inspecting device
JPH09152317A (en) * 1995-12-01 1997-06-10 Omron Corp Method and apparatus for inspection of mounting component
JPH1153568A (en) * 1997-08-07 1999-02-26 Matsushita Electric Ind Co Ltd Image processor
JP2002008013A (en) * 2000-06-27 2002-01-11 Matsushita Electric Works Ltd Device and method for preparing appearance inspection program
JP2006085616A (en) * 2004-09-17 2006-03-30 Sharp Corp Image processing algorithm evaluation method and device, image processing algorithm generation method and device, program and program recording medium
JP2006179889A (en) * 2005-11-30 2006-07-06 Hitachi Ltd Method and apparatus for inspecting circuit pattern

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210683A (en) * 1994-01-19 1995-08-11 Matsushita Electric Ind Co Ltd Picture processor
JPH0844870A (en) * 1994-07-26 1996-02-16 Matsushita Electric Works Ltd Memory managing system for appearance inspecting device
JPH09152317A (en) * 1995-12-01 1997-06-10 Omron Corp Method and apparatus for inspection of mounting component
JPH1153568A (en) * 1997-08-07 1999-02-26 Matsushita Electric Ind Co Ltd Image processor
JP2002008013A (en) * 2000-06-27 2002-01-11 Matsushita Electric Works Ltd Device and method for preparing appearance inspection program
JP2006085616A (en) * 2004-09-17 2006-03-30 Sharp Corp Image processing algorithm evaluation method and device, image processing algorithm generation method and device, program and program recording medium
JP2006179889A (en) * 2005-11-30 2006-07-06 Hitachi Ltd Method and apparatus for inspecting circuit pattern

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4886910B1 (en) * 2010-11-17 2012-02-29 キヤノンItソリューションズ株式会社 Information processing apparatus, information processing apparatus control method, program, and recording medium storing program
JP2013037510A (en) * 2011-08-08 2013-02-21 Juki Corp Image processing device
CN103037148B (en) * 2011-10-04 2017-07-18 富士机械制造株式会社 The system construction device of camera apparatus
CN103037148A (en) * 2011-10-04 2013-04-10 富士机械制造株式会社 System construction device of camera device
JP2013081080A (en) * 2011-10-04 2013-05-02 Fuji Mach Mfg Co Ltd System construction device for camera device
JP2013081082A (en) * 2011-10-04 2013-05-02 Fuji Mach Mfg Co Ltd System construction device for camera device
JP2014055914A (en) * 2012-09-14 2014-03-27 Keyence Corp Appearance inspection device, appearance inspection method, and program
JP2014134526A (en) * 2013-01-11 2014-07-24 Sony Corp Substrate inspection device, image analyzing device, method of inspecting substrate and method of producing substrate
CN104598212B (en) * 2013-10-30 2018-12-25 上海联影医疗科技有限公司 Image processing method and device based on algorithms library
JP2015143923A (en) * 2014-01-31 2015-08-06 オムロン株式会社 Image processor and image processing program
JP2015143922A (en) * 2014-01-31 2015-08-06 オムロン株式会社 Image processor, management system and management method
CN104932875A (en) * 2014-01-31 2015-09-23 欧姆龙株式会社 Image processing device, managing system, and managing method
US9524442B2 (en) 2014-01-31 2016-12-20 Omron Corporation Image processing device, managing system, and managing method
EP2902942A1 (en) 2014-01-31 2015-08-05 Omron Corporation Image processing device, managing system, and managing method
CN104932875B (en) * 2014-01-31 2018-07-17 欧姆龙株式会社 Image processing apparatus, management system and management method
WO2019235223A1 (en) * 2018-06-07 2019-12-12 オムロン株式会社 Image processing device, image processing method, and image processing program
JP2019212166A (en) * 2018-06-07 2019-12-12 オムロン株式会社 Image processing apparatus, image processing method, and image processing program
CN112088395A (en) * 2018-06-07 2020-12-15 欧姆龙株式会社 Image processing apparatus, image processing method, and image processing program
JP7148858B2 (en) 2018-06-07 2022-10-06 オムロン株式会社 Image processing device, image processing method and image processing program
CN112088395B (en) * 2018-06-07 2024-01-16 欧姆龙株式会社 Image processing apparatus, image processing method, and computer-readable storage medium
JP2020169962A (en) * 2019-04-05 2020-10-15 株式会社キーエンス Image inspection system
JP2020169949A (en) * 2019-04-05 2020-10-15 株式会社キーエンス Image inspection system and method for inspecting image
JP2020169958A (en) * 2019-04-05 2020-10-15 株式会社キーエンス Image inspection system and image inspection method
JP7222796B2 (en) 2019-04-05 2023-02-15 株式会社キーエンス Image inspection system and image inspection method
JP7222795B2 (en) 2019-04-05 2023-02-15 株式会社キーエンス Image inspection system and image inspection method
JP7306857B2 (en) 2019-04-05 2023-07-11 株式会社キーエンス Image inspection system

Also Published As

Publication number Publication date
JP5415182B2 (en) 2014-02-12

Similar Documents

Publication Publication Date Title
JP5415182B2 (en) Image processing apparatus, program creation support apparatus, and image processing method
JP4784269B2 (en) Image processing device
KR101117472B1 (en) Apparatus and Method for Visual Inspection
US20140304637A1 (en) Image processing device, control method, and program
JP5189570B2 (en) Image processing apparatus and image processing method
US8081213B2 (en) Test support system and image processing controller
JP2009116377A (en) Device for creating program for use in image processing controller
JP5696194B2 (en) Program creation support apparatus and image processing apparatus
JP4958114B2 (en) Information processing apparatus, information processing method, and computer program
JP5060677B2 (en) Image processing controller and inspection support system
JP4944739B2 (en) Program creation device for image processing controller
JP4929133B2 (en) Inspection support system
JP5056263B2 (en) Image inspection apparatus, image inspection method, program for causing computer to function as image inspection apparatus, and computer-readable recording medium
JP2007086831A (en) Development support device, program for creating outline information, and method for creating outline information
JP2017138901A (en) Inspection support device, inspection support method, and inspection support program
JP5060675B2 (en) Program creation device for image processing controller
JP7131127B2 (en) APPEARANCE INSPECTION SYSTEM, APPEARANCE INSPECTION RESULT DISPLAY METHOD AND APPEARANCE INSPECTION RESULT DISPLAY PROGRAM
JP5060674B2 (en) Program creation device for image processing controller
JP2013016013A (en) Development support device and development support method
JP6979860B2 (en) Image processing system
JP6987617B2 (en) Configuration support systems, data servers, control methods and programs
JP4944751B2 (en) Image processing controller
JP4944737B2 (en) Program creation device for image processing controller
JP7363601B2 (en) Image processing device, control method and program
JP2009116381A (en) Program creation device for image processing controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131011

TRDD Decision of grant or rejection written
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131113

R150 Certificate of patent or registration of utility model

Ref document number: 5415182

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250