JP2012108702A - Information processing apparatus, method for controlling information processing apparatus, program, and recording medium with program recorded thereon - Google Patents

Information processing apparatus, method for controlling information processing apparatus, program, and recording medium with program recorded thereon Download PDF

Info

Publication number
JP2012108702A
JP2012108702A JP2010256724A JP2010256724A JP2012108702A JP 2012108702 A JP2012108702 A JP 2012108702A JP 2010256724 A JP2010256724 A JP 2010256724A JP 2010256724 A JP2010256724 A JP 2010256724A JP 2012108702 A JP2012108702 A JP 2012108702A
Authority
JP
Japan
Prior art keywords
image data
image
image processing
inspection
electronic image
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
JP2010256724A
Other languages
Japanese (ja)
Other versions
JP4801791B1 (en
Inventor
Hideji Fukunishi
秀次 福西
Yoshitaka Uchida
吉貴 内田
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.)
Canon IT Solutions Inc
Original Assignee
Canon IT Solutions Inc
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 Canon IT Solutions Inc filed Critical Canon IT Solutions Inc
Priority to JP2010256724A priority Critical patent/JP4801791B1/en
Application granted granted Critical
Publication of JP4801791B1 publication Critical patent/JP4801791B1/en
Publication of JP2012108702A publication Critical patent/JP2012108702A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Image Analysis (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve the problem in which, when a series of processes for image inspection is executed and image inspection and a process for displaying a result image after image inspection are simultaneously and plurally performed, since processing performance of an information processing apparatus is insufficient, although a load is reduced by decimating the result images of image inspection, a result image necessary for an operator is also decimated.SOLUTION: When a decimation process on an inspection result image occurs, it is determined whether an inspection result 1203 of the result image subjected to the decimation process is NG or not, the NG image is displayed without decimation when it is NG, and the result image is decimated when it is not NG.

Description

本発明は、画像処理によって画像の検査を行う情報処理装置において、各画像検査結果を情報処理装置の負荷に応じて自動的に表示を間引く際に、異常が発見された画像検査結果は間引かないように制御する情報処理装置、情報処理装置の制御方法、プログラム、及びプログラムを記録した記録媒体に関する。   The present invention provides an information processing apparatus that inspects an image by image processing, and automatically thins out the display of each image inspection result according to the load on the information processing apparatus. The present invention relates to an information processing apparatus that performs control so as not to exist, a control method for the information processing apparatus, a program, and a recording medium on which the program is recorded.

従来、例えば、チップマウンターにおける基板や部品の位置決めや、出来上がった製品の検査などを目的として、カメラで撮影した検査対象の画像データを、一定のロジック(処理フロー)で画像検査する画像検査装置が広く用いられている。   2. Description of the Related Art Conventionally, for example, an image inspection apparatus that performs image inspection of image data to be inspected with a camera with a certain logic (processing flow) for the purpose of positioning a substrate or a component in a chip mounter or inspecting a finished product. Widely used.

このような用途の画像検査装置としては、例えば、予め決められた画像検査のロジックを搭載した汎用タイプの画像検査装置や、ユーザのニーズに合致するロジックをユーザ自身が構築することが可能な専用タイプの画像検査装置がある。   As such an image inspection apparatus, for example, a general-purpose type image inspection apparatus equipped with a predetermined image inspection logic, or a dedicated user that can construct a logic that meets the user's needs. There are types of image inspection devices.

ここで、汎用タイプの画像検査装置は、画像検査のロジックを新規に構築する必要がないため、実際の製造工程等への導入に際してユーザの労力はかからないが、ユーザのニーズを完全に満たすロジックであることは少ない。一方、専用タイプの画像検査装置は、ユーザのニーズを完全に満たす画像検査のロジックを構築することが可能であるが、そのために画像検査のロジックを都度開発する必要があるため、多大な開発労力と開発期間、更には多大なコストがかかるものであった。   Here, the general-purpose type image inspection apparatus does not require the construction of a new image inspection logic, so it does not require the user's labor to introduce it into the actual manufacturing process, etc., but the logic completely satisfies the user's needs. There are few. On the other hand, the dedicated type image inspection device can construct the image inspection logic that completely satisfies the user's needs. However, since it is necessary to develop the image inspection logic each time, a great amount of development effort is required. The development period and the cost were high.

そこで、従来、例えば下記の特許文献1に示すようなロジックの開発を効率化する技術が提案されている。具体的に、特許文献1では、ロジックを開発するコンピュータに予め複数の画像検査に係るモジュールを登録しておき、開発者が使用者のニーズに合致するモジュールを選択し、選択したモジュールに必要なパラメータを設定して、ソースコード化した上でオブジェクトコードを作成することにより、ロジックの開発を効率化するものである。   Therefore, conventionally, for example, a technique for improving the efficiency of logic development as shown in Patent Document 1 below has been proposed. Specifically, in Patent Document 1, a module for developing a plurality of images is registered in advance in a computer that develops logic, and a developer selects a module that meets the needs of the user, and is necessary for the selected module. By setting parameters and creating source code after creating source code, logic development is made more efficient.

特開2003−296112号公報JP 2003-296112 A

しかしながら、このような一連の画像処理を実行する際には、複数のカメラから画像検査を行う画像が入力され、当該複数の画像が情報処理装置のマルチスレッドまたはマルチプロセスにより並列処理されるが、表示を行う画面は1つのため、情報処理装置の処理能力の限界で表示が間に合わないことがあった。つまり、複数画像をそれぞれ複数のCPUで処理するが、表示画面は1つのため、情報処理装置が処理された複数画像を次々表示する必要がある。しかし、情報処理装置の処理能力によっては表示が遅れてしまい、表示待ちの画像が溜まってしまう問題があった。また、画像検査処理と画像検査後の結果画像を表示する処理とを同時に複数おこなった場合、上述した特許文献1の技術では、情報処理装置の処理能力が足りず、画像検査の速度が低下するといった問題がある。   However, when executing such a series of image processing, images to be subjected to image inspection are input from a plurality of cameras, and the plurality of images are processed in parallel by a multi-thread or a multi-process of the information processing apparatus. Since there is one screen for display, the display may not be in time due to the limit of the processing capability of the information processing apparatus. That is, a plurality of images are processed by a plurality of CPUs, respectively, but since there is one display screen, it is necessary to display a plurality of images processed by the information processing apparatus one after another. However, depending on the processing capability of the information processing apparatus, there is a problem that display is delayed and images waiting to be displayed accumulate. Further, when a plurality of image inspection processes and a process for displaying a result image after the image inspection are performed at the same time, the technique of Patent Document 1 described above is insufficient in processing capability of the information processing apparatus, and the image inspection speed decreases. There is a problem.

このような問題を解決するために、情報処理装置に負荷がかかった場合、画像処理が行われた結果画像をすべて表示せず、結果画像を間引くことで画像検査を優先させる仕組みが存在する。しかしながら、画像検査の結果、異常な画像を検知した場合、それらの原因を調査して、パラメータに反映することがある。本来は異常として検知されなくてもよい画像までも検知してしまうことを防ぐために、異常として検知された画像を元にパラメータ設定を行い、より適切なパラメータに変更していく。しかしながら、結果画像を間引いてしまうと、どの画像で異常と検知されたのかがわからない問題がある。つまり、単純に結果画像の間引き処理を行ってしまうと、本来作業者にとって必要な結果画像までも間引くこととなってしまう。   In order to solve such a problem, when a load is applied to the information processing apparatus, there is a mechanism in which image inspection is prioritized by thinning out the result image without displaying all the result images subjected to image processing. However, when an abnormal image is detected as a result of the image inspection, the cause of the abnormal image may be investigated and reflected in the parameter. In order to prevent detection of an image that does not necessarily have to be detected as abnormal, parameter setting is performed based on the image detected as abnormal and the parameter is changed to a more appropriate parameter. However, if the result image is thinned out, there is a problem that it is not known which image is detected as abnormal. That is, if the result image thinning process is simply performed, the result image that is originally necessary for the operator is also thinned.

本発明は、複数の画像検査を行い、情報処理装置の負荷が高くなった場合に、画像検査後の結果画像を自動的に間引き、ユーザに必要な結果画像であった場合には間引かずに表示する仕組みを提供することを目的とする。   The present invention performs a plurality of image inspections and automatically thins out the result images after the image inspection when the load on the information processing apparatus increases, and does not thin out the result images required by the user. The purpose is to provide a display mechanism.

上記の目的を達成するために、請求項1に記載の情報処理装置は、電子画像データに対して画像処理を実行し、前記画像処理が実行された電子画像データの表示を行う情報処理装置であって、前記電子画像データに対して、所定の画像処理を実行する画像処理実行手段と、前記画像処理実行手段によって画像処理が実行された電子画像データと、前記画像処理の結果である画像処理結果とを対応づけて記憶する電子画像データ記憶手段と、前記電子画像データ記憶手段に記憶された電子画像データのうち少なくとも1以上の電子画像データの表示を間引いて表示する表示手段と、前記表示手段によって表示を間引かれた電子画像データに対応づけられた画像処理結果を前記電子画像データ記憶手段から取得し、当該画像処理結果に応じて前記電子画像データを間引かずに表示するか否かを判定する間引き判定手段とを備え、前記表示手段は、前記間引き判定手段によって、前記電子画像データを間引かずに表示すると判定された場合には、前記電子画像データを表示することを特徴とする。   In order to achieve the above object, an information processing apparatus according to claim 1 is an information processing apparatus that performs image processing on electronic image data and displays the electronic image data subjected to the image processing. An image processing execution unit that executes predetermined image processing on the electronic image data, electronic image data that has been subjected to image processing by the image processing execution unit, and image processing that is a result of the image processing Electronic image data storage means for associating and storing the results, display means for thinning and displaying at least one of the electronic image data stored in the electronic image data storage means, and the display An image processing result associated with the electronic image data thinned out by the means is acquired from the electronic image data storage means, and the image processing result is obtained according to the image processing result. A thinning determination unit that determines whether or not to display the child image data without thinning out, and the display unit is configured to display the electronic image data without thinning out by the thinning determination unit. Displays the electronic image data.

本発明によれば、画像検査後の結果画像を表示する画像処理において、情報処理装置の負荷が高い場合には結果画像の表示を間引くが、ユーザにとって必要な結果画像であった場合には、間引かずに表示させることができる効果を奏する。   According to the present invention, in the image processing for displaying the result image after the image inspection, the display of the result image is thinned out when the load on the information processing apparatus is high, but when the result image is necessary for the user, There is an effect that can be displayed without thinning.

本発明の実施形態に係る画像検査システムの概略構成の一例を示す模式図である。1 is a schematic diagram illustrating an example of a schematic configuration of an image inspection system according to an embodiment of the present invention. 図1に示す情報処理装置110の内部のハードウェア構成の一例を示す模式図である。It is a schematic diagram which shows an example of the hardware constitutions inside the information processing apparatus 110 shown in FIG. 図2に示す画像入力コントローラ115fのハードウェア構成の一例を示す模式図である。It is a schematic diagram which shows an example of the hardware constitutions of the image input controller 115f shown in FIG. 図1に示す情報処理装置110の機能構成の一例を示す模式図である。It is a schematic diagram which shows an example of a function structure of the information processing apparatus 110 shown in FIG. 図4に示すモジュール・ソースコードマスタテーブル411の一例を示す模式図である。FIG. 5 is a schematic diagram illustrating an example of a module / source code master table 411 illustrated in FIG. 4. 図4に示す処理フロー・入出力パラメータテーブル412の一例を示す模式図である。FIG. 5 is a schematic diagram illustrating an example of a processing flow / input / output parameter table 412 illustrated in FIG. 4. 図1に示す情報処理装置110による制御方法の処理手順の一例を示す模式図である。It is a schematic diagram which shows an example of the process sequence of the control method by the information processing apparatus 110 shown in FIG. 画像検査システム開発画面のメインメニューの一例を示す模式図である。It is a schematic diagram which shows an example of the main menu of an image inspection system development screen. 図7のステップS109におけるモジュールのオンライン検査処理の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of the online test | inspection process of the module in step S109 of FIG. オンライン検査画面の一例を示す模式図である。It is a schematic diagram which shows an example of an online test | inspection screen. 図4に示す検査パラメータテーブル480の一例を示す模式図である。It is a schematic diagram which shows an example of the test | inspection parameter table 480 shown in FIG. 図4に示す検査テーブル481の一例を示す模式図である。It is a schematic diagram which shows an example of the test | inspection table 481 shown in FIG. 図9のステップS211におけるモジュールの検査スレッド処理の詳細な処理手順の一例を示すフローチャートである。10 is a flowchart illustrating an example of a detailed processing procedure of a module inspection thread process in step S211 of FIG. 9. 図4に示す検査結果テーブル418の一例を示す模式図である。It is a schematic diagram which shows an example of the test result table 418 shown in FIG. 図9のオンライン検査処理と並行して動作する検査結果表示処理の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of the test result display process which operate | moves in parallel with the online test process of FIG. 画像検査結果の画像の一例を示す模式図である。It is a schematic diagram which shows an example of the image of an image test result. 画像記録テーブル482の構成の一例を示す模式図である。5 is a schematic diagram illustrating an example of a configuration of an image recording table 482. FIG. オンライン検査画面においてNG画像が間引かれずに動作することを示す模式図である。It is a schematic diagram which shows that an NG image operate | moves without being thinned out on an online test | inspection screen. サムネイル表示されている結果の詳細を示す詳細結果表示画面の一例を示す模式図である。It is a schematic diagram which shows an example of the detailed result display screen which shows the detail of the result currently displayed by the thumbnail. 保存データのフォルダ構成を示す模式図である。It is a schematic diagram which shows the folder structure of preserve | saved data. 画像処理フロー構築画面の一例を示す模式図である。It is a schematic diagram which shows an example of an image processing flow construction screen. 画像処理フローが並列処理によって動作することを示す模式図である。It is a schematic diagram which shows that an image processing flow operate | moves by parallel processing. 実施例2における検査結果表示処理の詳細な処理手順の一例を示すフローチャートである。12 is a flowchart illustrating an example of a detailed processing procedure of an inspection result display process according to the second embodiment.

以下、図面を参照しながら、本発明の実施の形態について説明する。まず、実施例1について説明する。図1は、本発明の実施の形態に係る画像検査システム100の概略構成の一例を示す模式図である。図1に示す通り、画像検査システム100は、情報処理装置110と、入力装置120と、ディスプレイ装置130と、カメラ140と、照明装置コントローラ150と、照明装置160と、外部機器コントローラ170と、検査対象181が載置されたステージ180を有して構成されている。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. First, Example 1 will be described. FIG. 1 is a schematic diagram illustrating an example of a schematic configuration of an image inspection system 100 according to an embodiment of the present invention. As shown in FIG. 1, the image inspection system 100 includes an information processing device 110, an input device 120, a display device 130, a camera 140, a lighting device controller 150, a lighting device 160, an external device controller 170, an inspection device, and the like. It has a stage 180 on which an object 181 is placed.

情報処理装置110は、画像検査システム100における動作を統括的に制御する装置である。ここで、本実施形態においては、情報処理装置110は、実際の製造工程に導入される画像検査装置で動作する画像検査アプリケーションプログラムの開発を支援する装置として適用した例を説明するが、本発明においてはこれに限定されるわけではなく、たとえば、実際の製造工程に導入されている画像検査装置として適用する形態も本発明に含まれる。   The information processing apparatus 110 is an apparatus that comprehensively controls operations in the image inspection system 100. Here, in this embodiment, the information processing apparatus 110 is described as an example applied as an apparatus that supports development of an image inspection application program that operates on an image inspection apparatus introduced into an actual manufacturing process. However, the present invention is not limited to this. For example, the present invention includes a form applied as an image inspection apparatus introduced into an actual manufacturing process.

情報処理装置110は、所定のケーブル等を介して、検査対象181の撮像(撮影)を行うカメラ140と通信可能に構成されている。また、情報処理装置110は、所定のケーブル等を介して、照明装置160の制御を行う照明装置コントローラ150と通信可能に構成されている。また、情報処理装置110は、所定のケーブル等を介して、ステージ180を制御するプログラマブルコントローラ(PCL)などの外部機器コントローラ170と、あらかじめ設定した通信が可能に構成されている。さらに、情報処理装置110は、所定のケーブル等を介して、それぞれ、入力装置120およびディスプレイ装置130と通信可能に構成されている。すなわち、情報処理装置110は、所定のケーブル等を介して接続された、入力装置120、ディスプレイ装置130、カメラ140、照明装置コントローラ150および外部機器コントローラ170を制御することによって、画像検査システム100における動作を統括的に制御する。   The information processing apparatus 110 is configured to be able to communicate with a camera 140 that captures an image of the inspection target 181 via a predetermined cable or the like. Further, the information processing apparatus 110 is configured to be able to communicate with an illumination apparatus controller 150 that controls the illumination apparatus 160 via a predetermined cable or the like. The information processing apparatus 110 is configured to be able to communicate with an external device controller 170 such as a programmable controller (PCL) that controls the stage 180 via a predetermined cable or the like. Furthermore, the information processing device 110 is configured to be able to communicate with the input device 120 and the display device 130 via a predetermined cable or the like. In other words, the information processing apparatus 110 controls the input device 120, the display device 130, the camera 140, the illumination device controller 150, and the external device controller 170 connected via a predetermined cable or the like, so Control the overall operation.

入力装置120は、例えばユーザが情報処理装置110に対して各種の指示の入力を行う際にユーザによって操作されるものであり、ユーザからの入力指示操作に従って、当該入力指示を情報処理装置110に対して入力するものである。この入力装置120は、例えば、キーボード(KB)やポインティングデバイス等で構成されている。   The input device 120 is operated by the user when the user inputs various instructions to the information processing apparatus 110, for example, and the input instruction is sent to the information processing apparatus 110 according to the input instruction operation from the user. In contrast, it is input. The input device 120 is composed of, for example, a keyboard (KB) and a pointing device.

ディスプレイ装置130は、情報処理装置110の制御に従って、各種の画像や各種の情報などを表示画面に表示する。   The display device 130 displays various images and various information on the display screen according to the control of the information processing device 110.

カメラ140は、情報処理装置110の制御に従って、ステージ180上に載置された検査対象181の撮影(撮像)を行い、撮影により得られた画像データ(電子画像データ)を所定のケーブル等を介して情報処理装置110に送信する。   The camera 140 performs imaging (imaging) of the inspection object 181 placed on the stage 180 under the control of the information processing apparatus 110, and transmits image data (electronic image data) obtained by imaging via a predetermined cable or the like. To the information processing apparatus 110.

照明装置コントローラ150は、情報処理装置110の制御に従って、照明装置160の照明を制御する。照明装置160は、照明装置コントローラ150の制御に基づき、検査対象181における検査内容に応じて、当該検査対象181に対する照明の点灯/非点灯の切り替えや明るさの調整等を行う。   The lighting device controller 150 controls the lighting of the lighting device 160 according to the control of the information processing device 110. Based on the control of the lighting device controller 150, the lighting device 160 performs switching of lighting on / off of the lighting of the inspection target 181 and adjustment of brightness according to the inspection content of the inspection target 181.

外部機器コントローラ170は、情報処理装置110の制御に従って、ステージ180を制御する。ステージ180は、外部機器コントローラ170の制御に基づき、載置された検査対象181を目的の位置に移動させたり、検査対象181の搬入や搬出をしたりする。以上が画像検査システムの構成の一例の説明である。   The external device controller 170 controls the stage 180 according to the control of the information processing apparatus 110. The stage 180 moves the placed inspection object 181 to a target position and carries in or out the inspection object 181 based on the control of the external device controller 170. The above is an example of the configuration of the image inspection system.

次に、情報処理装置110のハードウェア構成について説明する。図2は、図1に示す情報処理装置110のハードウェア構成の一例を示す模式図である。図2には、情報処理装置110の内部構成に加えて、当該情報処理装置110と接続される各種装置についても記載している。   Next, the hardware configuration of the information processing apparatus 110 will be described. FIG. 2 is a schematic diagram illustrating an example of a hardware configuration of the information processing apparatus 110 illustrated in FIG. In FIG. 2, in addition to the internal configuration of the information processing apparatus 110, various apparatuses connected to the information processing apparatus 110 are also described.

情報処理装置110は、図2に示すように、CPU111と、RAM112と、ROM113と、システムバス114と、各種のコントローラ115(115a〜115g)と、外部メモリ116と、を備えている。各種のコントローラ115として、入力コントローラ115a、ビデオコントローラ115b、メモリコントローラ115c、通信I/Fコントローラ115d、115e、及び115g、画像入力コントローラ115fが構成されている。CPU111は、ROM113或いは外部メモリ116に記憶されたプログラム等に基づいてシステムバス114に接続された各デバイスを制御して、情報処理装置110における動作を統括的に制御する。RAM112は、CPU111の主メモリ、ワークエリア等として機能する。CPU111は、検査の実行に際して、必要なプログラム等をRAM112にロードして、プログラムを実行することにより、情報処理装置110における各種の動作を実現する。ROM113には、CPU111の制御プログラムであるBIOS(Basic Input
/ Output System)等が記憶されている。
As illustrated in FIG. 2, the information processing apparatus 110 includes a CPU 111, a RAM 112, a ROM 113, a system bus 114, various controllers 115 (115 a to 115 g), and an external memory 116. As various controllers 115, an input controller 115a, a video controller 115b, a memory controller 115c, communication I / F controllers 115d, 115e, and 115g, and an image input controller 115f are configured. The CPU 111 controls each device connected to the system bus 114 based on a program or the like stored in the ROM 113 or the external memory 116 so as to comprehensively control the operation in the information processing apparatus 110. The RAM 112 functions as a main memory and work area for the CPU 111. The CPU 111 implements various operations in the information processing apparatus 110 by loading a necessary program or the like into the RAM 112 and executing the program when executing the inspection. The ROM 113 has a BIOS (Basic Input) which is a control program of the CPU 111.
/ Output System) is stored.

