JP5344658B2 - Information processing apparatus, control method thereof, and program - Google Patents

Information processing apparatus, control method thereof, and program Download PDF

Info

Publication number
JP5344658B2
JP5344658B2 JP2012266630A JP2012266630A JP5344658B2 JP 5344658 B2 JP5344658 B2 JP 5344658B2 JP 2012266630 A JP2012266630 A JP 2012266630A JP 2012266630 A JP2012266630 A JP 2012266630A JP 5344658 B2 JP5344658 B2 JP 5344658B2
Authority
JP
Japan
Prior art keywords
processing
image processing
item
image
module
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.)
Active
Application number
JP2012266630A
Other languages
Japanese (ja)
Other versions
JP2013140572A (en
Inventor
秀次 福西
吉貴 内田
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 Marketing Japan Inc
Canon IT Solutions Inc
Original Assignee
Canon Marketing Japan Inc
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 Marketing Japan Inc, Canon IT Solutions Inc filed Critical Canon Marketing Japan Inc
Priority to JP2012266630A priority Critical patent/JP5344658B2/en
Publication of JP2013140572A publication Critical patent/JP2013140572A/en
Application granted granted Critical
Publication of JP5344658B2 publication Critical patent/JP5344658B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Stored Programmes (AREA)

Description

本発明は、製品の検査を行うための画像処理プログラムの作成に関し、特に画像処理プログラムの作成に際して実行される画像処理の負荷を軽減することの可能な情報処理装置、その制御方法、及びプログラムに関する。   The present invention relates to creation of an image processing program for inspecting a product, and more particularly to an information processing apparatus capable of reducing the load of image processing executed when creating an image processing program, a control method thereof, and a program. .

従来、例えば、チップマウンターにおける基板や部品の位置決めや、出来上がった製品の検査などを目的として、カメラで撮影した検査対象の画像データを、一定のロジック(処理フロー)で画像処理する画像処理装置が広く用いられている。   2. Description of the Related Art Conventionally, for example, an image processing apparatus that performs image processing 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 processing apparatus, for example, a general-purpose type image processing apparatus equipped with a predetermined image processing logic, or a dedicated user that can construct a logic that meets the user's needs. There are types of image processing devices.

ここで、汎用タイプの画像処理装置は、画像処理のロジックを新規に構築する必要がないため、実際の製造工程等への導入に際してユーザの労力はかからないが、ユーザのニーズを完全に満たすロジックであることは少ない。一方、専用タイプの画像処理装置は、ユーザのニーズを完全に満たす画像処理のロジックを構築することが可能であるが、そのために画像処理のロジックを都度開発する必要があるため、多大な開発労力と開発期間、更には多大なコストがかかるものであった。   Here, the general-purpose type image processing apparatus does not require the construction of a new image processing logic, so it does not require the user's labor when introducing it into an actual manufacturing process, etc., but the logic completely satisfies the user's needs. There are few. On the other hand, a dedicated type image processing apparatus can construct image processing logic that completely satisfies the user's needs. For this reason, it is necessary to develop the image processing logic each time, so 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 plurality of image processing modules are registered in advance in a computer that develops logic, the 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

このような画像処理のロジックを構築する際に、画像処理のモジュールをGUI(Graphical User Interface)上でフローチャート形式に構築することで、画像処理のプログラムを生成するアプリケーションが存在する。このようなアプリケーションは、各画像処理のモジュールをドラッグ&ドロップ等でフローチャート形式に構築すると、各モジュールに対応するソースコードをフローチャートの順序に基づいて組み合わせ、画像処理のプログラムを生成するものである。   When constructing such image processing logic, there is an application that creates an image processing program by constructing an image processing module in a flowchart format on a GUI (Graphical User Interface). In such an application, when each image processing module is constructed in a flowchart format by drag and drop or the like, the source code corresponding to each module is combined based on the order of the flowchart to generate an image processing program.

モジュールをフローチャート形式に構築する際には、フローチャート(処理フロー)上でモジュールの追加、移動、削除、設定変更等を行う度に、出来上がったフローチャートの出力結果を表示させている。つまりユーザは、撮影装置から取り込んだ画像データやあらかじめ用意した画像データを基に、作成した画像処理プログラムのシミュレーションを行い、ユーザのニーズを満たすロジックが作成できたか否かを逐次確認しながら、進めることができるようになっている。   When a module is constructed in a flowchart format, the output result of the completed flowchart is displayed each time a module is added, moved, deleted, or changed in settings in the flowchart (processing flow). In other words, the user proceeds with the simulation of the created image processing program based on the image data captured from the image capturing device and the image data prepared in advance, and confirming whether or not the logic satisfying the user's needs has been created. Be able to.

しかしながら、フローチャートに変更を加える度にフローチャート全体の画像処理が実行されるため、元となる画像データの容量が大きい場合には処理負荷が高くなってしまう。特に、ラインセンサのような撮影装置で撮影されたフィルムやシート、ガラス、鉄板などの長尺物の画像データを使用する場合には画像データの容量が大きいので、処理負荷が高く、待ち時間が発生してしまう。これでは、円滑に画像処理プログラムを構築することが困難となってしまう。   However, since image processing of the entire flowchart is executed every time a change is made to the flowchart, the processing load increases if the volume of the original image data is large. In particular, when using image data of a long object such as a film, sheet, glass, or iron plate photographed by a photographing device such as a line sensor, the capacity of the image data is large, so the processing load is high and the waiting time is long. Will occur. This makes it difficult to construct an image processing program smoothly.

そこで、フローチャートに変更があっても画像処理を実行しないような仕組みが考えられるが、この場合、最終的な出力結果や途中経過(処理結果)がどうなるのかわからないまま、フローチャートを構築するので、妥当なフローチャートが構築できているのか否かを判定することが難しい。つまり、出力結果や処理結果を確認しながらフローチャートを構築しないと、プログラムの出来はユーザの経験に大きく左右される上、完全にユーザのニーズを満たすことができない可能性が高い。   Therefore, a mechanism that does not execute image processing even if there is a change in the flowchart can be considered, but in this case, the flowchart is constructed without knowing what the final output result or progress (processing result) will be. It is difficult to determine whether a simple flowchart has been constructed. In other words, if the flowchart is not constructed while checking the output result and the processing result, the result of the program is greatly influenced by the user's experience, and there is a high possibility that the user's needs cannot be completely satisfied.

また、フローチャート上のモジュールごとに当該モジュールまでの処理結果をサムネイル画像として表示することもある。最終的な出力結果である画像データを見ても、どのモジュールを調整すればよいのかわかりにくいため、画像処理の過程をモジュールごとにサムネイル画像として表示するようにしている。   In addition, for each module on the flowchart, the processing result up to the module may be displayed as a thumbnail image. Since it is difficult to know which module should be adjusted by looking at the final output image data, the image processing process is displayed as a thumbnail image for each module.

しかしながら、前述の通り、フローチャートに変更があっても画像処理を実行しないような仕組みを適用すると、このようなサムネイル画像も表示されなくなってしまうため、どのモジュールに問題があるのか特定することが困難となってしまう問題もある。   However, as described above, if a mechanism that does not execute image processing is applied even if there is a change in the flowchart, such thumbnail images will not be displayed, so it is difficult to identify which module has the problem. There is also a problem that becomes.

本発明は上記の課題を鑑みてなされたもので、本発明の目的は、所定の処理を実行可能な画像処理アイテムに対してユーザから処理フローを編集する操作を受け付ける度に実行される一連の画像処理の負荷を軽減することの可能な仕組みを提供することである
Series present invention has been made in view of the above problems, purpose of the present invention, which is executed every time receiving an operation to edit the processing flow from the user to the image processing executable items predetermined processing to provide a possible mechanism of the relief to Turkey the load of image processing.

上記の目的を達成するために、本発明の情報処理装置は、電子画像データに対して画像処理を実行する情報処理装置であって、所定の処理を実行可能な画像処理アイテムであって、ユーザから指定された処理順で処理フローを構成可能な画像処理アイテムに対して、ユーザから前記処理フローを編集する操作を受け付ける操作受付手段と、前記操作受付手段でユーザから前記処理フローを編集する操作を受け付ける度に、電子画像データに対して、前記処理フローを構成する画像処理アイテムに係る所定の処理を、前記処理順に基づいて実行する画像処理アイテム実行手段と、前記画像処理アイテム実行手段で前記画像処理アイテムに係る所定の処理が前記処理順に基づいて実行された場合に、前記操作受付手段で操作を受け付けた画像処理アイテムの実行の結果を表示する結果表示手段とを備え、前記画像処理アイテム実行手段は、前記操作受付手段で前記画像処理アイテムに対してユーザから前記処理フローを編集する操作を受け付けた場合には、前記処理フローを構成する画像処理アイテムに係る所定の処理のうち、前記操作受付手段で当該操作を受け付けた画像処理アイテムに係る所定の処理まで前記処理順に実行し、前記操作受付手段で操作を受け付けた画像処理アイテムよりも処理順が後の画像処理アイテムに係る所定の処理を実行しないことを特徴とする。また、上記の目的を達成するために、本発明の情報処理装置は、電子画像データに対して画像処理を実行する情報処理装置であって、所定の処理を実行可能な画像処理アイテムであって、ユーザから指定された処理順で処理フローを構成可能な画像処理アイテムに対して、ユーザから前記処理フローを編集する操作を受け付ける操作受付手段と、前記操作受付手段でユーザから前記処理フローを編集する操作を受け付けた画像処理アイテムに基づいて、前記処理フローにおいて基点となる画像処理アイテムを特定する画像処理アイテム特定手段と、前記操作受付手段でユーザから前記処理フローを編集する操作を受け付ける度に、電子画像データに対して、前記処理フローを構成する画像処理アイテムに係る所定の処理を、前記処理順に基づいて実行する画像処理アイテム実行手段とを備え、前記画像処理アイテム実行手段は、前記操作受付手段で前記画像処理アイテムに対してユーザから前記処理フローを編集する操作を受け付けた場合には、前記処理フローを構成する画像処理アイテムに係る所定の処理のうち、前記画像処理アイテム特定手段で特定された画像処理アイテムに係る所定の処理から当該特定された画像処理アイテムよりも処理順が後の画像処理アイテムに係る所定の処理を前記処理順に実行し、前記画像処理アイテム特定手段で特定された画像処理アイテムよりも処理順が前の画像処理アイテムに係る所定の処理を実行しないことを特徴とする。
In order to achieve the above object, an information processing apparatus according to the present invention is an information processing apparatus that performs image processing on electronic image data, and is an image processing item that can execute predetermined processing, and includes a user edits to configurable image processing item a processing flow in the order specified processing, and operation acceptance means from user chromatography the accepting an operation for editing the processing flow, the processing flow from the user by the operation acceptance means from And an image processing item execution unit that executes predetermined processing related to the image processing items constituting the processing flow on the electronic image data based on the processing order each time an operation is performed. When the predetermined processing related to the image processing item is executed based on the processing order, the image processing receives the operation by the operation receiving means And a result display means for displaying the results of execution of item, the image processing item execution means, when receiving an operation for editing the processing flow from the user to the image processing item by the operation accepting means Of the predetermined processing related to the image processing item constituting the processing flow, the operation receiving means executes the processing up to the predetermined processing related to the image processing item that has received the operation, and the operation receiving means performs the operation. A predetermined process related to an image processing item whose processing order is later than the received image processing item is not executed. In order to achieve the above object, an information processing apparatus of the present invention is an information processing apparatus that performs image processing on electronic image data, and is an image processing item that can execute predetermined processing. editing the image processing items that can be configured for the given processing order in the processing flow from the user, the operation acceptance means for accepting an operation for editing the processing flow from the user, the processing flow from the user by the operation reception means An image processing item specifying unit that specifies an image processing item that is a base point in the processing flow based on an image processing item that has received an operation to perform, and an operation for editing the processing flow from a user by the operation receiving unit , based on the electronic image data, predetermined processing according to the image processing items constituting the processing flow, the processing order And an image processing item execution means for executing Te, the image processing item execution means, when receiving an operation for editing the processing flow from the user to the image processing items in the operation acceptance means, the processing Image processing whose processing order is later than the specified image processing item from the predetermined processing related to the image processing item specified by the image processing item specifying unit among the predetermined processing related to the image processing item constituting the flow A predetermined process related to an item is executed in the order of the processing, and a predetermined process related to an image processing item whose processing order is earlier than the image processing item specified by the image processing item specifying unit is not executed.

以上説明したように、本発明によれば、画像処理アイテムに対してユーザから処理フローを編集する操作を受け付ける度に実行される画像処理の負荷を軽減することの可能な効果を奏する。
As described above, according to the present invention exhibits the possible effect of the light lessen Rukoto the load of image processing to be executed every time receiving an operation to edit the processing flow from the user to the image processing items.

また、本発明によれば、画像処理フローにおいて変更のあった画像処理アイテムから画像処理を実行し、変更のあった画像処理アイテムより前の実行済みの画像処理アイテムは実行しないので、画像処理プログラムの作成に際して実行される画像処理の負荷を軽減することの可能な効果を奏する。   In addition, according to the present invention, image processing is executed from an image processing item that has been changed in the image processing flow, and an executed image processing item before the changed image processing item is not executed. It is possible to reduce the load of image processing executed when creating the image.

本発明の実施形態における画像処理システムの一例を示す構成図である。It is a block diagram which shows an example of the image processing system in embodiment of this invention. 図1に示す情報処理装置110の内部のハードウェア構成の一例を示す構成図である。It is a block diagram which shows an example of the hardware constitutions inside the information processing apparatus 110 shown in FIG. 図1に示す画像入力コントローラ115fのハードウェア構成の一例を示す構成図である。It is a block diagram which shows an example of the hardware constitutions of the image input controller 115f shown in FIG. 図1に示す情報処理装置110のモジュール構成の一例を示す構成図である。It is a block diagram which shows an example of the module structure of the information processing apparatus 110 shown in FIG. 図4に示すモジュール・ソースコードマスタテーブル411とフラグ設定テーブル419の一例を示す構成図である。FIG. 5 is a configuration diagram showing an example of a module / source code master table 411 and a flag setting table 419 shown in FIG. 4. 図4に示す処理フロー・入出力パラメータテーブル412の一例を示す構成図である。FIG. 5 is a configuration diagram illustrating an example of a processing flow / input / output parameter table 412 illustrated in FIG. 4. 図4に示す処理履歴テーブル420の一例を示す構成図である。FIG. 5 is a configuration diagram illustrating an example of a processing history table 420 illustrated in FIG. 4. 図1に示す情報処理装置110による制御方法の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of the control method by the information processing apparatus 110 shown in FIG. 画像処理プロジェクト開発画面900の一例を示す構成図である。5 is a configuration diagram illustrating an example of an image processing project development screen 900. FIG. 図8のステップS104における「起動処理」の詳細な処理手順の一例を示すフローチャートである。FIG. 9 is a flowchart illustrating an example of a detailed processing procedure of “activation processing” in step S104 of FIG. 図8のステップS108における「追加処理」の詳細な処理手順の一例を示すフローチャートである。10 is a flowchart illustrating an example of a detailed processing procedure of “addition processing” in step S108 of FIG. 図8のステップS110における「変更処理」の詳細な処理手順の一例を示すフローチャートである。9 is a flowchart illustrating an example of a detailed processing procedure of “change processing” in step S110 of FIG. 8. 図8のステップS112における「移動処理」の詳細な処理手順の一例を示すフローチャートである。9 is a flowchart illustrating an example of a detailed processing procedure of “movement processing” in step S112 of FIG. 図8のステップS114における「削除処理」の詳細な処理手順の一例を示すフローチャートである。10 is a flowchart illustrating an example of a detailed processing procedure of “deletion processing” in step S114 of FIG. 8. 図8のステップS116等における「実行処理」の詳細な処理手順の一例を示すフローチャートである。9 is a flowchart illustrating an example of a detailed processing procedure of “execution processing” in step S116 and the like in FIG. 画像処理プロジェクト開発画面900の処理フロー描画領域902の一例を示す模式図である。6 is a schematic diagram illustrating an example of a processing flow drawing area 902 of an image processing project development screen 900. FIG. 図11のステップS308等における「探索実行処理」の詳細な処理手順の一例を示すフローチャートである。12 is a flowchart illustrating an example of a detailed processing procedure of “search execution processing” in step S308 of FIG. 図17のステップS801における「未実行探索処理」の詳細な処理手順の一例を示すフローチャートである。18 is a flowchart illustrating an example of a detailed processing procedure of “unexecuted search processing” in step S801 in FIG. 図17のステップS802における「実行フラグOFF処理」の詳細な処理手順の一例を示すフローチャートである。18 is a flowchart illustrating an example of a detailed processing procedure of “execution flag OFF processing” in step S802 of FIG. 図17のステップS804における「前半実行処理」の詳細な処理手順の一例を示すフローチャートである。18 is a flowchart illustrating an example of a detailed processing procedure of “first half execution processing” in step S804 of FIG. 図17のステップS805における「後半実行処理」の詳細な処理手順の一例を示すフローチャートである。18 is a flowchart illustrating an example of a detailed processing procedure of “second half execution processing” in step S805 of FIG. 図20のステップS1109等における「モジュール実行処理」の詳細な処理手順の一例を示すフローチャートである。21 is a flowchart illustrating an example of a detailed processing procedure of “module execution processing” in step S1109 and the like in FIG. 20. 図24及び図25における説明の前提となる処理フロー描画領域902及び処理フロー・入出力パラメータテーブル412の一例を示す模式図である。FIG. 26 is a schematic diagram illustrating an example of a processing flow drawing area 902 and a processing flow / input / output parameter table 412 that are the premise of the description in FIGS. 24 and 25. モジュールを新たに追加する場合の実行フラグの制御方法の一例を示す模式図である。It is a schematic diagram which shows an example of the control method of the execution flag in the case of adding a module newly. モジュールを新たに追加した場合の処理フロー・入出力パラメータテーブル412と、前半実行処理及び後半実行処理の一例を示す模式図である。It is a schematic diagram showing an example of a processing flow / input / output parameter table 412 and a first half execution process and a second half execution process when a module is newly added. 図27乃至図32における説明の前提となる処理フロー描画領域902及び処理フロー・入出力パラメータテーブル412の一例を示す模式図である。FIG. 33 is a schematic diagram illustrating an example of a processing flow drawing area 902 and a processing flow / input / output parameter table 412 that are the premise of the description in FIGS. 27 to 32; モジュールのパラメータを変更する場合の実行フラグの制御方法の一例を示す模式図である。It is a schematic diagram which shows an example of the control method of the execution flag in the case of changing the parameter of a module. モジュールのパラメータを変更する場合の処理フロー・入出力パラメータテーブル412と、前半実行処理及び後半実行処理の一例を示す模式図である。FIG. 10 is a schematic diagram illustrating an example of a processing flow / input / output parameter table 412 and a first half execution process and a second half execution process when changing a module parameter. モジュールを下に移動する場合の実行フラグの制御方法の一例を示す模式図である。It is a schematic diagram which shows an example of the control method of the execution flag in the case of moving a module down. モジュールを下に移動する場合の処理フロー・入出力パラメータテーブル412と、前半実行処理及び後半実行処理の一例を示す模式図である。It is a schematic diagram which shows an example of the process flow and input / output parameter table 412 in the case of moving a module down, and the first half execution process and the second half execution process. モジュールを削除する場合の実行フラグの制御方法の一例を示す模式図である。It is a schematic diagram which shows an example of the control method of the execution flag in the case of deleting a module. モジュールを削除する場合の処理フロー・入出力パラメータテーブル412と、前半実行処理及び後半実行処理の一例を示す模式図である。FIG. 10 is a schematic diagram illustrating an example of a processing flow / input / output parameter table 412 and a first half execution process and a second half execution process when a module is deleted. 後半実行処理で基点モジュールが使用する画像データの取得先の特定方法に関する一例を示す模式図である。It is a schematic diagram which shows an example regarding the identification method of the acquisition destination of the image data which a base point module uses in a latter half execution process. 第2の実施形態の、図8のステップS108における追加処理の詳細な処理手順を示すフローチャートである。It is a flowchart which shows the detailed process sequence of the additional process in FIG.8 S108 of 2nd Embodiment. 第2の実施形態の、図8のステップS110における「変更処理」の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of "change process" in FIG.8 S110 of 2nd Embodiment. 第2の実施形態の、図8のステップS112における「移動処理」の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of the "movement process" in FIG.8 S112 of 2nd Embodiment. 第2の実施形態の、図8のステップS114における「削除処理」の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of "deletion process" in FIG.8 S114 of 2nd Embodiment. 第2の実施形態の、図4に示すモジュール・ソースコードマスタテーブル411の一例を示す構成図である。It is a block diagram which shows an example of the module source code master table 411 shown in FIG. 4 of 2nd Embodiment. 前半実行処理後にモジュールを追加する場合の実行フラグの制御方法の一例を示す模式図である。It is a schematic diagram which shows an example of the control method of the execution flag in the case of adding a module after the first half execution process. 第3の実施形態の、図17のステップS804における「前半実行処理」の詳細な処理手順の一例を示すフローチャートである。18 is a flowchart illustrating an example of a detailed processing procedure of “first half execution processing” in step S804 in FIG. 17 according to the third embodiment. 第3の実施形態の、モジュールを下に移動する場合の処理フロー・入出力パラメータテーブル412と、前半実行処理及び後半実行処理の一例を示す模式図である。FIG. 16 is a schematic diagram illustrating a processing flow / input / output parameter table 412 and an example of a first half execution process and a second half execution process when a module is moved down according to the third embodiment. 第3の実施形態の、モジュールを削除する場合の処理フロー・入出力パラメータテーブル412と、前半実行処理及び後半実行処理の一例を示す模式図である。FIG. 16 is a schematic diagram illustrating an example of a processing flow / input / output parameter table 412 and a first half execution process and a second half execution process when a module is deleted according to the third embodiment.

以下、図面を参照しながら、本発明の実施の形態について説明する。図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. FIG. 1 is a configuration diagram showing an example of a schematic configuration of an image processing system 100 according to an embodiment of the present invention. As shown in FIG. 1, the image processing 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, and an inspection. 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 processing system 100. Here, in the present embodiment, an example in which the information processing apparatus 110 is applied as an apparatus that supports development of an image processing program that operates on the information processing apparatus introduced in an actual manufacturing process will be described. However, the present invention is not limited to this, and for example, a mode of application as an information processing apparatus introduced in an actual manufacturing process is also included in the present invention.

情報処理装置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 lighting device controller 150, and the external device controller 170 connected via a predetermined cable or the like, so that the image processing system 100 includes the information processing device 110. 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 processing 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 configuration diagram illustrating an example of a hardware configuration of the information processing apparatus 110 illustrated in FIG. 1. 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 processing. 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 processes described later, and various types used when performing processes 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は、コントローラ上で演算処理が可能なハードウェアを搭載しているものであってもよい。さらに、通信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. 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 processing 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 configuration diagram illustrating an example of a functional configuration of the information processing apparatus 110 illustrated in FIG. 1.

情報処理装置110には、図4に示すように、テーブル記憶部410、フロー作成部420、ソースコード変換部430、コンパイル部440、(検証)実行部450、データ保存部460、及び、データ入力・出力部470の各機能構成が構成される。また、テーブル記憶部410には、モジュール・ソースコードマスタテーブル411、処理フロー・入出力パラメータテーブル412、ソースコードテーブル413、オブジェクトコードテーブル414、プロジェクトファイルテーブル415、条件式テーブル416、ノード処理フラグテーブル417、フラグ設定テーブル418、及び処理履歴テーブル419が記憶されている。   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 includes 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, a project file table 415, a conditional expression table 416, and a node processing flag table. 417, a flag setting table 418, and a processing history table 419 are 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のモジュール・ソースコードマスタテーブルT500は、モジュール・ソースコードマスタテーブル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. The module / source code master table T500 in FIG. 5 is a configuration diagram showing an example of the configuration of the module / source code master table 411.

図5に示すように、モジュール・ソースコードマスタテーブルT500には、インデックス(Index)501ごとに、画像処理に係る処理モジュール502と、各処理モジュールに対応するソースコード503、またその処理モジュールを実現するためのモジュールに対する初期値504と処理主体505が関連付けられている。このソースコードは、ソースコード変換部430で処理対象のモジュールをソースコードに変換する際に用いられるものである。   As shown in FIG. 5, in the module / source code master table T500, for each index 501, a processing module 502 related to image processing, a source code 503 corresponding to each processing module, and its processing module are realized. 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 processed into a source code.

次に、図6を参照して、図4のテーブル記憶部410に記憶される処理フロー・入出力パラメータテーブル412について説明する。図6に示す処理フロー・入出力パラメータテーブルT600は、図4に示す処理フロー・入出力パラメータテーブル412の構成の一例を示す構成図である。図6に示すように、処理フロー・入出力パラメータテーブルT600は、インデックス(Index)601ごとに、各モジュール(画像処理アイテム)の処理順である順序602と、各モジュールのモジュール名603と、各モジュールにおける入力パラメータ604及び出力パラメータ605と、各モジュールの実行要否を判定するための実行フラグ606(実行済み情報)と、分岐処理や反復処理の場合に参照する処理フロー・入出力パラメータテーブル412を示す参照先テーブル607と、各モジュールにおける画像処理結果の画像データを示すサムネイル608とが関連付けられている。入力パラメータ604は、各モジュールで使用する各種のデータが格納される画像バッファや記憶領域等を示す。出力パラメータ605は、各モジュールが実行された際の結果画像バッファや各種の処理に用いた閾値等を記憶する記憶領域を示す。   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. A processing flow / input / output parameter table T600 illustrated in FIG. 6 is a configuration diagram illustrating an example of a configuration of the processing flow / input / output parameter table 412 illustrated in FIG. As shown in FIG. 6, the processing flow / input / output parameter table T600 includes, for each index 601, an order 602 that is a processing order of each module (image processing item), a module name 603 of each module, Input parameters 604 and output parameters 605 in the module, an execution flag 606 (executed information) for determining whether or not each module needs to be executed, and a processing flow / input / output parameter table 412 referred to in the case of branch processing or iterative processing And a thumbnail 608 indicating the image data of the image processing result in each module are associated with each other. An input parameter 604 indicates an image buffer, a storage area, or the like in which various data used in each module is stored. An output parameter 605 indicates a storage area for storing a result image buffer when each module is executed, a threshold value used for various processes, and the like.

なお、図6に示す処理フロー・入出力パラメータテーブルT600におけるインデックス(Index)601と、図5に示すモジュール・ソースコードマスタテーブルT500におけるインデックス(Index)501とは特に対応させていないが、相互に対応させて各テーブルを作成する形態であってもよい。なお、処理フロー・入出力パラメータテーブルT600において、インデックス(Index)601の「2」は反復処理の一例であり、「4」は分岐処理の一例である。   The index (Index) 601 in the processing flow / input / output parameter table T600 shown in FIG. 6 and the index (Index) 501 in the module / source code master table T500 shown in FIG. It may be a form in which each table is created in correspondence. In the processing flow / input / output parameter table T600, “2” of the index 601 is an example of an iterative process, and “4” is an example of a branch process.

また、処理フロー・入出力パラメータテーブルT610(ループテーブル)は反復処理を行う場合に参照され、処理フロー・入出力パラメータテーブルT620(分岐テーブル)は分岐処理を行う場合に参照される。処理フロー・入出力パラメータテーブルT610及び処理フロー・入出力パラメータテーブルT620の構成は前述した処理フロー・入出力パラメータテーブルT600と同様である。なお、処理フロー・入出力パラメータテーブルT620は、判定が真であった場合に参照される処理フロー・入出力パラメータテーブルT620−1(分岐テーブル(THEN))と、判定が真でなかった場合に参照される処理フロー・入出力パラメータテーブルT620−2(分岐テーブル(ELSE))に分かれている。判定結果によって、参照する処理フロー・入出力パラメータテーブル412を決定する。   The processing flow / input / output parameter table T610 (loop table) is referred to when performing iterative processing, and the processing flow / input / output parameter table T620 (branch table) is referred to when performing branch processing. The configuration of the processing flow / input / output parameter table T610 and the processing flow / input / output parameter table T620 is the same as that of the processing flow / input / output parameter table T600 described above. Note that the processing flow / input / output parameter table T620 is a processing flow / input / output parameter table T620-1 (branch table (THEN)) that is referred to when the determination is true, and when the determination is not true. The processing flow / input / output parameter table T620-2 (branch table (ELSE)) is referred to. The processing flow / input / output parameter table 412 to be referred to is determined based on the determination result.

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

フラグ設定テーブル418は、図5のフラグ設定テーブルT510に構成の一例を示す。図5に示すように、フラグ設定テーブルT510は、各モジュールの追加、変更、削除、設定変更等が行われる度に処理フロー(画像処理フロー)を自動実行するか否かを示す自動実行フラグ511と、自動実行する場合の実行モードを示す実行モード512と、自動実行された場合にサムネイル画像を表示するか否かを示すサムネイル表示フラグ513から構成される。実行モード512は、「前半実行」か「後半実行」が格納できる。自動実行フラグ511及びサムネイル表示フラグ513は「ON」か「OFF」が格納される。   The flag setting table 418 shows an example of the configuration in the flag setting table T510 of FIG. As shown in FIG. 5, the flag setting table T510 includes an automatic execution flag 511 indicating whether or not to automatically execute a processing flow (image processing flow) every time each module is added, changed, deleted, or changed in setting. And an execution mode 512 indicating an execution mode in the case of automatic execution, and a thumbnail display flag 513 indicating whether or not to display a thumbnail image in the case of automatic execution. The execution mode 512 can store “first half execution” or “second half execution”. The automatic execution flag 511 and the thumbnail display flag 513 store “ON” or “OFF”.

次に、図7を参照して、図4のテーブル記憶部410に記憶される処理履歴テーブル419について説明する。処理履歴テーブル419は、画像処理が実行された場合のモジュールの実行順を示すテーブルである。図7の処理履歴テーブルT700は、処理履歴テーブル419の構成の一例を示す構成図である。図7に示すように、処理履歴テーブルT700には、インデックス(Index)701ごとに、各モジュールのモジュール名702と、各モジュールにおける画像処理結果の画像データである処理結果画像703が関連付けられている。   Next, the processing history table 419 stored in the table storage unit 410 of FIG. 4 will be described with reference to FIG. The processing history table 419 is a table showing the execution order of modules when image processing is executed. The processing history table T700 of FIG. 7 is a configuration diagram illustrating an example of the configuration of the processing history table 419. As shown in FIG. 7, in the processing history table T700, for each index 701, a module name 702 of each module and a processing result image 703 that is image data of an image processing result in each module are associated. .

続いて、図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の作成等と、処理フロー描画領域(後述する図9の902)へのモジュールの描画を行う機能を有する。   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 a processing flow drawing area (902 in FIG. 9 described later). It has a function to draw a module in

ソースコード変換部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 processing for images but also processing for external devices including pre-processing for acquiring images and post-processing for outputting processing results. 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 this embodiment, during the process flow creation, debugging / compilation that enables step execution at the source code level is performed, and release / compilation that generates a file that can be used online is performed when data is saved. Do. 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に記憶されているオブジェクトコードを実行し、処理結果表示領域(後述する図9の906)と処理フロー・入出力パラメータテーブル412を更新する機能を有する。   The (verification) execution unit 450 executes the object code stored in the object code table 414 created by the compiling unit 440, and displays a processing result display area (906 in FIG. 9 described later) and a processing flow / input / output parameter table. 412 is updated.

データ保存部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によって実行される画像処理プログラム作成のための一連の処理手順について説明する。図8は、情報処理装置110のCPU111によって行われる、一連の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, a series of processing procedures for creating an image processing program executed by the information processing apparatus 110 will be described. FIG. 8 is a flowchart illustrating an example of a series of processing procedures performed by the CPU 111 of the information processing apparatus 110. 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.

まず、ステップS101において、情報処理装置110のCPU111は、例えば、入力装置120からの入力指示に基づいて、図9に示す画像処理システムの開発を行うための画像処理プロジェクト開発画面900をディスプレイ装置130に表示する処理を行う。(操作受付手段)   First, in step S101, the CPU 111 of the information processing apparatus 110 displays an image processing project development screen 900 for developing the image processing system shown in FIG. 9 based on an input instruction from the input apparatus 120, for example. Process to be displayed. (Operation acceptance means)

図9は、画像処理プロジェクト開発画面900の一例を示す構成図である。図9に示す画像処理プロジェクト開発画面900には、利用可能な処理ユニット(即ち、「カメラ取込」等の画像処理に係る各モジュール、画像処理アイテム)を表示する処理モジュール一覧901と、画像処理の実行順序(即ち、各モジュールの実行順序)をフローチャート形式で処理フロー(画像処理フロー)を描画する処理フロー描画領域902と、各画像処理(即ち、各モジュールの処理)で実行した結果画像を表示するサムネイル画像表示領域903と、処理フロー全体の結果画像を表示する最終結果画像表示領域912と、メニューバー910には画像処理プログラムの開発を終了する際に操作される保存終了ボタン911等と、ツールバー907には処理フロー全体を実行する実行ボタン908や、処理フロー上でモジュールの追加、移動、削除、設定変更が選択されたときに各モジュールを実行するかどうかを選択する自動実行フラグボタン909等が設けられている。また、図9に示す画像処理プロジェクト開発画面900には、例えば、新規モジュールの登録時もしくはパラメータの編集時等に、処理フロー描画領域902のフローチャートの各ステップ(即ち、各モジュール)で利用するパラメータを設定するパラメータ編集画面904と、そのパラメータの設定で実行された結果画像を表示する調整結果画像表示領域905が表示される。図9に示す例では、パラメータ編集画面904には、「二値化」のモジュールに係るパラメータを設定する画面が示されている。以上が、画像処理プロジェクト開発画面900の構成の一例の説明である。   FIG. 9 is a configuration diagram illustrating an example of the image processing project development screen 900. The image processing project development screen 900 shown in FIG. 9 includes a processing module list 901 that displays available processing units (that is, modules related to image processing such as “camera capture”, image processing items), and image processing. A processing flow drawing area 902 for drawing a processing flow (image processing flow) in a flowchart format, and a result image executed in each image processing (that is, processing of each module). A thumbnail image display area 903 to be displayed, a final result image display area 912 for displaying a result image of the entire processing flow, a menu bar 910 having a save end button 911 operated when the development of the image processing program is ended, and the like. The toolbar 907 includes an execution button 908 for executing the entire processing flow, and a module on the processing flow. Add, move, delete, etc. the automatic execution flag button 909 for selecting whether to execute each module when the setting change is selected is provided. Further, the image processing project development screen 900 shown in FIG. 9 includes parameters used in each step (that is, each module) of the flowchart of the processing flow drawing area 902 when, for example, a new module is registered or a parameter is edited. A parameter editing screen 904 for setting the image and an adjustment result image display area 905 for displaying the result image executed by setting the parameter are displayed. In the example illustrated in FIG. 9, the parameter editing screen 904 shows a screen for setting parameters relating to the “binarization” module. The above is an example of the configuration of the image processing project development screen 900.

図8の説明に戻る。ステップS101の処理が終了すると、CPU111は処理をステップS102に進める。ステップS102では、情報処理装置110のCPU111は、入力装置120からの入力指示に基づいて、ステップS101で表示された画像処理プロジェクト開発画面900を用いて新規に画像処理プログラムを開発するか否かを判定する。新規に画像処理プログラムを開発すると判定された場合には、ステップS104に処理を進め、そうでない場合には、ステップS103に処理を進める。   Returning to the description of FIG. When the process of step S101 ends, the CPU 111 advances the process to step S102. In step S102, the CPU 111 of the information processing apparatus 110 determines whether or not to newly develop an image processing program using the image processing project development screen 900 displayed in step S101 based on an input instruction from the input device 120. judge. If it is determined that a new image processing program is to be developed, the process proceeds to step S104. If not, the process proceeds to step S103.

ステップS103に進むと、情報処理装置110のCPU111は、外部メモリ116に保存されているプロジェクトファイルテーブル415を読み出して、これをRAM112に記憶する。つまり、既に作成している処理フローの編集を行うことになる。   In step S 103, the CPU 111 of the information processing apparatus 110 reads the project file table 415 stored in the external memory 116 and stores it in the RAM 112. That is, the processing flow that has already been created is edited.

ステップS104では、情報処理装置110のCPU111は、ステップS103で読み出した処理フローを実行する処理を行う。起動処理の詳細は、後述する図10に示す。   In step S104, the CPU 111 of the information processing apparatus 110 performs processing for executing the processing flow read in step S103. Details of the activation process are shown in FIG.

ステップS105では、情報処理装置110のCPU111は、入力装置120からの入力指示(具体的には、ステップS101で表示された画像処理プロジェクト開発画面900に対する入力指示)があったか否かを判定する。入力指示があったと判定した場合には、ステップS106に処理を進め、そうでない場合には、入力指示があるまで待機する。   In step S105, the CPU 111 of the information processing apparatus 110 determines whether or not there is an input instruction from the input apparatus 120 (specifically, an input instruction for the image processing project development screen 900 displayed in step S101). If it is determined that there is an input instruction, the process proceeds to step S106. If not, the process waits until there is an input instruction.

ステップS106に進むと、情報処理装置110のCPU111は、入力装置120から受け付けた入力指示に基づいて、選択された処理内容の判定処理を行う。このステップS106で判定される処理内容としては、本例では、「追加処理」、「変更処理」、「移動処理」、「削除処理」、「実行処理」、「動作設定処理」、「保存処理」である。なお、ここで挙げた処理内容は一例を示したものであり、その他の処理内容をステップS106で判定することも勿論可能である。   In step S106, the CPU 111 of the information processing apparatus 110 performs a process for determining the selected process content based on the input instruction received from the input apparatus 120. In this example, the processing contents determined in step S106 are “addition processing”, “change processing”, “move processing”, “deletion processing”, “execution processing”, “operation setting processing”, “save processing”. Is. Note that the processing content given here is an example, and it is of course possible to determine other processing content in step S106.

ここで、ステップS106の判定処理では、CPU111は、例えば、図9に示す画像処理プロジェクト開発画面900において以下の入力がなされることによって、上述した各処理を判定するようにしている。   Here, in the determination process of step S106, the CPU 111 determines each process described above by making the following inputs on the image processing project development screen 900 shown in FIG. 9, for example.

まず、図9に示す処理モジュール一覧901からいずれかのモジュール(画像処理アイテム)が選択され、処理フロー描画領域902の処理フローシーケンスの任意の位置にドラッグ&ドロップされると、情報処理装置110のCPU111は、モジュールの「追加処理」のイベントであると判定する。また、処理フロー描画領域902に既に登録されているモジュールがユーザからの操作によって指定され、パラメータ編集画面904が表示されると、情報処理装置110のCPU111は、モジュールのパラメータの「変更処理」のイベントであると判定する。また、処理フロー描画領域902に既に登録されているモジュールが他のモジュールの間にドラッグ&ドロップされると、情報処理装置110のCPU111は、モジュールの「移動処理」のイベントであると判定する。また、処理フロー描画領域902に既に登録されているモジュールを選択し、削除キーが押下される、若しくはあるモジュールを指定して不図示のポップアップメニューを表示させ、削除メニュー項目が選択(クリック指示)されると、情報処理装置110のCPU111は、モジュールの「削除処理」のイベントであると判定する。また、画像処理プロジェクト開発画面900の実行ボタン908が選択されると、情報処理装置110のCPU111は、処理フロー描画領域902に設定された処理フローの「実行処理」のイベントであると判定する。また、ツールバー907の「動作設定」が選択されると、情報処理装置110のCPU111は、「動作設定処理」のイベントであると判定する。また、メニューバー910の保存終了ボタン911やツールバー907の「保存」が選択されると、情報処理装置110のCPU111は、処理フロー描画領域902に設定された処理フローの「保存処理」のイベントであると判定する。   First, when any module (image processing item) is selected from the processing module list 901 shown in FIG. 9 and dragged and dropped to an arbitrary position in the processing flow sequence in the processing flow drawing area 902, the information processing apparatus 110. The CPU 111 determines that the event is an “addition process” of the module. Further, when a module already registered in the processing flow drawing area 902 is designated by a user operation and the parameter editing screen 904 is displayed, the CPU 111 of the information processing apparatus 110 performs “change processing” of the module parameter. Judged to be an event. When a module already registered in the processing flow drawing area 902 is dragged and dropped between other modules, the CPU 111 of the information processing apparatus 110 determines that the event is a “movement process” of the module. Also, a module already registered in the processing flow drawing area 902 is selected, and the delete key is pressed, or a certain module is specified to display a pop-up menu (not shown), and the delete menu item is selected (click instruction). Then, the CPU 111 of the information processing apparatus 110 determines that the event is a “deletion process” of the module. When the execution button 908 on the image processing project development screen 900 is selected, the CPU 111 of the information processing apparatus 110 determines that the event is an “execution process” event of the process flow set in the process flow drawing area 902. When “operation setting” on the toolbar 907 is selected, the CPU 111 of the information processing apparatus 110 determines that the event is “operation setting processing”. When the save end button 911 on the menu bar 910 or “save” on the tool bar 907 is selected, the CPU 111 of the information processing apparatus 110 uses the “save process” event of the process flow set in the process flow drawing area 902. Judge that there is.

なお、本実施形態ではこのようにして処理内容の判定を行うようにしているが、これは一例であり、例えばツールバー907に「新規追加」などの処理内容に応じたアイコン等の機能を設けてもよく、上述した形態に限定されるものではない。   In this embodiment, the processing content is determined in this way, but this is an example. For example, the toolbar 907 is provided with a function such as an icon corresponding to the processing content such as “add new”. The present invention is not limited to the above-described form.

続いて、ステップS107において、情報処理装置110のCPU111は、ステップS106で判定した処理内容が、モジュールの「追加処理」であるか否かを判定する。「追加処理」であると判定した場合には、ステップS108に処理を進め、そうでない場合には、ステップS109に処理を進める。   Subsequently, in step S <b> 107, the CPU 111 of the information processing apparatus 110 determines whether the processing content determined in step S <b> 106 is “addition processing” of the module. If it is determined that the process is “additional processing”, the process proceeds to step S108; otherwise, the process proceeds to step S109.

ステップS108では、情報処理装置110のCPU111は、選択されたモジュールの追加処理を行う(変更受付手段)。追加処理の詳細は、後述する図11に示す。そして、ステップS108の処理が終了すると、ステップS105に戻り、入力装置120から次の入力指示があるまで待機する。   In step S108, the CPU 111 of the information processing apparatus 110 performs addition processing for the selected module (change accepting unit). Details of the addition processing are shown in FIG. When the process of step S108 is completed, the process returns to step S105, and waits for a next input instruction from the input device 120.

ステップS109では、情報処理装置110のCPU111は、ステップS106で判定した処理内容が、モジュールのパラメータの「変更処理」であるか否かを判定する。「変更処理」であると判定した場合には、ステップS110に処理を進め、そうでない場合には、ステップS111に処理を進める。   In step S <b> 109, the CPU 111 of the information processing apparatus 110 determines whether the processing content determined in step S <b> 106 is a module parameter “change processing”. If it is determined that the process is “change processing”, the process proceeds to step S110. If not, the process proceeds to step S111.

ステップS110では、情報処理装置110のCPU111は、選択されたモジュールのパラメータの変更処理を行う(変更受付手段)。変更処理の詳細は、後述する図12に示す。そして、ステップS110の処理が終了すると、ステップS105に戻り、入力装置120から次の入力指示があるまで待機する。   In step S110, the CPU 111 of the information processing apparatus 110 performs a parameter changing process for the selected module (change receiving unit). Details of the change processing are shown in FIG. Then, when the process of step S110 is completed, the process returns to step S105, and waits for a next input instruction from the input device 120.

ステップS111では、情報処理装置110のCPU111は、ステップS106で判定した処理内容が、モジュールの「移動処理」であるか否かを判定する。「移動処理」であると判定した場合には、ステップS112に処理を進め、そうでない場合には、ステップS113に処理を進める。   In step S111, the CPU 111 of the information processing apparatus 110 determines whether or not the processing content determined in step S106 is a “movement process” of the module. If it is determined that the process is “move process”, the process proceeds to step S112. If not, the process proceeds to step S113.

ステップS112では、情報処理装置110のCPU111は、選択されたモジュールの移動処理を行う(変更受付手段)。移動処理の詳細は、後述する図13に示す。そして、ステップS112の処理が終了すると、ステップS105に戻り、入力装置120から次の入力指示があるまで待機する。   In step S112, the CPU 111 of the information processing apparatus 110 performs a movement process for the selected module (change accepting unit). Details of the movement process are shown in FIG. Then, when the process of step S112 is completed, the process returns to step S105, and waits for a next input instruction from the input device 120.

ステップS113では、情報処理装置110のCPU111は、ステップS106で判定した処理内容が、モジュールの「削除処理」であるか否かを判定する。「削除処理」であると判定した場合には、ステップS114に処理を進め、そうでない場合には、ステップS115に処理を進める。   In step S113, the CPU 111 of the information processing apparatus 110 determines whether or not the processing content determined in step S106 is a “deletion process” of the module. If it is determined that the process is “deletion process”, the process proceeds to step S114. If not, the process proceeds to step S115.

ステップS114では、情報処理装置110のCPU111は、選択されたモジュールの削除処理を行う(変更受付手段)。削除処理の詳細は、後述する図14に示す。そして、ステップS114の処理が終了すると、ステップS105に戻り、入力装置120から次の入力指示があるまで待機する。   In step S114, the CPU 111 of the information processing apparatus 110 performs a deletion process for the selected module (change accepting unit). Details of the deletion process are shown in FIG. When the process of step S114 ends, the process returns to step S105, and waits for a next input instruction from the input device 120.

ステップS115では、情報処理装置110のCPU111は、ステップS106で判定した処理内容が、処理フローの「実行処理」であるか否かを判定する。「実行処理」であると判定された場合には、ステップS116に処理を進め、そうでない場合には、ステップS117に処理を進める。   In step S115, the CPU 111 of the information processing apparatus 110 determines whether the processing content determined in step S106 is “execution processing” of the processing flow. If it is determined that the process is “execution process”, the process proceeds to step S116; otherwise, the process proceeds to step S117.

ステップS116では、情報処理装置110のCPU111は、処理フロー描画領域902に設定された処理フローの実行処理を行う。実行処理の詳細は、後述する図15に示す。そして、ステップS116の処理が終了すると、ステップS105に戻り、入力装置120から次の入力指示があるまで待機する。   In step S <b> 116, the CPU 111 of the information processing apparatus 110 performs an execution process of the process flow set in the process flow drawing area 902. Details of the execution process are shown in FIG. Then, when the process of step S116 is completed, the process returns to step S105, and waits for a next input instruction from the input device 120.

ステップS117では、情報処理装置110のCPU111は、ステップS106で判定した処理内容が、処理フローの「動作設定処理」であるか否かを判定する。「動作設定処理」であると判定された場合には、ステップS118に処理を進め、そうでない場合には、ステップS119に処理を進める。   In step S117, the CPU 111 of the information processing apparatus 110 determines whether or not the processing content determined in step S106 is an “operation setting process” in the processing flow. If it is determined to be “operation setting processing”, the process proceeds to step S118; otherwise, the process proceeds to step S119.

ステップS118では、情報処理装置110のCPU111は、処理フローの動作設定を受け付ける。特に、フラグ設定テーブル418に格納する設定を受け付ける。不図示の設定受付画面を表示して、ユーザから設定内容の入力を受け付けてもよいし、他の方法でもよい。受け付けた内容に基づいて、フラグ設定テーブル418を更新する。そして、ステップS118の処理が終了すると、ステップS105に戻り、入力装置120から次の入力指示があるまで待機する。   In step S118, the CPU 111 of the information processing apparatus 110 accepts an operation setting for the processing flow. In particular, the setting stored in the flag setting table 418 is accepted. A setting reception screen (not shown) may be displayed to accept input of setting contents from the user, or another method may be used. Based on the received contents, the flag setting table 418 is updated. When the process of step S118 ends, the process returns to step S105, and waits for a next input instruction from the input device 120.

ステップS119では、情報処理装置110のCPU111は、ステップS106で判定した処理内容が、処理フローの「保存処理」であるか否かを判定する。「保存処理」であると判定された場合には、ステップS120に処理を進め、そうでない場合には、ステップS105に処理を戻す。   In step S119, the CPU 111 of the information processing apparatus 110 determines whether the processing content determined in step S106 is “save processing” in the processing flow. If it is determined to be “save processing”, the process proceeds to step S120, and if not, the process returns to step S105.

ステップS120では、情報処理装置110のCPU111は、画像処理プロジェクト開発画面900で設定された内容の保存処理を行う。つまり、RAM112に展開されているプロジェクトファイルテーブル415を外部メモリ116に保存する。そして、ステップS120の処理が終了すると、画像処理プロジェクト開発画面900を終了する。   In step S <b> 120, the CPU 111 of the information processing apparatus 110 performs a storage process for the contents set on the image processing project development screen 900. That is, the project file table 415 expanded in the RAM 112 is stored in the external memory 116. Then, when the process of step S120 ends, the image processing project development screen 900 ends.

次に、図10を参照して図8のステップS104の「起動処理」の詳細について説明する。図10は、情報処理装置110のCPU111によって行われる、「起動処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “start-up process” in step S104 in FIG. 8 will be described with reference to FIG. FIG. 10 is a flowchart illustrating an example of a “start-up process” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS201では、情報処理装置110のCPU111は、マスタ画像があるか否かを判定する。マスタ画像はカメラ140からあらかじめ取り込んだ画像データであり、外部メモリ116に記憶されている。マスタ画像があると判定された場合には、ステップS202に処理を進め、そうでない場合には、ステップS203に処理を進める。   In step S201, the CPU 111 of the information processing apparatus 110 determines whether there is a master image. The master image is image data captured in advance from the camera 140 and is stored in the external memory 116. If it is determined that there is a master image, the process proceeds to step S202. If not, the process proceeds to step S203.

ステップS202では、情報処理装置110のCPU111は、外部メモリ116に記憶されたマスタ画像を取得し、RAM112に展開する。一方、ステップS203では、情報処理装置110のCPU111は、マスタ画像がないので、カメラ140に対して検査対象181の撮影を指示し、撮影された画像データを受信して、RAM203に展開する。   In step S <b> 202, the CPU 111 of the information processing apparatus 110 acquires a master image stored in the external memory 116 and develops it in the RAM 112. On the other hand, in step S <b> 203, since there is no master image, the CPU 111 of the information processing apparatus 110 instructs the camera 140 to capture the inspection object 181, receives the captured image data, and develops it in the RAM 203.

ステップS204では、情報処理装置110のCPU111は、自動実行するか否かを判定する。具体的には、自動実行フラグ511に「ON」が格納されているか否かを判定する。「ON」が格納されていれば自動実行を行い、「OFF」が格納されていれば自動実行を行わない。自動実行をすると判定された場合には、ステップS205に処理を進め、そうでない場合には、起動処理を終了し、呼び出し元に処理を戻す。   In step S204, the CPU 111 of the information processing apparatus 110 determines whether to execute automatically. Specifically, it is determined whether or not “ON” is stored in the automatic execution flag 511. If “ON” is stored, automatic execution is performed, and if “OFF” is stored, automatic execution is not performed. If it is determined that automatic execution is to be performed, the process proceeds to step S205. If not, the activation process is terminated and the process returns to the caller.

ステップS205では、情報処理装置110のCPU111は、処理フロー描画領域902の処理フロー全体を実行する(画像処理アイテム実行手段)。実行処理の詳細は、後述する図15に示す。実行処理を終了したら起動処理を終了し、呼び出し元に処理を戻す。   In step S205, the CPU 111 of the information processing apparatus 110 executes the entire processing flow of the processing flow drawing area 902 (image processing item execution means). Details of the execution process are shown in FIG. When the execution process ends, the startup process ends, and the process returns to the caller.

次に、図11を参照して図8のステップS108の「追加処理」の詳細について説明する。図11は、情報処理装置110のCPU111によって行われる、「追加処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “addition process” in step S108 of FIG. 8 will be described with reference to FIG. FIG. 11 is a flowchart illustrating an example of a processing procedure of “addition processing” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS301では、情報処理装置110のCPU111は、ステップS106において処理モジュール一覧901で選択されたモジュールを特定する。そして、ステップS302では、情報処理装置110のCPU111は、ステップS106において指定された、モジュールの追加先を特定する。なお、ステップS301のモジュールの特定処理とステップS302の追加先の特定処理との処理の順番を、逆にする形態であってもよい。   In step S301, the CPU 111 of the information processing apparatus 110 identifies the module selected in the processing module list 901 in step S106. In step S302, the CPU 111 of the information processing apparatus 110 identifies the module addition destination specified in step S106. Note that the order of the module specifying process in step S301 and the adding destination specifying process in step S302 may be reversed.

ステップS303では、情報処理装置110のCPU111は、処理フロー描画領域902に描画(表示)されている処理フローに、特定したモジュールを追加し、処理フロー描画領域902を再描画(再表示)する処理を行う。   In step S303, the CPU 111 of the information processing apparatus 110 adds the identified module to the processing flow drawn (displayed) in the processing flow drawing area 902, and redraws (redisplays) the processing flow drawing area 902. I do.

ステップS304では、情報処理装置110のCPU111は、ステップS302で特定したモジュールの追加処理に伴って、処理フロー・入出力パラメータテーブル412の更新を行う。例えば、図23に示す処理フローと処理フロー・入出力パラメータテーブルT600があった場合に、図24に示すように「二値化」モジュールを新しく追加するとする。このときに、「二値化」モジュールは、「ループ」モジュールと「ラベリング」モジュールの間に挿入する形で追加するので、図25に示す処理フロー・入出力パラメータテーブルT600の通りに更新する。具体的には、モジュール・ソースコードマスタテーブル411で得られた情報を基に、「U00003:二値化」を追加し、INDEX601と順序602を振り直す。入力パラメータ604と出力パラメータ605を設定し直す。そして、「二値化」モジュールのレコードの実行フラグ606に「ON」を格納する。なお、このステップでは、他の実行フラグ606は更新しない。   In step S304, the CPU 111 of the information processing apparatus 110 updates the processing flow / input / output parameter table 412 in accordance with the module addition processing specified in step S302. For example, when the processing flow and the processing flow / input / output parameter table T600 shown in FIG. 23 exist, a “binarization” module is newly added as shown in FIG. At this time, the “binarization” module is added so as to be inserted between the “loop” module and the “labeling” module. Therefore, the “binarization” module is updated as shown in the processing flow / input / output parameter table T600 shown in FIG. Specifically, “U00003: binarization” is added based on the information obtained from the module / source code master table 411, and the INDEX 601 and the order 602 are reassigned. Reset the input parameters 604 and output parameters 605. Then, “ON” is stored in the execution flag 606 of the record of the “binarization” module. In this step, the other execution flags 606 are not updated.

ステップS305では、情報処理装置110のCPU111は、自動実行するか否かを判定する。具体的には、自動実行フラグ511に「ON」が格納されているか否かを判定する。「ON」が格納されていれば自動実行を行い、「OFF」が格納されていれば自動実行を行わない。自動実行をすると判定された場合には、ステップS306に処理を進め、そうでない場合には、追加処理を終了し、呼び出し元に処理を戻す。   In step S305, the CPU 111 of the information processing apparatus 110 determines whether to execute automatically. Specifically, it is determined whether or not “ON” is stored in the automatic execution flag 511. If “ON” is stored, automatic execution is performed, and if “OFF” is stored, automatic execution is not performed. If it is determined that automatic execution is to be performed, the process proceeds to step S306. If not, the additional process is terminated and the process returns to the caller.

ステップS306では、情報処理装置110のCPU111は、探索実行処理を行う。探索実行処理では、変更があったモジュールまでを再実行、または変更があったモジュールから再実行するための処理を行う(画像処理アイテム実行手段)。つまり、全体を実行せずに一部だけを実行するようにすることで、処理負荷の軽減を図っている。探索実行処理の詳細は、後述する図17に示す。探索実行処理が終了したら、追加処理を終了し、呼び出し元に処理を戻す。   In step S306, the CPU 111 of the information processing apparatus 110 performs a search execution process. In the search execution processing, processing for re-execution up to a module that has been changed or re-execution from the module that has been changed is performed (image processing item execution means). That is, the processing load is reduced by executing only a part without executing the whole. Details of the search execution process are shown in FIG. When the search execution process ends, the addition process ends, and the process returns to the caller.

次に、図12を参照して図8のステップS110の「変更処理」の詳細について説明する。図12は、情報処理装置110のCPU111によって行われる、「変更処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “change process” in step S110 of FIG. 8 will be described with reference to FIG. FIG. 12 is a flowchart illustrating an example of a processing procedure of “change processing” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS401では、情報処理装置110のCPU111は、ステップS106において処理フロー描画領域902で選択されたモジュールを特定する。ステップS402では、情報処理装置110のCPU111は、画像処理プロジェクト開発画面900にパラメータ編集画面904を表示する。パラメータ編集画面904では、ステップS401で特定されたモジュールのパラメータ設定を受け付ける。   In step S401, the CPU 111 of the information processing apparatus 110 identifies the module selected in the processing flow drawing area 902 in step S106. In step S <b> 402, the CPU 111 of the information processing apparatus 110 displays a parameter editing screen 904 on the image processing project development screen 900. In the parameter editing screen 904, the parameter setting of the module specified in step S401 is accepted.

ステップS403では、情報処理装置110のCPU111は、入力装置120から任意のパラメータが変更されたか否かを判定する。パラメータが変更されたと判定された場合には、ステップS404に処理を進め、そうでない場合には、パラメータが変更されるまで待機する。   In step S <b> 403, the CPU 111 of the information processing apparatus 110 determines whether any parameter has been changed from the input apparatus 120. If it is determined that the parameter has been changed, the process proceeds to step S404. If not, the process waits until the parameter is changed.

ステップS404では、情報処理装置110のCPU111は、変更のあったパラメータを特定し、当該パラメータを設定した処理結果を調整結果画像表示領域905に表示する。そして、ステップS405では、情報処理装置110のCPU111は、変更のあったパラメータを設定するか否かを判定する。具体的には、パラメータ編集画面904に備えられた不図示の確定ボタンが押下されたか否かを判定する。パラメータを設定すると判定された場合には、ステップS406に処理を進め、そうでない場合には、待機する。   In step S <b> 404, the CPU 111 of the information processing apparatus 110 identifies the parameter that has been changed, and displays the processing result in which the parameter is set in the adjustment result image display area 905. In step S405, the CPU 111 of the information processing apparatus 110 determines whether to set the changed parameter. Specifically, it is determined whether or not a confirmation button (not shown) provided on the parameter editing screen 904 has been pressed. If it is determined that the parameter is set, the process proceeds to step S406. If not, the process waits.

ステップS406では、情報処理装置110のCPU111は、処理フロー・入出力パラメータテーブル412を更新する。例えば、図26に示す処理フローと処理フロー・入出力パラメータテーブルT600があった場合に、図27に示すように「二値化」モジュールのパラメータを変更するとする。このとき、変更を受け付けたパラメータに従って、図28に示す処理フロー・入出力パラメータテーブルT600の「二値化」モジュールのレコードを更新する。なお、このステップでは、実行フラグ606は更新しない。   In step S <b> 406, the CPU 111 of the information processing apparatus 110 updates the processing flow / input / output parameter table 412. For example, when the processing flow and the processing flow / input / output parameter table T600 shown in FIG. 26 exist, the parameters of the “binarization” module are changed as shown in FIG. At this time, the record of the “binarization” module in the processing flow / input / output parameter table T600 shown in FIG. 28 is updated according to the parameter whose change has been accepted. In this step, the execution flag 606 is not updated.

ステップS407では、情報処理装置110のCPU111は、自動実行するか否かを判定する。自動実行をすると判定された場合には、ステップS408に処理を進め、そうでない場合には、変更処理を終了し、呼び出し元に処理を戻す。   In step S407, the CPU 111 of the information processing apparatus 110 determines whether to execute automatically. If it is determined that automatic execution is to be performed, the process proceeds to step S408. If not, the change process is terminated and the process returns to the caller.

ステップS408では、情報処理装置110のCPU111は、探索実行処理を行う(画像処理アイテム実行手段)。探索実行処理の詳細は、後述する図17に示す。探索実行処理が終了したら、変更処理を終了し、呼び出し元に処理を戻す。   In step S408, the CPU 111 of the information processing apparatus 110 performs search execution processing (image processing item execution means). Details of the search execution process are shown in FIG. When the search execution process ends, the change process ends, and the process returns to the caller.

次に、図13を参照して図8のステップS112の「移動処理」の詳細について説明する。図13は、情報処理装置110のCPU111によって行われる、「移動処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “movement process” in step S112 of FIG. 8 will be described with reference to FIG. FIG. 13 is a flowchart illustrating an example of a processing procedure of “move processing” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS501では、情報処理装置110のCPU111は、ステップS106において処理フロー描画領域902で選択されたモジュールを特定する。ステップS502では、情報処理装置110のCPU111は、ステップS106において指定された、モジュールの移動先を特定する。   In step S501, the CPU 111 of the information processing apparatus 110 identifies the module selected in the processing flow drawing area 902 in step S106. In step S502, the CPU 111 of the information processing apparatus 110 specifies the module destination specified in step S106.

ステップS503では、情報処理装置110のCPU111は、処理フロー描画領域902において、ステップS502で特定された移動先に、ステップS501で特定されたモジュールを移動させる。   In step S503, the CPU 111 of the information processing apparatus 110 moves the module specified in step S501 to the destination specified in step S502 in the processing flow drawing area 902.

ステップS504では、情報処理装置110のCPU111は、処理フロー・入出力パラメータテーブル412を更新する。例えば、図26に示す処理フローと処理フロー・入出力パラメータテーブルT600があった場合に、図29に示すように「二値化」モジュールを「ラベリング」モジュールの下に移動させるとする。このとき、図30に示す処理フロー・入出力パラメータテーブルT600の通り、モジュール名603「U00003:二値化」を「U00004:ラベリング」の下にレコードを移動する。そして、INDEX601と順序602を振り直す。また、必要があれば入力パラメータ604と出力パラメータ605を設定し直す。なお、このステップでは、実行フラグ606は更新しない。   In step S504, the CPU 111 of the information processing apparatus 110 updates the processing flow / input / output parameter table 412. For example, when the processing flow and the processing flow / input / output parameter table T600 shown in FIG. 26 exist, the “binarization” module is moved below the “labeling” module as shown in FIG. At this time, as shown in the processing flow / input / output parameter table T600 shown in FIG. 30, the record is moved under the module name 603 “U00003: binarization” under “U00004: labeling”. Then, the INDEX 601 and the order 602 are reassigned. If necessary, the input parameter 604 and the output parameter 605 are reset. In this step, the execution flag 606 is not updated.

ステップS505では、情報処理装置110のCPU111は、自動実行するか否かを判定する。自動実行をすると判定された場合には、ステップS506に処理を進め、そうでない場合には、移動処理を終了し、呼び出し元に処理を戻す。   In step S505, the CPU 111 of the information processing apparatus 110 determines whether to execute automatically. If it is determined that automatic execution is to be performed, the process proceeds to step S506. If not, the movement process is terminated and the process returns to the caller.

ステップS506では、情報処理装置110のCPU111は、探索実行処理を行う(画像処理アイテム実行手段)。探索実行処理の詳細は、後述する図17に示す。探索実行処理が終了したら、移動処理を終了し、呼び出し元に処理を戻す。   In step S506, the CPU 111 of the information processing apparatus 110 performs search execution processing (image processing item execution means). Details of the search execution process are shown in FIG. When the search execution process ends, the movement process ends, and the process returns to the caller.

次に、図14を参照して図8のステップS114の「削除処理」の詳細について説明する。図14は、情報処理装置110のCPU111によって行われる、「削除処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “deletion process” in step S114 of FIG. 8 will be described with reference to FIG. FIG. 14 is a flowchart illustrating an example of a processing procedure of “deletion processing” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS601では、情報処理装置110のCPU111は、ステップS106において処理フロー描画領域902で選択されたモジュールを特定する。ステップS502では、情報処理装置110のCPU111は、ステップS601で特定されたモジュールを処理フロー描画領域902から削除する。   In step S601, the CPU 111 of the information processing apparatus 110 identifies the module selected in the processing flow drawing area 902 in step S106. In step S502, the CPU 111 of the information processing apparatus 110 deletes the module specified in step S601 from the processing flow drawing area 902.

ステップS603では、情報処理装置110のCPU111は、処理フロー・入出力パラメータテーブル412を更新する。例えば、図26に示す処理フローと処理フロー・入出力パラメータテーブルT600があった場合に、図31に示すように「二値化」モジュールを削除させるとする。このとき、図31に示す処理フロー・入出力パラメータテーブルT600の通り、モジュール名603「U00003:二値化」を削除して、INDEX601と順序602を振り直す。また、必要があれば入力パラメータ604と出力パラメータ605を設定し直す。なお、このステップでは、実行フラグ606は更新しない。   In step S <b> 603, the CPU 111 of the information processing apparatus 110 updates the processing flow / input / output parameter table 412. For example, when the processing flow and the processing flow / input / output parameter table T600 shown in FIG. 26 exist, it is assumed that the “binarization” module is deleted as shown in FIG. At this time, as shown in the processing flow / input / output parameter table T600 shown in FIG. 31, the module name 603 “U00003: binarization” is deleted, and the INDEX 601 and the order 602 are reassigned. If necessary, the input parameter 604 and the output parameter 605 are reset. In this step, the execution flag 606 is not updated.

ステップS604では、情報処理装置110のCPU111は、自動実行するか否かを判定する。自動実行をすると判定された場合には、ステップS605に処理を進め、そうでない場合には、削除処理を終了し、呼び出し元に処理を戻す。   In step S604, the CPU 111 of the information processing apparatus 110 determines whether to execute automatically. If it is determined that automatic execution is to be performed, the process proceeds to step S605. If not, the deletion process is terminated and the process returns to the caller.

ステップS605では、情報処理装置110のCPU111は、探索実行処理を行う(画像処理アイテム実行手段)。探索実行処理の詳細は、後述する図17に示す。探索実行処理が終了したら、削除処理を終了し、呼び出し元に処理を戻す。   In step S605, the CPU 111 of the information processing apparatus 110 performs search execution processing (image processing item execution means). Details of the search execution process are shown in FIG. When the search execution process ends, the deletion process ends, and the process returns to the caller.

次に、図15を参照して図8のステップS116の「実行処理」の詳細について説明する。図15は、情報処理装置110のCPU111によって行われる、「実行処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “execution process” in step S116 of FIG. 8 will be described with reference to FIG. FIG. 15 is a flowchart illustrating an example of a processing procedure of “execution processing” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS701では、情報処理装置110のCPU111は、処理フロー・入出力パラメータテーブル412に格納された情報と、モジュール・ソースコードマスタテーブル411に格納された情報に基づいて、ソースコードに変換し、ソースコードテーブル413に記憶する。   In step S <b> 701, the CPU 111 of the information processing apparatus 110 converts the information into the source code based on the information stored in the processing flow / input / output parameter table 412 and the information stored in the module / source code master table 411. Store in the code table 413.

ステップS702では、情報処理装置110のCPU111は、ステップS701で変換されたソースコードに対して、デバッグ・コンパイルを行い、オブジェクトコードを生成し、オブジェクトコードテーブル414に記憶する。そして、オブジェクトコードテーブル414に記憶されたオブジェクトコードを実行して、構築した処理フロー全体を実行する(シミュレーションを行う)。処理フローの実行にあたっては、カメラ140に対して検査対象181の撮影を指示して取得した画像データを使用してもよいし、マスタ画像を使用してもよい。   In step S702, the CPU 111 of the information processing apparatus 110 performs debugging and compilation on the source code converted in step S701, generates an object code, and stores the object code in the object code table 414. Then, the object code stored in the object code table 414 is executed to execute the entire constructed processing flow (simulation is performed). In executing the processing flow, image data acquired by instructing the camera 140 to shoot the inspection object 181 may be used, or a master image may be used.

ステップS703では、情報処理装置110のCPU111は、ステップS702で実行されたモジュールの順序と処理結果の画像データとを処理履歴テーブル419に記憶する。ステップS704では、情報処理装置110のCPU111は、ステップS703で更新された処理履歴テーブル419に基づいて、処理フロー描画領域902に表示する処理フロー上に処理ルートの軌跡を識別可能に表示する。つまり、ステップS702で画像処理を実行した結果、どのような経路を通って画像処理がなされたのかを表示する。こうしておくことで、処理フローのどこが問題なのかを特定しやすい。   In step S703, the CPU 111 of the information processing apparatus 110 stores the order of modules executed in step S702 and the image data of the processing result in the processing history table 419. In step S704, the CPU 111 of the information processing apparatus 110 displays the trace of the processing route on the processing flow displayed in the processing flow drawing area 902 in an identifiable manner based on the processing history table 419 updated in step S703. That is, as a result of executing the image processing in step S702, the route through which the image processing was performed is displayed. In this way, it is easy to identify the problem in the processing flow.

ステップS705では、情報処理装置110のCPU111は、処理履歴テーブル419に基づいて、処理フロー描画領域902のサムネイル画像表示領域903に、各モジュールにおける処理結果をサムネイル画像として表示する。こうしておくことで、軌跡の表示と同様に、処理フローの問題点を発見しやすくなる。ステップS704とステップS705における軌跡とサムネイル画像の表示結果は、図16に示すような表示となる。この場合、「ループ」モジュールを通り、「分岐」モジュールで「U00006:文字表示」の方を通った軌跡となっている。また、画像処理がなされた「メディアン」モジュールでは、当該「メディアン」モジュールの処理結果であるサムネイル画像がサムネイル画像表示領域903に表示される。なお、このサムネイル画像を選択すると、拡大された画像が表示できる。また、「ループ」がなされていると、複数回「メディアン」モジュールで処理されることになるので、各回の処理結果をサムネイル画像に対する選択指示に応じて表示するようにしてもよい。   In step S705, the CPU 111 of the information processing apparatus 110 displays the processing result of each module as a thumbnail image in the thumbnail image display area 903 of the processing flow drawing area 902 based on the processing history table 419. This makes it easy to find problems in the processing flow as in the case of displaying the trajectory. The display results of the trajectory and the thumbnail image in steps S704 and S705 are as shown in FIG. In this case, the trajectory passes through the “loop” module and passes through “U00006: character display” in the “branch” module. Further, in the “median” module that has undergone image processing, a thumbnail image that is a processing result of the “median” module is displayed in the thumbnail image display area 903. If this thumbnail image is selected, an enlarged image can be displayed. If “loop” is performed, the “median” module is processed a plurality of times, so that the processing result of each time may be displayed according to a selection instruction for the thumbnail image.

ステップS706では、情報処理装置110のCPU111は、ステップS702で実行された画像処理の最終結果の画像データを最終結果画像表示領域912に表示する。そして、実行処理を終了し、呼び出し元に処理を戻す。   In step S706, the CPU 111 of the information processing apparatus 110 displays the final result image data of the image processing executed in step S702 in the final result image display area 912. Then, the execution process is terminated, and the process is returned to the caller.

次に、図17を参照して図11のステップS308等の「探索実行処理」の詳細について説明する。図17は、情報処理装置110のCPU111によって行われる、「探索実行処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “search execution process” in step S308 of FIG. 11 will be described with reference to FIG. FIG. 17 is a flowchart illustrating an example of a processing procedure of “search execution processing” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS801では、情報処理装置110のCPU111は、処理フローの変更箇所に基づいて、画像処理の基点となるモジュールを探索するための処理を行う(基点アイテム特定手段)。未実行探索処理の詳細は、後述する図18に示す。   In step S801, the CPU 111 of the information processing apparatus 110 performs a process for searching for a module serving as a base point of image processing based on the changed part of the processing flow (base point item specifying unit). Details of the unexecuted search process are shown in FIG.

ステップS802では、情報処理装置110のCPU111は、ステップS801で決定した基点となるモジュール(基点モジュール)よりも後に実行するモジュールの実行フラグ606を「OFF」にする処理を行う(実行済み情報保存手段)。実行フラグOFF処理の詳細は、後述する図19に示す。   In step S802, the CPU 111 of the information processing apparatus 110 performs a process of setting the execution flag 606 of a module to be executed after the module (base module) that is the base point determined in step S801 to “OFF” (executed information storage unit) ). Details of the execution flag OFF process are shown in FIG.

ステップS803では、情報処理装置110のCPU111は、実行モードが「前半実行」なのか「後半実行」なのかを判定する。具体的には、図5に示すフラグ設定テーブルT510の実行モード512に格納されている情報に基づいて判定する。「前半実行」であると判定された場合には、ステップS804に処理を進め、「後半実行」であると判定された場合には、ステップS805に処理を進める。   In step S803, the CPU 111 of the information processing apparatus 110 determines whether the execution mode is “first half execution” or “second half execution”. Specifically, the determination is made based on information stored in the execution mode 512 of the flag setting table T510 shown in FIG. If it is determined to be “first half execution”, the process proceeds to step S804. If it is determined to be “second half execution”, the process proceeds to step S805.

ステップS804では、情報処理装置110のCPU111は、ステップS801で決定された基点モジュールまでの処理フローを実行する処理を行う(画像処理実行手段)。前半実行処理の詳細は、後述する図20に示す。   In step S804, the CPU 111 of the information processing apparatus 110 performs processing for executing the processing flow up to the base point module determined in step S801 (image processing execution unit). Details of the first half execution process are shown in FIG.

ステップS805では、情報処理装置110のCPU111は、ステップS801で決定された基点モジュールから処理フローを実行する処理を行う(画像処理実行手段)。後半実行処理の詳細は、後述する図21に示す。   In step S805, the CPU 111 of the information processing apparatus 110 performs processing for executing a processing flow from the base point module determined in step S801 (image processing execution unit). Details of the second half execution process are shown in FIG.