システムバス114は、CPU111、RAM112、ROM113、入力コントローラ115a、ビデオコントローラ115b、メモリコントローラ115c、通信I/Fコントローラ115d及び115e、115g、画像入力コントローラ115fを、相互に通信可能に接続する。   The system bus 114 connects the CPU 111, RAM 112, ROM 113, input controller 115a, video controller 115b, memory controller 115c, communication I / F controllers 115d and 115e, 115g, and image input controller 115f so that they can communicate with each other.

入力コントローラ115aは、キーボード(KB)やポインティングデバイスなどからなる入力装置120からの入力を制御する。ビデオコントローラ115bは、表示装置であるディスプレイ装置130への表示を制御する。メモリコントローラ115cは、外部メモリ116へのアクセスを制御する。ここで、外部メモリ116は、例えばハードディスク(HD)やフレキシブルディスク(FD)等で構成され、ブートプログラムや、各種のアプリケーションプログラム、編集ファイル、各種のデータや各種の情報等を記憶する。また、外部メモリ116は、オペレーティングシステム(以下、「OS」とする)や、CPU111に後述する各種の検査を実行させるためのプログラム、当該プログラムの制御に従った検査を行う際に使用する各種のテーブルや各種の検査結果情報等も記憶する。   The input controller 115a controls input from the input device 120 including a keyboard (KB) and a pointing device. The video controller 115b controls display on the display device 130 which is a display device. The memory controller 115 c controls access to the external memory 116. Here, the external memory 116 is composed of, for example, a hard disk (HD) or a flexible disk (FD), and stores a boot program, various application programs, editing files, various data, various information, and the like. In addition, the external memory 116 is an operating system (hereinafter referred to as “OS”), a program for causing the CPU 111 to execute various inspections described later, and various types used when performing inspections according to the control of the programs. A table, various inspection result information, and the like are also stored.

通信I/Fコントローラ115dは、外部機器コントローラ170との通信を制御する。また、通信I/Fコントローラ115eは、照明装置コントローラ150との通信を制御する。画像入力コントローラ115fは、カメラ140と通信を行って、カメラ140から画像データの受信が可能に構成されている。ここで、画像入力コントローラ115fは、コントローラ上で演算処理が可能なハードウェアを搭載しているものであってもよい。なお、本実施形態では、カメラ140からの画像データの入力を前提に説明を行うが、画像ファイルを読み込んで入力する形態であってもよい。さらに、通信I/Fコントローラ115gは、ローカルエリアネットワーク(LAN)190等のネットワークに接続され、当該ネットワークに接続されている各種装置との通信を制御する。   The communication I / F controller 115d controls communication with the external device controller 170. Further, the communication I / F controller 115e controls communication with the lighting device controller 150. The image input controller 115 f is configured to be able to receive image data from the camera 140 by communicating with the camera 140. Here, the image input controller 115f may be equipped with hardware capable of performing arithmetic processing on the controller. In the present embodiment, the description is based on the assumption that image data is input from the camera 140, but an image file may be read and input. Further, the communication I / F controller 115g is connected to a network such as a local area network (LAN) 190, and controls communication with various devices connected to the network.

次に、図3を用いて、画像入力コントローラ115fのハードウェア構成について説明する。図3に示す通り、画像入力コントローラ115fは、CPU(演算チップ)301、メモリコントローラ302、入力コントローラ303、オンボードメモリ304を備えている。   Next, the hardware configuration of the image input controller 115f will be described with reference to FIG. As shown in FIG. 3, the image input controller 115 f includes a CPU (arithmetic chip) 301, a memory controller 302, an input controller 303, and an on-board memory 304.

CPU(演算チップ)301は、後述する各種の画像検査を実行する。メモリコントローラ302はCPU(演算チップ)301の制御に従って、オンボードメモリ304への各種データの入出力を制御する。入力コントローラ303はカメラ140からの画像データの入力を制御する。オンボードメモリ304はCPU(演算チップ)301の主記憶として機能する。以上が、画像入力コントローラ115fのハードウェア構成の説明である。   A CPU (arithmetic chip) 301 executes various image inspections described later. The memory controller 302 controls the input / output of various data to the on-board memory 304 according to the control of the CPU (arithmetic chip) 301. An input controller 303 controls input of image data from the camera 140. The on-board memory 304 functions as a main memory of the CPU (arithmetic chip) 301. The above is the description of the hardware configuration of the image input controller 115f.

次に、情報処理装置110の機能構成の一例について説明する。図4は、図1に示す情報処理装置110の機能構成の一例を示す模式図である。   Next, an example of a functional configuration of the information processing apparatus 110 will be described. FIG. 4 is a schematic diagram illustrating an example of a functional configuration of the information processing apparatus 110 illustrated in FIG.

情報処理装置110には、図4に示すように、テーブル記憶部410、フロー作成部420、ソースコード変換部430、コンパイル部440、(検証)実行部450、データ保存部460、及び、データ入力・出力部470の各機能構成が構成される。また、テーブル記憶部410には、モジュール・ソースコードマスタテーブル411、処理フロー・入出力パラメータテーブル412、ソースコードテーブル413、オブジェクトコードテーブル414、及びプロジェクトファイルテーブル415が記憶されている。また、条件式テーブル416、ノード処理フラグテーブル417、検査結果テーブル418、検査パラメータテーブル480、及び検査テーブル481も記憶されている。   As shown in FIG. 4, the information processing apparatus 110 includes a table storage unit 410, a flow creation unit 420, a source code conversion unit 430, a compilation unit 440, a (verification) execution unit 450, a data storage unit 460, and a data input Each functional configuration of the output unit 470 is configured. The table storage unit 410 stores a module / source code master table 411, a processing flow / input / output parameter table 412, a source code table 413, an object code table 414, and a project file table 415. In addition, a conditional expression table 416, a node processing flag table 417, an inspection result table 418, an inspection parameter table 480, and an inspection table 481 are also stored.

ここで、本実施形態においては、図4のテーブル記憶部410が、例えば図2に示す外部メモリ116に構成される(一旦、RAM112に構成された後に外部メモリ116に構成される場合も含む)。また、図4のフロー作成部420、ソースコード変換部430、コンパイル部440、(検証)実行部450、データ保存部460及びデータ入力・出力部470が、例えば図2に示すCPU111と、ROM113或いは外部メモリ116に記憶されているプログラムと、から構成される。   Here, in the present embodiment, the table storage unit 410 of FIG. 4 is configured in the external memory 116 shown in FIG. 2, for example (including the case where it is configured once in the RAM 112 and then in the external memory 116). . Also, the flow creation unit 420, source code conversion unit 430, compilation unit 440, (verification) execution unit 450, data storage unit 460, and data input / output unit 470 of FIG. And a program stored in the external memory 116.

図5を参照して、図4のテーブル記憶部410に記憶されるモジュール・ソースコードマスタテーブル411について説明する。図5はモジュール・ソースコードマスタテーブル411の構成の一例を示す模式図である。   The module / source code master table 411 stored in the table storage unit 410 of FIG. 4 will be described with reference to FIG. FIG. 5 is a schematic diagram showing an example of the configuration of the module / source code master table 411.

図5に示すように、モジュール・ソースコードマスタテーブル411には、インデックス(Index)501ごとに、画像検査に係る処理アイテム502と、各処理アイテムに対応するソースコード503、またその処理アイテムを実現するためのモジュールに対する初期値504と処理主体505が関連付けられている。このソースコードは、ソースコード変換部430で検査対象のモジュールをソースコードに変換する際に用いられるものである。   As shown in FIG. 5, the module / source code master table 411 implements, for each index 501, a processing item 502 related to image inspection, a source code 503 corresponding to each processing item, and the processing item. An initial value 504 and a processing entity 505 for the module for doing so are associated. This source code is used when the source code conversion unit 430 converts a module to be inspected into a source code.

次に、図6を参照して、図4のテーブル記憶部410に記憶される処理フロー・入出力パラメータテーブル412について説明する。図6は、図4に示す処理フロー・入出力パラメータテーブル412の構成の一例を示す模式図である。図6に示すように、処理フロー・入出力パラメータテーブル412は、インデックス(Index)601ごとに、画像検査に係るモジュール603と、各モジュール603の順序602と、各モジュール603のフロー登録名604と、各モジュール603における入力パラメータ605及び出力パラメータ606が関連付けられている。入力パラメータ605は、各モジュールで使用する各種のデータが格納される画像バッファや記憶領域等を示す。出力パラメータ606は、各モジュールが実行された際の結果画像バッファや各種の検査に用いた閾値等を記憶する記憶領域を示す。次ステップ607は、次に処理されるべきステップのインデックス(Index)601を示す。なお、この次ステップ607は、複数のインデックス(Index)を持つこともある。また、分岐参照608は、モジュール603に「反復処理」モジュール、「条件分岐処理」モジュールを設定した際に、各条件(ノード)が次にどのステップを処理するかを指定する条件式テーブルを示す。さらに、処理主体609は、各モジュールにおいて処理をCPU111と、画像入力コントローラ115fのCPU(演算チップ)301のどちらで行うかを示す項目である。   Next, the processing flow / input / output parameter table 412 stored in the table storage unit 410 of FIG. 4 will be described with reference to FIG. FIG. 6 is a schematic diagram showing an example of the configuration of the processing flow / input / output parameter table 412 shown in FIG. As shown in FIG. 6, the processing flow / input / output parameter table 412 includes, for each index 601, a module 603 related to image inspection, an order 602 of each module 603, and a flow registration name 604 of each module 603. The input parameter 605 and the output parameter 606 in each module 603 are associated with each other. An input parameter 605 indicates an image buffer, a storage area, or the like in which various data used by each module is stored. The output parameter 606 indicates a storage area for storing a result image buffer when each module is executed, a threshold value used for various examinations, and the like. A next step 607 indicates an index 601 of a step to be processed next. The next step 607 may have a plurality of indexes. The branch reference 608 indicates a conditional expression table for designating which step is to be processed next by each condition (node) when the “iterative processing” module and the “conditional branch processing” module are set in the module 603. . Further, the processing main body 609 is an item indicating whether the processing is performed in each module by the CPU 111 or the CPU (arithmetic chip) 301 of the image input controller 115f.

なお、図6に示す処理フロー・入出力パラメータテーブル412におけるインデックス(Index)601と、図4に示すモジュール・ソースコードマスタテーブル411におけるインデックス(Index)とは特に対応させていないが、相互に対応させて各テーブルを作成する形態であってもよい。なお、処理フロー・入出力パラメータテーブルT600において、インデックス(Index)601の2および3は反復処理、処理フロー・入出力パラメータテーブルT601のインデックス(Index)601の2から4は条件分岐処理の一例である。   The index (Index) 601 in the processing flow / input / output parameter table 412 shown in FIG. 6 and the index (Index) in the module / source code master table 411 shown in FIG. In this case, each table may be created. In the processing flow / input / output parameter table T600, 2 and 3 of the index (Index) 601 are examples of iterative processing, and 2 to 4 of the index (Index) 601 of the processing flow / input / output parameter table T601 are examples of conditional branch processing. is there.

ソースコードテーブル413は、処理フロー・入出力パラメータテーブル412に記憶されているモジュール603について、ソースコード変換部430でモジュール・ソースコードマスタテーブル411を用いてソースコードに変換し登録している、全てのモジュール或いは一部のモジュールにおけるソースコードを記憶する。   The source code table 413 converts all the modules 603 stored in the processing flow / input / output parameter table 412 into source codes using the module / source code master table 411 and registers them. The source code in the module or a part of the modules is stored.

オブジェクトコードテーブル414は、ソースコードテーブル413に記憶されているソースコードをコンパイル部440で変換した、実行可能なモジュールであるオブジェクトコードを記憶する。プロジェクトファイルテーブル415は、画像検査に係る初期設定パラメータや、処理フローシーケンス、ソースコード、入出力パラメータ等を記憶する。また条件式テーブル416は、「条件分岐処理」モジュールが設定された際の、条件式等を記憶し、ノード処理フラグテーブル417は、「並列分岐処理」モジュールが設定された際の、呼び出し側のノード名等を記憶する。   The object code table 414 stores object code that is an executable module obtained by converting the source code stored in the source code table 413 by the compiling unit 440. The project file table 415 stores initial setting parameters relating to image inspection, a processing flow sequence, source code, input / output parameters, and the like. In addition, the conditional expression table 416 stores a conditional expression or the like when the “conditional branch processing” module is set, and the node processing flag table 417 stores the conditional expression when the “parallel branch processing” module is set. Stores the node name and the like.

図14を参照して、図4のテーブル記憶部410に記憶される検査結果テーブル418について説明する。図14は検査結果テーブル418の構成の一例を示す模式図である。   The inspection result table 418 stored in the table storage unit 410 in FIG. 4 will be described with reference to FIG. FIG. 14 is a schematic diagram illustrating an example of the configuration of the inspection result table 418.

図14に示すように、検査結果テーブル418には、処理フロー・入出力パラメータテーブル412におけるインデックス(Index)601と紐づいたインデックス(Index)1401、検査結果ごとに割り振られる識別ID1402、検査対象の識別箇所を座標で示す識別箇所1403、識別箇所1403の検査結果を示す識別結果1404、検査対象である画像名を示す検査画像名1405が関連付けられている。尚、識別箇所1403は、検査画像の左上頂点を(0,0)とする座標から構成され、識別箇所の左上の座標と、識別箇所の右下の座標を組み合わせて格納される。識別箇所は矩形であるので、識別箇所を特定できるのであれば、これに限らない。   As shown in FIG. 14, the inspection result table 418 includes an index 1401 associated with the index 601 in the processing flow / input / output parameter table 412, an identification ID 1402 assigned for each inspection result, and an inspection target The identification location 1403 indicating the identification location in coordinates, the identification result 1404 indicating the inspection result of the identification location 1403, and the inspection image name 1405 indicating the image name to be inspected are associated with each other. The identification location 1403 is composed of coordinates with the upper left vertex of the inspection image as (0, 0), and is stored in combination with the upper left coordinate of the identification location and the lower right coordinate of the identification location. Since the identification location is rectangular, the identification location is not limited to this as long as the identification location can be specified.

次に、図11を参照して、図4のテーブル記憶部410に記憶される検査パラメータテーブル480について説明する。図11は検査パラメータテーブル480の構成の一例を示す模式図である。   Next, the inspection parameter table 480 stored in the table storage unit 410 of FIG. 4 will be described with reference to FIG. FIG. 11 is a schematic diagram showing an example of the configuration of the inspection parameter table 480.

図11に示すように、検査パラメータテーブル480には、検査パラメータごとに割り振られるNO1101、当該検査パラメータが使用中か否かを示す使用中フラグ1102が関連付けられている。   As shown in FIG. 11, the inspection parameter table 480 is associated with NO 1101 allocated for each inspection parameter and a busy flag 1102 indicating whether or not the inspection parameter is in use.

次に、図12を参照して、図4のテーブル記憶部410に記憶される検査テーブル481(電子画像データ記憶手段)について説明する。図12は検査テーブル481の構成の一例を示す模式図である。   Next, the inspection table 481 (electronic image data storage means) stored in the table storage unit 410 of FIG. 4 will be described with reference to FIG. FIG. 12 is a schematic diagram showing an example of the configuration of the inspection table 481.

図12に示すように、検査テーブル481には、検査をおこなうスレッドのスレッド名を示す検査スレッド1201、検査スレッド1201が実行中か否かを示す実行中フラグ1202、検査の結果を示す検査結果1203(画像処理結果)、図14の検査画像名1405と対応し、検査対象の画像名を示す検査画像名1204、当該検査スレッドが検査パラメータテーブル480のうち、どこで検査されているかを示す検査パラメータ1205が関連付けられている。   As shown in FIG. 12, the inspection table 481 includes an inspection thread 1201 indicating the thread name of the thread to be inspected, an execution flag 1202 indicating whether the inspection thread 1201 is being executed, and an inspection result 1203 indicating the inspection result. (Image processing result) Corresponding to the inspection image name 1405 in FIG. 14, the inspection image name 1204 indicating the image name to be inspected, and the inspection parameter 1205 indicating where the inspection thread is inspected in the inspection parameter table 480. Is associated.

図17を参照して、図4のテーブル記憶部410に記憶される画像記録テーブル482について説明する。図17は画像記録テーブル482の構成の一例を示す模式図である。   The image recording table 482 stored in the table storage unit 410 in FIG. 4 will be described with reference to FIG. FIG. 17 is a schematic diagram illustrating an example of the configuration of the image recording table 482.

図17に示すように、画像記録テーブル482には、画像記録された順番に割り振られるインデックス(Index)1801、データを判別するために用いる判別名(タイムスタンプ)1802、連続した同一のグルーピングとして記録された画像枚数1803が格納される。判別名1802には、データを判別特定できるのであれば、これに限らない。   As shown in FIG. 17, in the image recording table 482, an index (Index) 1801 assigned in the order of image recording, a discriminating name (time stamp) 1802 used for discriminating data, and a continuous identical grouping are recorded. The number of images 1803 thus stored is stored. The discrimination name 1802 is not limited to this as long as data can be discriminated and specified.

続いて、図4のフロー作成部420、ソースコード変換部430、コンパイル部440、実行部450、データ保存部460、及び、データ入力・出力部470について説明する。   Next, the flow creation unit 420, the source code conversion unit 430, the compilation unit 440, the execution unit 450, the data storage unit 460, and the data input / output unit 470 of FIG. 4 will be described.

フロー作成部420は、モジュール・ソースコードマスタテーブル411に含まれているモジュールの処理シーケンスを管理する処理フロー・入出力パラメータテーブル412の作成等と、処理フロー描画領域2102(図21参照)へのモジュールの描画を行う機能を有する。   The flow creation unit 420 creates a processing flow / input / output parameter table 412 for managing the processing sequence of modules included in the module / source code master table 411, and creates a processing flow drawing area 2102 (see FIG. 21). It has a function to draw a module.

ソースコード変換部430は、フロー作成部420により作成された処理フロー・入出力パラメータテーブル412に記憶されている各モジュールの処理データをモジュール・ソースコードマスタテーブル411と照合して、各モジュールをソースコードに変換し、ソースコードテーブル413に記憶する機能を有する。   The source code conversion unit 430 collates the processing data of each module stored in the processing flow / input / output parameter table 412 created by the flow creation unit 420 with the module / source code master table 411 to source each module. It has a function of converting into code and storing it in the source code table 413.

なお、図5及び図6に示すテーブルのモジュールには、画像に対する検査だけでなく、画像を取得するための事前処理や、検査結果を出力するための事後処理を含む外部機器に対する処理などを含めても勿論構わない。例えば、カメラ140の撮像条件を設定する制御指令や、照明装置160を制御するための照明装置コントローラ150への制御指令、或いは、ステージの移動などを制御するための外部機器コントローラ170への制御指令、LAN上に接続されたPCにデータを送信する等の制御指令を行うものであってもよい。   Note that the table modules shown in FIGS. 5 and 6 include not only the inspection for the image but also the processing for the external device including the pre-processing for acquiring the image and the post-processing for outputting the inspection result. But of course. For example, a control command for setting the imaging conditions of the camera 140, a control command for the lighting device controller 150 for controlling the lighting device 160, or a control command for the external device controller 170 for controlling movement of the stage, etc. A control command such as transmitting data to a PC connected on the LAN may be performed.

コンパイル部440は、ソースコードテーブル413に記憶されているソースコードから実行可能なオブジェクトコードを生成し、生成したオブジェクトコードをオブジェクトコードテーブル414に記憶する機能を有する。   The compiling unit 440 has a function of generating executable object code from the source code stored in the source code table 413 and storing the generated object code in the object code table 414.

なお、コンパイル部440が行うコンパイルには、デバッグ・コンパイルとリリース・コンパイルの2つのタイプがある。ここで、本実施形態においては、処理フロー作成中には、ソースコードレベルでのステップ実行を可能とするデバッグ・コンパイルを行い、データ保存時には、後述するオンライン検査で利用可能なファイルを生成するリリース・コンパイルを行う。この際、デバッグ・コンパイル及びリリース・コンパイルの両者は、同じ変換手法で生成されたソースコードを参照するものとする。   There are two types of compilation performed by the compiling unit 440: debug compilation and release compilation. Here, in the present embodiment, during processing flow creation, debugging / compilation that enables step execution at the source code level is performed, and when data is saved, a file that can be used for online inspection described later is generated.・ Compile. At this time, both the debug compilation and the release compilation refer to the source code generated by the same conversion method.

(検証)実行部450は、コンパイル部440により作成されたオブジェクトコードテーブル414に記憶されているオブジェクトコードを実行し、結果画像表示領域2103(図21参照)及び検査画像表示領域1002と処理フロー・入出力パラメータテーブル412を更新する機能を有する。   The (verification) execution unit 450 executes the object code stored in the object code table 414 created by the compiling unit 440, results image display area 2103 (see FIG. 21), inspection image display area 1002, processing flow It has a function of updating the input / output parameter table 412.

データ保存部460は、例えば、RAM112にあるソースコードテーブル413、オブジェクトコードテーブル414及びプロジェクトファイルテーブル415を外部メモリ116に出力して、データの保存処理を行う。   For example, the data storage unit 460 outputs the source code table 413, the object code table 414, and the project file table 415 in the RAM 112 to the external memory 116, and performs data storage processing.

データ入力・出力部470は、各モジュールで使用する入出力パラメータを管理する機能を有する。   The data input / output unit 470 has a function of managing input / output parameters used in each module.

次に、情報処理装置110によって実行される画像検査アプリケーションプログラム作成処理の処理手順について説明する。図7は、図1に示す情報処理装置110による画像検査プログラム作成処理の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。 Next, a processing procedure of image inspection application program creation processing executed by the information processing apparatus 110 will be described. FIG. 7 is a flowchart illustrating an example of a processing procedure of image inspection program creation processing by the information processing apparatus 110 illustrated in FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

まず、図7のステップS103において、情報処理装置110のCPU111は、例えば、入力装置120からの入力指示に基づいて、画像検査システム開発やシステム設定を行うためのメインメニューをディスプレイ装置130に表示する処理を行う。メインメニューは図8に示すようなものである。   First, in step S103 of FIG. 7, the CPU 111 of the information processing apparatus 110 displays a main menu for performing image inspection system development and system settings on the display device 130 based on an input instruction from the input device 120, for example. Process. The main menu is as shown in FIG.

図8は、画像検査システム開発画面のメインメニュー800の一例を示す模式図である。図8に示す画像検査システム開発画面のメインメニュー800には、ロジック(処理フロー)の新規作成、若しくは作成済みの処理フローの編集を行う「プロジェクト構築」メニュー801、「プロジェクト構築」メニュー801で作成した処理フローをオンライン検査モードで実行するための「オンライン検査」メニュー802、メインメニューを終了する「終了」メニュー805が設けられている。   FIG. 8 is a schematic diagram showing an example of the main menu 800 of the image inspection system development screen. The main menu 800 of the image inspection system development screen shown in FIG. 8 is created by a “project construction” menu 801 and a “project construction” menu 801 for creating a new logic (processing flow) or editing a created processing flow. An “online inspection” menu 802 for executing the processing flow in the online inspection mode and an “end” menu 805 for ending the main menu are provided.

図7の説明に戻る。ステップS103のメインメニュー表示処理を終えると、CPU111は処理をステップS104に進める。そして、情報処理装置110のCPU111は、ステップS103で表示された画像検査システム開発画面のメインメニュー800上の各メニュー項目に対して、入力装置120からの入力指示があったか否かを判断する。   Returning to the description of FIG. When the main menu display process in step S103 is completed, the CPU 111 advances the process to step S104. Then, the CPU 111 of the information processing apparatus 110 determines whether or not there is an input instruction from the input device 120 for each menu item on the main menu 800 of the image inspection system development screen displayed in step S103.

ステップS104の判断の結果、入力装置120からメインメニュー800の各メニュー項目に対する入力指示がなかったと判断した場合には(ステップS104/NO)、入力装置120からの入力指示があるまで、ステップS104で待機する。一方、ステップ102の判断の結果、入力装置120からの入力指示あったと判断した場合には(ステップS104/YES)、ステップS105に進む。   As a result of the determination in step S104, when it is determined that there is no input instruction for each menu item of the main menu 800 from the input device 120 (step S104 / NO), the input device 120 continues until there is an input instruction in step S104. stand by. On the other hand, if it is determined that there is an input instruction from the input device 120 as a result of the determination in step 102 (step S104 / YES), the process proceeds to step S105.

ステップS105に進むと、情報処理装置110のCPU111は、入力装置120からの入力指示に基づいて、選択された処理内容の判定処理を行う。このステップS105で判定される処理内容としては、本例では、「プロジェクト構築処理」、「オンライン検査処理」「終了」である。なお、ここで挙げた処理内容は一例を示したものであり、その他のメニュー項目をメインメニューに追加し、そのメニュー項目に対応するその他の処理内容をステップS105で判定することも可能である。   In step S <b> 105, the CPU 111 of the information processing apparatus 110 performs a process for determining the selected process content based on an input instruction from the input apparatus 120. In this example, the processing contents determined in step S105 are “project construction processing”, “online inspection processing”, and “end”. Note that the processing content given here is an example, and other menu items can be added to the main menu, and the other processing content corresponding to the menu item can be determined in step S105.

続いて、ステップS106において、情報処理装置110のCPU111は、ステップS105で判定した処理内容が、「プロジェクト構築処理」であるか否かを判断する。ステップS106の判断の結果、ステップS105で判定した処理内容が、「プロジェクト構築処理」であると判断した場合には(ステップS106/YES)、処理をステップS107に進める。   Subsequently, in step S106, the CPU 111 of the information processing apparatus 110 determines whether or not the processing content determined in step S105 is “project construction processing”. As a result of the determination in step S106, if it is determined that the processing content determined in step S105 is “project construction processing” (step S106 / YES), the process proceeds to step S107.

ステップS107に進むと、情報処理装置110のCPU111は、「プロジェクト構築処理」を行う。この「プロジェクト構築処理」は、画像検査プログラムを構築する処理である。   In step S107, the CPU 111 of the information processing apparatus 110 performs “project construction processing”. This “project construction process” is a process for constructing an image inspection program.

まず、情報処理装置110のCPU111は、例えば、入力装置120からの入力指示に基づいて、図21に示す画像処理システムの開発を行うための画像処理プロジェクト開発画面2100をディスプレイ装置130に表示する処理を行う。   First, the CPU 111 of the information processing apparatus 110 displays, for example, an image processing project development screen 2100 for developing the image processing system shown in FIG. 21 on the display device 130 based on an input instruction from the input device 120. I do.

図21は、画像処理プロジェクト開発画面2100の一例を示す模式図である。図21に示す画像処理プロジェクト開発画面2100には、利用可能な処理ユニット(即ち、画像処理に係る各モジュール)を表示するツールボックス2101と、画像処理の実行順序(即ち、各モジュールの実行順序)をフローチャートで描画する処理フロー描画領域2102と、各画像処理(即ち、各モジュールの処理)で実行した結果画像を表示する結果画像表示領域2103と、ツールバー2107と、処理実行結果を表示する処理結果表示領域2108と、処理された画像が複数枚あった場合に画像の選択を行う画像選択領域2109と、画像選択領域2109に備えられた前へボタン2110と、次へボタン2111や、画像処理プログラムの開発を終了する際に操作される不図示の閉じるボタン等も設けられている。   FIG. 21 is a schematic diagram showing an example of the image processing project development screen 2100. An image processing project development screen 2100 shown in FIG. 21 includes a tool box 2101 that displays available processing units (that is, modules related to image processing), and an execution order of image processing (that is, execution order of modules). A processing flow drawing area 2102 for drawing a flowchart, a result image display area 2103 for displaying a result image executed in each image processing (that is, processing of each module), a tool bar 2107, and a processing result for displaying a processing execution result A display area 2108, an image selection area 2109 for selecting an image when there are a plurality of processed images, a previous button 2110, a next button 2111 provided in the image selection area 2109, an image processing program There is also provided a close button (not shown) that is operated when the development is completed.