ステップS806では、情報処理装置110のCPU111は、ステップS804またはステップS805で実行された最終的な処理結果の画像データを最終結果画像表示領域912に表示する。表示が完了したら探索実行処理を終了し、呼び出し元に処理を戻す。   In step S806, the CPU 111 of the information processing apparatus 110 displays the final processing result image data executed in step S804 or step S805 in the final result image display area 912. When the display is completed, the search execution process is terminated and the process returns to the caller.

次に、図18を参照して図17のステップS801の「未実行探索処理」の詳細について説明する。図18は、情報処理装置110のCPU111によって行われる、「未実行探索処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “unexecuted search process” in step S801 in FIG. 17 will be described with reference to FIG. FIG. 18 is a flowchart illustrating an example of a processing procedure of “unexecuted search processing” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS901では、情報処理装置110のCPU111は、前述した図13の移動処理で、モジュールが当該モジュールよりも下流に移動されたか否かを判定する。つまり、図29に示すように「二値化」モジュールを「ラベリング」モジュールの下に移動するような場合が該当する。モジュールが当該モジュールよりも下流に移動されたと判定された場合には、ステップS902に処理を進め、そうでない場合には、ステップS903に処理を進める。   In step S901, the CPU 111 of the information processing apparatus 110 determines whether or not the module has been moved downstream from the module in the movement process of FIG. That is, as shown in FIG. 29, the “binarization” module is moved under the “labeling” module. If it is determined that the module has been moved downstream from the module, the process proceeds to step S902. If not, the process proceeds to step S903.

ステップS902では、情報処理装置110のCPU111は、下流に移動したモジュールが元々配置されていた場所の1つ下にあるモジュールを参照する。図29を用いて説明すると、元々「二値化」モジュールは「ラベリング」モジュールより1つ上に配置されていた。これを「ラベリング」モジュールの1つ下に移動すると、「二値化」モジュールが元々配置されていた場所の1つ下にあるモジュール、つまり「ラベリング」モジュールが参照される。   In step S <b> 902, the CPU 111 of the information processing apparatus 110 refers to a module that is one level lower than the place where the module moved downstream is originally arranged. Referring to FIG. 29, the “binarization” module was originally placed one above the “labeling” module. Moving this down one label below the “labeling” module refers to the module that is one below the location where the “binarization” module was originally placed, ie the “labeling” module.

ステップS903では、情報処理装置110のCPU111は、前述した図14の削除処理で、モジュールが削除されたか否かを判定する。つまり、図31に示すように「二値化」モジュールが削除された場合が該当する。モジュールが削除されたと判定された場合には、ステップS904に処理を進め、そうでない場合には、ステップS905に処理を進める。   In step S903, the CPU 111 of the information processing apparatus 110 determines whether the module has been deleted in the above-described deletion process of FIG. That is, the case where the “binarization” module is deleted as shown in FIG. If it is determined that the module has been deleted, the process proceeds to step S904. If not, the process proceeds to step S905.

ステップS904では、情報処理装置110のCPU111は、削除されたモジュールが元々配置されていた場所の1つ下にあるモジュールを参照する。図31を用いて説明すると、元々「二値化」モジュールは「ラベリング」モジュールより1つ上に配置されていた。これを削除すると、「二値化」モジュールが元々配置されていた場所の1つ下にあるモジュール、つまり「ラベリング」モジュールが参照される。   In step S904, the CPU 111 of the information processing apparatus 110 refers to a module that is one level below the place where the deleted module was originally placed. Referring to FIG. 31, the “binarization” module was originally placed one above the “labeling” module. If this is deleted, the module that is one below the place where the “binarization” module was originally placed, that is, the “labeling” module is referred to.

ステップS905では、情報処理装置110のCPU111は、ステップS301またはステップS401またはステップS501で特定されたモジュールを参照する。   In step S905, the CPU 111 of the information processing apparatus 110 refers to the module specified in step S301, step S401, or step S501.

ステップS906では、情報処理装置110のCPU111は、参照中のモジュールの実行フラグ606が「OFF」であるか否かを判定する。実行フラグ606が「OFF」であると判定された場合には、ステップS907に処理を進め、そうでない場合には、ステップS909に処理を進める。   In step S906, the CPU 111 of the information processing apparatus 110 determines whether the execution flag 606 of the module being referred to is “OFF”. If it is determined that the execution flag 606 is “OFF”, the process proceeds to step S907; otherwise, the process proceeds to step S909.

ステップS907では、情報処理装置110のCPU111は、処理フロー中で最も上流の先頭のモジュール(先頭モジュール)であるか否かを判定する。先頭のモジュールであると判定された場合には、ステップS909に処理を進め、そうでない場合には、ステップS908に処理を進める。   In step S907, the CPU 111 of the information processing apparatus 110 determines whether or not it is the most upstream top module (first module) in the processing flow. If it is determined that the module is the first module, the process proceeds to step S909; otherwise, the process proceeds to step S908.

ステップS908では、情報処理装置110のCPU111は、参照中のモジュールの1つ上のモジュールを参照し、ステップS906に処理を進める。こうして繰り返し実行フラグが「OFF」でないモジュールを上流に向かって探索していくことで、どこを基点とすべきなのかを決定する。   In step S908, the CPU 111 of the information processing apparatus 110 refers to the module one level higher than the module being referred to, and proceeds to step S906. In this way, by searching for modules upstream where the repeated execution flag is not “OFF”, it is determined where to base.

ステップS909では、情報処理装置110のCPU111は、参照中のモジュールを基点モジュールとして決定する(画像処理アイテム特定手段)。例えば、図26に示す処理フローと処理フロー・入出力パラメータテーブルT600を前提として、図29のように「二値化」モジュールを下に移動したとする。この場合、ステップS902で「ラベリング」モジュールが参照される。次に、ステップS906で参照中の「ラベリング」モジュールの実行フラグ606を確認する。図26に示す通り、「ラベリング」モジュールの実行フラグ606は「ON」であるため、ステップS909に進み、この「ラベリング」モジュールを基点モジュールとして決定する。処理が終了したら、未実行探索処理を終了し、呼び出し元に処理を戻す。   In step S909, the CPU 111 of the information processing apparatus 110 determines the module being referred to as a base module (image processing item specifying unit). For example, assuming that the processing flow and the processing flow / input / output parameter table T600 shown in FIG. 26 are assumed, the “binarization” module is moved downward as shown in FIG. In this case, the “labeling” module is referred to in step S902. Next, the execution flag 606 of the “labeling” module being referred to in step S906 is confirmed. As illustrated in FIG. 26, since the execution flag 606 of the “labeling” module is “ON”, the process proceeds to step S909, and this “labeling” module is determined as the base module. When the process is completed, the unexecuted search process is terminated and the process is returned to the caller.

次に、図19を参照して図17のステップS802の「実行フラグOFF処理」の詳細について説明する。図19は、情報処理装置110のCPU111によって行われる、「実行フラグOFF処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, details of the “execution flag OFF process” in step S802 of FIG. 17 will be described with reference to FIG. FIG. 19 is a flowchart illustrating an example of a processing procedure of “execution flag OFF processing” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS1001では、情報処理装置110のCPU111は、図18のステップS909で決定した基点モジュールを参照する。   In step S1001, the CPU 111 of the information processing apparatus 110 refers to the base point module determined in step S909 in FIG.

ステップS1002では、情報処理装置110のCPU111は、参照中のモジュールが分岐モジュールであるか否かを判定する。具合的には、処理フロー・入出力パラメータテーブルT600を参照して、参照中のモジュールが分岐モジュールであるか否かを判定する。分岐モジュールであると判定された場合には、ステップS1003に処理を進め、そうでない場合には、ステップS1008に処理を進める。   In step S1002, the CPU 111 of the information processing apparatus 110 determines whether the module being referred to is a branch module. Specifically, with reference to the processing flow / input / output parameter table T600, it is determined whether or not the module being referred to is a branch module. If it is determined that the module is a branch module, the process proceeds to step S1003. If not, the process proceeds to step S1008.

ステップS1003では、情報処理装置110のCPU111は、分岐モジュールの参照先テーブル607が示す分岐テーブル(THEN)を参照する。例えば、図6に示す処理フロー・入出力パラメータテーブルT600を用いて説明すると、分岐モジュールである「U00005:分岐」が参照されると、参照先テーブル607に格納された分岐テーブルのうち、分岐テーブル(THEN)を示す処理フロー・入出力パラメータテーブルT620−1を参照する。   In step S1003, the CPU 111 of the information processing apparatus 110 refers to the branch table (THEN) indicated by the branch module reference table 607. For example, with reference to the processing flow / input / output parameter table T600 shown in FIG. 6, when the branch module “U00005: Branch” is referenced, the branch table among the branch tables stored in the reference table 607 is referred to. The processing flow / input / output parameter table T620-1 indicating (THEN) is referred to.

ステップS1004では、情報処理装置110のCPU111は、ステップS1003で参照している分岐テーブル(THEN)のすべてのレコードの実行フラグ626を「OFF」に変更する。   In step S1004, the CPU 111 of the information processing apparatus 110 changes the execution flag 626 of all records in the branch table (THEN) referenced in step S1003 to “OFF”.

ステップS1005では、情報処理装置110のCPU111は、分岐モジュールの参照先テーブル607が示す分岐テーブル(ELSE)を参照する。例えば、図6に示す処理フロー・入出力パラメータテーブルT600を用いて説明すると、分岐モジュールである「U00005:分岐」が参照されると、参照先テーブル607に格納された分岐テーブルのうち、分岐テーブル(ELSE)を示す処理フロー・入出力パラメータテーブルT620−2を参照する。   In step S1005, the CPU 111 of the information processing apparatus 110 refers to the branch table (ELSE) indicated by the branch module reference table 607. For example, with reference to the processing flow / input / output parameter table T600 shown in FIG. 6, when the branch module “U00005: Branch” is referenced, the branch table among the branch tables stored in the reference table 607 is referred to. Reference is made to the processing flow / input / output parameter table T620-2 indicating (ELSE).

ステップS1006では、情報処理装置110のCPU111は、ステップS1005で参照している分岐テーブル(ELSE)のすべてのレコードの実行フラグ626を「OFF」に変更する。   In step S1006, the CPU 111 of the information processing apparatus 110 changes the execution flag 626 of all records in the branch table (ELSE) referenced in step S1005 to “OFF”.

ステップS1007では、情報処理装置110のCPU111は、処理フロー・入出力パラメータテーブル412のうち、現在参照しているモジュールの1つ下のモジュールを参照し、ステップS1002に処理を戻す。   In step S1007, the CPU 111 of the information processing apparatus 110 refers to the module immediately below the currently referenced module in the processing flow / input / output parameter table 412 and returns the process to step S1002.

ステップS1008では、情報処理装置110のCPU111は、参照中のモジュールがループモジュールであるか否かを判定する。具合的には、処理フロー・入出力パラメータテーブルT600を参照して、参照中のモジュールがループモジュールであるか否かを判定する。ループモジュールであると判定された場合には、ステップS1009に処理を進め、そうでない場合には、ステップS1011に処理を進める。   In step S1008, the CPU 111 of the information processing apparatus 110 determines whether the module being referred to is a loop module. Specifically, with reference to the processing flow / input / output parameter table T600, it is determined whether or not the module being referred to is a loop module. If it is determined that the module is a loop module, the process proceeds to step S1009. If not, the process proceeds to step S1011.

ステップS1009では、情報処理装置110のCPU111は、ループモジュールの参照先テーブル607が示すループテーブルを参照する。例えば、図6に示す処理フロー・入出力パラメータテーブルT600を用いて説明すると、ループモジュールである「U00001:ループ」が参照されると、参照先テーブル607に格納された分岐テーブルのうち、ループテーブルを示す処理フロー・入出力パラメータテーブルT610を参照する。   In step S1009, the CPU 111 of the information processing apparatus 110 refers to the loop table indicated by the loop module reference table 607. For example, with reference to the processing flow / input / output parameter table T600 shown in FIG. 6, when the loop module “U00001: Loop” is referred to, the loop table among the branch tables stored in the reference table 607 will be described. Is referred to the process flow / input / output parameter table T610.

ステップS1010では、情報処理装置110のCPU111は、ステップS1009で参照しているループテーブルのすべてのレコードの実行フラグ616を「OFF」に変更する。更そして、ステップS1007に処理を進める。   In step S1010, the CPU 111 of the information processing apparatus 110 changes the execution flag 616 of all the records in the loop table referred to in step S1009 to “OFF”. Further, the process proceeds to step S1007.

ステップS1011では、情報処理装置110のCPU111は、参照中のモジュールの実行フラグ606を「OFF」に変更する。こちらも、処理フロー描画領域902において、実行フラグ626を「OFF」にしたモジュールのサムネイル表示を未実行状態であることがわかるようなサムネイル画像に変更する。詳細な処理については、ステップS1004で前述した通りである。ステップS1012では、情報処理装置110のCPU111は、基点モジュールよりも下流のモジュールがすべて終了したか否かを判定する。すべて終了していると判定された場合には、実行フラグOFF処理を終了し、呼び出し元に処理を戻し、そうでない場合には、ステップS1007に処理を進める。   In step S1011, the CPU 111 of the information processing apparatus 110 changes the execution flag 606 of the module being referred to to “OFF”. Also in this case, in the processing flow drawing area 902, the thumbnail display of the module whose execution flag 626 is set to “OFF” is changed to a thumbnail image that shows that it is in an unexecuted state. Detailed processing is as described above in step S1004. In step S1012, the CPU 111 of the information processing apparatus 110 determines whether all modules downstream from the base point module have been completed. If it is determined that all have been completed, the execution flag OFF process is terminated and the process is returned to the caller. If not, the process proceeds to step S1007.

このように、基点モジュールよりも下流に配置されたモジュールの実行フラグ606をすべて「OFF」にする。つまり、処理フローを変更することで影響を受けるのは、基点モジュールよりも下流に配置されたモジュールであるので、これらのモジュールの実行フラグ606を「OFF」に変更する。   In this way, all the execution flags 606 of the modules arranged downstream from the base point module are set to “OFF”. In other words, the modules that are affected by changing the processing flow are modules arranged downstream from the base module, so the execution flags 606 of these modules are changed to “OFF”.

次に、図20を参照して図17のステップS804の「前半実行処理」の詳細について説明する。図20は、情報処理装置110のCPU111によって行われる、「前半実行処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “first half execution process” in step S804 in FIG. 17 will be described with reference to FIG. FIG. 20 is a flowchart illustrating an example of a “first half execution process” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS1101では、情報処理装置110のCPU111は、処理フロー・入出力パラメータテーブル412に格納された先頭モジュールを参照する。つまり、処理フローの最初のモジュールを参照することになる。   In step S <b> 1101, the CPU 111 of the information processing apparatus 110 refers to the top module stored in the processing flow / input / output parameter table 412. That is, the first module in the processing flow is referred to.

ステップS1102では、情報処理装置110のCPU111は、参照しているモジュールの実行フラグ606が「OFF」であるか否かを判定する。つまり、参照中のモジュールが実行済みであるか否かを判定する。すでに実行済みであるならば、再実行してしまうと負荷がかかってしまう。なるべく実行済みであるのなら再実行をしないほうがよいので、ステップS1102において実行フラグ606が「OFF」か否かを判定している。実行フラグ606が「OFF」であると判定された場合には、ステップS1104に処理を進め、そうでない場合には、ステップS1103に処理を進める。   In step S1102, the CPU 111 of the information processing apparatus 110 determines whether the execution flag 606 of the module being referred to is “OFF”. That is, it is determined whether or not the module being referred to has been executed. If it has already been executed, a load will be applied if it is re-executed. If it has been executed as much as possible, it is better not to re-execute. Therefore, in step S1102, it is determined whether or not the execution flag 606 is “OFF”. If it is determined that the execution flag 606 is “OFF”, the process proceeds to step S1104; otherwise, the process proceeds to step S1103.

ステップS1103では、情報処理装置110のCPU111は、参照中のモジュールの次のモジュールを参照する。つまり、参照中のモジュールの1つ下に配置されたモジュールを参照する。そして、ステップS1102に処理を戻して、再度実行フラグ606が「OFF」であるか否かを判定する。   In step S1103, the CPU 111 of the information processing apparatus 110 refers to the module next to the module being referred to. In other words, the module arranged below the module being referred to is referred to. Then, the process returns to step S1102, and it is determined again whether or not the execution flag 606 is “OFF”.

実行フラグが「OFF」であるモジュールが見つかったので、以降の処理で当該モジュールの実行(シミュレーション)を行う。ステップS1104では、情報処理装置110のCPU111は、参照中のモジュールが分岐モジュールであるか否かを判定する。具合的には、処理フロー・入出力パラメータテーブルT600を参照して、参照中のモジュールが分岐モジュールであるか否かを判定する。分岐モジュールであると判定された場合には、ステップS1105に処理を進め、そうでない場合には、ステップS1113に処理を進める。   Since a module whose execution flag is “OFF” has been found, the module is executed (simulated) in subsequent processing. In step S1104, the CPU 111 of the information processing apparatus 110 determines whether the module being referred to is a branch module. Specifically, with reference to the processing flow / input / output parameter table T600, it is determined whether or not the module being referred to is a branch module. If it is determined that the module is a branch module, the process proceeds to step S1105; otherwise, the process proceeds to step S1113.

ステップS1105では、情報処理装置110のCPU111は、モジュール・ソースコードマスタテーブル411と処理フロー・入出力パラメータテーブル412に基づいて、参照中の分岐モジュールを実行する。実行に際して、画像データが必要である場合には、カメラ140から取得するか、マスタ画像を使用する。ステップS1106では、情報処理装置110のCPU111は、分岐モジュールの判定結果が真か否かを判定する。判定結果が真であると判定された場合には、ステップS1107に処理を進め、そうでない場合には、ステップS1108に処理を進める。   In step S 1105, the CPU 111 of the information processing apparatus 110 executes the branch module being referred to based on the module / source code master table 411 and the processing flow / input / output parameter table 412. When image data is required for execution, it is acquired from the camera 140 or a master image is used. In step S1106, the CPU 111 of the information processing apparatus 110 determines whether the determination result of the branch module is true. If it is determined that the determination result is true, the process proceeds to step S1107. If not, the process proceeds to step S1108.

ステップS1107では、情報処理装置110のCPU111は、判定結果が真であったので、分岐テーブル(THEN)の先頭モジュールを参照する。具体的には、処理フロー・入出力パラメータテーブルT620−1の先頭モジュールである、「U00006:文字表示」を参照する。一方、ステップS1108では、情報処理装置110のCPU111は、判定結果が真ではなかったので、分岐テーブル(ELSE)の先頭モジュールを参照する。具体的には、処理フロー・入出力パラメータテーブルT620−2の先頭モジュールである、「U00007:文字表示」を参照する。   In step S1107, the CPU 111 of the information processing apparatus 110 refers to the top module of the branch table (THEN) because the determination result is true. Specifically, reference is made to “U00006: Character display” which is the first module of the processing flow / input / output parameter table T620-1. On the other hand, in step S1108, the CPU 111 of the information processing apparatus 110 refers to the first module of the branch table (ELSE) because the determination result is not true. Specifically, reference is made to “U00007: Character display”, which is the first module of the processing flow / input / output parameter table T620-2.

ステップS1109では、情報処理装置110のCPU111は、参照しているモジュールの実行を行う。モジュール実行処理の詳細は、後述する図22に示す。   In step S1109, the CPU 111 of the information processing apparatus 110 executes the referenced module. Details of the module execution processing are shown in FIG.

ステップS1110では、情報処理装置110のCPU111は、参照中の分岐テーブルに格納されたモジュールをすべて処理したか否かを判定する。すべて処理したと判定された場合には、ステップS1112に処理を進め、そうでない場合には、ステップS1111に処理を進める。   In step S1110, the CPU 111 of the information processing apparatus 110 determines whether all the modules stored in the branch table being referred to have been processed. If it is determined that all have been processed, the process proceeds to step S1112. If not, the process proceeds to step S1111.

ステップS1111では、情報処理装置110のCPU111は、参照中のモジュールの次に実行するモジュールを参照する。そして、ステップS1109に処理を進める。   In step S1111, the CPU 111 of the information processing apparatus 110 refers to a module to be executed next to the module being referred to. Then, the process proceeds to step S1109.

ステップS1112では、情報処理装置110のCPU111は、処理フロー・入出力パラメータテーブル412のうち、現在参照しているモジュールの次に実行すべきモジュールを参照する。そして、ステップS1104に処理を進める。   In step S <b> 1112, the CPU 111 of the information processing apparatus 110 refers to the module to be executed next to the currently referenced module in the processing flow / input / output parameter table 412. Then, the process proceeds to step S1104.

ステップS1113では、情報処理装置110のCPU111は、参照中のモジュールがループモジュールであるか否かを判定する。具合的には、処理フロー・入出力パラメータテーブルT600を参照して、参照中のモジュールがループモジュールであるか否かを判定する。ループモジュールであると判定された場合には、ステップS1114に処理を進め、そうでない場合には、ステップS1122に処理を進める。   In step S1113, the CPU 111 of the information processing apparatus 110 determines whether the module being referred to is a loop module. Specifically, with reference to the processing flow / input / output parameter table T600, it is determined whether or not the module being referred to is a loop module. If it is determined that the module is a loop module, the process proceeds to step S1114. If not, the process proceeds to step S1122.

ステップS1114では、情報処理装置110のCPU111は、モジュール・ソースコードマスタテーブル411と処理フロー・入出力パラメータテーブル412に基づいて、参照中のループモジュールを実行する。実行に際して、画像データが必要である場合には、カメラ140から取得するか、マスタ画像を使用する。ステップS1115では、情報処理装置110のCPU111は、ループモジュールの判定結果が真か否かを判定する。判定結果が真であると判定された場合には、ループを抜けてステップS1112に処理を進め、そうでない場合には、ステップS1116に処理を進める。   In step S 1114, the CPU 111 of the information processing apparatus 110 executes the currently referenced loop module based on the module / source code master table 411 and the processing flow / input / output parameter table 412. When image data is required for execution, it is acquired from the camera 140 or a master image is used. In step S1115, the CPU 111 of the information processing apparatus 110 determines whether the determination result of the loop module is true. If it is determined that the determination result is true, the process exits the loop and proceeds to step S1112. If not, the process proceeds to step S1116.

ステップS1116では、情報処理装置110のCPU111は、判定結果が真ではなかったので、ループテーブルの先頭モジュールを参照する。具体的には、図6に示す処理フロー・入出力パラメータテーブルT610の先頭レコードである「U00002:メディアン」を参照する。   In step S1116, the CPU 111 of the information processing apparatus 110 refers to the top module of the loop table because the determination result is not true. Specifically, reference is made to “U00002: Median” which is the first record in the processing flow / input / output parameter table T610 shown in FIG.

ステップS1117では、情報処理装置110のCPU111は、参照しているモジュールの実行を行う。モジュール実行処理の詳細は、後述する図22に示す。   In step S1117, the CPU 111 of the information processing apparatus 110 executes the referenced module. Details of the module execution processing are shown in FIG.

ステップS1120では、情報処理装置110のCPU111は、参照中のループテーブルに格納されたモジュールをすべて処理したか否かを判定する。すべて処理したと判定された場合には、ステップS1114に処理を戻し、そうでない場合には、ステップS1121に処理を進める。   In step S1120, the CPU 111 of the information processing apparatus 110 determines whether all the modules stored in the currently referenced loop table have been processed. If it is determined that all processing has been performed, the process returns to step S1114; otherwise, the process proceeds to step S1121.

ステップS1121では、情報処理装置110のCPU111は、ループテーブルのうち、参照中のモジュールの次に実行するモジュールを参照する。そして、ステップS1117に処理を進める。   In step S1121, the CPU 111 of the information processing apparatus 110 refers to the module to be executed next to the module being referred to in the loop table. Then, the process proceeds to step S1117.

ステップS1122では、情報処理装置110のCPU111は、参照中のモジュールが分岐モジュールでもループモジュールでもなかったため、参照しているモジュールの実行を行う。モジュール実行処理の詳細は、後述する図22に示す。   In step S1122, the CPU 111 of the information processing apparatus 110 executes the referenced module because the referenced module is neither a branch module nor a loop module. Details of the module execution processing are shown in FIG.