また、図21に示す画像処理プロジェクト開発画面2100には、例えば、新規モジュールの登録時もしくはパラメータの編集時等に、処理フロー描画領域2102のフローチャートの各ステップ(即ち、各モジュール)で利用するパラメータを設定するパラメータ編集画面2104と、そのパラメータの設定で実行された結果画像を表示する結果画像表示領域2103が表示される。図21の、プロジェクト構築画面の例では、分岐処理によるフローを制御するモジュールも含んでいる。ここで、結果画像表示領域2103は、処理フロー描画領域2102の各モジュールの結果画像を表示する領域である。これは、プレビュー画像や縮小画像であってもよい。条件分岐処理の場合には、条件を満たしたノード(枝)の画像を表示し、条件を満たさないノードについては処理が行われないのでブラックアウトした画像を表示する。本発明では、結果画像表示領域2103にブラックアウトした画像を表示するが、一つ前のモジュールで処理された結果画像を表示してもよい。このとき、すべての処理フローの結果が結果画像表示領域2103に収まらない場合は、水平・垂直方向のスクロールバーを用いて表示領域を変更することとしてもよい。   In addition, the image processing project development screen 2100 shown in FIG. 21 includes parameters used in each step (that is, each module) in the flowchart of the processing flow drawing area 2102 when, for example, a new module is registered or a parameter is edited. A parameter editing screen 2104 for setting the image and a result image display area 2103 for displaying the result image executed by setting the parameter are displayed. The example of the project construction screen in FIG. 21 also includes a module that controls the flow by branch processing. Here, the result image display area 2103 is an area for displaying the result image of each module in the processing flow drawing area 2102. This may be a preview image or a reduced image. In the case of conditional branch processing, an image of a node (branch) that satisfies the condition is displayed, and a blackout image is displayed because processing is not performed for a node that does not satisfy the condition. In the present invention, the blacked-out image is displayed in the result image display area 2103, but the result image processed by the previous module may be displayed. At this time, if the result of all the processing flows does not fit in the result image display area 2103, the display area may be changed using horizontal and vertical scroll bars.

また、処理結果表示領域2108は、処理フロー描画領域2102の各モジュールのうちの1つをユーザからの操作により選択された場合、当該モジュールの結果画像を表示する領域である。ユーザからの操作により選択されたモジュールが、条件分岐処理等の画像処理を伴わないモジュールである場合には、処理結果表示領域2108にブラックアウトした画像を表示する。本発明では、処理結果表示領域2108にブラックアウトした画像を表示するが、一つ前のモジュールで処理された結果画像を表示してもよい。以上が、画像処理プロジェクト開発画面2100の構成の一例の説明である。   The processing result display area 2108 is an area for displaying a result image of the module when one of the modules in the processing flow drawing area 2102 is selected by a user operation. When the module selected by the operation from the user is a module that does not involve image processing such as conditional branch processing, a blackout image is displayed in the processing result display area 2108. In the present invention, the blacked-out image is displayed in the processing result display area 2108, but the result image processed in the previous module may be displayed. The above is an example of the configuration of the image processing project development screen 2100.

モジュール・ソースコードマスタテーブル411に記憶された各モジュールを、ユーザからの操作により、処理フロー描画領域2102において画像検査の順にフローチャート形式で組み合わせ、その組み合わせた結果を処理フロー・入出力パラメータテーブル412に格納する。その後、ソースコード変換部430によってモジュール・ソースコードマスタテーブル411と、処理フロー・入出力パラメータテーブル412から一連の画像検査のソースコードを生成し、ソースコードテーブル413に格納する。ソースコードテーブル413に格納された画像検査のソースコードは、コンパイル部440によってコンパイルされ、実行可能なオブジェクトコードを生成し、生成したオブジェクトコードをオブジェクトコードテーブル414に記憶する。   The modules stored in the module / source code master table 411 are combined in the flowchart in the order of image inspection in the processing flow drawing area 2102 by the operation from the user, and the combined result is stored in the processing flow / input / output parameter table 412. Store. After that, the source code conversion unit 430 generates a series of image inspection source codes from the module / source code master table 411 and the processing flow / input / output parameter table 412, and stores them in the source code table 413. The source code for image inspection stored in the source code table 413 is compiled by the compiling unit 440 to generate an executable object code, and the generated object code is stored in the object code table 414.

本発明では、このようにフローチャート形式で作成されたオブジェクトコードを情報処理装置のマルチスレッドまたはマルチプロセスにより並列動作させることで、複数のカメラ140から送信された複数画像に対して画像処理を行う。つまり、並列処理で動作する1つ1つの画像処理は、処理フロー描画領域2102において構築された画像処理フローの画像処理である。   In the present invention, image processing is performed on a plurality of images transmitted from a plurality of cameras 140 by causing the object code created in the flowchart format in this way to be operated in parallel by a multi-thread or multi-process of the information processing apparatus. That is, each image processing that operates in parallel processing is an image processing flow image processing constructed in the processing flow drawing area 2102.

図22は、処理フロー描画領域2102において構築された画像処理フローの画像処理が並列処理により動作する概念図である。図22に示すように、検査スレッドが複数存在し、そのスレッドごとに処理フロー描画領域2102において構築された画像処理フローの画像処理が動作する。本実施例では、同一の画像処理フローの画像処理が各スレッドにおいて並列処理されるが、スレッドごとに異なる画像処理フローの画像処理が動作してもよい。例えば、カメラ140が異なる目的で設置されている場合、一般的に同じ画像処理フローを利用することは少ない。よって、情報処理装置110のCPU111は、スレッドごとにことなる画像処理フローを構築し、実行する形態が考えられる。この場合も同様にスレッドごとに構築されたそれぞれ異なる画像処理フローを並列処理によって動作させる。   FIG. 22 is a conceptual diagram in which the image processing of the image processing flow constructed in the processing flow drawing area 2102 operates by parallel processing. As shown in FIG. 22, there are a plurality of inspection threads, and image processing of the image processing flow constructed in the processing flow drawing area 2102 operates for each thread. In this embodiment, image processing of the same image processing flow is performed in parallel in each thread, but image processing of a different image processing flow may be operated for each thread. For example, when the camera 140 is installed for different purposes, the same image processing flow is generally rarely used. Therefore, the CPU 111 of the information processing apparatus 110 can construct and execute an image processing flow that is different for each thread. In this case as well, different image processing flows constructed for each thread are operated by parallel processing.

以上が、プロジェクト構築処理の概要である。そして、ステップS107の処理が終了すると、ステップS104に戻り、入力装置120から次の入力指示があるまで待機する。   The above is the outline of the project construction process. When the process of step S107 is completed, the process returns to step S104 and waits until the next input instruction is received from the input device 120.

一方、ステップS106の判断の結果、ステップS105で判定した処理内容が、「プロジェクト構築処理」ではないと判断した場合には(ステップS106/NO)、処理をステップS108に進める。   On the other hand, as a result of the determination in step S106, if it is determined that the processing content determined in step S105 is not “project construction processing” (step S106 / NO), the process proceeds to step S108.

ステップS108では、情報処理装置110のCPU111は、ステップS105で判定した処理内容が、「オンライン検査処理」であるか否かを判断する。   In step S108, the CPU 111 of the information processing apparatus 110 determines whether or not the processing content determined in step S105 is “online inspection processing”.

ステップS108の判断の結果、ステップS105で判定した処理内容が、「オンライン検査処理」であると判断した場合には(ステップS108/YES)、CPU111は処理をステップS109に進める。   As a result of the determination in step S108, when it is determined that the processing content determined in step S105 is “online inspection processing” (step S108 / YES), the CPU 111 advances the processing to step S109.

ステップS109に進むと、情報処理装置110のCPU111は、「オンライン検査処理」処理を行う。この「オンライン検査処理」の詳細について、図9を用いて後述する。そして、ステップS109の処理が終了すると、ステップS104に戻り、入力装置120から次の入力指示があるまで待機する。   In step S109, the CPU 111 of the information processing apparatus 110 performs an “online inspection process” process. Details of the “online inspection process” will be described later with reference to FIG. When the process of step S109 ends, the process returns to step S104 and waits until the next input instruction is received from the input device 120.

一方、ステップS108の判断の結果、ステップS105で判定した処理内容が、「オンライン検査処理」ではないと判断した場合には(ステップS108/NO)、CPU111は、処理をステップS114に進める。   On the other hand, as a result of the determination in step S108, if it is determined that the processing content determined in step S105 is not “online inspection processing” (step S108 / NO), the CPU 111 advances the processing to step S114.

ステップS114では、情報処理装置110のCPU111は、ステップS105で判定した処理内容が、「終了処理」であるか否かを判断する。   In step S114, the CPU 111 of the information processing apparatus 110 determines whether or not the processing content determined in step S105 is “end processing”.

ステップS114の判断の結果、ステップS105で判定した処理内容が、「終了処理」であると判断した場合には(ステップS114/YES)、本プログラムによる処理を終了する。   As a result of the determination in step S114, when it is determined that the processing content determined in step S105 is “end processing” (step S114 / YES), the processing by this program is ended.

一方、ステップS114の判断の結果、ステップS105で判定した処理内容が、「終了処理」ではないと判断した場合には(ステップS114/NO)、処理をステップS104に進め、入力装置120から次の入力指示があるまで待機する。   On the other hand, as a result of the determination in step S114, if it is determined that the processing content determined in step S105 is not “end processing” (step S114 / NO), the process proceeds to step S104, and the input device 120 performs the next processing. Wait for input instructions.

次に、図9を参照して、図7のステップS109のオンライン検査処理の詳細な手順について説明する。図9は、図7のステップS109における「オンライン検査処理」の詳細な処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。尚、本実施例では、オンライン検査処理と、後述する検査スレッド処理(図13参照)と、後述する検査結果表示処理(図15参照)は、マルチスレッド処理により、CPU111において並列して動作しているものとする。 Next, a detailed procedure of the online inspection process in step S109 of FIG. 7 will be described with reference to FIG. FIG. 9 is a flowchart showing an example of a detailed processing procedure of the “online inspection process” in step S109 of FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control. In this embodiment, an online inspection process, an inspection thread process (see FIG. 13) described later, and an inspection result display process (see FIG. 15) described later operate in parallel in the CPU 111 by multithread processing. It shall be.

まず、ステップS201において、情報処理装置110のCPU111は、オンライン検査画面1000(図10参照)をビデオコントローラ115bからディスプレイ装置130上に表示をし、ユーザからの操作を受け付ける。   First, in step S201, the CPU 111 of the information processing apparatus 110 displays an online inspection screen 1000 (see FIG. 10) on the display device 130 from the video controller 115b, and accepts an operation from the user.

図10は、オンライン検査画面1000の一例を示す模式図である。図10に示すオンライン検査画面1000には、ステップS107において構築された画像検査プログラムを実行する検査開始ボタン1001、検査開始ボタン1001の押下に伴って実行された画像検査プログラムの検査結果画像を表示する検査画像表示領域1002、画像処理により異常である又は検査に失敗したと判定された画像(NG画像)を表示するNG画像表示領域1003、検査した処理数と表示間引きされた結果を表示するカウント結果1005から構成される。以上が、オンライン検査画面1000の構成の一例の説明である。   FIG. 10 is a schematic diagram showing an example of the online inspection screen 1000. On the online inspection screen 1000 shown in FIG. 10, an inspection start button 1001 for executing the image inspection program constructed in step S107, and an inspection result image of the image inspection program executed when the inspection start button 1001 is pressed are displayed. Inspection image display area 1002, NG image display area 1003 for displaying an image (NG image) that has been determined to be abnormal or failed due to image processing, a count result for displaying the number of processes to be inspected and the result of thinning the display 1005. The above is an example of the configuration of the online inspection screen 1000.

ステップS202では、情報処理装置110のCPU111は、ユーザからの操作によって、検査開始ボタン1001が押下されたか否かを判断する。検査開始ボタン1001が押下されたと判断した場合には(ステップS202/YES)、CPU111は、検査カウンタを初期化(0クリア)して、処理をステップS203に進める。検査カウンタは、画像検査を行った枚数をかぞえる変数であり、本実施例では、検査カウンタの値を後述するステップS308においてオンライン検査画面1000のカウント結果1005に表示するための変数である。一方、ステップS202の判断処理で、検査開始ボタン1001が押下されたと判断できない場合には(ステップS202/NO)、ステップS202で待機する。   In step S202, the CPU 111 of the information processing apparatus 110 determines whether or not the examination start button 1001 has been pressed by an operation from the user. If it is determined that the examination start button 1001 has been pressed (step S202 / YES), the CPU 111 initializes (clears to 0) the examination counter and advances the process to step S203. The inspection counter is a variable for counting the number of image inspections. In this embodiment, the inspection counter is a variable for displaying the value of the inspection counter on the count result 1005 of the online inspection screen 1000 in step S308 described later. On the other hand, if it is not possible to determine that the inspection start button 1001 has been pressed in the determination process in step S202 (step S202 / NO), the process waits in step S202.

ステップS203では、情報処理装置110のCPU111は、カメラ140から入力された画像を画像入力コントローラ115fから取り込み、RAM112に記憶する。尚、既に外部メモリ116に記憶された画像をRAM112に展開して用いてもよい。   In step S <b> 203, the CPU 111 of the information processing apparatus 110 captures an image input from the camera 140 from the image input controller 115 f and stores it in the RAM 112. Note that an image already stored in the external memory 116 may be developed in the RAM 112 and used.

ステップS204では、情報処理装置110のCPU111は、検査パラメータテーブル480を検索し、使用中フラグ1102が「OFF」のレコードが存在するか否かを判断する。使用中フラグ1102が「OFF」のレコードが存在すると判断した場合には(ステップS204/YES)、CPU111は、処理をステップS206に進める。一方、ステップS204の判断処理で、使用中フラグ1102が「OFF」のレコードが存在すると判断できない場合には(ステップS204/NO)、CPU111は、ステップS205に進める。   In step S <b> 204, the CPU 111 of the information processing apparatus 110 searches the inspection parameter table 480 and determines whether there is a record in which the in-use flag 1102 is “OFF”. If it is determined that there is a record whose busy flag 1102 is “OFF” (step S204 / YES), the CPU 111 advances the process to step S206. On the other hand, if the determination process in step S204 cannot determine that there is a record with the in-use flag 1102 “OFF” (step S204 / NO), the CPU 111 proceeds to step S205.

ステップS205では、情報処理装置110のCPU111は、検査テーブル481に格納されたレコードのうち、先頭のレコードの検査結果に「中断」を格納し、対応する検査スレッドを強制終了する。検査テーブル481には、後述するステップS206において、画像取込順にレコードが追加されるため、最も古い検査である先頭のレコードを削除する。これにより、ある検査が滞っていても、当該検査を強制的に終了させることで一連の画像検査の効率を向上させることができる。   In step S205, the CPU 111 of the information processing apparatus 110 stores “interruption” in the inspection result of the first record among the records stored in the inspection table 481, and forcibly terminates the corresponding inspection thread. In step S206, which will be described later, records are added to the inspection table 481 in the order of image capture, so the first record that is the oldest inspection is deleted. Thereby, even if a certain inspection is delayed, the efficiency of a series of image inspections can be improved by forcibly terminating the inspection.

ステップS206では、情報処理装置110のCPU111は、新規に検査スレッドを作成し、検査テーブル481に存在するレコードの末尾に新たなレコードを追加し、検査スレッド1201に検査スレッド名を格納する。検査スレッド名は、他の検査スレッド名と重複しなければ、どのような名称でもよい。   In step S206, the CPU 111 of the information processing apparatus 110 newly creates an inspection thread, adds a new record to the end of the record existing in the inspection table 481, and stores the inspection thread name in the inspection thread 1201. The inspection thread name may be any name as long as it does not overlap with other inspection thread names.

ステップS207では、情報処理装置110のCPU111は、検査パラメータテーブル480を検索し、使用中フラグ1102が「OFF」のレコードが存在するか否かを判断する。使用中フラグ1102が「OFF」のレコードが存在すると判断した場合には(ステップS207/YES)、CPU111は、処理をステップS208に進める。   In step S <b> 207, the CPU 111 of the information processing apparatus 110 searches the inspection parameter table 480 and determines whether there is a record in which the in-use flag 1102 is “OFF”. If it is determined that there is a record whose in-use flag 1102 is “OFF” (step S207 / YES), the CPU 111 advances the process to step S208.

ステップS208では、情報処理装置110のCPU111は、ステップS207において検索された使用中フラグ1102に「ON」を格納する。   In step S208, the CPU 111 of the information processing apparatus 110 stores “ON” in the busy flag 1102 searched in step S207.

ステップS209では、情報処理装置110のCPU111は、ステップS206において作成されたレコードの実行中フラグ1202に「ON」を格納する。   In step S209, the CPU 111 of the information processing apparatus 110 stores “ON” in the executing flag 1202 of the record created in step S206.

ステップS210では、情報処理装置110のCPU111は、ステップS206において作成されたレコードの検査画像名1204に、ステップS203においてRAM112に記憶された画像の画像名を格納し、検査パラメータ1205に、ステップS208において「ON」を格納した使用中フラグ1102に対応する、NO1101を示す情報を格納する。本実施例では、「検査パラメータテーブル[NO]」という形式で格納するが、これ以外の表記方法でもよい。ステップS210の終了後、情報処理装置110のCPU111は、ステップS211、及びステップS214の並列処理を行う。つまり、CPU111は、ステップS211の処理完了を待たずとも、ステップS214の処理を実行することができるため、効率的な検査を行うことができる。   In step S210, the CPU 111 of the information processing apparatus 110 stores the image name of the image stored in the RAM 112 in step S203 in the inspection image name 1204 of the record created in step S206, and in the inspection parameter 1205 in step S208. Information indicating NO 1101 corresponding to the busy flag 1102 storing “ON” is stored. In this embodiment, the data is stored in the format of “inspection parameter table [NO]”, but other notation methods may be used. After the end of step S210, the CPU 111 of the information processing apparatus 110 performs the parallel processing of step S211 and step S214. That is, since the CPU 111 can execute the process of step S214 without waiting for the completion of the process of step S211, an efficient inspection can be performed.