ステップS1123では、情報処理装置110のCPU111は、参照中のモジュールが図18のステップS909で決定した基点モジュールであるか否かを判定する。基点モジュールであると判定された場合には、ステップS1124に処理を進め、そうでない場合には、ステップS1112に処理を進める。つまり、前半実行処理は、ステップS1101で処理フローの先頭モジュールから処理を開始し、ステップS1123で基点モジュールまで実行して処理を終了する。先頭モジュールから基点モジュールまで実行し、基点モジュール以降のモジュールは実行しないことで、処理負荷の軽減を図っている。後述する後半実行処理とは異なり、基点モジュール以降のサムネイル画像は非表示となるが、その分、処理負荷を大幅に軽減させることができる。   In step S1123, the CPU 111 of the information processing apparatus 110 determines whether the module being referred to is the base point module determined in step S909 of FIG. If it is determined that the module is a base point module, the process proceeds to step S1124. If not, the process proceeds to step S1112. That is, in the first half execution process, the process is started from the top module of the process flow in step S1101, and is executed up to the base module in step S1123 and the process is terminated. By executing from the first module to the base module and not executing the modules after the base module, the processing load is reduced. Unlike the latter half execution processing described later, thumbnail images after the base point module are not displayed, but the processing load can be greatly reduced by that amount.

ステップS1124では、情報処理装置110のCPU111は、基点モジュール以降のモジュールは実行しないので、基点モジュール以降のモジュールで表示するサムネイル画像を非表示またはブラックアウトさせる。こうすることで、実行したモジュールと実行していないモジュールをユーザが識別することができる。尚、本実施形態では、画像をブラックアウトさせているが、ユーザに対して当該モジュールの処理が実行されなかったことを認識させることができれば、どんな表示形態でもよい。サムネイル画像を他の異なるサムネイル画像に差し替えてもよいし、サムネイル画像自体を非表示としてもよい。完了したら、前半実行処理を終了し、呼び出し元に処理を戻す。   In step S1124, since the CPU 111 of the information processing apparatus 110 does not execute the modules after the base point module, the thumbnail images displayed by the modules after the base point module are hidden or blacked out. By doing so, the user can distinguish the executed module and the non-executed module. In this embodiment, the image is blacked out. However, any display form may be used as long as the user can recognize that the processing of the module has not been executed. The thumbnail image may be replaced with another different thumbnail image, or the thumbnail image itself may be hidden. When completed, the first half execution process is terminated and the process is returned to the caller.

次に、図21を参照して図17のステップS805の「後半実行処理」の詳細について説明する。図21は、情報処理装置110のCPU111によって行われる、「後半実行処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “second half execution process” in step S805 of FIG. 17 will be described with reference to FIG. FIG. 21 is a flowchart illustrating an example of a processing procedure of “second half execution processing” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS1201では、情報処理装置110のCPU111は、図18のステップS909で決定された基点モジュールよりも上流のモジュールが実行済み(シミュレーション済み)であるか否かを判定する。後半処理では、基点モジュールから実行を行うので、それよりも上流に配置されたモジュールを実行しなくてもよいか判定するための処理である。基点モジュールよりも上流のモジュールが実行済みであると判定された場合には、ステップS1203に処理を進め、そうでない場合には、処理フローに配置されたすべてのモジュールを実行する必要があるため、ステップS1202に処理を進める。   In step S1201, the CPU 111 of the information processing apparatus 110 determines whether a module upstream from the base point module determined in step S909 of FIG. 18 has been executed (simulated). In the latter half of the process, since the execution is performed from the base point module, it is a process for determining whether or not it is not necessary to execute a module arranged upstream of the base point module. If it is determined that a module upstream from the base point module has been executed, the process proceeds to step S1203; otherwise, all modules arranged in the process flow must be executed. The process proceeds to step S1202.

ステップS1202では、情報処理装置110のCPU111は、前述した実行処理を行う。実行処理の詳細は前述した図15に示す。後半処理では基点モジュールよりも上流に配置されたモジュールが実行済みである必要があるため、実行済みでないとこのように一度実行しておく必要がある。しかし、一度実行してしまえば、その後はステップS1201で実行済みと判定されるので、処理負荷の軽減が可能となる。   In step S1202, the CPU 111 of the information processing apparatus 110 performs the execution process described above. Details of the execution process are shown in FIG. In the latter half of the process, the module arranged upstream from the base point module needs to be executed, so if it has not been executed, it is necessary to execute it once. However, once it has been executed, it is determined in step S1201 that it has been executed, so the processing load can be reduced.

ステップS1203では、情報処理装置110のCPU111は、処理フロー・入出力パラメータテーブル412のうち、図18のステップS909で決定された基点モジュールを参照する。後半実行処理では、図20で説明した前半実行処理とは異なり、基点モジュールを参照して、それよりも下流に配置されたモジュールを実行する。   In step S1203, the CPU 111 of the information processing apparatus 110 refers to the base point module determined in step S909 of FIG. 18 in the processing flow / input / output parameter table 412. In the second-half execution process, unlike the first-half execution process described with reference to FIG. 20, the base module is referred to and a module arranged downstream thereof is executed.

ステップS1203が完了すると、図20で前述したステップS1104乃至ステップS1122と同様の処理を行う。ここでは前述の通り、参照しているモジュールが分岐モジュールなのか、ループモジュールなのか、それ以外の通常のモジュールなのかを判定して、それぞれの処理を実行する。各ステップの詳細な説明は、前述の通りであるので省略する。   When step S1203 is completed, the same processing as in steps S1104 to S1122 described above with reference to FIG. 20 is performed. Here, as described above, it is determined whether the referenced module is a branch module, a loop module, or a normal module other than that, and each process is executed. The detailed description of each step is the same as described above, and will be omitted.

ステップS1204では、情報処理装置110のCPU111は、ステップS1122が完了すると、処理フローの最後のモジュール(最終モジュール)までの処理がすべて終了したか否かを判定する。すべて終了したと判定された場合には、最終結果の画像データ(最終結果画像データ)を最終結果画像表示領域912に表示した後(表示手段)、後半実行処理を終了して呼び出し元に処理を戻し、そうでない場合には、ステップS1112に処理を戻す。最終結果の画像データは、処理フローの最終モジュールが出力した処理結果の画像データを最終結果画像表示領域912に表示するようにすればよい。   In step S1204, when step S1122 is completed, the CPU 111 of the information processing apparatus 110 determines whether all processing up to the last module (final module) in the processing flow has been completed. If it is determined that all the processing has been completed, the final result image data (final result image data) is displayed in the final result image display area 912 (display means), and then the second half execution process is terminated and the process is performed by the caller. If not, the process returns to step S1112. As the final result image data, the processing result image data output by the final module of the processing flow may be displayed in the final result image display area 912.

このように、後半実行処理では、ステップS1203で処理フローの基点モジュールから処理を開始し、ステップS1204で処理フローの最終モジュールまで実行して処理を終了する。基点モジュールから最終モジュールまで実行し、基点モジュールまでのモジュールは実行しないことで、処理負荷の軽減を図っている。また、前半実行処理とは異なり、後半実行処理は、最終的にすべてのモジュールが実行済みとなるので、各モジュールのサムネイル画像表示領域903に処理結果のサムネイル画像を表示することも可能である。また、前半実行処理では処理フローの途中までしか実行されないので、最終結果の画像データは表示できないが、後半実行処理では最終結果の画像データを表示させることが可能である。こうすることで、処理負荷の軽減を図りつつも、最終結果を確認しながら作業を進めることができるようになる。   As described above, in the second half execution process, the process starts from the base module of the process flow in step S1203, and is executed until the last module of the process flow in step S1204. Processing from the base module to the final module is executed, and modules up to the base module are not executed, thereby reducing the processing load. Further, unlike the first half execution process, since all modules are finally executed in the second half execution process, it is also possible to display the thumbnail image of the processing result in the thumbnail image display area 903 of each module. Further, since the first half execution process is executed only halfway in the processing flow, the final result image data cannot be displayed, but the second result execution process can display the final result image data. By doing so, it is possible to work while confirming the final result while reducing the processing load.

次に、図22を参照して図20のステップS1109等の「モジュール実行処理」の詳細について説明する。図22は、情報処理装置110のCPU111によって行われる、「モジュール実行処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, details of the “module execution process” in step S1109 and the like in FIG. 20 will be described with reference to FIG. FIG. 22 is a flowchart illustrating an example of a processing procedure of “module execution processing” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS1301では、情報処理装置110のCPU111は、参照中のモジュールで行う処理で、画像データを使用するか否かを判定する。モジュールによっては、画像データを使用せず、設定された文字列を画面に表示するだけのもの等があるため、このような処理を行っている。画像データを使用すると判定された場合には、ステップS1302に処理を進め、そうでない場合には、ステップS1308に処理を進める。   In step S <b> 1301, the CPU 111 of the information processing apparatus 110 determines whether or not to use image data in processing performed by the module being referred to. Some modules do not use image data and only display a set character string on the screen, and so such processing is performed. If it is determined that the image data is to be used, the process proceeds to step S1302, and if not, the process proceeds to step S1308.

ステップS1302では、情報処理装置110のCPU111は、参照中のモジュールが図18のステップS909で決定された基点モジュールであるか否かを判定する。基点モジュールであると判定された場合には、ステップS1303に処理を進め、そうでない場合には、ステップS1307に処理を進める。   In step S1302, the CPU 111 of the information processing apparatus 110 determines whether the module being referred to is the base point module determined in step S909 of FIG. If it is determined that the module is a base point module, the process proceeds to step S1303. If not, the process proceeds to step S1307.

ステップS1303では、情報処理装置110のCPU111は、実行中の処理が図17のステップS805で実行される後半実行処理であるか否かを判定する。後半実行処理では、前述した通り、基点モジュールよりも上流に配置されたモジュールは実行しないので、基点モジュールで使用する画像データを実行済みのモジュールから取得する処理を後述するステップS1304乃至ステップS1306の処理で行う。よって、ステップS1303でこのような判定を行っている。後半実行処理であると判定された場合には、ステップS1304に処理を進め、そうでない場合には、ステップS1307に処理を進める。   In step S1303, the CPU 111 of the information processing apparatus 110 determines whether the process being executed is the second half execution process executed in step S805 of FIG. In the second half execution process, as described above, the module arranged upstream from the base point module is not executed. Therefore, the process of acquiring image data used in the base point module from the executed module is performed in steps S1304 to S1306 described later. To do. Therefore, such a determination is performed in step S1303. If it is determined that the process is the second half execution process, the process proceeds to step S1304; otherwise, the process proceeds to step S1307.

ステップS1304では、情報処理装置110のCPU111は、処理履歴テーブル419を参照し、処理フローを実行した場合に基点モジュールが実行される順番を特定する。例えば、図27に示すように、「二値化」モジュールを「ラベリング」モジュールの前に追加した場合を想定する。この場合、図7に示す処理履歴テーブルT700を見ると、「二値化」モジュールはINDEX701が「7」の前に実行されるはずである。よって、INDEX701が「6」と「7」の間を特定しておく。   In step S1304, the CPU 111 of the information processing apparatus 110 refers to the processing history table 419 and identifies the order in which the base module is executed when the processing flow is executed. For example, as shown in FIG. 27, it is assumed that a “binarization” module is added before a “labeling” module. In this case, when viewing the processing history table T700 shown in FIG. 7, the “binarization” module should be executed before INDEX 701 is “7”. Therefore, the INDEX 701 specifies between “6” and “7”.

ステップS1305では、情報処理装置110のCPU111は、ステップS1304で特定された順番より上流に配置されたモジュールのうち、処理結果画像703を持っている最も近いモジュールを特定する。ステップS1304での具体例を基に説明をすると、ステップS1304で特定された位置より上流のモジュールは、INDEX701が「1」から「6」となる。このうち、処理結果画像703があるモジュールはINDEX701が「3」と「5」である。そして、ステップS1304で特定された位置に最も近いのは、INDEX701が「5」の「U00002:メディアン」となる。このようにして、実行済みのモジュールのうち、処理結果画像を出力したモジュールで、最も基点モジュールに近いモジュールを特定する。   In step S1305, the CPU 111 of the information processing apparatus 110 specifies the closest module having the processing result image 703 among the modules arranged upstream from the order specified in step S1304. Describing based on the specific example in step S1304, the INDEX 701 is changed from “1” to “6” in the module upstream from the position specified in step S1304. Among these, the module having the processing result image 703 has INDEX 701 “3” and “5”. Then, the closest to the position specified in step S1304 is “U00002: Median” in which INDEX 701 is “5”. In this way, among the executed modules, the module that has output the processing result image and identifies the module closest to the base module is specified.

ステップS1306では、情報処理装置110のCPU111は、ステップS1305で特定されたモジュールから処理結果画像(処理済みデータ)を取得する。引き続き具体例を基に説明すると、ステップS1305で特定されたINDEX701が「5」の「U00002:メディアン」で出力された処理結果画像703「画像B−2」をRAM112等から取得する。   In step S1306, the CPU 111 of the information processing apparatus 110 acquires a processing result image (processed data) from the module specified in step S1305. Next, based on a specific example, the processing result image 703 “image B-2” output by “U00002: median” in which the INDEX 701 identified in step S1305 is “5” is acquired from the RAM 112 or the like.

ステップS1304乃至ステップS1306は、図33のような場合に特に有効である。図33では、「二値化」モジュールを分岐モジュールの下に追加した場合を想定している。このような場合に後半実行処理を行うと、「二値化」モジュールは「U00006:輝度反転」と「U00007:輝度反転」のどちらの処理結果画像を取得すればいいのかわからない。このときに、図33に示す処理履歴テーブルT700を参照して、「二値化」モジュールが実行される順番を特定し、そこから上流のモジュールのうち、処理結果画像703を持つ最も近いモジュールである「U00006:輝度反転」を特定する。そして、特定された「U00006:輝度反転」から処理結果画像703を取得すればよい。このようにして、前回の実行履歴を基に、画像処理に使用する画像データを取得するようにすれば、問題なく後半実行処理が実行できる。   Steps S1304 to S1306 are particularly effective in the case shown in FIG. In FIG. 33, it is assumed that a “binarization” module is added below the branch module. When the second half execution process is performed in such a case, the “binarization” module does not know which of “U00006: luminance inversion” or “U00007: luminance inversion” should be acquired. At this time, with reference to the processing history table T700 shown in FIG. 33, the order in which the “binarization” modules are executed is specified, and the module closest to the processing result image 703 among the upstream modules. A certain “U00006: luminance inversion” is specified. Then, the processing result image 703 may be acquired from the specified “U00006: luminance inversion”. In this way, if image data used for image processing is acquired based on the previous execution history, the second half execution processing can be executed without any problem.

ステップS1307では、情報処理装置110のCPU111は、モジュールに設定された入力パラメータ604に基づいて、処理結果画像を取得する。   In step S1307, the CPU 111 of the information processing apparatus 110 acquires a processing result image based on the input parameter 604 set in the module.

ステップS1308では、情報処理装置110のCPU111は、モジュール・ソースコードマスタテーブル411と処理フロー・入出力パラメータテーブル412に基づいて、参照中のモジュールを実行する。画像データを使用する場合には、ステップS1306またはステップS1307で取得した画像データを用いる。   In step S 1308, the CPU 111 of the information processing apparatus 110 executes the module being referred to based on the module / source code master table 411 and the processing flow / input / output parameter table 412. When using image data, the image data acquired in step S1306 or step S1307 is used.

ステップS1309では、情報処理装置110のCPU111は、ステップS1308で実行されたモジュールの順序と処理結果の画像データとを処理履歴テーブル419に記憶する(結果保存手段)。ステップS1310では、情報処理装置110のCPU111は、ステップS1309で更新された処理履歴テーブル419に基づいて、処理フロー描画領域902に表示する処理フロー上に処理ルートの軌跡を表示する。   In step S1309, the CPU 111 of the information processing apparatus 110 stores the order of modules executed in step S1308 and the image data of the processing result in the processing history table 419 (result storage unit). In step S1310, the CPU 111 of the information processing apparatus 110 displays the path of the processing route on the processing flow displayed in the processing flow drawing area 902 based on the processing history table 419 updated in step S1309.

ステップS1311では、情報処理装置110のCPU111は、ステップS1308で実行された参照中のモジュールの実行フラグ606を「ON」に変更する。こうすることで、実行済みとする。   In step S1311, the CPU 111 of the information processing apparatus 110 changes the execution flag 606 of the module being referred to executed in step S1308 to “ON”. By doing this, it is assumed that it has been executed.

ステップS1312では、情報処理装置110のCPU111は、ステップS1308で実行された結果、処理結果画像が存在するか否かを判定する。処理結果画像が存在する場合には、ステップS1313に処理を進め、そうでない場合には、モジュール実行処理を終了し、呼び出し元に処理を戻す。   In step S1312, the CPU 111 of the information processing apparatus 110 determines whether a processing result image exists as a result of the execution in step S1308. If there is a processing result image, the process proceeds to step S1313. If not, the module execution process ends and the process returns to the caller.

ステップS1313では、情報処理装置110のCPU111は、フラグ設定テーブル418を参照して、処理フロー描画領域902のサムネイル画像表示領域903に処理結果画像のサムネイル画像を表示するか否かを判定する。具体的には、図5のフラグ設定テーブルT510のサムネイル表示フラグ513に「ON」が格納されていれば、サムネイル画像の表示を行う。サムネイル画像を表示すると判定された場合には、ステップS1314に処理を進め、そうでない場合には、モジュール実行処理を終了し、呼び出し元に処理を戻す。   In step S <b> 1313, the CPU 111 of the information processing apparatus 110 refers to the flag setting table 418 and determines whether or not to display the thumbnail image of the processing result image in the thumbnail image display area 903 of the processing flow drawing area 902. Specifically, if “ON” is stored in the thumbnail display flag 513 of the flag setting table T510 in FIG. 5, a thumbnail image is displayed. If it is determined that a thumbnail image is to be displayed, the process proceeds to step S1314; otherwise, the module execution process is terminated and the process returns to the caller.

ステップS1314では、情報処理装置110のCPU111は、参照中のモジュールの処理結果画像を縮小し、サムネイル画像を生成する(サムネイル画像生成手段)。そして、ステップS1315では、情報処理装置110のCPU111は、サムネイル画像表示領域903に、参照中のモジュールのサムネイル画像を表示する(サムネイル画像表示手段)。完了したら、モジュール実行処理を終了し、呼び出し元に処理を戻す。   In step S1314, the CPU 111 of the information processing apparatus 110 reduces the processing result image of the module being referred to, and generates a thumbnail image (thumbnail image generation unit). In step S1315, the CPU 111 of the information processing apparatus 110 displays the thumbnail image of the module being referred to in the thumbnail image display area 903 (thumbnail image display means). When completed, the module execution process ends, and the process returns to the caller.

次に、図23乃至図33を参照して、前述したモジュールの追加、変更、移動、削除の前半実行処理と後半実行処理について説明を行う。   Next, with reference to FIGS. 23 to 33, the first half execution process and the second half execution process of adding, changing, moving, and deleting the module described above will be described.

まず、図23乃至図25を参照して、モジュールを追加する場合について説明する。前提として、処理フロー描画領域902には図23に示すような処理フローが構築されており、一度すべてのモジュールが実行されている。また、処理フロー・入出力パラメータテーブル412は、図23に示すような処理フロー・入出力パラメータテーブルT600となっている。尚、参照先テーブル607の分岐テーブルやループテーブルは、図6の処理フロー・入出力パラメータテーブルT610と処理フロー・入出力パラメータテーブルT620に示す通りである。   First, a case where a module is added will be described with reference to FIGS. As a premise, a processing flow as shown in FIG. 23 is constructed in the processing flow drawing area 902, and all modules are executed once. The processing flow / input / output parameter table 412 is a processing flow / input / output parameter table T600 as shown in FIG. The branch table and loop table of the reference table 607 are as shown in the processing flow / input / output parameter table T610 and the processing flow / input / output parameter table T620 of FIG.

この場合に、図24に示すように、「二値化」モジュールを処理モジュール一覧901から選択して、ドラッグ&ドロップで「ラベリング」モジュールの1つ上に追加されたとする。すると、ステップS801で「二値化」モジュールを基点モジュールとし、ステップS802で「二値化」モジュールよりも下流に配置されているモジュールの実行フラグ606を「OFF」に更新する。これらを行うと、図25の処理フロー・入出力パラメータテーブルT600に示すようなデータに更新される。つまり、「二値化」モジュールのレコードを「ラベリング」モジュールの1つ上に追加し、「二値化」モジュール以降の実行フラグ606を「OFF」に更新する。   In this case, as shown in FIG. 24, it is assumed that the “binarization” module is selected from the processing module list 901 and added by “drag and drop” one above the “labeling” module. In step S801, the “binarization” module is set as a base module, and in step S802, the execution flag 606 of the module arranged downstream of the “binarization” module is updated to “OFF”. When these are performed, the data is updated as shown in the processing flow / input / output parameter table T600 of FIG. That is, the record of the “binarization” module is added to one above the “labeling” module, and the execution flag 606 after the “binarization” module is updated to “OFF”.

そして、前半実行処理(ステップS804)または後半実行処理(ステップS805)を実行する。図25に示す通り、前半実行処理は先頭モジュール(「START」モジュール)から基点モジュール(「二値化」モジュール)までを実行し、それ以降は実行しない。後半実行処理は、基点モジュール(「二値化」モジュール)から最終モジュール(「STOP」モジュール)まで実行し、それ以前は実行しない。このような実行にすることで、処理フローをすべて実行するよりも処理負荷を軽くすることができる。また、基点モジュールは確実に実行されるので、モジュールを追加した場合でも処理結果を確認することができる。   Then, the first half execution process (step S804) or the second half execution process (step S805) is executed. As shown in FIG. 25, the first half execution process executes from the top module (“START” module) to the base point module (“binarization” module), and does not execute thereafter. The second half execution process is executed from the base point module (“binarization” module) to the last module (“STOP” module), and is not executed before that. By performing such an execution, the processing load can be reduced as compared to executing the entire processing flow. In addition, since the base point module is reliably executed, the processing result can be confirmed even when the module is added.

次に、図26乃至図28を参照して、モジュールのパラメータを変更する場合について説明する。前提として、処理フロー描画領域902には図26に示すような処理フローが構築されており、一度すべてのモジュールが実行されている。また、処理フロー・入出力パラメータテーブル412は、図26に示すような処理フロー・入出力パラメータテーブルT600となっている。尚、参照先テーブル607の分岐テーブルやループテーブルは、図6の処理フロー・入出力パラメータテーブルT610と処理フロー・入出力パラメータテーブルT620に示す通りである。   Next, with reference to FIGS. 26 to 28, a case where the module parameters are changed will be described. As a premise, a processing flow as shown in FIG. 26 is constructed in the processing flow drawing area 902, and all modules are executed once. The processing flow / input / output parameter table 412 is a processing flow / input / output parameter table T600 as shown in FIG. The branch table and loop table of the reference table 607 are as shown in the processing flow / input / output parameter table T610 and the processing flow / input / output parameter table T620 of FIG.

この場合に、図27に示すように、処理フロー描画領域902に表示された処理フローから「二値化」モジュールを選択して、パラメータ編集画面904を開き、パラメータの変更が行われたとする。すると、ステップS801で「二値化」モジュールを基点モジュールとし、ステップS802で「二値化」モジュールよりも下流に配置されているモジュールの実行フラグ606を「OFF」に更新する。これらを行うと、図28の処理フロー・入出力パラメータテーブルT600に示すようなデータに更新される。つまり、「二値化」モジュール以降の実行フラグ606を「OFF」に更新する。   In this case, as shown in FIG. 27, it is assumed that the “binarization” module is selected from the processing flow displayed in the processing flow drawing area 902, the parameter editing screen 904 is opened, and the parameter is changed. In step S801, the “binarization” module is set as a base module, and in step S802, the execution flag 606 of the module arranged downstream of the “binarization” module is updated to “OFF”. When these are performed, the data is updated as shown in the processing flow / input / output parameter table T600 of FIG. That is, the execution flag 606 after the “binarization” module is updated to “OFF”.

そして、前半実行処理(ステップS804)または後半実行処理(ステップS805)を実行する。図28に示す通り、前半実行処理は先頭モジュール(「START」モジュール)から基点モジュール(「二値化」モジュール)までを実行し、それ以降は実行しない。後半実行処理は、基点モジュール(「二値化」モジュール)から最終モジュール(「STOP」モジュール)まで実行し、それ以前は実行しない。このような実行にすることで、処理フローをすべて実行するよりも処理負荷を軽くすることができる。   Then, the first half execution process (step S804) or the second half execution process (step S805) is executed. As shown in FIG. 28, the first half execution process executes from the top module (“START” module) to the base point module (“binarization” module), and does not execute thereafter. The second half execution process is executed from the base point module (“binarization” module) to the last module (“STOP” module), and is not executed before that. By performing such an execution, the processing load can be reduced as compared to executing the entire processing flow.

次に、図26、図29、図30を参照して、モジュールを下に移動する場合について説明する。前提として、処理フロー描画領域902には図26に示すような処理フローが構築されており、一度すべてのモジュールが実行されている。また、処理フロー・入出力パラメータテーブル412は、図26に示すような処理フロー・入出力パラメータテーブルT600となっている。尚、参照先テーブル607の分岐テーブルやループテーブルは、図6の処理フロー・入出力パラメータテーブルT610と処理フロー・入出力パラメータテーブルT620に示す通りである。   Next, a case where the module is moved downward will be described with reference to FIGS. 26, 29, and 30. FIG. As a premise, a processing flow as shown in FIG. 26 is constructed in the processing flow drawing area 902, and all modules are executed once. The processing flow / input / output parameter table 412 is a processing flow / input / output parameter table T600 as shown in FIG. The branch table and loop table of the reference table 607 are as shown in the processing flow / input / output parameter table T610 and the processing flow / input / output parameter table T620 of FIG.

この場合に、図29に示すように、処理フロー描画領域902に表示された処理フローから「二値化」モジュールを選択して、ドラッグ&ドロップで「ラベリング」モジュールの1つ下に移動されたとする。すると、ステップS801で「ラベリング」モジュールを基点モジュールとし、ステップS802で「ラベリング」モジュールよりも下流に配置されているモジュールの実行フラグ606を「OFF」に更新する。これらを行うと、図30の処理フロー・入出力パラメータテーブルT600に示すようなデータに更新される。つまり、「二値化」モジュールのレコードを「ラベリング」モジュールの1つ下に移動させ、「ラベリング」モジュール以降の実行フラグ606を「OFF」に更新する。移動されたのは「二値化」モジュールだが、「ラベリング」モジュールが基点モジュールとなるのは、「二値化」モジュールが元々配置されていた場所からいなくなることで、その場所以降のモジュールの画像処理に影響があるからである。よって、元々「二値化」モジュールがいた場所の1つ下の「ラベリング」モジュールを基点モジュールとしている。   In this case, as shown in FIG. 29, it is assumed that the “binarization” module is selected from the processing flow displayed in the processing flow drawing area 902, and is moved down one level of the “labeling” module by drag and drop. To do. In step S801, the “labeling” module is set as the base module, and in step S802, the execution flag 606 of the module arranged downstream of the “labeling” module is updated to “OFF”. When these are performed, the data is updated as shown in the processing flow / input / output parameter table T600 of FIG. That is, the record of the “binarization” module is moved down by one below the “labeling” module, and the execution flag 606 after the “labeling” module is updated to “OFF”. The “binarization” module has been moved, but the “labeling” module becomes the base point module because the “binarization” module is no longer located where it was originally placed, This is because image processing is affected. Therefore, the “labeling” module immediately below the place where the “binarization” module originally existed is used as the base point module.

そして、前半実行処理(ステップS804)または後半実行処理(ステップS805)を実行する。図30に示す通り、前半実行処理は先頭モジュール(「START」モジュール)から基点モジュール(「ラベリング」モジュール)までを実行し、それ以降は実行しない。後半実行処理は、基点モジュール(「ラベリング」モジュール)から最終モジュール(「STOP」モジュール)まで実行し、それ以前は実行しない。このような実行にすることで、処理フローをすべて実行するよりも処理負荷を軽くすることができる。   Then, the first half execution process (step S804) or the second half execution process (step S805) is executed. As shown in FIG. 30, the first half execution process executes from the first module (“START” module) to the base point module (“labeling” module), and does not execute thereafter. The second half execution process is executed from the base point module (“labeling” module) to the last module (“STOP” module), and is not executed before that. By performing such an execution, the processing load can be reduced as compared to executing the entire processing flow.

次に、図26、図31、図32を参照して、モジュールを削除する場合について説明する。前提として、処理フロー描画領域902には図26に示すような処理フローが構築されており、一度すべてのモジュールが実行されている。また、処理フロー・入出力パラメータテーブル412は、図26に示すような処理フロー・入出力パラメータテーブルT600となっている。尚、参照先テーブル607の分岐テーブルやループテーブルは、図6の処理フロー・入出力パラメータテーブルT610と処理フロー・入出力パラメータテーブルT620に示す通りである。   Next, the case of deleting a module will be described with reference to FIGS. As a premise, a processing flow as shown in FIG. 26 is constructed in the processing flow drawing area 902, and all modules are executed once. The processing flow / input / output parameter table 412 is a processing flow / input / output parameter table T600 as shown in FIG. The branch table and loop table of the reference table 607 are as shown in the processing flow / input / output parameter table T610 and the processing flow / input / output parameter table T620 of FIG.

この場合に、図31に示すように、処理フロー描画領域902に表示された処理フローから「二値化」モジュールを選択して、削除されたとする。すると、ステップS801で「ラベリング」モジュールを基点モジュールとし、ステップS802で「ラベリング」モジュールよりも下流に配置されているモジュールの実行フラグ606を「OFF」に更新する。これらを行うと、図32の処理フロー・入出力パラメータテーブルT600に示すようなデータに更新される。つまり、「二値化」モジュールのレコードを削除し、「ラベリング」モジュール以降の実行フラグ606を「OFF」に更新する。「ラベリング」モジュールが基点モジュールとなるのは、「二値化」モジュールが元々配置されていた場所からいなくなることで、その場所以降のモジュールの画像処理に影響があるからである。よって、元々「二値化」モジュールがいた場所の1つ下の「ラベリング」モジュールを基点モジュールとしている。   In this case, as shown in FIG. 31, it is assumed that the “binarization” module is selected from the processing flow displayed in the processing flow drawing area 902 and deleted. In step S801, the “labeling” module is set as the base module, and in step S802, the execution flag 606 of the module arranged downstream of the “labeling” module is updated to “OFF”. When these are performed, the data is updated as shown in the processing flow / input / output parameter table T600 of FIG. That is, the record of the “binarization” module is deleted, and the execution flag 606 after the “labeling” module is updated to “OFF”. The reason why the “labeling” module becomes the base point module is that the “binarization” module disappears from the place where it was originally placed, and this affects the image processing of the modules after that place. Therefore, the “labeling” module immediately below the place where the “binarization” module originally existed is used as the base point module.

そして、前半実行処理(ステップS804)または後半実行処理(ステップS805)を実行する。図32に示す通り、前半実行処理は先頭モジュール(「START」モジュール)から基点モジュール(「ラベリング」モジュール)までを実行し、それ以降は実行しない。後半実行処理は、基点モジュール(「ラベリング」モジュール)から最終モジュール(「STOP」モジュール)まで実行し、それ以前は実行しない。このような実行にすることで、処理フローをすべて実行するよりも処理負荷を軽くすることができる。   Then, the first half execution process (step S804) or the second half execution process (step S805) is executed. As shown in FIG. 32, the first half execution process executes from the first module (“START” module) to the base point module (“labeling” module) and does not execute thereafter. The second half execution process is executed from the base point module (“labeling” module) to the last module (“STOP” module), and is not executed before that. By performing such an execution, the processing load can be reduced as compared to executing the entire processing flow.

次に、図39を参照して、実行フラグの必要性について説明する。前述した通り、モジュールに対して追加、移動、削除、パラメータ変更等の操作がユーザからなされた場合には、前半実行処理または後半実行処理を行うことで、処理負荷の軽減を図っている。この時、後半実行処理では実行フラグの状態を見ていない。何故なら、基点モジュールよりも下流に配置されたモジュールを再実行すればよいだけだからである。しかしながら、前半実行の場合には、実行フラグのONとOFFを見ている。これは、図39のような場合があるからである。図39では、図24に示すように「二値化」モジュールが処理フローに追加された後に、更に「輝度反転」モジュールを追加する場合である。図39を見ると、「輝度反転」モジュールは、実行フラグが「OFF」になっている「ラベリング」モジュールの下に追加されている。この追加に伴って前半実行処理が行われると、前述したステップS1101乃至ステップS1103において、先頭から実行フラグが「OFF」となっているモジュールを探索していくことになる。「ループ」モジュール、「メディアン」モジュール、「二値化」モジュールは、実行フラグが「ON」だが、「ラベリング」モジュールは、実行フラグが「OFF」である。よって、ここから基点モジュールの「輝度反転」モジュールまでが再実行されることになる。このように、前半実行処理は基点モジュールだけを実行しているかのように見えるが、図39のようなパターンもある。そのため、処理フローに配置されたモジュールごとに実行フラグの管理をしておくことで、図39のようなパターンも適切に処理できるようにしている。   Next, the necessity of the execution flag will be described with reference to FIG. As described above, when the user performs operations such as addition, movement, deletion, and parameter change, the first half execution process or the second half execution process is performed to reduce the processing load. At this time, the execution flag state is not seen in the second half execution process. This is because it is only necessary to re-execute a module arranged downstream from the base point module. However, in the case of the first half execution, the execution flag is turned ON and OFF. This is because there are cases as shown in FIG. In FIG. 39, as shown in FIG. 24, after the “binarization” module is added to the processing flow, a “brightness inversion” module is further added. 39, the “brightness inversion” module is added under the “labeling” module whose execution flag is “OFF”. When the first half execution process is performed along with this addition, the module whose execution flag is “OFF” is searched from the top in steps S1101 to S1103 described above. The execution flag of the “loop” module, the “median” module, and the “binarization” module is “ON”, but the execution flag of the “labeling” module is “OFF”. Therefore, from here to the “brightness inversion” module of the base point module is re-executed. In this way, the first half execution process appears to be executing only the base point module, but there is a pattern as shown in FIG. Therefore, by managing execution flags for each module arranged in the processing flow, a pattern as shown in FIG. 39 can be appropriately processed.

次に、本発明の第2の実施形態について説明を行う。   Next, a second embodiment of the present invention will be described.

前述した実施形態では、モジュールが処理フロー上で操作されると、どのようなモジュールであっても図17に示す探索実行処理が行われる。しかしながら、画像処理を再実行する必要のある場合は、最終的な出力結果や途中結果が変更となる場合である。最終的な出力結果や途中結果が変更となるのは、画像処理を行うモジュールが操作された場合である。   In the above-described embodiment, when a module is operated on the processing flow, the search execution process shown in FIG. 17 is performed for any module. However, when it is necessary to re-execute image processing, the final output result or intermediate result is changed. The final output result or intermediate result is changed when a module that performs image processing is operated.

画像処理を行うモジュールは、対象の画像データに画像処理を実行し、他のモジュール(当該モジュールよりも下流に配置されたモジュール)にその処理結果である画像データを渡す仕組みになっている。つまり、処理結果の画像データが変われば、その処理結果を受け取ったモジュールの処理結果に影響が出てくる。よって、画像処理を行うモジュールに対して追加、移動、削除、パラメータ変更等の操作がなされた場合には、探索実行処理を実行して、処理負荷の軽減を図る必要がある。   The module that performs image processing is configured to execute image processing on target image data and to pass the image data that is the processing result to another module (a module arranged downstream of the module). That is, if the image data of the processing result changes, the processing result of the module that received the processing result is affected. Therefore, when an operation such as addition, movement, deletion, or parameter change is performed on a module that performs image processing, it is necessary to reduce the processing load by executing search execution processing.

しかしながら、画像処理を行わないモジュールも存在する。例えば、分岐やループといった処理フローの処理順を変更するためのモジュールや、画面に「OK」や「NG」といった文字表示を行うだけのモジュール等である。このようなモジュールが操作されたとしても、画像データに画像処理を実行しないので、最終的な出力結果や途中結果に影響はない。よって、画像処理を行わないモジュールが操作された場合には、図17に示す探索実行処理を実行しないことで、更なる処理負荷の軽減を図る。以下、この仕組みについて説明を行う。   However, some modules do not perform image processing. For example, a module for changing the processing order of the processing flow such as branching or loop, a module for simply displaying characters such as “OK” and “NG” on the screen, and the like. Even if such a module is operated, image processing is not performed on the image data, and the final output result or intermediate result is not affected. Therefore, when a module that does not perform image processing is operated, the search execution process shown in FIG. 17 is not executed, thereby further reducing the processing load. Hereinafter, this mechanism will be described.

第2の実施形態のシステム構成、ハードウェア構成、モジュール構成は、前述した実施形態のシステム構成(図1)、ハードウェア構成(図2、図3)、モジュール構成(図4)と同様であるので説明を省略する。   The system configuration, hardware configuration, and module configuration of the second embodiment are the same as the system configuration (FIG. 1), hardware configuration (FIGS. 2 and 3), and module configuration (FIG. 4) of the above-described embodiment. Therefore, explanation is omitted.

また、第2の実施形態で使用する図38に示すモジュール・ソースコードマスタテーブルT800は、図4のモジュール・ソースコードマスタテーブル411である。Index801、処理モジュール802、ソースコード803、初期値804、処理主体805は、それぞれ図5に示すモジュール・ソースコードマスタテーブル411のIndex501、処理モジュール502、ソースコード503、初期値504、処理主体505と同様である。   The module / source code master table T800 shown in FIG. 38 used in the second embodiment is the module / source code master table 411 shown in FIG. The index 801, processing module 802, source code 803, initial value 804, and processing entity 805 are the index 501, processing module 502, source code 503, initial value 504, processing entity 505 of the module / source code master table 411 shown in FIG. It is the same.

モジュール・ソースコードマスタテーブルT800は、更に属性806を備える。属性806は、モジュールが画像データを保持するインターフェース(IsetTargetImage)を持っているか否かを示す情報である。画像データを保持するためのインターフェースを持つモジュールというのは、つまり画像処理を行うモジュールである。画像処理を行わないモジュールは、このインターフェースを持っていないので、属性806には空の値が格納されている。   The module / source code master table T800 further includes an attribute 806. An attribute 806 is information indicating whether the module has an interface (IsetTargetImage) that holds image data. A module having an interface for holding image data is a module that performs image processing. Since a module that does not perform image processing does not have this interface, an empty value is stored in the attribute 806.

「IsetTargetImage」は、モジュールが画像処理を行う画像データを保持するためのインターフェースである。すなわち、この「IsetTargetImage」は、処理フローの上流のモジュールで画像処理された処理結果の画像データを受け取るインターフェースである。「IsetTargetImage」で受け取った画像データは、画像処理が実行され、また、処理された画像データはサムネイル表示にも利用される。「IsetTargetImage」を持っているモジュールは、粒子解析、二値化、空間フィルタ等がある。一方、「IsetTargetImage」を持っていないモジュールは、分岐、ループ、文字表示モジュール等がある。「IsetTargetImage」を持っていないモジュールは、モジュール内で画像処理を実行しないため、画像データを保持する機能を有していない。   “IsetTargetImage” is an interface for holding image data on which the module performs image processing. That is, this “IsetTargetImage” is an interface that receives image data of a processing result that has been subjected to image processing by a module upstream in the processing flow. The image data received by “IsetTargetImage” is subjected to image processing, and the processed image data is also used for thumbnail display. Modules having “IsetTargetImage” include particle analysis, binarization, and spatial filter. On the other hand, modules that do not have “IsetTargetImage” include branch, loop, and character display modules. Modules that do not have “IsetTargetImage” do not execute image processing within the module, and therefore do not have a function of holding image data.

よって、モジュール・ソースコードマスタテーブルT800の属性806に基づいて、「IsetTargetImage」の有無を判定すれば、画像処理を行うモジュールなのか、画像処理を行わないモジュールなのかが判断できる。   Therefore, based on the attribute 806 of the module / source code master table T800, if it is determined whether or not “IsetTargetImage” exists, it can be determined whether the module performs image processing or does not perform image processing.

その他のテーブルについては前述した実施形態と同様であるので説明を省略する。   The other tables are the same as those in the above-described embodiment, and thus description thereof is omitted.

次に、第2の実施形態における詳細な処理について説明を行う。尚、第2の実施形態は、前述した実施形態における図8のステップS108(追加処理)、ステップS110(変更処理)、ステップS112(移動処理)、ステップS114(削除処理)の変形例である。よって、これらの処理の変形例について説明を行う。それ以外の処理については、前述した実施形態と同様であるので説明を省略する。   Next, detailed processing in the second embodiment will be described. Note that the second embodiment is a modification of step S108 (addition processing), step S110 (change processing), step S112 (movement processing), and step S114 (deletion processing) in FIG. Therefore, a modified example of these processes will be described. Since other processes are the same as those in the above-described embodiment, description thereof will be omitted.

次に、図34を参照して図8のステップS108の「追加処理」の詳細について説明する。図34は、情報処理装置110のCPU111によって行われる、「追加処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “addition process” in step S108 of FIG. 8 will be described with reference to FIG. FIG. 34 is a flowchart illustrating an example of a processing procedure of “addition processing” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS1401では、情報処理装置110のCPU111は、ステップS106において処理モジュール一覧901で選択されたモジュールを特定する。そして、ステップS1402では、情報処理装置110のCPU111は、ステップS106において指定された、モジュールの追加先を特定する。なお、ステップS1401のモジュールの特定処理とステップS1402の追加先の特定処理との処理の順番を、逆にする形態であってもよい。   In step S1401, the CPU 111 of the information processing apparatus 110 identifies the module selected in the processing module list 901 in step S106. In step S1402, the CPU 111 of the information processing apparatus 110 identifies the module addition destination specified in step S106. Note that the order of the module specifying process in step S1401 and the adding destination specifying process in step S1402 may be reversed.

ステップS1403では、情報処理装置110のCPU111は、処理フロー描画領域902に描画(表示)されている処理フローに、特定したモジュールを追加し、処理フロー描画領域902を再描画(再表示)する処理を行う。   In step S1403, the CPU 111 of the information processing apparatus 110 adds the identified module to the processing flow drawn (displayed) in the processing flow drawing area 902, and redraws (redisplays) the processing flow drawing area 902. I do.

ステップS1404では、情報処理装置110のCPU111は、ステップS1402で特定したモジュールの追加処理に伴って、処理フロー・入出力パラメータテーブル412の更新を行う。例えば、図23に示す処理フローと処理フロー・入出力パラメータテーブルT600があった場合に、図24に示すように「二値化」モジュールを新しく追加するとする。このときに、「二値化」モジュールは、「ループ」モジュールと「ラベリング」モジュールの間に挿入する形で追加するので、図25に示す処理フロー・入出力パラメータテーブルT600の通りに更新する。具体的には、モジュール・ソースコードマスタテーブル411で得られた情報を基に、「U00003:二値化」を追加し、INDEX601と順序602を振り直す。入力パラメータ604と出力パラメータ605を設定し直す。そして、「二値化」モジュールのレコードの実行フラグ606に「ON」を格納する。なお、このステップでは、他の実行フラグ606は更新しない。   In step S <b> 1404, the CPU 111 of the information processing apparatus 110 updates the processing flow / input / output parameter table 412 in accordance with the module addition process specified in step S <b> 1402. For example, when the processing flow and the processing flow / input / output parameter table T600 shown in FIG. 23 exist, a “binarization” module is newly added as shown in FIG. At this time, the “binarization” module is added so as to be inserted between the “loop” module and the “labeling” module. Therefore, the “binarization” module is updated as shown in the processing flow / input / output parameter table T600 shown in FIG. Specifically, “U00003: binarization” is added based on the information obtained from the module / source code master table 411, and the INDEX 601 and the order 602 are reassigned. Reset the input parameters 604 and output parameters 605. Then, “ON” is stored in the execution flag 606 of the record of the “binarization” module. In this step, the other execution flags 606 are not updated.

ステップS1405では、情報処理装置110のCPU111は、ステップS1403で追加されたモジュールが、画像処理を行うモジュールなのか否かを判定する。つまり、探索実行処理やサムネイルの更新をするべきモジュールなのか否かを判定する。具体的には、モジュール・ソースコードマスタテーブルT800の属性806に画像を保持するインターフェース「IsetTargetImage」が存在するか否かを判定すればよい。「IsetTargetImage」が存在すれば自動実行を行い、「IsetTargetImage」が存在しなければ自動実行を行わない。自動実行をすると判定された場合には、ステップS1406に処理を進め、そうでない場合には、追加処理を終了し、呼び出し元に処理を戻す。   In step S1405, the CPU 111 of the information processing apparatus 110 determines whether the module added in step S1403 is a module that performs image processing. That is, it is determined whether or not the module is a module for which search execution processing and thumbnail updating are to be performed. Specifically, it may be determined whether or not an interface “IsetTargetImage” for holding an image exists in the attribute 806 of the module / source code master table T800. If “IsetTargetImage” exists, automatic execution is performed. If “IsetTargetImage” does not exist, automatic execution is not performed. If it is determined that automatic execution is to be performed, the process proceeds to step S1406. If not, the additional process is terminated and the process returns to the caller.

ステップS1406では、情報処理装置110のCPU111は、自動実行するか否かを判定する。具体的には、自動実行フラグ511に「ON」が格納されているか否かを判定する。「ON」が格納されていれば自動実行を行い、「OFF」が格納されていれば自動実行を行わない。自動実行をすると判定された場合には、ステップS1407に処理を進め、そうでない場合には、追加処理を終了し、呼び出し元に処理を戻す。   In step S1406, the CPU 111 of the information processing apparatus 110 determines whether to execute automatically. Specifically, it is determined whether or not “ON” is stored in the automatic execution flag 511. If “ON” is stored, automatic execution is performed, and if “OFF” is stored, automatic execution is not performed. If it is determined that automatic execution is to be performed, the process proceeds to step S1407. If not, the additional process is terminated and the process returns to the caller.

ステップS1407では、情報処理装置110のCPU111は、探索実行処理を行う。探索実行処理では、変更があったモジュールまでを再実行、または変更があったモジュールから再実行するための処理を行う。つまり、全体を実行せずに一部だけを実行するようにすることで、処理負荷の軽減を図っている。探索実行処理の詳細は、図17で前述した通りである。探索実行処理が終了したら、追加処理を終了し、呼び出し元に処理を戻す。   In step S1407, the CPU 111 of the information processing apparatus 110 performs a search execution process. In the search execution process, a process for re-execution up to a changed module or re-execution from a changed module is performed. That is, the processing load is reduced by executing only a part without executing the whole. The details of the search execution process are as described above with reference to FIG. When the search execution process ends, the addition process ends, and the process returns to the caller.

追加処理では、処理フローに追加したモジュールが画像処理を行うモジュールなのか否かを判定し、画像処理を行うモジュールなら探索実行処理を実行し、画像処理を行うモジュールでないなら、探索実行処理を実行させない。こうすることで、画像処理を行わないモジュールが処理フローに追加された場合の探索実行処理を実行しないようにすることができる。   In addition processing, it is determined whether the module added to the processing flow is a module that performs image processing. If the module performs image processing, search execution processing is executed. If the module is not image processing processing, search execution processing is executed. I won't let you. By doing so, it is possible to prevent the search execution process from being executed when a module that does not perform image processing is added to the processing flow.

次に、図35を参照して図8のステップS110の「変更処理」の詳細について説明する。図35は、情報処理装置110のCPU111によって行われる、「変更処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “change processing” in step S110 of FIG. 8 will be described with reference to FIG. FIG. 35 is a flowchart illustrating an example of a processing procedure of “change processing” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS1501では、情報処理装置110のCPU111は、ステップS106において処理フロー描画領域902で選択されたモジュールを特定する。ステップS1502では、情報処理装置110のCPU111は、画像処理プロジェクト開発画面900にパラメータ編集画面904を表示する。パラメータ編集画面904では、ステップS1501で特定されたモジュールのパラメータ設定を受け付ける。   In step S1501, the CPU 111 of the information processing apparatus 110 identifies the module selected in the processing flow drawing area 902 in step S106. In step S1502, the CPU 111 of the information processing apparatus 110 displays a parameter editing screen 904 on the image processing project development screen 900. In the parameter editing screen 904, the parameter setting of the module specified in step S1501 is accepted.

ステップS1503では、情報処理装置110のCPU111は、入力装置120から任意のパラメータが変更されたか否かを判定する。パラメータが変更されたと判定された場合には、ステップS1504に処理を進め、そうでない場合には、パラメータが変更されるまで待機する。   In step S1503, the CPU 111 of the information processing apparatus 110 determines whether or not any parameter has been changed from the input apparatus 120. If it is determined that the parameter has been changed, the process proceeds to step S1504. If not, the process waits until the parameter is changed.

ステップS1504では、情報処理装置110のCPU111は、変更のあったパラメータを特定し、当該パラメータを設定した処理結果を調整結果画像表示領域905に表示する。そして、ステップS1505では、情報処理装置110のCPU111は、変更のあったパラメータを設定するか否かを判定する。具体的には、パラメータ編集画面904に備えられた不図示の確定ボタンが押下されたか否かを判定する。パラメータを設定すると判定された場合には、ステップS1506に処理を進め、そうでない場合には、待機する。   In step S1504, the CPU 111 of the information processing apparatus 110 identifies the parameter that has been changed, and displays the processing result in which the parameter is set in the adjustment result image display area 905. In step S1505, the CPU 111 of the information processing apparatus 110 determines whether to set the changed parameter. Specifically, it is determined whether or not a confirmation button (not shown) provided on the parameter editing screen 904 has been pressed. If it is determined to set a parameter, the process proceeds to step S1506, and if not, the process waits.