ステップS211では、情報処理装置110のCPU111は、ステップS206において作成された検査スレッドを実行する検査スレッド処理を実行する。ステップS211の検査スレッド処理の詳細については、図13を用いて後述する。   In step S <b> 211, the CPU 111 of the information processing apparatus 110 executes a check thread process that executes the check thread created in step S <b> 206. Details of the inspection thread processing in step S211 will be described later with reference to FIG.

一方、ステップS207の判断処理で、使用中フラグ1102が「OFF」のレコードが存在すると判断できない場合には(ステップS207/NO)、CPU111は、ステップS212に進める。   On the other hand, if it is not possible to determine in the determination process of step S207 that there is a record with the in-use flag 1102 “OFF” (step S207 / NO), the CPU 111 proceeds to step S212.

ステップS212では、情報処理装置110のCPU111は、ステップS206において作成されたレコードの実行中フラグ1202に「OFF」を格納し、検査結果1203に「未実行」を格納する。これにより、検査漏れが発生した画像をカウントすることができる。   In step S212, the CPU 111 of the information processing apparatus 110 stores “OFF” in the execution flag 1202 of the record created in step S206, and stores “not executed” in the inspection result 1203. Thereby, it is possible to count images in which inspection omissions have occurred.

ステップS213では、情報処理装置110のCPU111は、ユーザからの操作によって取込停止の指示がなされたか否かを判断する。取込停止の指示は、事前に設定されたボタンの押下によるものでもよいし、その他の方法でもよい。取込停止の指示がなされたと判断した場合には(ステップS213/YES)、処理を終了し、ステップS109に処理を戻す。一方、ステップS213の判断処理で、取込停止の指示がなされたと判断できない場合には(ステップS213/NO)、CPU111は、ステップS203に処理を戻す。これにより、取込停止がなされるまで、ステップS203乃至ステップS213の処理を繰り返す。   In step S213, the CPU 111 of the information processing apparatus 110 determines whether or not an instruction to stop capture has been given by an operation from the user. The capture stop instruction may be issued by pressing a preset button, or may be another method. If it is determined that an instruction to stop capture has been given (step S213 / YES), the process ends, and the process returns to step S109. On the other hand, if the determination process in step S213 cannot determine that an instruction to stop capturing has been issued (step S213 / NO), the CPU 111 returns the process to step S203. Thereby, the process of step S203 thru | or step S213 is repeated until acquisition stop is made | formed.

次に、図13を参照して、図9のステップS211の検査スレッド処理の詳細な手順について説明する。図13は、図9のステップS211における検査スレッド処理の詳細な処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。尚、本実施例では、前述したオンライン検査処理(図9参照)と、検査スレッド処理と、後述する検査結果表示処理(図15参照)は、マルチスレッド処理により、CPU111において並列して動作しているものとする。 Next, with reference to FIG. 13, the detailed procedure of the inspection thread process in step S211 of FIG. 9 will be described. FIG. 13 is a flowchart illustrating an example of a detailed processing procedure of the inspection thread process in step S211 of FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received, the CPU 111 loads the program into the RAM 112 and performs the process according to control by the loaded program. Will be executed. In this embodiment, the above-described online inspection processing (see FIG. 9), inspection thread processing, and inspection result display processing (see FIG. 15) described later operate in parallel in the CPU 111 by multithread processing. It shall be.

ステップS301では、情報処理装置110のCPU111は、ステップS107において構築された画像検査プログラムを実行し、ステップS210において設定された検査画像名1204に対応する画像を検査する(画像処理実行手段)。実行される画像検査プログラムは、オブジェクトコードテーブル414に記憶されたオブジェクトコードとして記憶されている。   In step S301, the CPU 111 of the information processing apparatus 110 executes the image inspection program constructed in step S107, and inspects an image corresponding to the inspection image name 1204 set in step S210 (image processing execution unit). The image inspection program to be executed is stored as an object code stored in the object code table 414.

ステップS302では、情報処理装置110のCPU111は、ステップS301において実行された結果を検査結果テーブル418に記憶する。インデックス(Index)1401には、処理を行ったモジュールのインデックス(Index)601を格納し、識別ID1402には、モジュールごとに各処理を識別する番号を割振り、識別箇所1403には、ステップS301において検査された結果、識別した箇所を座標形式等で格納し、識別結果1404には、識別箇所1403の識別結果を格納し、検査画像名1405には、ステップS301において検査された画像の画像名を格納する。   In step S302, the CPU 111 of the information processing apparatus 110 stores the result executed in step S301 in the inspection result table 418. The index (Index) 1401 stores the index (Index) 601 of the module that performed the process, the identification ID 1402 is assigned a number for identifying each process for each module, and the identification point 1403 is inspected in step S301. As a result, the identified location is stored in a coordinate format, the identification result 1404 stores the identification result of the identified location 1403, and the inspection image name 1405 stores the image name of the image inspected in step S301. To do.

ステップS303では、情報処理装置110のCPU111は、ステップS301において検査された画像をRAM112から外部メモリ116に記憶する。但し、後述するステップS409において当該画像を表示する表示速度を考慮する場合、読み出し速度がより高速なRAM112に記憶したままでもよい。また、後述するステップS416において、外部メモリ116に記憶してもよい。この場合、ステップS303は不要である。   In step S303, the CPU 111 of the information processing apparatus 110 stores the image inspected in step S301 from the RAM 112 into the external memory 116. However, when considering the display speed for displaying the image in step S409, which will be described later, it may be stored in the RAM 112 having a higher reading speed. Further, it may be stored in the external memory 116 in step S416 described later. In this case, step S303 is not necessary.

ステップS304では、情報処理装置110のCPU111は、ステップS206において作成されたレコードの実行中フラグ1202に「OFF」を格納する。   In step S304, the CPU 111 of the information processing apparatus 110 stores “OFF” in the executing flag 1202 of the record created in step S206.

ステップS305では、情報処理装置110のCPU111は、ステップS207において検索された使用中フラグ1102に「OFF」を格納する。   In step S305, the CPU 111 of the information processing apparatus 110 stores “OFF” in the busy flag 1102 searched in step S207.

ステップS306では、情報処理装置110のCPU111は、ステップS206において作成されたレコードの検査結果1203に検査結果を格納する。画像の検査が成功した場合には、「OK」と格納し、失敗した場合には「NG」を格納する。尚、格納する情報はこれに限らない。このように、検査結果1203に画像検査の結果を格納することで、画像検査結果を集計させることができる。   In step S306, the CPU 111 of the information processing apparatus 110 stores the inspection result in the inspection result 1203 of the record created in step S206. When the image inspection is successful, “OK” is stored, and when it is unsuccessful, “NG” is stored. The information to be stored is not limited to this. Thus, by storing the results of the image inspection in the inspection results 1203, the image inspection results can be totaled.

ステップS307では、情報処理装置110のCPU111は、ステップS202において初期化された検査カウンタをインクリメントする。具体的には、ステップS301における画像検査が終了する度に、検査カウンタを1増加させる。これにより、検査カウンタでカウントした検査回数を後述するステップS308において表示させることができる。   In step S307, the CPU 111 of the information processing apparatus 110 increments the inspection counter initialized in step S202. Specifically, every time the image inspection in step S301 ends, the inspection counter is incremented by one. Thereby, the number of inspections counted by the inspection counter can be displayed in step S308 described later.

ステップS308では、情報処理装置110のCPU111は、ステップS307においてインクリメントされた検査カウンタをオンライン検査画面1000のカウント結果1005に表示する。検査カウンタをカウント結果1005に表示させることにより、後述するステップS408において結果画像の間引き処理がなされていたとしても、画像処理が正常に動作していることをユーザに通知することができる。   In step S308, the CPU 111 of the information processing apparatus 110 displays the inspection counter incremented in step S307 on the count result 1005 of the online inspection screen 1000. By displaying the inspection counter in the count result 1005, it is possible to notify the user that the image processing is operating normally even if the result image is thinned out in step S408 described later.

次に、図15を参照して、図13の検査スレッド処理において検査された結果画像を表示する検査結果表示処理の詳細な手順について説明する。図15は、検査結果表示処理の詳細な処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。尚、本実施例では、前述したオンライン検査処理(図9参照)と、前述した検査スレッド処理(図13参照)と、検査結果表示処理は、マルチスレッド処理により、CPU111において並列して動作しているものとする。また、本実施例では、検査結果1203の結果がNGである画像(NG画像)は間引かずに表示する例について説明する。 Next, a detailed procedure of the inspection result display process for displaying the result image inspected in the inspection thread process of FIG. 13 will be described with reference to FIG. FIG. 15 is a flowchart illustrating an example of a detailed processing procedure of the inspection result display processing. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received, the CPU 111 loads the program into the RAM 112 and performs the process according to control by the loaded program. Will be executed. In this embodiment, the above-described online inspection process (see FIG. 9), the above-described inspection thread process (see FIG. 13), and the inspection result display process operate in parallel in the CPU 111 by multi-thread processing. It shall be. Further, in this embodiment, an example will be described in which an image (NG image) whose inspection result 1203 is NG is displayed without being thinned out.

まず、ステップS401では、情報処理装置110のCPU111は、OK個数の設定を受け付ける(許容値設定手段)。OK個数とは、NG画像としてグルーピングを行うための許容値である。まず、本実施例におけるグルーピングについて説明する。生産ラインを流れる製品を検査し、異常が発見された場合、連続して同じエラーが発生することがある。これは、生産を行う機械や同じロットの素材が問題となっている場合に起こることであり、同一のエラーとして見なすべきものが多い。つまり、連続したNG画像は同一のエラーである可能性が高いため、1つのグループとしてグルーピングしておく。これにより、エラー画像に対してまとまったデータを得ることができ、その後のパラメータ設定や原因特定に役立つ。図18に示すオンライン検査画面1000ではNG画像表示領域1003においてグルーピングされたNG画像を表示する。例えば、グルーピング画像1004のようにグルーピングされたNG画像を重ねて表示させる。   First, in step S401, the CPU 111 of the information processing apparatus 110 receives an OK number setting (allowable value setting means). The OK number is an allowable value for performing grouping as an NG image. First, grouping in the present embodiment will be described. If the product flowing through the production line is inspected and an abnormality is found, the same error may occur continuously. This occurs when the machine that produces the product or the material of the same lot is a problem, and many of them should be regarded as the same error. That is, since consecutive NG images are likely to have the same error, they are grouped as one group. Thereby, it is possible to obtain a collective data for the error image, which is useful for subsequent parameter setting and cause identification. In the online inspection screen 1000 shown in FIG. 18, NG images grouped in the NG image display area 1003 are displayed. For example, grouped NG images such as a grouping image 1004 are displayed in an overlapping manner.

このようなグルーピングにおいて、本来NG画像とすべき結果画像が画像検査に成功した、または正常な画像(OK画像)として判定されてしまう場合がある。具体的には、「NG、NG、NG、OK、NG、NG、NG」という判定がなされた場合、ひとつだけ挟まれたOK画像はパラメータ設定不足により誤判定された可能性が高い。よって、これら7枚の結果画像は1つのNG画像グループとしてグルーピングする。この際に、OK画像がグルーピングされる許容値を示すのが前述したOK個数である。例えばOK個数を「2」として設定した場合には、NG画像に挟まれたOK画像が2枚以下であった際に、グルーピングを行い、NG画像に挟まれたOK画像が3枚よりも多かった場合にはグルーピングを行わない。このような設定を設けることで、柔軟なグルーピング設定を行うことができる。ステップS401における設定の受付は、入力受付画面を表示してもよいし、それ以外の方法でもよい。事前に設定されていてもよいし、これに限らない。   In such grouping, a result image that should originally be an NG image may be determined as a successful image inspection or a normal image (OK image). Specifically, when the determination “NG, NG, NG, OK, NG, NG, NG” is made, there is a high possibility that an OK image sandwiched by only one is erroneously determined due to insufficient parameter setting. Therefore, these seven result images are grouped as one NG image group. At this time, the number of OKs described above indicates an allowable value for grouping OK images. For example, when the number of OK is set to “2”, grouping is performed when there are two or less OK images sandwiched between NG images, and there are more than three OK images sandwiched between NG images. If it does, grouping is not performed. By providing such a setting, a flexible grouping setting can be performed. The setting reception in step S401 may display an input reception screen or may be other methods. It may be set in advance or is not limited to this.

ステップS402では、情報処理装置110のCPU111は、表示カウンタを初期化(0クリア)する。表示カウンタは、検査結果画像を検査画像表示領域1002に表示した枚数をかぞえる変数であり、本実施例では表示カウンタの値をオンライン検査画面1000のカウント結果1005に表示するための変数である。後述するステップS410において表示カウンタを増加させ、カウント結果1005に表示させる。   In step S402, the CPU 111 of the information processing apparatus 110 initializes (clears to 0) the display counter. The display counter is a variable that counts the number of inspection result images displayed in the inspection image display area 1002. In this embodiment, the display counter is a variable for displaying the value of the display counter in the count result 1005 of the online inspection screen 1000. In step S410, which will be described later, the display counter is incremented and displayed in the count result 1005.

ステップS404では、情報処理装置110のCPU111は、NGカウンタを初期化(0クリア)する。NGカウンタは、グルーピングしたNG画像を数える変数である。   In step S404, the CPU 111 of the information processing apparatus 110 initializes (clears 0) the NG counter. The NG counter is a variable for counting the grouped NG images.

ステップS405では、情報処理装置110のCPU111は、OKカウンタを初期化(0クリア)する。OKカウンタは、前述したOK個数分、OK画像が連続しているのか否かを判定するために使用する変数である。   In step S405, the CPU 111 of the information processing apparatus 110 initializes (clears to 0) the OK counter. The OK counter is a variable used to determine whether or not OK images are continuous for the number of OKs described above.

ステップS406では、情報処理装置110のCPU111は、検査テーブル481に格納されたレコードのうち、先頭のレコードを参照する。   In step S406, the CPU 111 of the information processing apparatus 110 refers to the first record among the records stored in the inspection table 481.

ステップS407では、情報処理装置110のCPU111は、ステップS406において参照されたレコードの実行中フラグ1202が「OFF」であるか否かを判断する。実行中フラグ1202が「OFF」であると判断した場合には(ステップS407/YES)、CPU111は、処理をステップS408に進める。一方、ステップS407の判断処理で、実行中フラグ1202が「OFF」であると判断できない場合には(ステップS407/NO)、CPU111は、ステップS406に処理を戻す。これにより、検査の終了していない検査スレッドの検査結果表示を防ぐことができる。   In step S407, the CPU 111 of the information processing apparatus 110 determines whether or not the executing flag 1202 of the record referred to in step S406 is “OFF”. If it is determined that the executing flag 1202 is “OFF” (step S407 / YES), the CPU 111 advances the process to step S408. On the other hand, if it is not possible to determine that the execution flag 1202 is “OFF” in the determination process in step S407 (step S407 / NO), the CPU 111 returns the process to step S406. Thereby, the display of the inspection result of the inspection thread that has not been inspected can be prevented.

ステップS408では、情報処理装置110のCPU111は、現在参照しているレコードが検査テーブル481の先頭のレコードか否かを判断する。先頭のレコードであると判断した場合には(ステップS408/YES)、CPU111は、処理をステップS409に進める。つまり、検査テーブル481の先頭レコードを参照している場合(検査スレッド1において処理された画像)のみ、後述するステップS404の検査を行い、検査結果の画像を表示させる。   In step S <b> 408, the CPU 111 of the information processing apparatus 110 determines whether the currently referenced record is the first record in the inspection table 481. When determining that it is the first record (step S408 / YES), the CPU 111 advances the process to step S409. That is, only when the top record of the inspection table 481 is referred to (the image processed in the inspection thread 1), inspection in step S404 described later is performed and an image of the inspection result is displayed.

ステップS409では、情報処理装置110のCPU111は、検査結果テーブル418と検査テーブル481から、ステップS301の検査結果をビデオコントローラ115bからディスプレイ装置130上の検査画像表示領域1002に表示する(表示手段)。尚、本実施例では、ステップS109におけるオンライン検査中に検査結果画像の表示を行うものである。しかしながら、ステップS107におけるプロジェクト構築処理で構築された画像処理フローの動作を確認すべく、処理結果表示領域2108に表示させるような形態でもよい。   In step S409, the CPU 111 of the information processing apparatus 110 displays the inspection result in step S301 from the inspection result table 418 and the inspection table 481 in the inspection image display area 1002 on the display device 130 from the video controller 115b (display unit). In this embodiment, the inspection result image is displayed during the online inspection in step S109. However, it may be displayed in the processing result display area 2108 in order to confirm the operation of the image processing flow constructed in the project construction processing in step S107.