ステップS1506では、情報処理装置110のCPU111は、処理フロー・入出力パラメータテーブル412を更新する。例えば、図26に示す処理フローと処理フロー・入出力パラメータテーブルT600があった場合に、図27に示すように「二値化」モジュールのパラメータを変更するとする。このとき、変更を受け付けたパラメータに従って、図28に示す処理フロー・入出力パラメータテーブルT600の「二値化」モジュールのレコードを更新する。なお、このステップでは、実行フラグ606は更新しない。   In step S 1506, the CPU 111 of the information processing apparatus 110 updates the processing flow / input / output parameter table 412. For example, when the processing flow and the processing flow / input / output parameter table T600 shown in FIG. 26 exist, the parameters of the “binarization” module are changed as shown in FIG. At this time, the record of the “binarization” module in the processing flow / input / output parameter table T600 shown in FIG. 28 is updated according to the parameter whose change has been accepted. In this step, the execution flag 606 is not updated.

ステップS1507では、情報処理装置110のCPU111は、ステップS1504でパラメータ変更されたモジュールが、画像処理を行うモジュールなのか否かを判定する。つまり、探索実行処理やサムネイルの更新をするべきモジュールなのか否かを判定する。具体的には、モジュール・ソースコードマスタテーブルT800の属性806に画像を保持するインターフェース「IsetTargetImage」が存在するか否かを判定すればよい。「IsetTargetImage」が存在すれば自動実行を行い、「IsetTargetImage」が存在しなければ自動実行を行わない。自動実行をすると判定された場合には、ステップS1508に処理を進め、そうでない場合には、追加処理を終了し、呼び出し元に処理を戻す。   In step S1507, the CPU 111 of the information processing apparatus 110 determines whether the module whose parameter has been changed in step S1504 is a module that performs image processing. That is, it is determined whether or not the module is a module for which search execution processing and thumbnail updating are to be performed. Specifically, it may be determined whether or not an interface “IsetTargetImage” for holding an image exists in the attribute 806 of the module / source code master table T800. If “IsetTargetImage” exists, automatic execution is performed. If “IsetTargetImage” does not exist, automatic execution is not performed. If it is determined that automatic execution is to be performed, the process proceeds to step S1508. If not, the additional process is terminated and the process returns to the caller.

ステップS1508では、情報処理装置110のCPU111は、自動実行するか否かを判定する。自動実行をすると判定された場合には、ステップS1509に処理を進め、そうでない場合には、変更処理を終了し、呼び出し元に処理を戻す。   In step S1508, the CPU 111 of the information processing apparatus 110 determines whether to execute automatically. If it is determined that automatic execution is to be performed, the process proceeds to step S1509. If not, the change process is terminated and the process returns to the caller.

ステップS1509では、情報処理装置110のCPU111は、探索実行処理を行う。探索実行処理の詳細は、図17で前述した通りである。探索実行処理が終了したら、変更処理を終了し、呼び出し元に処理を戻す。   In step S1509, the CPU 111 of the information processing apparatus 110 performs a search execution process. The details of the search execution process are as described above with reference to FIG. When the search execution process ends, the change process ends, and the process returns to the caller.

変更処理では、パラメータ変更のなされたモジュールが画像処理を行うモジュールなのか否かを判定し、画像処理を行うモジュールなら探索実行処理を実行し、画像処理を行うモジュールでないなら、探索実行処理を実行させない。こうすることで、画像処理を行わないモジュールのパラメータ変更がなされた場合の探索実行処理を実行しないようにすることができる。   In the change process, it is determined whether or not the module whose parameter has been changed is a module that performs image processing. If the module performs image processing, the search execution process is executed. If the module does not perform image processing, the search execution process is executed. I won't let you. By doing so, it is possible to prevent the search execution process from being executed when the parameter of a module that does not perform image processing is changed.

次に、図36を参照して図8のステップS112の「移動処理」の詳細について説明する。図36は、情報処理装置110のCPU111によって行われる、「移動処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “movement process” in step S112 in FIG. 8 will be described with reference to FIG. FIG. 36 is a flowchart illustrating an example of a “moving process” processing procedure performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS1601では、情報処理装置110のCPU111は、ステップS106において処理フロー描画領域902で選択されたモジュールを特定する。ステップS1602では、情報処理装置110のCPU111は、ステップS106において指定された、モジュールの移動先を特定する。   In step S1601, the CPU 111 of the information processing apparatus 110 identifies the module selected in the processing flow drawing area 902 in step S106. In step S1602, the CPU 111 of the information processing apparatus 110 specifies the module destination specified in step S106.

ステップS1603では、情報処理装置110のCPU111は、処理フロー描画領域902において、ステップS1602で特定された移動先に、ステップS1601で特定されたモジュールを移動させる。   In step S1603, the CPU 111 of the information processing apparatus 110 moves the module specified in step S1601 to the destination specified in step S1602 in the processing flow drawing area 902.

ステップS1604では、情報処理装置110のCPU111は、処理フロー・入出力パラメータテーブル412を更新する。例えば、図26に示す処理フローと処理フロー・入出力パラメータテーブルT600があった場合に、図29に示すように「二値化」モジュールを「ラベリング」モジュールの下に移動させるとする。このとき、図30に示す処理フロー・入出力パラメータテーブルT600の通り、モジュール名603「U00003:二値化」を「U00004:ラベリング」の下にレコードを移動する。そして、INDEX601と順序602を振り直す。また、必要があれば入力パラメータ604と出力パラメータ605を設定し直す。なお、このステップでは、実行フラグ606は更新しない。   In step S <b> 1604, the CPU 111 of the information processing apparatus 110 updates the processing flow / input / output parameter table 412. For example, when the processing flow and the processing flow / input / output parameter table T600 shown in FIG. 26 exist, the “binarization” module is moved below the “labeling” module as shown in FIG. At this time, as shown in the processing flow / input / output parameter table T600 shown in FIG. 30, the record is moved under the module name 603 “U00003: binarization” under “U00004: labeling”. Then, the INDEX 601 and the order 602 are reassigned. If necessary, the input parameter 604 and the output parameter 605 are reset. In this step, the execution flag 606 is not updated.

ステップS1605では、情報処理装置110のCPU111は、ステップS1603で移動されたモジュールが、画像処理を行うモジュールなのか否かを判定する。つまり、探索実行処理やサムネイルの更新をするべきモジュールなのか否かを判定する。具体的には、モジュール・ソースコードマスタテーブルT800の属性806に画像を保持するインターフェース「IsetTargetImage」が存在するか否かを判定すればよい。「IsetTargetImage」が存在すれば自動実行を行い、「IsetTargetImage」が存在しなければ自動実行を行わない。自動実行をすると判定された場合には、ステップS1406に処理を進め、そうでない場合には、追加処理を終了し、呼び出し元に処理を戻す。   In step S1605, the CPU 111 of the information processing apparatus 110 determines whether the module moved in step S1603 is a module that performs image processing. That is, it is determined whether or not the module is a module for which search execution processing and thumbnail updating are to be performed. Specifically, it may be determined whether or not an interface “IsetTargetImage” for holding an image exists in the attribute 806 of the module / source code master table T800. If “IsetTargetImage” exists, automatic execution is performed. If “IsetTargetImage” does not exist, automatic execution is not performed. If it is determined that automatic execution is to be performed, the process proceeds to step S1406. If not, the additional process is terminated and the process returns to the caller.

ステップS1606では、情報処理装置110のCPU111は、分岐モジュールまたはループモジュールであるか否かを判定する。分岐モジュールまたはループモジュールであると判定された場合には、ステップS1607に処理を進め、そうでない場合には、移動処理を終了し、呼び出し元に処理を戻す。   In step S1606, the CPU 111 of the information processing apparatus 110 determines whether it is a branch module or a loop module. If it is determined that the module is a branch module or a loop module, the process proceeds to step S1607. If not, the movement process is terminated and the process returns to the caller.

分岐モジュールやループモジュールというのは、条件に応じて処理の流れを変更するためのモジュールである。分岐モジュールやループモジュールは前述した通り、これらのモジュールの分岐先やループ内容として画像処理モジュールが入っている場合がある。分岐モジュールやループモジュールを移動させると、当該画像処理モジュールも一緒に移動するため、他の画像処理モジュールに影響がある。よって、必ず探索実行処理やサムネイルの更新を実行する。一方、分岐モジュールやループモジュールではなく、文字表示モジュールであった場合には、処理の流れに影響がないため、探索実行処理やサムネイルの更新を実行しないことになる。   The branch module and the loop module are modules for changing the flow of processing according to conditions. As described above, the branch module and the loop module may include an image processing module as a branch destination or loop content of these modules. When the branch module or the loop module is moved, the image processing module is also moved together, which affects other image processing modules. Therefore, the search execution process and the thumbnail update are always executed. On the other hand, if it is not a branch module or a loop module but a character display module, there is no effect on the flow of processing, and therefore search execution processing and thumbnail updating are not executed.

ステップS1607では、情報処理装置110のCPU111は、自動実行するか否かを判定する。自動実行をすると判定された場合には、ステップS1608に処理を進め、そうでない場合には、移動処理を終了し、呼び出し元に処理を戻す。   In step S1607, the CPU 111 of the information processing apparatus 110 determines whether to execute automatically. If it is determined that automatic execution is to be performed, the process proceeds to step S1608; otherwise, the movement process is terminated and the process returns to the caller.

ステップS1608では、情報処理装置110のCPU111は、探索実行処理を行う。探索実行処理の詳細は、図17で前述した通りである。探索実行処理が終了したら、移動処理を終了し、呼び出し元に処理を戻す。   In step S1608, the CPU 111 of the information processing apparatus 110 performs a search execution process. The details of the search execution process are as described above with reference to FIG. When the search execution process ends, the movement process ends, and the process returns to the caller.

移動処理では、移動されたモジュールが画像処理を行うモジュールなのか否かを判定し、画像処理を行うモジュールなら探索実行処理を実行し、画像処理を行うモジュールでないなら、探索実行処理を実行させない。こうすることで、画像処理を行わないモジュールの移動がなされた場合の探索実行処理を実行しないようにすることができる。   In the movement process, it is determined whether or not the moved module is a module that performs image processing. If the module performs image processing, the search execution process is performed. If the module is not a module that performs image processing, the search execution process is not performed. By doing so, it is possible to prevent the search execution process from being executed when a module that does not perform image processing is moved.

次に、図37を参照して図8のステップS114の「削除処理」の詳細について説明する。図37は、情報処理装置110のCPU111によって行われる、「削除処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “deletion process” in step S114 of FIG. 8 will be described with reference to FIG. FIG. 37 is a flowchart illustrating an example of a “deletion process” performed by the CPU 111 of the information processing apparatus 110. 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.

ステップS1701では、情報処理装置110のCPU111は、ステップS106において処理フロー描画領域902で選択されたモジュールを特定する。ステップS1702では、情報処理装置110のCPU111は、ステップS1701で特定されたモジュールを処理フロー描画領域902から削除する。   In step S1701, the CPU 111 of the information processing apparatus 110 identifies the module selected in the processing flow drawing area 902 in step S106. In step S1702, the CPU 111 of the information processing apparatus 110 deletes the module specified in step S1701 from the processing flow drawing area 902.

ステップS1703では、情報処理装置110のCPU111は、処理フロー・入出力パラメータテーブル412を更新する。例えば、図26に示す処理フローと処理フロー・入出力パラメータテーブルT600があった場合に、図31に示すように「二値化」モジュールを削除させるとする。このとき、図31に示す処理フロー・入出力パラメータテーブルT600の通り、モジュール名603「U00003:二値化」を削除して、INDEX601と順序602を振り直す。また、必要があれば入力パラメータ604と出力パラメータ605を設定し直す。なお、このステップでは、実行フラグ606は更新しない。   In step S <b> 1703, the CPU 111 of the information processing apparatus 110 updates the processing flow / input / output parameter table 412. For example, when the processing flow and the processing flow / input / output parameter table T600 shown in FIG. 26 exist, it is assumed that the “binarization” module is deleted as shown in FIG. At this time, as shown in the processing flow / input / output parameter table T600 shown in FIG. 31, the module name 603 “U00003: binarization” is deleted, and the INDEX 601 and the order 602 are reassigned. If necessary, the input parameter 604 and the output parameter 605 are reset. In this step, the execution flag 606 is not updated.

ステップS1704では、情報処理装置110のCPU111は、ステップS1702で削除されたモジュールが、画像処理を行うモジュールであるか否かを判定する。具体的には、モジュール・ソースコードマスタテーブルT800の属性806に画像を保持するインターフェース「IsetTargetImage」が存在するか否かを判定する。「IsetTargetImage」が存在すれば自動実行を行い、「IsetTargetImage」が存在しなければ自動実行を行わない。自動実行をすると判定された場合には、ステップS1705に処理を進め、そうでない場合には、削除処理を終了し、呼び出し元に処理を戻す。   In step S1704, the CPU 111 of the information processing apparatus 110 determines whether the module deleted in step S1702 is a module that performs image processing. Specifically, it is determined whether or not an interface “IsetTargetImage” for holding an image exists in the attribute 806 of the module / source code master table T800. If “IsetTargetImage” exists, automatic execution is performed. If “IsetTargetImage” does not exist, automatic execution is not performed. If it is determined that automatic execution is to be performed, the process proceeds to step S1705. If not, the deletion process is terminated and the process returns to the caller.

ステップS1705では、情報処理装置110のCPU111は、自動実行するか否かを判定する。自動実行をすると判定された場合には、ステップS1706に処理を進め、そうでない場合には、削除処理を終了し、呼び出し元に処理を戻す。   In step S1705, the CPU 111 of the information processing apparatus 110 determines whether to execute automatically. If it is determined that automatic execution is to be performed, the process proceeds to step S1706. If not, the deletion process is terminated and the process returns to the caller.

ステップS1706では、情報処理装置110のCPU111は、探索実行処理を行う。探索実行処理の詳細は、図17で前述した通りである。探索実行処理が終了したら、削除処理を終了し、呼び出し元に処理を戻す。   In step S1706, the CPU 111 of the information processing apparatus 110 performs a search execution process. The details of the search execution process are as described above with reference to FIG. When the search execution process ends, the deletion process ends, and the process returns to the caller.

削除処理では、削除されたモジュールが画像処理を行うモジュールなのか否かを判定し、画像処理を行うモジュールなら探索実行処理を実行し、画像処理を行うモジュールでないなら、探索実行処理を実行させない。こうすることで、画像処理を行わないモジュールの削除がなされた場合の探索実行処理を実行しないようにすることができる。   In the deletion process, it is determined whether or not the deleted module is a module that performs image processing. If the module performs image processing, the search execution process is executed. If the module is not a module that performs image processing, the search execution process is not executed. By doing so, it is possible to prevent the search execution process from being executed when a module that does not perform image processing is deleted.

このように第2の実施形態では、画像処理を行うモジュールに関する操作(追加、移動、削除、パラメータ変更等)がなされた場合には、前述した前半実行または後半実行を行う探索実行処理を実行させ、画像処理を行わないモジュールに関する操作がなされた場合には、探索実行処理を実行しないことで、更なる処理負荷の軽減を図ることができる。   As described above, in the second embodiment, when an operation (addition, movement, deletion, parameter change, etc.) related to a module that performs image processing is performed, the above-described search execution process for performing the first half execution or the second half execution is executed. When an operation related to a module that does not perform image processing is performed, the processing load can be further reduced by not executing the search execution processing.

次に、第3の実施形態について説明を行う。第3の実施形態は、第1の実施形態における図20に示す前半実行処理の変形例である。第1の実施形態においては、ステップS1123において基点モジュールまで処理することで、処理負荷の軽減を図っていた。一方、別の実施形態として、ユーザから操作されたモジュールまで処理することで、処理負荷の軽減を図ってもよい。   Next, a third embodiment will be described. The third embodiment is a modification of the first half execution process shown in FIG. 20 in the first embodiment. In the first embodiment, the processing load is reduced by processing up to the base point module in step S1123. On the other hand, as another embodiment, the processing load may be reduced by processing up to the module operated by the user.

図40は、第3の実施形態における前半実行処理の詳細な処理手順を示すフローチャートである。このフローチャートは、第1の実施形態における図20の変形例である   FIG. 40 is a flowchart illustrating a detailed processing procedure of the first half execution processing in the third embodiment. This flowchart is a modification of FIG. 20 in the first embodiment.

図40のステップS1101乃至ステップS1122は、図20のステップS1101乃至ステップS1122と同様であるので、説明を省略する。   Steps S1101 to S1122 in FIG. 40 are the same as steps S1101 to S1122 in FIG.

ステップS1801では、情報処理装置110のCPU111は、参照中のモジュールが図11のステップS301、図12のステップS401、図13のステップS501のいずれかで特定されたモジュールであるか否かを判定する。モジュールを削除してしまった場合には、図14のステップS601で特定されたモジュールは存在しないので、削除したモジュールより1つ上流に配置されたモジュールであるか否かを判定するようにする。特定されたモジュールであると判定された場合には、ステップS1802に処理を進め、そうでない場合には、ステップS1112に処理を進める。つまり、前半実行処理は、ステップS1101で処理フローの先頭モジュールから処理を開始し、ステップS1801で追加、移動、パラメータ変更されたモジュールまで、または削除されたモジュールの1つ上に配置されたモジュールまで実行して処理を終了する。このようにすることで、処理負荷の軽減を図っている。後述する後半実行処理とは異なり、基点モジュール以降のサムネイル画像は非表示となるが、その分、処理負荷を大幅に軽減させることができる。   In step S1801, the CPU 111 of the information processing apparatus 110 determines whether the module being referred to is a module specified in any of step S301 in FIG. 11, step S401 in FIG. 12, and step S501 in FIG. . If the module has been deleted, there is no module identified in step S601 in FIG. 14, and therefore it is determined whether or not it is a module arranged one upstream from the deleted module. If it is determined that the module has been identified, the process proceeds to step S1802, and if not, the process proceeds to step S1112. In other words, in the first half execution process, the process starts from the first module in the process flow in step S1101, and in step S1801, the module is added, moved, changed to a parameter, or the module placed one above the deleted module. Execute to finish the process. By doing so, the processing load is reduced. Unlike the latter half execution processing described later, thumbnail images after the base point module are not displayed, but the processing load can be greatly reduced by that amount.

ステップS1802では、情報処理装置110のCPU111は、追加、移動、パラメータ変更されたモジュール、または削除されたモジュールの1つ上に配置されたモジュール以降のモジュールは実行しないので、実行しないモジュールのサムネイル画像を非表示またはブラックアウトさせる。完了したら、前半実行処理を終了し、呼び出し元に処理を戻す。   In step S1802, the CPU 111 of the information processing apparatus 110 does not execute the module after the module that has been added, moved, parameter changed, or the module placed on one of the deleted modules. Is hidden or blacked out. When completed, the first half execution process is terminated and the process is returned to the caller.

このようにすることで、モジュールの移動と削除を行った場合の前半実行処理の処理範囲が変わる。例えば、図41では図29に示すような移動がなされた場合の処理概要を示している。つまり、図30の変形例である。図40の処理を実行すると、図41に示す通り、「ラベリング」モジュールの上にあった「二値化」モジュールを、「ラベリング」モジュールの下に移動させた場合、前半実行処理は、「二値化」モジュールまで実行されることになる。また、図42では図31に示すような削除がなされた場合の処理概要を示している。つまり、図32の変形例である。図40の処理を実行すると、図42に示す通り、「ラベリング」モジュールの上にあった「二値化」モジュールを削除した場合、前半実行処理は、「ラベリング」モジュールの前の「ループ」モジュールまで実行されることになる。   By doing so, the processing range of the first half execution process when the module is moved and deleted is changed. For example, FIG. 41 shows an outline of processing when the movement shown in FIG. 29 is performed. That is, this is a modification of FIG. When the process of FIG. 40 is executed, when the “binarization” module that was above the “labeling” module is moved below the “labeling” module as shown in FIG. It will be executed up to the “value” module. FIG. 42 shows an outline of processing when deletion as shown in FIG. 31 is performed. That is, this is a modification of FIG. When the processing of FIG. 40 is executed, as shown in FIG. 42, when the “binarization” module above the “labeling” module is deleted, the first half execution processing is performed by the “loop” module before the “labeling” module. Will be executed.

以上説明したように、処理フローにおいて変更のあった画像処理アイテムまで、または変更のあった画像処理アイテムから画像処理を実行し、それ以外の画像処理アイテムは実行しないので、画像処理プログラムの作成に際して実行される画像処理の負荷を軽減することの可能な効果を奏する。   As described above, image processing is executed up to or from an image processing item that has changed in the processing flow, and no other image processing items are executed. There is an effect capable of reducing the load of the image processing to be executed.

本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。   The present invention can be implemented as a system, apparatus, method, program, storage medium, or the like, and can be applied to a system including a plurality of devices. You may apply to the apparatus which consists of one apparatus.

なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。   Note that the present invention includes a software program that implements the functions of the above-described embodiments directly or remotely from a system or apparatus. The present invention also includes a case where the system or the computer of the apparatus is achieved by reading and executing the supplied program code.

したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, and the like.

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。   Examples of the recording medium for supplying the program include a flexible disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, and CD-RW. There are also magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD-R) and the like.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。   As another program supply method, a browser on a client computer is used to connect to an Internet home page. The computer program itself of the present invention or a compressed file including an automatic installation function can be downloaded from the homepage by downloading it to a recording medium such as a hard disk.

また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. Let me. It is also possible to execute the encrypted program by using the downloaded key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。   Further, the functions of the above-described embodiments are realized by the computer executing the read program. In addition, based on the instructions of the program, an OS or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments can also be realized by the processing.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。   Further, 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. Thereafter, the CPU of the function expansion board or function expansion unit performs part or all of the actual processing based on the instructions of the program, and the functions of the above-described embodiments are realized by the processing.

なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。   The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed as being limited thereto. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.

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 processing system 110 Information processing apparatus 120 Input apparatus 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

Claims (16)