具体的には、まず現在参照されている先頭のレコードに格納された検査画像名1204と一致する画像を外部メモリ116、又はRAM112から取得する。また、検査画像名1204と一致する検査画像名1405に対応するレコードを、検査結果テーブル418からすべて取得し、RAM112に記憶する。取得したレコードの識別箇所1403を用いて、取得した画像上に識別箇所を表示させ、識別結果1404にデータが格納されている場合は、識別箇所1403に対応する識別結果1404を表示させる。例えば、図16に示す検査結果画面1600では、マッチング箇所1602の部分は、識別箇所を識別可能に表示しており、文字認識箇所1601には、識別結果1404も補足表示させる。   Specifically, first, an image that matches the inspection image name 1204 stored in the first record currently referenced is acquired from the external memory 116 or the RAM 112. All records corresponding to the inspection image name 1405 that matches the inspection image name 1204 are acquired from the inspection result table 418 and stored in the RAM 112. Using the identification part 1403 of the acquired record, the identification part is displayed on the acquired image. When data is stored in the identification result 1404, the identification result 1404 corresponding to the identification part 1403 is displayed. For example, in the inspection result screen 1600 shown in FIG. 16, the matching part 1602 displays the identification part in an identifiable manner, and the character recognition part 1601 additionally displays the identification result 1404.

図16は、検査結果画面1600の一例を示す模式図である。図16に示す検査結果画面1600には、文字認識をした結果を示す文字認識箇所1601と、既定の画像と比較した結果を示すマッチング箇所1602から構成される。以上が、検査結果画面1600の構成の一例の説明である。   FIG. 16 is a schematic diagram illustrating an example of an inspection result screen 1600. The examination result screen 1600 shown in FIG. 16 includes a character recognition portion 1601 indicating the result of character recognition and a matching portion 1602 indicating the result of comparison with a predetermined image. The above is an example of the configuration of the inspection result screen 1600.

ステップS410では、情報処理装置110のCPU111は、表示カウンタをインクリメントする。具体的には、表示カウンタに格納された数値に対して「1」を加算する。表示カウンタの値は、オンライン検査画面1000のカウント結果1005に表示する。前述した検査カウンタと合わせてカウント結果1005に表示させることで、画像の検査数と、表示数を表示させることができる。つまり、結果画像の表示間引きが行われている場合には、「検査数>表示数」となる。また間引きされた画像の枚数は、検査数から表示数を減じることで求めることができる。   In step S410, the CPU 111 of the information processing apparatus 110 increments the display counter. Specifically, “1” is added to the numerical value stored in the display counter. The value of the display counter is displayed in the count result 1005 of the online inspection screen 1000. By displaying the count result 1005 together with the above-described inspection counter, it is possible to display the number of inspections of images and the number of displays. That is, when the display thinning of the result image is performed, “inspection number> display number”. The number of thinned images can be obtained by subtracting the number of displays from the number of inspections.

一方、ステップS408の判断処理で、先頭のレコードであると判断できない場合には(ステップS408/NO)、CPU111は、処理をステップS411に進める。つまり、現在参照しているレコードが検査テーブル481の先頭レコードでないということは、検査テーブル481に複数のレコードが蓄積されている。よって、カメラ140から送信された画像の処理が1スレッドでは間に合わず、マルチスレッドで並列処理していると判定できるため、ステップS404においては結果画像の表示を行わない(表示を間引く)。尚、本実施例では検査テーブル481に複数レコードが蓄積されていた場合に、先頭レコード以外の検査結果の画像表示を間引くが、検査パラメータテーブル480の使用中フラグ1102に「ON」が一定数以上存在した場合や、CPU111等の負荷を計測し、一定以上負荷がかかった場合に画像表示を間引くようにしてもよい。検査結果の画像表示を間引く判断基準は、これに限らない。また、間引く枚数は何枚でもよく、ユーザによって設定可能とする。これにより、結果画像を表示する負荷を軽減し、並列処理で動作している画像検査を優先させることができる。   On the other hand, if it is not possible to determine that it is the first record in the determination process in step S408 (step S408 / NO), the CPU 111 advances the process to step S411. That is, the fact that the currently referenced record is not the first record of the inspection table 481 indicates that a plurality of records are accumulated in the inspection table 481. Therefore, since it can be determined that the processing of the image transmitted from the camera 140 is not in time for one thread and that parallel processing is performed in multiple threads, the result image is not displayed in step S404 (the display is thinned out). In this embodiment, when a plurality of records are accumulated in the inspection table 481, the image display of the inspection result other than the top record is thinned out, but “ON” is more than a certain number in the in-use flag 1102 of the inspection parameter table 480. If it exists, or the load on the CPU 111 or the like is measured, the image display may be thinned out when the load exceeds a certain level. The criterion for thinning out the image display of the inspection result is not limited to this. Further, the number of thinned out sheets may be any number and can be set by the user. As a result, it is possible to reduce the load of displaying the result image, and to prioritize the image inspection operating in parallel processing.

ステップS411では、情報処理装置110のCPU111は、現在参照しているレコードの結果が「NG」であるか否かを判定する(間引き判定手段)。具体的には、現在参照しているレコードの検査結果1203が「NG」であるか否かを判定する。「NG」であると判定された場合には(ステップS411/YES)、処理をステップS412に進める。後述するステップS412乃至ステップS419はNG画像であっても間引かないように制御する処理である。   In step S411, the CPU 111 of the information processing apparatus 110 determines whether or not the result of the currently referenced record is “NG” (decimation determination unit). Specifically, it is determined whether or not the inspection result 1203 of the currently referenced record is “NG”. If it is determined to be “NG” (step S411 / YES), the process proceeds to step S412. Steps S412 to S419 described later are processes for controlling so as not to be thinned out even for NG images.

ステップS412では、情報処理装置110のCPU111は、NGカウンタに「0」が格納されているか否かを判断する。ステップS412の判断の結果、ステップS412で判定した処理内容が、NGカウンタは「0」であると判断した場合には(ステップS412/YES)、処理をステップS413に進める。つまり、NG画像をグーピングして保存するための、保存先を作成するか否かを判断する。本実施例では、NG画像をグルーピングするために当該グルーピングされたNG画像を外部メモリ116に保存するためのフォルダを作成する。作成されたフォルダにNG画像を保存し、グルーピングされた画像として扱う。尚、グルーピングの方法に関してはこれに限らない。テーブルで対応づけてもよいし、それ以外の方法でもよい。   In step S412, the CPU 111 of the information processing apparatus 110 determines whether “0” is stored in the NG counter. As a result of the determination in step S412, if the processing content determined in step S412 determines that the NG counter is “0” (step S412 / YES), the process proceeds to step S413. That is, it is determined whether or not to create a storage destination for grouping and storing an NG image. In the present embodiment, in order to group NG images, a folder for saving the grouped NG images in the external memory 116 is created. An NG image is stored in the created folder and handled as a grouped image. The grouping method is not limited to this. It may be associated with a table, or any other method may be used.

ステップS413では、情報処理装置110のCPU111は、ステップS301の検査結果の保存先として親フォルダ2001を作成する。本実施例では、情報処理装置110のタイムスタンプを取得し、フォルダ名とするがこれに限らない。尚、RAM112に親フォルダ2001を作成してもよい。図20は、本実施例におけるフォルダ構成の一例を示した模式図である。ステップS413においては、NG画像の保存場所としてまず親フォルダ2001を作成する。尚、フォルダ構成はこれに限らない。   In step S413, the CPU 111 of the information processing apparatus 110 creates a parent folder 2001 as a storage destination of the inspection result in step S301. In this embodiment, the time stamp of the information processing apparatus 110 is acquired and used as the folder name, but this is not limitative. Note that the parent folder 2001 may be created in the RAM 112. FIG. 20 is a schematic diagram illustrating an example of a folder configuration in the present embodiment. In step S413, a parent folder 2001 is first created as a storage location for the NG image. The folder structure is not limited to this.

ステップS414では、情報処理装置110のCPU111は、画像記録テーブル482に新しくレコードを追加し、Index1801に一意に値を割り振り、現在時刻を判別名1802に格納する。ステップS413及びステップS414の処理により、NG画像のグルーピング準備が完了する。   In step S414, the CPU 111 of the information processing apparatus 110 adds a new record to the image recording table 482, uniquely assigns a value to the index 1801, and stores the current time in the discriminant name 1802. With the processing in step S413 and step S414, preparation for grouping NG images is completed.

一方、ステップS412の判断処理で、NGカウンタが0以外の場合には(ステップS412/NO)、CPU111は、ステップS415に進める。つまり、既にNG画像の保存先が存在し、グルーピングされたフォルダに結果画像を保存することができる状態であるので、ステップS413及びステップS414の処理を行わない。   On the other hand, if it is determined in step S412 that the NG counter is not 0 (step S412 / NO), the CPU 111 proceeds to step S415. That is, since there is already a storage location for the NG image and the result image can be stored in the grouped folder, the processes in steps S413 and S414 are not performed.

ステップS415では、情報処理装置110のCPU111は、ステップS301の検査結果の保存先として、ステップS413で作成した親フォルダ2001の下に子フォルダ2002を作成する。本実施例では、情報処理装置110のタイムスタンプを取得し、子フォルダのフォルダ名とするが、これに限らない。   In step S415, the CPU 111 of the information processing apparatus 110 creates a child folder 2002 under the parent folder 2001 created in step S413 as a storage destination of the inspection result in step S301. In this embodiment, the time stamp of the information processing apparatus 110 is acquired and used as the folder name of the child folder, but the present invention is not limited to this.

ステップS416では、情報処理装置110のCPU111は、現在参照中のレコードであって、検査テーブル481のレコードの結果画像を、ステップS415で作成した子フォルダの下に保存する。また、ステップS306において作成された当該レコードの検査結果1203の内容を保存する。保存内容は、各画像処理(即ち、各モジュールの処理)で実行した結果を保存してもよい。図20に示す模式図では、親フォルダ2001の下に子フォルダ2002が作成され、現在参照中の検査テーブル481のレコードの結果画像2003が保存される。また、各画像処理(即ち、各モジュールの処理)で実行した結果2004も合わせて保存しておくことができる。   In step S416, the CPU 111 of the information processing apparatus 110 stores the result image of the record in the inspection table 481 that is currently being referenced, under the child folder created in step S415. Further, the contents of the inspection result 1203 of the record created in step S306 are stored. As the saved content, the result executed in each image process (that is, the process of each module) may be saved. In the schematic diagram shown in FIG. 20, a child folder 2002 is created under the parent folder 2001, and a result image 2003 of a record of the examination table 481 currently being referenced is stored. In addition, a result 2004 executed in each image processing (that is, processing of each module) can be stored together.

ステップS417では、情報処理装置110のCPU111は、NGカウンタをインクリメント(1増加)し、NGカウンタの数をステップS414で作成したレコードのNG数1703に格納する。NG数1703は、グルーピングされた結果画像の枚数を示す。   In step S417, the CPU 111 of the information processing apparatus 110 increments the NG counter (increments by 1) and stores the number of NG counters in the NG number 1703 of the record created in step S414. The NG number 1703 indicates the number of grouped result images.

ステップS418では、情報処理装置110のCPU111は、検査結果テーブル418と検査テーブル481から、ステップS301の検査結果をビデオコントローラ115bからディスプレイ装置130上のNG画像表示領域1003に表示する(表示手段)。また、NG数1703に格納された数値も識別表示させる。これにより、グルーピングされた結果画像の枚数をユーザに通知することができる。尚、表示されたNG画像のグループがユーザから選択されると、図19に示す通り、グルーピングされたNG画像の結果一覧を表示する。結果一覧1901に表示された結果のうち、1つが選択されると当該結果のNG画像またはOK画像が表示される。当該結果の詳細なパラメータや検査結果を表示させてもよい。   In step S418, the CPU 111 of the information processing apparatus 110 displays the inspection result in step S301 from the video controller 115b in the NG image display area 1003 on the display device 130 from the inspection result table 418 and the inspection table 481 (display unit). Further, the numerical value stored in the NG number 1703 is also identified and displayed. Thereby, it is possible to notify the user of the number of grouped result images. When a group of displayed NG images is selected by the user, a list of grouped NG image results is displayed as shown in FIG. When one of the results displayed in the result list 1901 is selected, an NG image or an OK image of the result is displayed. Detailed parameters and inspection results of the results may be displayed.

ステップS419では、情報処理装置110のCPU111は、OKカウンタを初期化「0」
する。以上のステップS412乃至ステップS419の処理がNG画像であった場合の処理である。
In step S419, the CPU 111 of the information processing apparatus 110 initializes the OK counter “0”.
To do. This is processing when the processing in steps S412 to S419 is an NG image.

一方、ステップS411の判断処理で、検査結果はNGであると判断できない場合には(ステップS411/NO)、CPU111は、ステップS426に進める。   On the other hand, if it is determined in step S411 that the test result cannot be determined to be NG (step S411 / NO), the CPU 111 proceeds to step S426.

ステップS426では、情報処理装置110のCPU111は、NGカウンタが「0」以外であるか否かを判断する。つまり、NGカウンタが「0」以外であるということは、ステップS417においてNGカウンタがインクリメントされていることを示す。よって、NG画像が発生しているため、NG画像のグルーピングを行っていると判断できる。前述した通り、OK画像であっても、連続したOK画像がOK個数以下であった場合には、NG画像としてグルーピングを行うため、ステップS426においてNGカウンタに対して判断を行う。NGカウンタが「0」以外であると判断した場合には(ステップS426/YES)、処理をステップS427に進める。   In step S426, the CPU 111 of the information processing apparatus 110 determines whether the NG counter is other than “0”. That is, that the NG counter is other than “0” indicates that the NG counter is incremented in step S417. Therefore, since an NG image has occurred, it can be determined that grouping of NG images is being performed. As described above, even if it is an OK image, if the number of continuous OK images is equal to or less than the number of OK images, grouping as an NG image is performed, and a determination is made on the NG counter in step S426. If it is determined that the NG counter is other than “0” (step S426 / YES), the process proceeds to step S427.

一方、ステップS426の判断処理で、NGカウンタが「0」である場合には(ステップS426/NO)、CPU111は、ステップS420に進める。つまり、NG画像は発生しておらず、OK画像が続いているものとして、処理を行う。   On the other hand, if it is determined in step S426 that the NG counter is “0” (step S426 / NO), the CPU 111 proceeds to step S420. That is, the processing is performed assuming that no NG image is generated and an OK image continues.

ステップS427では、情報処理装置110のCPU111は、OKカウンタをインクリメント(1増加)する。   In step S427, the CPU 111 of the information processing apparatus 110 increments the OK counter (increases by 1).

ステップS428では、情報処理装置110のCPU111は、OKカウンタがステップS401で設定されたOK個数より多いか否かを判断する。ステップS428の判断の結果、OKカウンタがOK個数より多いと判断した場合には(ステップS428/YES)、処理をステップS429に進める。つまり、OK個数以上連続してOK画像が続いているため、NG画像として表示を行わない。   In step S428, the CPU 111 of the information processing apparatus 110 determines whether or not the OK counter is greater than the number of OK set in step S401. As a result of the determination in step S428, if it is determined that the OK counter is greater than the OK number (step S428 / YES), the process proceeds to step S429. That is, since the OK images continue continuously for the number of OK or more, display as NG images is not performed.

一方、ステップS428の判断処理で、OKカウンタがOK個数より多いと判断できない場合には(ステップS428/NG)、CPU111は、ステップS415に進める。つまり、OK画像であってもNG画像として保存する。前述の通り、パラメータの設定によって、本来NG画像として判定されるべき結果画像がOK画像として表示されている可能性があるため、一旦NG画像として保存を行う。   On the other hand, if it is determined in the determination process in step S428 that the OK counter is not larger than the OK number (step S428 / NG), the CPU 111 advances the process to step S415. That is, even an OK image is stored as an NG image. As described above, since the result image that should be determined as an NG image may be displayed as an OK image depending on the parameter setting, the image is temporarily stored as an NG image.

ステップS429では情報処理装置110のCPU111は、ステップS428においてOKカウンタがOK個数よりも多いと判定されたので、ステップS428においてOKカウンタがOK個数よりも多いと判定できなかったためにステップS416において保存されてしまったOK画像を削除して、NG画像表示領域1003から当該OK画像の表示を消す。具体的には、例えばOK個数が「2」で、「NG、OK、OK、OK」という順で結果画像が出力された場合、最初にNG画像があるため、グルーピングが開始される。2番目のOK画像は、NGカウンタが「1」であるため、ステップS426の判断処理でステップS427へ進み、ステップS428の判断処理では、ステップS415へ進む。つまりOK画像だがNG画像としてグルーピングがなされる。しかし、OK画像は3つ連続するため、OK個数の「2」より大きくなる。つまり、これらのOK画像はNG画像ではないと判断すべきである。よって、ステップS429において、ステップS416で保存されたOK画像の削除と、ステップS418で表示されたサムネイル画像の非表示を行う。   In step S429, the CPU 111 of the information processing apparatus 110 determines that the OK counter is greater than the OK number in step S428. Therefore, since it cannot be determined in step S428 that the OK counter is greater than the OK number, it is stored in step S416. The OK image that has been deleted is deleted, and the display of the OK image is erased from the NG image display area 1003. Specifically, for example, when the number of OK is “2” and the result images are output in the order of “NG, OK, OK, OK”, grouping is started because there is an NG image first. Since the NG counter of the second OK image is “1”, the process proceeds to step S427 in the determination process of step S426, and the process proceeds to step S415 in the determination process of step S428. That is, grouping is performed as an OK image but an NG image. However, since three OK images are continuous, the OK image is larger than “2”. That is, it should be determined that these OK images are not NG images. Therefore, in step S429, the OK image stored in step S416 is deleted, and the thumbnail image displayed in step S418 is not displayed.

ステップS430では、情報処理装置110のCPU111は、NGカウンタを初期化(0クリア)する。ステップS428においてOKカウンタがOK個数よりも多いと判断されたので、NG画像のグルーピングを終了すべく、NGカウンタを初期化する。以上のステップS426乃至ステップS430の処理がOK画像であった場合の処理である。   In step S430, the CPU 111 of the information processing apparatus 110 initializes (clears to 0) the NG counter. Since it is determined in step S428 that the OK counter is greater than the OK number, the NG counter is initialized to end the grouping of NG images. This is processing when the processing in steps S426 to S430 is an OK image.

ステップS419またはステップS430が終了すると、ステップS420では、情報処理装置110のCPU111は、ステップS301において画像検査された結果に応じて、ユーザにより設定された各種処理を行う。具体的には、検査結果1203に「NG」が格納されていた場合には、生産ラインを流れる当該画像の対象物を生産ラインから排除する外部装置制御や、ステップS303において検査画像を記憶していなければ、外部メモリ116に記憶する検査画像記憶や、検査結果の各種情報送信等をおこなう。   When step S419 or step S430 is completed, in step S420, the CPU 111 of the information processing apparatus 110 performs various processes set by the user according to the result of the image inspection in step S301. Specifically, if “NG” is stored in the inspection result 1203, the external image is controlled to exclude the object of the image flowing through the production line from the production line, or the inspection image is stored in step S303. If not, inspection image storage stored in the external memory 116, various information transmission of inspection results, and the like are performed.

尚、ステップS420において検査結果の情報を外部装置に送信することで、画像検査順に検査結果を送信することもできる。つまり、検査テーブル481に格納された各レコードの検査スレッド処理(図13参照)は並列で動作しており、画像によって検査速度が異なるため、後から検査が開始された検査スレッドが、先に終了してしまうことがある。よって、検査スレッド処理において、検査結果の情報を外部装置へ送信する場合、画像の検査順と検査結果の送信順に不整合が生じる可能性がある。しかし、検査結果表示処理において処理されることで、このような不整合を防ぐことが可能となる。尚、外部制御処理等、不整合が発生すると不具合が発生する処理の場合には、同様の効果がある。   Note that the inspection results can be transmitted in the order of image inspection by transmitting the inspection result information to the external device in step S420. That is, the inspection thread processing (see FIG. 13) of each record stored in the inspection table 481 operates in parallel, and the inspection speed varies depending on the image, so the inspection thread that has been inspected later ends first. May end up. Therefore, in the inspection thread process, when the inspection result information is transmitted to the external device, there is a possibility that an inconsistency occurs in the image inspection order and the inspection result transmission order. However, such inconsistency can be prevented by processing in the inspection result display process. It should be noted that the same effect can be obtained in the case of a process such as an external control process in which a malfunction occurs when inconsistency occurs.

ステップS422では、情報処理装置110のCPU111は、現在参照しているレコードを検査テーブル481から削除する。   In step S422, the CPU 111 of the information processing apparatus 110 deletes the currently referenced record from the inspection table 481.

ステップS423では、情報処理装置110のCPU111は、検査テーブル481にレコードが存在するか否かを判断する。レコードが存在すると判断した場合には(ステップS423/YES)、CPU111は、処理をステップS424に進める。   In step S423, the CPU 111 of the information processing apparatus 110 determines whether a record exists in the inspection table 481. If it is determined that a record exists (step S423 / YES), the CPU 111 advances the process to step S424.

ステップS424では、情報処理装置110のCPU111は、ステップS422において削除したレコードの次のレコードを参照し、処理をステップS407に戻す。   In step S424, the CPU 111 of the information processing apparatus 110 refers to the record next to the record deleted in step S422, and returns the process to step S407.

一方、ステップS423の判断処理で、レコードが存在すると判断できない場合には(ステップS423/NO)、CPU111は、処理をステップS425に進める。   On the other hand, if it is not possible to determine that a record exists in the determination process in step S423 (step S423 / NO), the CPU 111 advances the process to step S425.

ステップS425では、情報処理装置110のCPU111は、オンライン検査処理(図9参照)が終了しているか否かを判断する。オンライン検査処理と、検査結果表示処理は並列して動作しているので、オンライン検査処理が処理中か否かを参照してもよいし、他の形式でもよい。オンライン検査処理が終了していると判断した場合には(ステップS425/YES)、CPU111は、処理を終了する。一方、ステップS425の判断処理で、オンライン検査処理が終了していると判断できない場合には(ステップS425/NO)、CPU111は、ステップS406に進める。これにより、オンライン検査処理が動作し続ける限り、画像の検査結果を表示させることができる。   In step S425, the CPU 111 of the information processing apparatus 110 determines whether or not the online inspection process (see FIG. 9) has ended. Since the online inspection process and the inspection result display process operate in parallel, it may be referred to whether the online inspection process is being processed or may be in another form. If it is determined that the online inspection process has ended (step S425 / YES), the CPU 111 ends the process. On the other hand, if it is not possible to determine in step S425 that the online inspection process has been completed (step S425 / NO), the CPU 111 proceeds to step S406. As a result, as long as the online inspection process continues to operate, the inspection result of the image can be displayed.

次に、実施例2について説明する。実施例2では、実施例1における検査結果表示処理(図15参照)の別の形態について説明する。よって、それ以外のシステム構成、ハードウェア構成、機能構成、テーブル構成は、実施例1と同様である。また、各処理のフローも同様である。もちろん、他の構成であってもよい。   Next, Example 2 will be described. In the second embodiment, another form of the inspection result display process (see FIG. 15) in the first embodiment will be described. Therefore, other system configurations, hardware configurations, functional configurations, and table configurations are the same as those in the first embodiment. The flow of each process is the same. Of course, other configurations may be used.

実施例2では、検査の終了した結果画像を表示する場合に、当該結果画像の表示が間引かれたが、当該結果画像がNG画像であった場合には表示を間引かずに表示する形態について説明する。   In the second embodiment, when the result image after the inspection is displayed, the display of the result image is thinned. However, when the result image is an NG image, the display is performed without thinning the display. Will be described.

まず、図23を参照して、図13の検査スレッド処理において検査された結果画像を表示する検査結果表示処理の詳細な手順について説明する。図23は、検査結果表示処理の詳細な処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。尚、本実施例では、前述したオンライン検査処理(図9参照)と、前述した検査スレッド処理(図13参照)と、検査結果表示処理は、マルチスレッド処理により、CPU111において並列して動作しているものとする。また、本実施例では、検査結果1203の結果がNGである画像(NG画像)は間引かずに表示する例について説明する。   First, with reference to FIG. 23, the detailed procedure of the inspection result display process for displaying the result image inspected in the inspection thread process of FIG. 13 will be described. FIG. 23 is a flowchart illustrating an example of a detailed processing procedure of the inspection result display processing. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received, the CPU 111 loads the program into the RAM 112 and performs the process according to control by the loaded program. Will be executed. In this embodiment, the above-described online inspection process (see FIG. 9), the above-described inspection thread process (see FIG. 13), and the inspection result display process operate in parallel in the CPU 111 by multi-thread processing. It shall be. Further, in this embodiment, an example will be described in which an image (NG image) whose inspection result 1203 is NG is displayed without being thinned out.

ステップS406乃至ステップS407の各ステップは、図15のステップS406乃至ステップS408と同様であるので、説明は省略する。   Each step from step S406 to step S407 is the same as step S406 to step S408 in FIG.

ステップS501では、情報処理装置110のCPU111は、現在参照しているレコードが検査テーブル481の先頭のレコードか否かを判断する。先頭のレコードであると判断した場合には(ステップS501/YES)、CPU111は、処理をステップS503に進める。つまり、検査テーブル481の先頭レコードを参照している場合(検査スレッド1において処理された画像)のみ、後述するステップS404の検査を行い、検査結果の画像を表示させる。   In step S501, the CPU 111 of the information processing apparatus 110 determines whether the currently referenced record is the first record in the inspection table 481. If it is determined that it is the first record (step S501 / YES), the CPU 111 advances the process to step S503. That is, only when the top record of the inspection table 481 is referred to (the image processed in the inspection thread 1), inspection in step S404 described later is performed and an image of the inspection result is displayed.

一方、ステップS501の判断処理で、先頭のレコードであると判断できない場合には(ステップS501/NO)、CPU111は、処理をステップS502に進める。つまり、現在参照しているレコードが検査テーブル481の先頭レコードでないということは、検査テーブル481に複数のレコードが蓄積されている。よって、カメラ140から送信された画像の処理が1スレッドでは間に合わず、マルチスレッドで並列処理していると判定できるため、ステップS503においては結果画像の表示を行わない(表示を間引く)。尚、本実施例では検査テーブル481に複数レコードが蓄積されていた場合に、先頭レコード以外の検査結果の画像表示を間引くが、検査パラメータテーブル480の使用中フラグ1102に「ON」が一定数以上存在した場合や、CPU111等の負荷を計測し、一定以上負荷がかかった場合に画像表示を間引くようにしてもよい。検査結果の画像表示を間引く判断基準は、これに限らない。また、間引く枚数は何枚でもよく、ユーザによって設定可能とする。これにより、結果画像を表示する負荷を軽減し、並列処理で動作している画像検査を優先させることができる。   On the other hand, when the determination process in step S501 cannot determine that the record is the first record (step S501 / NO), the CPU 111 advances the process to step S502. That is, the fact that the currently referenced record is not the first record of the inspection table 481 indicates that a plurality of records are accumulated in the inspection table 481. Therefore, since it can be determined that the processing of the image transmitted from the camera 140 is not in time for one thread and that parallel processing is performed in multiple threads, the result image is not displayed in step S503 (the display is thinned out). In this embodiment, when a plurality of records are accumulated in the inspection table 481, the image display of the inspection result other than the top record is thinned out, but “ON” is more than a certain number in the in-use flag 1102 of the inspection parameter table 480. If it exists, or the load on the CPU 111 or the like is measured, the image display may be thinned out when the load exceeds a certain level. The criterion for thinning out the image display of the inspection result is not limited to this. Further, the number of thinned out sheets may be any number and can be set by the user. As a result, it is possible to reduce the load of displaying the result image, and to prioritize the image inspection operating in parallel processing.

ステップS502では、情報処理装置110のCPU111は、現在参照しているレコードの結果が「NG」であるか否かを判定する。具体的には、現在参照しているレコードの検査結果1203が「NG」であるか否かを判定する。「NG」であると判定された場合には(ステップS502/YES)、処理をステップS503に進める。一方、ステップS502の判断処理で、現在参照しているレコードの結果が「NG」であると判断できない場合には(ステップS502/NO)、CPU111は、処理を前述したステップS420に進める。これにより、ステップS501において結果画像の間引きが行われたとしても、検査の結果NGと判定された結果画像である場合には、検査結果を表示させることができる。   In step S502, the CPU 111 of the information processing apparatus 110 determines whether or not the result of the currently referenced record is “NG”. Specifically, it is determined whether or not the inspection result 1203 of the currently referenced record is “NG”. If it is determined to be “NG” (step S502 / YES), the process proceeds to step S503. On the other hand, if it is not possible to determine that the result of the currently referenced record is “NG” in the determination process in step S502 (step S502 / NO), the CPU 111 advances the process to step S420 described above. Thereby, even if the result image is thinned out in step S501, if the result image is determined to be NG as a result of the inspection, the inspection result can be displayed.

ステップS503では、情報処理装置110のCPU111は、検査結果テーブル418と検査テーブル481から、ステップS301の検査結果をビデオコントローラ115bからディスプレイ装置130上の検査画像表示領域1002に表示する。尚、本実施例では、ステップS109におけるオンライン検査中に検査結果画像の表示を行うものである。しかしながら、ステップS107におけるプロジェクト構築処理で構築された画像処理フローの動作を確認すべく、処理結果表示領域2108に表示させるような形態でもよい。   In step S503, the CPU 111 of the information processing apparatus 110 displays the inspection result in step S301 from the video controller 115b in the inspection image display area 1002 on the display device 130 from the inspection result table 418 and the inspection table 481. In this embodiment, the inspection result image is displayed during the online inspection in step S109. However, it may be displayed in the processing result display area 2108 in order to confirm the operation of the image processing flow constructed in the project construction processing in step S107.

具体的には、まず現在参照されている先頭のレコードに格納された検査画像名1204と一致する画像を外部メモリ116、又はRAM112から取得する。また、検査画像名1204と一致する検査画像名1405に対応するレコードを、検査結果テーブル418からすべて取得し、RAM112に記憶する。取得したレコードの識別箇所1403を用いて、取得した画像上に識別箇所を表示させ、識別結果1404にデータが格納されている場合は、識別箇所1403に対応する識別結果1404を表示させる。例えば、図16に示す検査結果画面1600では、マッチング箇所1602の部分は、識別箇所を識別可能に表示しており、文字認識箇所1601には、識別結果1404も補足表示させる。   Specifically, first, an image that matches the inspection image name 1204 stored in the first record currently referenced is acquired from the external memory 116 or the RAM 112. All records corresponding to the inspection image name 1405 that matches the inspection image name 1204 are acquired from the inspection result table 418 and stored in the RAM 112. Using the identification part 1403 of the acquired record, the identification part is displayed on the acquired image. When data is stored in the identification result 1404, the identification result 1404 corresponding to the identification part 1403 is displayed. For example, in the inspection result screen 1600 shown in FIG. 16, the matching part 1602 displays the identification part in an identifiable manner, and the character recognition part 1601 additionally displays the identification result 1404.

ステップS410、ステップS420、ステップS423乃至ステップS425の各ステップは、図15のステップS410、ステップS420、ステップS423乃至ステップS425と同様であるので、説明を省略する。   Steps S410, S420, and S423 to S425 are the same as steps S410, S420, and S423 to S425 in FIG.

以上説明したように、本実施形態によれば、画像検査後の結果画像を表示する画像処理において、情報処理装置の負荷が高い場合には結果画像の表示を間引くが、ユーザにとって必要な結果画像であった場合には、間引かずに表示させることができる効果を奏する。   As described above, according to the present embodiment, in the image processing for displaying the result image after the image inspection, the display of the result image is thinned out when the load on the information processing apparatus is high. If it is, there is an effect that can be displayed without thinning out.

以上、実施形態例を詳述したが、本発明は、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。   Although the embodiment has been described in detail above, the present invention can take an embodiment as a method, a program, a storage medium, or the like.

また、本発明におけるプログラムは、各処理方法をコンピュータが実行可能(読み取り可能)なプログラムであり、本発明の記憶媒体は、各処理方法をコンピュータが実行可能なプログラムが記憶されている。   The program according to the present invention is a program that allows a computer to execute (read) each processing method, and the storage medium according to the present invention stores a program that allows the computer to execute each processing method.

なお、本発明におけるプログラムは、各装置の処理方法ごとのプログラムであってもよい。   The program in the present invention may be a program for each processing method of each device.

以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読取り実行することによっても、本発明の目的が達成されることは言うまでもない。   As described above, a recording medium that records a program that implements the functions of the above-described embodiments is supplied to a system or apparatus, and a computer (or CPU or MPU) of the system or apparatus stores the program stored in the recording medium. It goes without saying that the object of the present invention can also be achieved by performing reading.

この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。   In this case, the program itself read from the recording medium realizes the novel function of the present invention, and the recording medium storing the program constitutes the present invention.

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。   As a recording medium for supplying the program, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, DVD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, silicon A disk or the like can be used.

また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) operating on the computer based on an instruction of the program is actually It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the processing and the processing is included.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Furthermore, after the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board or It goes without saying that the CPU or the like provided in the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。   Further, the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device.

また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。   Needless to say, the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or apparatus. In this case, by reading a recording medium storing a program for achieving the present invention into the system or apparatus, the system or apparatus can enjoy the effects of the present invention.

さらに、本発明を達成するためのプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。   Furthermore, by downloading and reading a program for achieving the present invention from a server, database, etc. on a network by a communication program, the system or apparatus can enjoy the effects of the present invention.

なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。   In addition, all the structures which combined each embodiment mentioned above and its modification are also included in this invention.