電子画像データに対して画像処理を実行する情報処理装置であって、
所定の処理を実行可能な画像処理アイテムであって、ユーザから指定された処理順で処理フローを構成可能な画像処理アイテムに対して、ユーザから前記処理フローを編集する操作を受け付ける操作受付手段と、
前記操作受付手段でユーザから前記処理フローを編集する操作を受け付ける度に、電子画像データに対して、前記処理フローを構成する画像処理アイテムに係る所定の処理を、前記処理順に基づいて実行する画像処理アイテム実行手段と、
前記画像処理アイテム実行手段で前記画像処理アイテムに係る所定の処理が前記処理順に基づいて実行された場合に、前記操作受付手段で操作を受け付けた画像処理アイテムの実行の結果を表示する結果表示手段と
を備え、
前記画像処理アイテム実行手段は、前記操作受付手段で前記画像処理アイテムに対してユーザから前記処理フローを編集する操作を受け付けた場合には、前記処理フローを構成する画像処理アイテムに係る所定の処理のうち、前記操作受付手段で当該操作を受け付けた画像処理アイテムに係る所定の処理まで前記処理順に実行し、前記操作受付手段で操作を受け付けた画像処理アイテムよりも処理順が後の画像処理アイテムに係る所定の処理を実行しないことを特徴とする情報処理装置。
An information processing apparatus that performs image processing on electronic image data,
An image processing items capable of executing predetermined processing, the operation reception that respect configurable image processing items to the designated processing order in the processing flow from the user, and accepts an operation for editing the processing flow from User chromatography The Means,
An image for executing predetermined processing related to image processing items constituting the processing flow on the electronic image data based on the processing order each time an operation for editing the processing flow is received from the user by the operation receiving unit. Processing item execution means;
Result display means for displaying a result of execution of the image processing item accepted by the operation accepting means when a predetermined process related to the image processed item is executed by the image processing item executing means based on the processing order. And
The image processing item execution unit, when the operation receiving unit receives an operation for editing the processing flow from the user to the image processing item, a predetermined process related to the image processing item constituting the processing flow among the running operation acceptance means the processing order to a predetermined processing according to the image processing item accepted the operation, the image processing items later processing order than the image processing item receives an operation by said operation reception means An information processing apparatus that does not execute the predetermined processing.
前記情報処理装置は、
前記画像処理アイテム実行手段で前記画像処理アイテムに係る所定の処理が実行された結果である結果画像データのサムネイル画像を当該画像処理アイテムごとに生成するサムネイル画像生成手段を更に備え、
前記結果表示手段は、前記画像処理アイテム実行手段で前記画像処理アイテムに係る所定の処理が前記処理順に基づいて実行された場合に、当該実行の結果であるサムネイル画像であって、前記サムネイル画像生成手段で生成されたサムネイル画像を、前記処理フローを構成する画像処理アイテムごとに表示し、
更に、前記結果表示手段は、前記画像処理アイテム実行手段で実行されなかった画像処理アイテムのサムネイル画像を、当該画像処理アイテムに係る所定の処理が実行されなかったことをユーザに認識させるように、変更することを特徴とする請求項1に記載の情報処理装置。
The information processing apparatus includes:
The image processing item execution means further comprises a thumbnail image generation means for generating a thumbnail image of the result image data, which is a result of execution of a predetermined process related to the image processing item, for each image processing item,
The result display means is a thumbnail image that is a result of the execution when the predetermined processing related to the image processing item is executed based on the processing order by the image processing item execution means, and the thumbnail image generation The thumbnail image generated by the means is displayed for each image processing item constituting the processing flow,
Further, the result display means allows the user to recognize the thumbnail image of the image processing item that has not been executed by the image processing item execution means, that the predetermined processing relating to the image processing item has not been executed. The information processing apparatus according to claim 1, wherein the information processing apparatus is changed.
前記画像処理アイテム実行手段は、前記操作受付手段で電子画像データに対する処理を実行しない前記画像処理アイテムに対してユーザから前記処理フローを編集する操作を受け付けた場合には、前記処理フローを構成する画像処理アイテムに係る所定の処理を実行しないことを特徴とする請求項1または2に記載の情報処理装置。 The image processing item execution unit configures the processing flow when an operation for editing the processing flow is received from a user for the image processing item that does not execute processing on electronic image data by the operation receiving unit. The information processing apparatus according to claim 1, wherein a predetermined process related to the image processing item is not executed. 前記情報処理装置は、
前記情報処理装置に備えられた記憶手段に対して、前記画像処理アイテム実行手段で前記画像処理アイテムに係る所定の処理が実行されたか否かを示す実行済み情報を当該画像処理アイテムごとに保存する実行済み情報保存手段を更に備え、
前記画像処理アイテム実行手段は、前記操作受付手段で前記画像処理アイテムに対してユーザから前記処理フローを編集する操作を受け付けた場合には、前記処理フローを構成する画像処理アイテムのうち、前記実行済み情報が未実行である旨を示す画像処理アイテムから、前記操作受付手段で当該操作を受け付けた画像処理アイテムまでに係る所定の処理を、前記処理順に基づいて実行することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
The information processing apparatus includes:
Stored in the storage unit provided in the information processing apparatus is executed information indicating whether or not a predetermined process related to the image processing item has been executed by the image processing item execution unit for each image processing item. It further includes an executed information storage means,
The image processing item execution means, when the operation receiving means receives an operation for editing the processing flow from the user with respect to the image processing item, among the image processing items constituting the processing flow, claims requires information from the image processing item indicating a non-executed, a predetermined processing according to the up image processing item receiving the operation by the operation acceptance means, and executes, based on the processing order The information processing apparatus according to any one of 1 to 3.
前記操作受付手段は、前記処理フローに前記画像処理アイテムを追加する操作と、前記処理フローにおける画像処理アイテムのパラメータを変更する操作と、前記処理フローにおける前記画像処理アイテムの処理順を変更する操作と、前記処理フローから前記画像処理アイテムを削除する操作とを含むいずれか1つの前記処理フローを編集する操作をユーザから受け付けることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 The operation accepting unit is an operation for adding the image processing item to the processing flow, an operation for changing a parameter of the image processing item in the processing flow, and an operation for changing the processing order of the image processing item in the processing flow. 5. The operation of editing any one of the processing flows including an operation for deleting the image processing item from the processing flow is received from a user. 6. Information processing device. 前記画像処理アイテム実行手段は、前記操作受付手段で電子画像データに対する処理を実行しない前記画像処理アイテムのうち、分岐またはループに関する画像処理アイテムに対してユーザからの前記処理フローを編集する操作を受け付けた場合には、前記処理フローを構成する画像処理アイテムに係る所定の処理を実行することを特徴とする請求項3に記載の情報処理装置。 The image processing item execution means accepts an operation for editing the processing flow from a user for an image processing item related to a branch or loop among the image processing items that do not execute processing on electronic image data by the operation accepting means. The information processing apparatus according to claim 3, wherein a predetermined process related to an image processing item constituting the processing flow is executed. 電子画像データに対して画像処理を実行する情報処理装置の制御方法であって、
前記情報処理装置の操作受付手段が、所定の処理を実行可能な画像処理アイテムであって、ユーザから指定された処理順で処理フローを構成可能な画像処理アイテムに対して、ユーザから前記処理フローを編集する操作を受け付ける操作受付ステップと、
前記情報処理装置の画像処理アイテム実行手段が、前記操作受付ステップでユーザから前記処理フローを編集する操作を受け付ける度に、前記処理フローを構成する画像処理アイテムに係る所定の処理を、前記処理順に基づいて実行する画像処理アイテム実行ステップと、
前記情報処理装置の結果表示手段が、前記画像処理アイテム実行ステップで前記画像処理アイテムに係る所定の処理が前記処理順に基づいて実行された場合に、前記操作受付ステップで操作を受け付けた画像処理アイテムの実行の結果を表示する結果表示ステップと
を備え、
前記画像処理アイテム実行ステップは、前記操作受付ステップで前記画像処理アイテムに対してユーザから前記処理フローを編集する操作を受け付けた場合には、前記処理フローを構成する画像処理アイテムに係る所定の処理のうち、前記操作受付ステップで当該操作を受け付けた画像処理アイテムに係る所定の処理まで前記処理順に実行し、前記操作受付ステップで操作を受け付けた画像処理アイテムよりも処理順が後の画像処理アイテムに係る所定の処理を実行しないことを特徴とする情報処理装置の制御方法。
A method of controlling an information processing apparatus that performs image processing on electronic image data,
Operation receiving means of the information processing apparatus, an image processing items capable of executing predetermined processing, the image processing items that can be configured for the given processing order in the processing flow from the user, from said Yu chromatography The An operation acceptance step for accepting an operation for editing the process flow ;
Each time the image processing item execution means of the information processing apparatus receives an operation for editing the processing flow from the user in the operation receiving step, a predetermined process related to the image processing items constituting the processing flow is performed in the order of the processing. An image processing item execution step to be executed based on;
The image processing item in which the result display unit of the information processing apparatus has received an operation in the operation receiving step when a predetermined process related to the image processing item is executed in the image processing item executing step based on the processing order A result display step for displaying the result of execution of
In the image processing item execution step, when an operation for editing the processing flow is received from a user for the image processing item in the operation receiving step, a predetermined process related to the image processing item constituting the processing flow among the executed the processing order to a predetermined processing according to the image processing items accept the operation by the operation receiving step, the image processing items later processing order than the image processing item receives an operation by the operation reception step of A control method for an information processing apparatus, wherein the predetermined processing according to the above is not executed.
電子画像データに対して画像処理を実行する情報処理装置の制御方法をコンピュータに
実行させるためのコンピュータに読み取り実行可能なプログラムであって、
前記情報処理装置を、
所定の処理を実行可能な画像処理アイテムであって、ユーザから指定された処理順で処理フローを構成可能な画像処理アイテムに対して、ユーザから前記処理フローを編集する操作を受け付ける操作受付手段と、
前記操作受付手段でユーザから前記処理フローを編集する操作を受け付ける度に、前記処理フローを構成する画像処理アイテムに係る所定の処理を、前記処理順に基づいて実行する画像処理アイテム実行手段と、
前記画像処理アイテム実行手段で前記画像処理アイテムに係る所定の処理が前記処理順に基づいて実行された場合に、前記操作受付手段で操作を受け付けた画像処理アイテムの実行の結果を表示する結果表示手段として機能させ、
前記画像処理アイテム実行手段は、前記操作受付手段で前記画像処理アイテムに対してユーザから前記処理フローを編集する操作を受け付けた場合には、前記処理フローを構成する画像処理アイテムに係る所定の処理のうち、前記操作受付手段で当該操作を受け付けた画像処理アイテムに係る所定の処理まで前記処理順に実行し、前記操作受付手段で操作を受け付けた画像処理アイテムよりも処理順が後の画像処理アイテムに係る所定の処理を実行しないことを特徴とするコンピュータに読み取り実行可能なプログラム。
A computer readable and executable program for causing a computer to execute a control method of an information processing apparatus that performs image processing on electronic image data,
The information processing apparatus;
An image processing items capable of executing predetermined processing, the operation reception that respect configurable image processing items to the designated processing order in the processing flow from the user, and accepts an operation for editing the processing flow from User chromatography The Means,
Image processing item execution means for executing a predetermined process related to image processing items constituting the processing flow based on the processing order each time an operation for editing the processing flow is received from the user by the operation receiving means;
Result display means for displaying a result of execution of the image processing item accepted by the operation accepting means when a predetermined process related to the image processed item is executed by the image processing item executing means based on the processing order. Function as
The image processing item execution unit, when the operation receiving unit receives an operation for editing the processing flow from the user to the image processing item, a predetermined process related to the image processing item constituting the processing flow among the running operation acceptance means the processing order to a predetermined processing according to the image processing item accepted the operation, the image processing items later processing order than the image processing item receives an operation by said operation reception means A program that can be read and executed by a computer, wherein the predetermined processing according to the above is not executed.
電子画像データに対して画像処理を実行する情報処理装置であって、
所定の処理を実行可能な画像処理アイテムであって、ユーザから指定された処理順で処理フローを構成可能な画像処理アイテムに対して、ユーザから前記処理フローを編集する操作を受け付ける操作受付手段と、
前記操作受付手段でユーザから前記処理フローを編集する操作を受け付けた画像処理アイテムに基づいて、前記処理フローにおいて基点となる画像処理アイテムを特定する画像処理アイテム特定手段と、
前記操作受付手段でユーザから前記処理フローを編集する操作を受け付ける度に、電子画像データに対して、前記処理フローを構成する画像処理アイテムに係る所定の処理を、前記処理順に基づいて実行する画像処理アイテム実行手段と
を備え、
前記画像処理アイテム実行手段は、前記操作受付手段で前記画像処理アイテムに対してユーザから前記処理フローを編集する操作を受け付けた場合には、前記処理フローを構成する画像処理アイテムに係る所定の処理のうち、前記画像処理アイテム特定手段で特定された画像処理アイテムに係る所定の処理から当該特定された画像処理アイテムよりも処理順が後の画像処理アイテムに係る所定の処理を前記処理順に実行し、前記画像処理アイテム特定手段で特定された画像処理アイテムよりも処理順が前の画像処理アイテムに係る所定の処理を実行しないことを特徴とする情報処理装置。
An information processing apparatus that performs image processing on electronic image data,
An operation accepting unit that accepts an operation for editing the processing flow from the user with respect to an image processing item that can execute a predetermined process and that can configure the processing flow in a processing order specified by the user; ,
An image processing item specifying unit that specifies an image processing item that is a base point in the processing flow based on an image processing item that has received an operation for editing the processing flow from a user by the operation receiving unit;
An image for executing predetermined processing related to image processing items constituting the processing flow on the electronic image data based on the processing order each time an operation for editing the processing flow is received from the user by the operation receiving unit. Processing item execution means,
The image processing item execution unit, when the operation receiving unit receives an operation for editing the processing flow from the user to the image processing item, a predetermined process related to the image processing item constituting the processing flow A predetermined process related to the image processing item that is later in processing order than the specified image processing item from the predetermined process related to the image processing item specified by the image processing item specifying means. An information processing apparatus that does not execute a predetermined process related to an image processing item whose processing order is earlier than that of the image processing item specified by the image processing item specifying means.
前記情報処理装置は、
前記画像処理アイテム特定手段で特定された画像処理アイテムよりも処理順が前の画像処理アイテムに係る所定の処理の結果である結果画像データを、前記情報処理装置に備えられた記憶手段に保存する結果保存手段を更に備え、
前記画像処理アイテム実行手段は、前記操作受付手段で前記画像処理アイテムに対してユーザから前記処理フローを編集する操作を受け付けた場合には、前記記憶手段から前記結果保存手段で保存した結果画像データを取得し、当該取得した結果画像データを用いて、前記処理フローを構成する画像処理アイテムに係る所定の処理を前記処理順に基づいて実行することを特徴とする請求項9に記載の情報処理装置。
The information processing apparatus includes:
Result image data that is a result of a predetermined process relating to an image processing item whose processing order is earlier than the image processing item specified by the image processing item specifying unit is stored in a storage unit provided in the information processing apparatus. Further comprising a result storage means;
The image processing item execution means stores the result image data stored in the result storage means from the storage means when the operation receiving means receives an operation for editing the processing flow from the user to the image processing item. The information processing apparatus according to claim 9, wherein a predetermined process related to an image processing item constituting the processing flow is executed based on the processing order using the acquired result image data. .
前記情報処理装置は、
前記画像処理アイテム実行手段で実行された前記処理フローの最終結果である最終結果画像データを表示する表示手段を更に備えることを特徴とする請求項9または10に記載の情報処理装置。
The information processing apparatus includes:
The information processing apparatus according to claim 9, further comprising a display unit that displays final result image data that is a final result of the processing flow executed by the image processing item execution unit.
前記画像処理アイテム実行手段は、前記操作受付手段で電子画像データに対する処理を実行しない前記画像処理アイテムに対してユーザから前記処理フローを編集する操作を受け付けた場合には、前記処理フローを構成する画像処理アイテムに係る所定の処理を実行しないことを特徴とする請求項9乃至11のいずれか1項に記載の情報処理装置。 The image processing item execution unit configures the processing flow when an operation for editing the processing flow is received from a user for the image processing item that does not execute processing on electronic image data by the operation receiving unit. The information processing apparatus according to any one of claims 9 to 11, wherein predetermined processing relating to an image processing item is not executed. 前記操作受付手段は、前記処理フローに前記画像処理アイテムを追加する操作と、前記処理フローにおける画像処理アイテムのパラメータを変更する操作と、前記処理フローにおける前記画像処理アイテムの処理順を変更する操作と、前記処理フローから前記画像処理アイテムを削除する操作とを含むいずれか1つの前記処理フローを編集する操作をユーザから受け付けることを特徴とする請求項9乃至12のいずれか1項に記載の情報処理装置。 The operation accepting unit is an operation for adding the image processing item to the processing flow, an operation for changing a parameter of the image processing item in the processing flow, and an operation for changing the processing order of the image processing item in the processing flow. 13. The operation according to claim 9, wherein an operation for editing any one of the processing flows including an operation for deleting the image processing item from the processing flow is received from a user. Information processing device. 前記画像処理アイテム実行手段は、前記操作受付手段で電子画像データに対する処理を実行しない前記画像処理アイテムのうち、分岐またはループに関する画像処理アイテムに対してユーザから前記処理フローを編集する操作を受け付けた場合には、前記処理フローを構成する画像処理アイテムに係る所定の処理を実行することを特徴とする請求項12に記載の情報処理装置。 The image processing item execution unit has received an operation for editing the processing flow from the user for an image processing item related to a branch or a loop among the image processing items in which the operation receiving unit does not execute processing on electronic image data. In this case, the information processing apparatus according to claim 12, wherein a predetermined process related to an image processing item constituting the processing flow is executed. 電子画像データに対して画像処理を実行する情報処理装置の制御方法であって、
前記情報処理装置の操作受付手段が、所定の処理を実行可能な画像処理アイテムであって、ユーザから指定された処理順で処理フローを構成可能な画像処理アイテムに対して、ユーザから前記処理フローを編集する操作を受け付ける操作受付ステップと、
前記情報処理装置の画像処理アイテム特定手段が、前記操作受付ステップでユーザから前記処理フローを編集する操作を受け付けた画像処理アイテムに基づいて、前記処理フローにおいて基点となる画像処理アイテムを特定する画像処理アイテム特定ステップと、
前記情報処理装置の画像処理アイテム実行手段が、前記操作受付手段でユーザから前記処理フローを編集する操作を受け付ける度に、前記処理フローを構成する画像処理アイテムに係る所定の処理を、前記処理順に基づいて実行する画像処理アイテム実行ステップとを備え、
前記画像処理アイテム実行ステップは、前記操作受付ステップで前記画像処理アイテムに対してユーザから前記処理フローを編集する操作を受け付けた場合には、前記処理フローを構成する画像処理アイテムに係る所定の処理のうち、前記画像処理アイテム特定ステップで特定された画像処理アイテムに係る所定の処理から当該特定された画像処理アイテムよりも処理順が後の画像処理アイテムに係る所定の処理を前記処理順に実行し、前記画像処理アイテム特定ステップで特定された画像処理アイテムよりも処理順が前の画像処理アイテムに係る所定の処理を実行しないことを特徴とする情報処理装置の制御方法。
A method of controlling an information processing apparatus that performs image processing on electronic image data,
Operation receiving means of the information processing apparatus, an image processing items capable of executing predetermined processing for configurable image processing items to the designated processing order in the processing flow from the user, the processing flow from the user An operation accepting step for accepting an operation for editing ,
An image in which an image processing item specifying unit of the information processing apparatus specifies an image processing item that is a base point in the processing flow based on an image processing item that has received an operation for editing the processing flow from a user in the operation receiving step. Process item identification step;
Each time the image processing item execution unit of the information processing apparatus receives an operation for editing the processing flow from the user by the operation receiving unit, a predetermined process related to the image processing item constituting the processing flow is performed in the processing order. An image processing item execution step to be executed based on
In the image processing item execution step, when an operation for editing the processing flow is received from a user for the image processing item in the operation receiving step, a predetermined process related to the image processing item constituting the processing flow A predetermined process related to the image processing item that is later in processing order than the specified image processing item from the predetermined process related to the image processing item specified in the image processing item specifying step. A control method for an information processing apparatus, wherein a predetermined process related to an image processing item whose processing order is earlier than that of the image processing item specified in the image processing item specifying step is not executed.
電子画像データに対して画像処理を実行する情報処理装置の制御方法をコンピュータに実行させるためのコンピュータに読み取り実行可能なプログラムであって、
前記情報処理装置を、
所定の処理を実行可能な画像処理アイテムであって、ユーザから指定された処理順で処理フローを構成可能な画像処理アイテムに対して、ユーザから前記処理フローを編集する操作を受け付ける操作受付手段と、
前記操作受付手段でユーザから前記処理フローを編集する操作を受け付けた画像処理アイテムに基づいて、前記処理フローにおいて基点となる画像処理アイテムを特定する画像処理アイテム特定手段と、
前記操作受付手段でユーザから前記処理フローを編集する操作を受け付ける度に、前記処理フローを構成する画像処理アイテムに係る所定の処理を、前記処理順に基づいて実行する画像処理アイテム実行手段として機能させ、
前記画像処理アイテム実行手段は、前記操作受付手段で前記画像処理アイテムに対してユーザから前記処理フローを編集する操作を受け付けた場合には、前記処理フローを構成する画像処理アイテムに係る所定の処理のうち、前記画像処理アイテム特定手段で特定された画像処理アイテムに係る所定の処理から当該特定された画像処理アイテムよりも処理順が後の画像処理アイテムに係る所定の処理を前記処理順に実行し、前記画像処理アイテム特定手段で特定された画像処理アイテムよりも処理順が前の画像処理アイテムに係る所定の処理を実行しないことを特徴とするコンピュータに読み取り実行可能なプログラム。
A computer readable and executable program for causing a computer to execute a control method of an information processing apparatus that performs image processing on electronic image data,
The information processing apparatus;
An operation accepting unit that accepts an operation for editing the processing flow from the user with respect to an image processing item that can execute a predetermined process and that can configure the processing flow in a processing order specified by the user; ,
An image processing item specifying unit that specifies an image processing item that is a base point in the processing flow based on an image processing item that has received an operation for editing the processing flow from a user by the operation receiving unit;
Each time the operation receiving unit receives an operation for editing the processing flow from the user, the predetermined processing related to the image processing items constituting the processing flow is made to function as an image processing item executing unit that executes based on the processing order. ,
The image processing item execution unit, when the operation receiving unit receives an operation for editing the processing flow from the user to the image processing item, a predetermined process related to the image processing item constituting the processing flow A predetermined process related to the image processing item that is later in processing order than the specified image processing item from the predetermined process related to the image processing item specified by the image processing item specifying means. A computer-readable and executable program that does not execute a predetermined process related to an image processing item whose processing order is earlier than that of the image processing item specified by the image processing item specifying means.
JP2012266630A 2011-12-06 2012-12-05 Information processing apparatus, control method thereof, and program Active JP5344658B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012266630A JP5344658B2 (en) 2011-12-06 2012-12-05 Information processing apparatus, control method thereof, and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011266412 2011-12-06
JP2011266412 2011-12-06
JP2012266630A JP5344658B2 (en) 2011-12-06 2012-12-05 Information processing apparatus, control method thereof, and program

Publications (2)

Publication Number Publication Date
JP2013140572A JP2013140572A (en) 2013-07-18
JP5344658B2 true JP5344658B2 (en) 2013-11-20

Family

ID=49037919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012266630A Active JP5344658B2 (en) 2011-12-06 2012-12-05 Information processing apparatus, control method thereof, and program

Country Status (1)

Country Link
JP (1) JP5344658B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200013375A1 (en) * 2017-03-07 2020-01-09 Sony Corporation Information processing apparatus and information processing method
JP6890557B2 (en) * 2018-01-17 2021-06-18 株式会社日立製作所 Analytical model creation system, programming device and analytical model creation method
CN113168368B (en) * 2018-11-28 2023-09-29 株式会社特拉斯特技术 Programming device and recording medium

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08335178A (en) * 1995-06-06 1996-12-17 Sharp Corp Method and device for processing information
JP3646390B2 (en) * 1996-02-20 2005-05-11 富士ゼロックス株式会社 Programming support apparatus and method
JPH09288568A (en) * 1996-04-23 1997-11-04 Matsushita Electric Works Ltd Image processor and execution flow preparing method for the same
JP4442042B2 (en) * 2001-02-23 2010-03-31 パナソニック電工株式会社 Image processing program creation method and system
JP2008153949A (en) * 2006-12-18 2008-07-03 Ricoh Co Ltd Image processor and image processing method
JP2008287710A (en) * 2007-04-16 2008-11-27 Nst:Kk Development control device
JP4767309B2 (en) * 2008-11-28 2011-09-07 キヤノンItソリューションズ株式会社 Information processing apparatus, information processing method, and computer program
JP2011186650A (en) * 2010-03-05 2011-09-22 Canon It Solutions Inc Apparatus and method for processing information, computer program, and recording medium with computer program recorded thereon

Also Published As

Publication number Publication date
JP2013140572A (en) 2013-07-18

Similar Documents

Publication Publication Date Title
CN109634598B (en) Page display method, device, equipment and storage medium
US9348563B1 (en) Bi-directional editing between visual screen designer and source code
CN105308648B (en) The system and method that interest region for selecting to user carries out super-resolution
US20190196672A1 (en) Visual effects system for &#34;big data&#34; analysis workflow editors, distribution platforms, execution engines, and management systems comprising same
US20160313874A1 (en) Visual effects system for &#34;big data&#34; analysis workflow editors, distribution platforms, execution engines, and management systems comprising same
US11223873B1 (en) Methods and systems for remote streaming of a user-customized user interface
JP5344658B2 (en) Information processing apparatus, control method thereof, and program
CN114154000A (en) Multimedia resource publishing method and device
US20140173442A1 (en) Presenter view in presentation application
JP4810009B2 (en) Data processing apparatus, method and program
JP6795767B2 (en) Information processing device and its processing method and program
KR102465870B1 (en) Method and system for generating video content based on text to speech for image
JP5334124B2 (en) Information processing apparatus, control method thereof, and program
CN113748409B (en) Information processing system, information processing device, information processing method, and program
US20200293156A1 (en) Studio builder for interactive media
JP2019008666A (en) Information processing apparatus, control method, and program
JP2017151530A (en) Information processing unit, control method thereof, and program
JP4886910B1 (en) Information processing apparatus, information processing apparatus control method, program, and recording medium storing program
JP2011008352A (en) Document processor, document processing method, and program
JP2009140339A (en) Information processor and information processing method
JP6361770B2 (en) Information processing apparatus, processing method thereof, and program
JP2019197259A (en) Information processor, method for controlling the same, and program
Maskrey et al. Documents and iCloud
JP2015143982A (en) Information processing device, control method thereof, and program
JP5871046B2 (en) Information processing apparatus, control method thereof, and program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130531

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130624

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130716

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130808

R150 Certificate of patent or registration of utility model

Ref document number: 5344658

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

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

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