100 画像検査システム
110 情報処理装置
120 入力装置
130 ディスプレイ装置
140 カメラ
150 照明装置コントローラ
160 照明装置
170 外部機器コントローラ
180 ステージ
181 検査対象
190 LAN(Local Area Network)
111 CPU
112 RAM
113 ROM
114 システムバス
115a 入力コントローラ
115b ビデオコントローラ
115c メモリコントローラ
115d、115e、115g 通信I/Fコントローラ
115f 画像入力コントローラ
116 外部メモリ
DESCRIPTION OF SYMBOLS 100 Image inspection system 110 Information processing apparatus 120 Input device 130 Display apparatus 140 Camera 150 Illumination apparatus controller 160 Illumination apparatus 170 External apparatus controller 180 Stage 181 Inspection object 190 LAN (Local Area Network)
111 CPU
112 RAM
113 ROM
114 System bus 115a Input controller 115b Video controller 115c Memory controller 115d, 115e, 115g Communication I / F controller 115f Image input controller 116 External memory

上記の目的を達成するために、請求項1に記載の情報処理装置は、1つの検査対象物を撮像することにより生成される電子画像データに対して画像処理を実行し、前記画像処理が実行された電子画像データの表示を行う情報処理装置であって、前記電子画像データに対して、所定の画像処理を実行する画像処理実行手段と、前記画像処理実行手段によって画像処理が実行された電子画像データと、前記画像処理の結果を示す画像処理結果とを対応づけて記憶する電子画像データ記憶手段と、前記画像処理実行手段によって所定の画像処理が実行され、前記電子画像データ記憶手段に電子画像データが複数蓄積されているか否かを判定する複数蓄積判定手段と、前記画像処理実行手段によって所定の画像処理が実行され、前記電子画像データ記憶手段に記憶された電子画像データのうち、1枚の電子画像データを取得して表示する表示手段とを備え、前記表示手段は、前記複数蓄積判定手段によって、前記電子画像データ記憶手段に前記電子画像データが複数蓄積されていると判定された場合には、前記電子画像データ記憶手段に記憶された電子画像データのうち少なくとも1以上の電子画像データの表示枚数を間引いて表示し、前記複数蓄積判定手段によって、前記電子画像データ記憶手段に前記電子画像データが複数蓄積されていないと判定された場合には、前記電子画像データ記憶手段に記憶された電子画像データの表示枚数を間引かずに表示するものであり、かつ、前記表示手段は、前記画像処理実行手段によって画像処理が実行された電子画像データに対応する前記画像処理結果を前記電子画像データ記憶手段から取得し、当該画像処理結果が異常または処理に失敗したことを示す電子画像データについては、前記複数蓄積判定手段によって、前記電子画像データ記憶手段に前記電子画像データが複数蓄積されていると判定されたか否かに関わらず、表示枚数を間引かずに表示することを特徴とする。
In order to achieve the above object, the information processing apparatus according to claim 1 executes image processing on electronic image data generated by imaging one inspection object, and the image processing is executed. An information processing apparatus for displaying the electronic image data, wherein the electronic image data is subjected to image processing execution means for performing predetermined image processing on the electronic image data, and the electronic image subjected to image processing by the image processing execution means. Electronic image data storage means for storing image data and an image processing result indicating the result of the image processing in association with each other, and predetermined image processing is executed by the image processing execution means, and the electronic image data storage means Predetermined image processing is executed by a plurality of storage determination means for determining whether or not a plurality of image data is stored and the image processing execution means, and the electronic image data recording is performed. Display means for acquiring and displaying one piece of electronic image data out of the electronic image data stored in the storage means, and the display means is stored in the electronic image data storage means by the plurality of accumulation determination means. When it is determined that a plurality of electronic image data are accumulated, the display number of at least one or more electronic image data out of the electronic image data stored in the electronic image data storage means is thinned and displayed, If the accumulation determining means determines that a plurality of the electronic image data is not accumulated in the electronic image data storage means, the display number of the electronic image data stored in the electronic image data storage means is not thinned out. And the display means displays the image processing corresponding to the electronic image data that has been subjected to image processing by the image processing execution means. The electronic image data obtained by acquiring the result from the electronic image data storage means and indicating that the image processing result is abnormal or failed in processing is stored in the electronic image data storage means by the plurality of accumulation determination means. Regardless of whether or not it is determined that a plurality of images are stored, the number of displayed images is displayed without being thinned out.

Claims (10)

電子画像データに対して画像処理を実行し、前記画像処理が実行された電子画像データの表示を行う情報処理装置であって、
前記電子画像データに対して、所定の画像処理を実行する画像処理実行手段と、
前記画像処理実行手段によって画像処理が実行された電子画像データと、前記画像処理の結果である画像処理結果とを対応づけて記憶する電子画像データ記憶手段と、
前記電子画像データ記憶手段に記憶された電子画像データのうち少なくとも1以上の電子画像データの表示を間引いて表示する表示手段と、
前記表示手段によって表示を間引かれた電子画像データに対応づけられた画像処理結果を前記電子画像データ記憶手段から取得し、当該画像処理結果に応じて前記電子画像データを間引かずに表示するか否かを判定する間引き判定手段とを備え、
前記表示手段は、前記間引き判定手段によって、前記電子画像データを間引かずに表示すると判定された場合には、前記電子画像データを表示することを特徴とする情報処理装置。
An information processing apparatus that performs image processing on electronic image data and displays the electronic image data subjected to the image processing,
Image processing execution means for executing predetermined image processing on the electronic image data;
Electronic image data storage means for storing electronic image data that has been subjected to image processing by the image processing execution means and an image processing result that is a result of the image processing in association with each other;
Display means for thinning and displaying the display of at least one electronic image data among the electronic image data stored in the electronic image data storage means;
An image processing result associated with the electronic image data thinned out by the display unit is acquired from the electronic image data storage unit, and the electronic image data is displayed without being thinned out according to the image processing result. And a thinning determination means for determining whether or not
The display device displays the electronic image data when the thinning determination unit determines that the electronic image data is to be displayed without being thinned.
前記表示手段は、前記表示手段によって表示される前記電子画像データの画像処理結果が、連続して同一の画像処理結果を示す場合には、当該画像処理結果に対応づいた電子画像データをまとめて表示することを特徴とする請求項1に記載の情報処理装置。   When the image processing results of the electronic image data displayed by the display device continuously show the same image processing results, the display means collects the electronic image data corresponding to the image processing results. The information processing apparatus according to claim 1, wherein the information processing apparatus displays the information processing apparatus. 前記画像処理結果に対応づいた電子画像データをまとめて表示する場合に、異なる画像処理結果の電子画像データが含まれてもよい許容値を設定する許容値設定手段を更に備え、
前記表示手段は、前記表示手段によって表示される前記電子画像データの画像処理結果のうち、前記異なる画像処理結果の電子画像データが前記許容値以下である場合には、当該異なる画像処理結果の電子画像データを含めて、前記電子画像データをまとめて表示し、前記異なる画像処理結果の電子画像データが前記許容値よりも多い場合には、当該異なる画像処理結果の電子画像データまでをまとめて表示することを特徴とする請求項2に記載の情報処理装置。
When electronic image data corresponding to the image processing result is displayed together, the image processing apparatus further includes an allowable value setting unit that sets an allowable value that may include electronic image data of different image processing results,
When the electronic image data of the different image processing result is equal to or less than the allowable value among the image processing results of the electronic image data displayed by the display unit, the display unit outputs the electronic of the different image processing result. The electronic image data including the image data is collectively displayed, and when the electronic image data of the different image processing results is larger than the allowable value, the electronic image data of the different image processing results are collectively displayed. The information processing apparatus according to claim 2.
前記まとめて表示された電子画像データのまとめられた数を識別表示することを特徴とする請求項2または3に記載の情報処理装置。   4. The information processing apparatus according to claim 2, wherein the collected number of the electronic image data collectively displayed is identified and displayed. 画像処理実行ステップによって画像処理が実行された電子画像データと、前記画像処理の結果である画像処理結果とを対応づけて記憶する電子画像データ記憶手段を備え、前記電子画像データに対して画像処理を実行し、前記画像処理が実行された電子画像データの表示を行う情報処理装置の制御方法であって、
前記電子画像データに対して、所定の画像処理を実行する画像処理実行ステップと、
前記電子画像データ記憶手段に記憶された電子画像データのうち少なくとも1以上の電子画像データの表示を間引いて表示する表示ステップと、
前記表示ステップによって表示を間引かれた電子画像データに対応づけられた画像処理結果を前記電子画像データ記憶手段から取得し、当該画像処理結果に応じて前記電子画像データを間引かずに表示するか否かを判定する間引き判定ステップとを実行し、
前記表示ステップは、前記間引き判定ステップによって、前記電子画像データを間引かずに表示すると判定された場合には、前記電子画像データを表示することを特徴とする情報処理装置の制御方法。
Electronic image data storage means for storing electronic image data that has been subjected to image processing by the image processing execution step and an image processing result that is a result of the image processing in association with each other, and performing image processing on the electronic image data And a method of controlling the information processing apparatus for displaying the electronic image data on which the image processing has been performed,
An image processing execution step for executing predetermined image processing on the electronic image data;
A display step of decimating and displaying at least one of the electronic image data stored in the electronic image data storage means;
An image processing result associated with the electronic image data thinned out by the display step is acquired from the electronic image data storage means, and the electronic image data is displayed without being thinned according to the image processing result. And a decimation determination step for determining whether or not
The method of controlling an information processing apparatus, wherein the display step displays the electronic image data when the thinning determination step determines that the electronic image data is displayed without being thinned.
前記表示ステップは、前記表示ステップによって表示される前記電子画像データの画像処理結果が、連続して同一の画像処理結果を示す場合には、当該画像処理結果に対応づいた電子画像データをまとめて表示することを特徴とする請求項5に記載の情報処理装置の制御方法。   In the case where the image processing results of the electronic image data displayed by the display step continuously show the same image processing result, the display step collectively combines the electronic image data corresponding to the image processing result. The information processing apparatus control method according to claim 5, wherein the information processing apparatus is displayed. 画像処理実行手段によって画像処理が実行された電子画像データと、前記画像処理の結果である画像処理結果とを対応づけて記憶する電子画像データ記憶手段を備え、前記電子画像データに対して画像処理を実行し、前記画像処理が実行された電子画像データの表示を行う情報処理装置の制御方法をコンピュータに実行させるためのコンピュータに読み取り実行可能なプログラムであって、
前記電子画像データに対して、所定の画像処理を実行する画像処理実行手段と、
前記電子画像データ記憶手段に記憶された電子画像データのうち少なくとも1以上の電子画像データの表示を間引いて表示する表示手段と、
前記表示手段によって表示を間引かれた電子画像データに対応づけられた画像処理結果を前記電子画像データ記憶手段から取得し、当該画像処理結果に応じて前記電子画像データを間引かずに表示するか否かを判定する間引き判定手段として機能させ、
前記表示手段は、前記間引き判定手段によって、前記電子画像データを間引かずに表示すると判定された場合には、前記電子画像データを表示することを特徴とするコンピュータに読み取り実行可能なプログラム。
Electronic image data storage means for storing the electronic image data that has been subjected to image processing by the image processing execution means and the image processing result that is the result of the image processing in association with each other, and performing image processing on the electronic image data A computer-readable program that allows a computer to execute a control method of an information processing apparatus that displays electronic image data subjected to the image processing,
Image processing execution means for executing predetermined image processing on the electronic image data;
Display means for thinning and displaying the display of at least one electronic image data among the electronic image data stored in the electronic image data storage means;
An image processing result associated with the electronic image data thinned out by the display unit is acquired from the electronic image data storage unit, and the electronic image data is displayed without being thinned out according to the image processing result. Function as a decimation determining means for determining whether or not
The display means displays the electronic image data when the thinning determination means determines that the electronic image data is to be displayed without being thinned out.
前記表示手段は、前記表示手段によって表示される前記電子画像データの画像処理結果が、連続して同一の画像処理結果を示す場合には、当該画像処理結果に対応づいた電子画像データをまとめて表示することを特徴とする請求項7に記載のコンピュータに読み取り実行可能なプログラム。   When the image processing results of the electronic image data displayed by the display device continuously show the same image processing results, the display means collects the electronic image data corresponding to the image processing results. 8. The computer-readable program executable according to claim 7, wherein the computer-readable program is displayed. 請求項5に記載のプログラムを格納することを特徴とするコンピュータで読み取り可能な記録媒体。   A computer-readable recording medium storing the program according to claim 5. 請求項7に記載のプログラムを格納することを特徴とするコンピュータで読み取り可能な記録媒体。   A computer-readable recording medium storing the program according to claim 7.
JP2010256724A 2010-11-17 2010-11-17 Information processing apparatus, information processing apparatus control method, program, and recording medium storing program Active JP4801791B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010256724A JP4801791B1 (en) 2010-11-17 2010-11-17 Information processing apparatus, information processing apparatus control method, program, and recording medium storing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010256724A JP4801791B1 (en) 2010-11-17 2010-11-17 Information processing apparatus, information processing apparatus control method, program, and recording medium storing program

Publications (2)

Publication Number Publication Date
JP4801791B1 JP4801791B1 (en) 2011-10-26
JP2012108702A true JP2012108702A (en) 2012-06-07

Family

ID=44946839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010256724A Active JP4801791B1 (en) 2010-11-17 2010-11-17 Information processing apparatus, information processing apparatus control method, program, and recording medium storing program

Country Status (1)

Country Link
JP (1) JP4801791B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150076842A1 (en) * 2011-02-02 2015-03-19 Kiekert Aktiengesellschaft Motor vehicle lock together with a manufacturing method
WO2018212058A1 (en) * 2017-05-18 2018-11-22 Ntn株式会社 Appearance inspecting device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6279338A (en) * 1985-10-02 1987-04-11 Mitsubishi Electric Corp Surface condition display unit
JPH1123494A (en) * 1997-07-02 1999-01-29 Shimadzu Corp X-ray foreign matter inspecting apparatus
JP2000047651A (en) * 1998-07-29 2000-02-18 Mitsubishi Electric Corp Video reproducing device
JP2000331162A (en) * 1999-05-24 2000-11-30 Sharp Corp Image processor
JP4096533B2 (en) * 2001-08-31 2008-06-04 松下電工株式会社 Image processing inspection system
JP4413767B2 (en) * 2004-12-17 2010-02-10 株式会社日立ハイテクノロジーズ Pattern inspection device
JP5267789B2 (en) * 2008-09-26 2013-08-21 オムロン株式会社 Appearance inspection apparatus and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150076842A1 (en) * 2011-02-02 2015-03-19 Kiekert Aktiengesellschaft Motor vehicle lock together with a manufacturing method
US9677304B2 (en) * 2011-02-02 2017-06-13 Kiekert Aktiengesellschaft Motor vehicle lock together with a manufacturing method
WO2018212058A1 (en) * 2017-05-18 2018-11-22 Ntn株式会社 Appearance inspecting device
JP2018194443A (en) * 2017-05-18 2018-12-06 Ntn株式会社 Appearance inspection device

Also Published As

Publication number Publication date
JP4801791B1 (en) 2011-10-26

Similar Documents

Publication Publication Date Title
JP6205757B2 (en) Control system, control apparatus, image processing apparatus, and control method
JP5522065B2 (en) Board inspection system
US20140304637A1 (en) Image processing device, control method, and program
US9715409B2 (en) Job delay detection method and information processing apparatus
KR101968850B1 (en) Information processing apparatus, information processing system, and recording medium
JP2020003301A (en) Appearance inspection system, method for displaying result of appearance inspection, and program for displaying result of appearance inspection
CN111061639A (en) Efficient multi-system test code coverage rate management method
JP4801791B1 (en) Information processing apparatus, information processing apparatus control method, program, and recording medium storing program
JP2010101158A (en) Photographing and recording system
US20180365341A1 (en) Three-Dimensional Cad System Device, and Knowledge Management Method Used in Three-Dimensional Cad
US10878555B2 (en) Image processing system, image processing device, and non-transitory computer readable recording medium
US9396239B2 (en) Compiling method, storage medium and compiling apparatus
JP5344658B2 (en) Information processing apparatus, control method thereof, and program
JP2019215781A (en) Manufacturing control system and method
JP2012108701A (en) Information processing device, control method of information processing device, program, and recording medium with program recorded therein
JP4749507B1 (en) Information processing apparatus, information processing apparatus control method, program, and recording medium storing program
JP2008165671A (en) Report retrieval method, report retrieval system and review device
JP7103746B2 (en) Image processing equipment, image processing methods, and image processing programs
JP2020003300A (en) Appearance inspection system, method for displaying result of appearance inspection, and program for displaying result of appearance inspection
JP2010128908A (en) Information processing apparatus, control method for the same, and program
JP6008399B2 (en) Management system, management apparatus, management method, and program
JP2010244507A (en) Information processing apparatus, method of controlling the same, and program
JP2007241347A (en) Program quality management device, and method for creating quality management report of program
JP6819096B2 (en) Image processing equipment, image processing methods, and image processing programs
JP2018085093A (en) Information processing apparatus, control method, and program

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110805

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4801791

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250