JP2010128908A - Information processing apparatus, control method for the same, and program - Google Patents
Information processing apparatus, control method for the same, and program Download PDFInfo
- Publication number
- JP2010128908A JP2010128908A JP2008304473A JP2008304473A JP2010128908A JP 2010128908 A JP2010128908 A JP 2010128908A JP 2008304473 A JP2008304473 A JP 2008304473A JP 2008304473 A JP2008304473 A JP 2008304473A JP 2010128908 A JP2010128908 A JP 2010128908A
- Authority
- JP
- Japan
- Prior art keywords
- module
- processing
- information
- input
- source code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 199
- 230000010365 information processing Effects 0.000 title claims description 24
- 238000012545 processing Methods 0.000 claims abstract description 380
- 230000004044 response Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 abstract description 3
- 238000006243 chemical reaction Methods 0.000 description 27
- 239000002245 particle Substances 0.000 description 22
- 230000006870 function Effects 0.000 description 19
- 238000004458 analytical method Methods 0.000 description 18
- 238000003780 insertion Methods 0.000 description 15
- 230000037431 insertion Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000012795 verification Methods 0.000 description 14
- 238000011161 development Methods 0.000 description 13
- 238000007689 inspection Methods 0.000 description 10
- 238000005286 illumination Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、画像の処理を行う情報処理装置及びその制御方法、並びに、当該制御方法をコンピュータに実行させるためのプログラムに関する。 The present invention relates to an information processing apparatus that performs image processing, a control method thereof, and a program for causing a computer to execute the control method.
従来、例えば、チップマウンターにおける基板や部品の位置決めや、出来上がった製品の検査などを目的として、カメラで撮影した検査対象の画像データを、一定のロジック(処理フロー)で画像処理する画像処理装置が広く用いられている。 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 (processing flow), so it does not require the user's effort to introduce it into the actual manufacturing process, but the user's needs are completely met. It is rare that the logic satisfies the above. 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
ここで、上述した専用タイプの画像処理装置においてロジック(処理フロー)を構築する場合、通常、複数のモジュールを組み合わせることにより行われる。この場合、1つ1つが理想的な結果を得る画像処理のモジュールを複数組み合わせて作ったロジック(処理フロー)であっても、画像処理対象の画像にはいろいろなものがあるため、全ての画像に対して目標とする結果が得られない可能性もある。そこで通常は、構築したロジックを用いて各種の画像に対して、それぞれのモジュールのパラメータを変更したり、モジュールの順序を変更したり、更には新規のモジュールを追加したりして、試行錯誤を繰り返して調整を行う必要がある。 Here, when a logic (processing flow) is constructed in the above-described dedicated type image processing apparatus, it is usually performed by combining a plurality of modules. In this case, even if the logic (processing flow) is created by combining a plurality of image processing modules each of which obtains an ideal result, there are various types of images to be processed. The target result may not be obtained. Therefore, it is usual to change the parameters of each module, change the order of modules, add new modules, etc. for various images using the built logic, and perform trial and error. It is necessary to make adjustments repeatedly.
しかしながら、このようなモジュールの調整を行う場合、上述した特許文献1の技術では、その調整の都度、始めからモジュールを選択しパラメータを設定するといった作業を行うことが必要になり、開発者にとって負荷の大きい作業を行わなければならないといった問題がある。
However, when such a module adjustment is performed, the technique disclosed in
また、構築したロジック(処理フロー)において、組み合わされた複数のモジュールのうちのどのモジュールについて、パラメータや順序の変更、或いは新規に追加する等の調整を行うのか、即ち、調整対象となるモジュールを特定する必要がある。 In addition, in the constructed logic (processing flow), for which module among the plurality of combined modules, adjustments such as change of parameters and order or addition of new ones, that is, modules to be adjusted are performed. Need to be identified.
しかしながら、上述した特許文献1の技術では、構築したロジックにおいては処理フローの途中のモジュールの処理結果が不明で最終的な処理結果しか分からないため、調整対象となるモジュールを特定することは、やはり、開発者にとって負荷の大きい作業を行わなければならないといった問題がある。
However, in the technique of
本発明は、このような問題点に鑑みてなされたものであり、効率のよい画像処理のロジック(処理フロー)の構築を実現し得る情報処理装置、情報処理方法及びプログラムを提供することを目的とする。 The present invention has been made in view of such problems, and an object thereof is to provide an information processing apparatus, an information processing method, and a program capable of realizing the construction of an efficient image processing logic (processing flow). And
本発明の情報処理装置は、画像の処理を行う情報処理装置であって、画像の処理に関する処理を示すモジュールと、各モジュールに対応するソースコードとが関連付けられているモジュール・ソースコードマスタテーブルと、前記モジュールを複数組み合わせた処理フローの各モジュールと、当該各モジュールの実行の順序を示す情報、当該各モジュールの処理に係る入力情報及び出力情報とを含む処理フロー・入出力情報テーブルとを記憶するテーブル記憶手段と、前記処理フローに対して前記モジュールに関する変更の指示がされた際に、当該変更の指示に応じて、前記処理フロー・入出力情報テーブルの情報を変更する変更手段と、前記変更手段により変更された処理フロー・入出力情報テーブルの情報及び前記モジュール・ソースコードマスタテーブルの情報を用いて、前記モジュールごとにソースコードを生成するソースコード生成手段と、前記ソースコード生成手段により生成されたソースコードに基づいてオブジェクトコードを生成するオブジェクトコード生成手段と、前記オブジェクトコード生成手段により生成されたオブジェクトコードを用いて、前記変更手段により変更された処理フロー・入出力情報テーブルの前記モジュールごとに前記処理を実行する処理実行手段と、前記処理実行手段による処理の実行により得られた前記モジュールごとの結果画像を表示装置に表示する結果画像表示手段とを有する。 An information processing apparatus according to the present invention is an information processing apparatus that performs image processing, and includes a module / source code master table in which a module indicating processing related to image processing and a source code corresponding to each module are associated. , Storing each module of the processing flow in which a plurality of the modules are combined, information indicating the execution order of the modules, and a processing flow / input / output information table including input information and output information related to processing of the modules A table storage means, a change means for changing information in the processing flow / input / output information table in response to the change instruction when an instruction to change the module is given to the processing flow, and The processing flow / input / output information table information changed by the changing means and the module / source code Using the master table information, source code generation means for generating source code for each module, object code generation means for generating object code based on the source code generated by the source code generation means, Using the object code generated by the object code generation means, a process execution means for executing the process for each module of the processing flow / input / output information table changed by the change means, and a process executed by the process execution means And a result image display means for displaying a result image for each module obtained by execution on a display device.
本発明の情報処理装置の制御方法は、画像の処理を行う情報処理装置の制御方法であって、画像の処理に関する処理を示すモジュールと、各モジュールに対応するソースコードとが関連付けられているモジュール・ソースコードマスタテーブルと、前記モジュールを複数組み合わせた処理フローの各モジュールと、当該各モジュールの実行の順序を示す情報、当該各モジュールの処理に係る入力情報及び出力情報とを含む処理フロー・入出力情報テーブルとをテーブル記憶手段に記憶する記憶ステップと、前記処理フローに対して前記モジュールに関する変更の指示がされた際に、当該変更の指示に応じて、前記処理フロー・入出力情報テーブルの情報を変更する変更ステップと、前記変更ステップにより変更された処理フロー・入出力情報テーブルの情報及び前記モジュール・ソースコードマスタテーブルの情報を用いて、前記モジュールごとにソースコードを生成するソースコード生成ステップと、前記ソースコード生成ステップにより生成されたソースコードに基づいてオブジェクトコードを生成するオブジェクトコード生成ステップと、前記オブジェクトコード生成ステップにより生成されたオブジェクトコードを用いて、前記変更ステップにより変更された処理フロー・入出力情報テーブルの前記モジュールごとに前記処理を実行する処理実行ステップと、前記処理実行ステップによる処理の実行により得られた前記モジュールごとの結果画像を表示装置に表示する結果画像表示ステップとを有する。 A method for controlling an information processing apparatus according to the present invention is a method for controlling an information processing apparatus that performs image processing, wherein a module that indicates processing related to image processing and a source code corresponding to each module are associated with each other A processing flow including an input code and output information relating to processing of each module, information indicating the execution order of each module, a source code master table, each module of a processing flow combining a plurality of the modules, A storage step of storing an output information table in a table storage unit; and when an instruction to change the module is given to the processing flow, the processing flow / input / output information table Change step for changing information, and processing flow / input / output information changed by the change step A source code generation step for generating a source code for each module, and an object code based on the source code generated by the source code generation step, using the information on the table and the information on the module / source code master table An object code generation step, and a process execution step for executing the process for each module of the process flow / input / output information table changed by the change step using the object code generated by the object code generation step; And a result image display step of displaying on the display device a result image for each of the modules obtained by executing the processing in the processing execution step.
本発明のプログラムは、画像の処理を行う情報処理装置の制御方法をコンピュータに実行させるためのプログラムであって、画像の処理に関する処理を示すモジュールと、各モジュールに対応するソースコードとが関連付けられているモジュール・ソースコードマスタテーブルと、前記モジュールを複数組み合わせた処理フローの各モジュールと、当該各モジュールの実行の順序を示す情報、当該各モジュールの処理に係る入力情報及び出力情報とを含む処理フロー・入出力情報テーブルとをテーブル記憶手段に記憶する記憶ステップと、前記処理フローに対して前記モジュールに関する変更の指示がされた際に、当該変更の指示に応じて、前記処理フロー・入出力情報テーブルの情報を変更する変更ステップと、前記変更ステップにより変更された処理フロー・入出力情報テーブルの情報及び前記モジュール・ソースコードマスタテーブルの情報を用いて、前記モジュールごとにソースコードを生成するソースコード生成ステップと、前記ソースコード生成ステップにより生成されたソースコードに基づいてオブジェクトコードを生成するオブジェクトコード生成ステップと、前記オブジェクトコード生成ステップにより生成されたオブジェクトコードを用いて、前記変更ステップにより変更された処理フロー・入出力情報テーブルの前記モジュールごとに前記処理を実行する処理実行ステップと、前記処理実行ステップによる処理の実行により得られた前記モジュールごとの結果画像を表示装置に表示する結果画像表示ステップとをコンピュータに実行させるためのものである。 A program according to the present invention is a program for causing a computer to execute a control method of an information processing apparatus that performs image processing, in which modules indicating processing related to image processing are associated with source codes corresponding to the modules. Including a module / source code master table, a module of a processing flow in which a plurality of the modules are combined, information indicating an execution order of the modules, input information and output information related to the processing of the modules A storage step for storing a flow / input / output information table in a table storage means; and when a change instruction for the module is given to the processing flow, the processing flow / input / output is determined according to the change instruction. A change step for changing the information in the information table, and the change step A source code generation step for generating a source code for each module using the information of the processed processing flow / input / output information table and the information of the module / source code master table, and the source generated by the source code generation step An object code generating step for generating an object code based on the code; and for each module of the processing flow / input / output information table changed by the changing step, using the object code generated by the object code generating step. A process execution step for executing a process and a result image display step for displaying a result image for each module obtained by executing the process in the process execution step on a display device are executed by a computer.
本発明によれば、効率のよい画像処理のロジック(処理フロー)の構築を実現することができる。 According to the present invention, it is possible to realize efficient image processing logic (processing flow).
以下に、図面を参照しながら、本発明を実施するための最良の形態(実施形態)について説明する。 The best mode (embodiment) for carrying out the present invention will be described below with reference to the drawings.
図1は、本発明の実施形態に係る画像処理システム100の概略構成の一例を示す模式図である。
FIG. 1 is a schematic diagram illustrating an example of a schematic configuration of an
画像処理システム100は、図1に示すように、パーソナルコンピュータ(以下、「PC」と称する)110と、操作入力装置120と、CRTディスプレイ(以下、「CRT」と称する)130と、カメラ140と、照明装置コントローラ150と、照明装置160と、外部機器コントローラ170と、検査対象181が載置されたステージ180を有して構成されている。
As shown in FIG. 1, the
PC110は、画像処理システム100における動作を統括的に制御する情報処理装置である。ここで、本実施形態においては、PC110は、実際の製造工程等に導入される画像処理装置の画像処理プログラムの開発を支援する装置として適用した例を説明するが、本発明においてはこれに限定されるわけではなく、例えば、実際の製造工程等に導入される画像処理装置として適用する形態も本発明に含まれる。
The PC 110 is an information processing apparatus that comprehensively controls operations in the
PC110は、所定のケーブル等を介して、検査対象181の撮像(撮影)を行うカメラ140と通信可能に構成されている。また、PC110は、所定のケーブル等を介して、照明装置160の制御を行う照明装置コントローラ150と通信可能に構成されている。また、PC110は、所定のケーブル等を介して、ステージ180を制御するプログラムマブルコントローラ(PLC)などの外部機器コントローラ170と予め設定した通信が可能に構成されている。さらに、PC110は、所定のケーブル等を介して、それぞれ、操作入力装置120及びCRT130と通信可能に構成されている。即ち、PC110は、所定のケーブル等を介して接続された、操作入力装置120、CRT130、カメラ140、照明装置コントローラ150及び外部機器コントローラ170を制御することによって、画像処理システム100における動作を統括的に制御する。
The PC 110 is configured to be able to communicate with a
操作入力装置120は、例えばユーザがPC110に対して入力指示を行う際にユーザによって操作されるものであり、ユーザから入力指示があった場合に、当該入力指示をPC110に対して入力するものである。この操作入力装置120は、例えば、キーボード(KB)やマウス等で構成されている。
The
CRT130は、PC110の制御にしたがって、各種の画像や各種の情報などを表示画面に表示する。 The CRT 130 displays various images and various information on the display screen according to the control of the PC 110.
カメラ140は、PC110の制御にしたがって、ステージ180上に載置された検査対象181の撮影(撮像)を行い、撮影により得られた画像データを所定のケーブル等を介してPC110に送信する。
The
照明装置コントローラ150は、PC110の制御にしたがって、照明装置160における照明を制御する。照明装置160は、照明装置コントローラ150の制御に基づき、検査対象181における検査内容に応じて、当該検査対象181に対する照明の点灯/非点灯を切り替え等する。
The
外部機器コントローラ170は、PC110の制御にしたがって、ステージ180を制御する。ステージ180は、外部機器コントローラ170の制御に基づき、載置された検査対象181を目的の位置に移動させたり、検査対象181の搬入や搬出をしたりする。
The
次に、PC110の内部のハードウェア構成について説明する。
図2は、図1に示すPC110の内部のハードウェア構成の一例を示す模式図である。ここで、図2には、PC110の内部構成に加えて、当該PC110と接続される装置についても記載している。
Next, the internal hardware configuration of the PC 110 will be described.
FIG. 2 is a schematic diagram illustrating an example of an internal hardware configuration of the PC 110 illustrated in FIG. Here, in FIG. 2, in addition to the internal configuration of the PC 110, a device connected to the PC 110 is also described.
PC110は、図2に示すように、CPU111と、RAM112と、ROM113と、システムバス114と、各種のコントローラ115(115a〜115f)と、外部メモリ116のハードウェア構成を有して構成されている。具体的に、各種のコントローラ115として、入力コントローラ115a、ビデオコントローラ115b、メモリコントローラ115c、通信I/Fコントローラ115d及び115e、画像入力コントローラ115fが構成されている。
As shown in FIG. 2, the PC 110 has a hardware configuration including a
CPU111は、ROM113或いは外部メモリ116に記憶されたプログラム等に基づいてシステムバス114に接続された各デバイスを制御して、PC110における動作を統括的に制御する。
The
RAM112は、CPU111の主メモリ、ワークエリア等として機能する。CPU111は、処理の実行に際して、必要なプログラム等をRAM112にロードして、プログラムを実行することにより、PC110における各種の動作を実現する。
The RAM 112 functions as a main memory and work area for the
ROM113には、CPU111の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、「OS」と称する)、CPU111がPC110の機能を実現するために必要な各種のプログラム等が記憶されている。なお、これらのプログラムは、外部メモリ116に記憶されている形態であってもよい。
The
システムバス114は、CPU111、RAM112、ROM113、入力コントローラ115a、ビデオコントローラ115b、メモリコントローラ115c、通信I/Fコントローラ115d及び115e、画像入力コントローラ115fを、相互に通信可能に接続する。
The
入力コントローラ115aは、キーボード(KB)やマウスなどからなる操作入力装置120からの入力を制御する。
The
ビデオコントローラ115bは、表示装置であるCRT130への表示を制御する。
The
メモリコントローラ115cは、外部メモリ116へのアクセスを制御する。ここで、外部メモリ116は、例えばハードディスク(HD)やフレキシブルディスク(FD)等で構成され、ブートプログラムや、各種のアプリケーションプログラム、編集ファイル、各種のデータや各種の情報等を記憶する。また、外部メモリ116は、CPU111がプログラムを用いた処理を行う際に使用する各種のテーブルや各種の検査結果情報等も記憶する。
The
通信I/Fコントローラ115dは、外部機器コントローラ170との通信を制御する。また、通信I/Fコントローラ115eは、照明装置コントローラ150との通信を制御する。
The communication I /
画像入力コントローラ115fは、カメラ140と通信を行って、カメラ140から画像データの受信が可能に構成されている。なお、本実施形態では、カメラ140からの画像データの入力を前提に説明を行うが、画像ファイルを読み込んで入力する形態であってもよい。
The
次に、PC110の機能構成について説明する。
図3は、図1に示すPC110の機能構成の一例を示す模式図である。
Next, the functional configuration of the
FIG. 3 is a schematic diagram illustrating an example of a functional configuration of the
PC110には、図3に示すように、テーブル記憶部310、フロー作成部320、ソースコード変換部330、コンパイル部340、(検証)実行部350、データ保存部360、及び、データ入力・出力部370の各機能構成が構成される。また、テーブル記憶部310には、モジュール・ソースコードマスタテーブル311、処理フロー・入出力パラメータテーブル312、ソースコードテーブル313、オブジェクトコードテーブル314、及び、プロジェクトファイルテーブル315が保持されている。
As shown in FIG. 3, the
ここで、本実施形態においては、図3のテーブル記憶部310が、例えば図2に示す外部メモリ116に構成される(一旦RAM112に構成された後に外部メモリ116に構成される場合も含む)。また、図3のフロー作成部320、ソースコード変換部330、コンパイル部340、(検証)実行部350、データ保存部360及びデータ入力・出力部370が、例えば図2に示すCPU111とROM113或いは外部メモリ116に記憶されているプログラムとから構成される。
Here, in the present embodiment, the
まず、図3のテーブル記憶部310に保持される各種のテーブルについて説明する。
First, various tables held in the
図4は、図3に示すモジュール・ソースコードマスタテーブル311の一例を示す模式図である。
モジュール・ソースコードマスタテーブル311には、図4に示すように、インデックス(Index)ごとに、画像処理に係るモジュール(画像処理モジュール)と、各モジュールに対応するソースコードが関連付けられている。このソースコードは、ソースコード変換部330で処理対象のモジュールをソースコードに変換する際に用いられるものである。
FIG. 4 is a schematic diagram showing an example of the module / source code master table 311 shown in FIG.
In the module / source code master table 311, as shown in FIG. 4, a module (image processing module) related to image processing and a source code corresponding to each module are associated with each index. This source code is used when the source code conversion unit 330 converts a module to be processed into a source code.
図5は、図3に示す処理フロー・入出力パラメータテーブル312の一例を示す模式図である。
処理フロー・入出力パラメータテーブル312は、図5に示すように、インデックス(Index)501ごとに、画像処理に係るモジュール503と、各モジュール503の順序502と、各モジュール503のフロー登録名504と、各モジュール503における入力パラメータ505及び出力パラメータ506が関連付けられている。入力パラメータ505は、各モジュールで使用する画像バッファや処理領域等を示す。出力パラメータ506は、各モジュールが実行された際の結果画像バッファや閾値等を示す。
FIG. 5 is a schematic diagram showing an example of the processing flow / input / output parameter table 312 shown in FIG.
As illustrated in FIG. 5, the processing flow / input / output parameter table 312 includes, for each
なお、図5に示す処理フロー・入出力パラメータテーブル312におけるインデックス(Index)501と、図4に示すモジュール・ソースコードマスタテーブル311におけるインデックス(Index)とは特に対応させていないが、相互に対応させて各テーブルを作成する形態であってもよい。 The index (Index) 501 in the processing flow / input / output parameter table 312 shown in FIG. 5 and the index (Index) in the module / source code master table 311 shown in FIG. In this case, each table may be created.
ソースコードテーブル313は、処理フロー・入出力パラメータテーブル312に記憶されているモジュール503について、ソースコード変換部330でモジュール・ソースコードマスタテーブル311を用いてソースコードに変換し登録している、全てのモジュール或いは一部のモジュールにおけるソースコードを記憶する。
The source code table 313 converts all
オブジェクトコードテーブル314は、ソースコードテーブル313に記憶されているソースコードについてコンパイル部340で変換した実行可能なモジュールのオブジェクトコードを記憶する。
The object code table 314 stores the object code of an executable module obtained by converting the source code stored in the source code table 313 by the compiling
プロジェクトファイルテーブル315は、画像処理に係る初期設定パラメータや、処理フローシーケンス、ソースコード、入出力パラメータ等を記憶する。 The project file table 315 stores initial setting parameters relating to image processing, processing flow sequences, source codes, input / output parameters, and the like.
続いて、図3のフロー作成部320、ソースコード変換部330、コンパイル部340、(検証)実行部350、データ保存部360、及び、データ入力・出力部370について説明する。
Next, the
フロー作成部320は、モジュール・ソースコードマスタテーブル311に含まれているモジュールの処理シーケンスを管理する処理フロー・入出力パラメータテーブル312の作成等と、処理フロー描画領域(後述する図7の702)へのモジュールの描画を行う機能を有する。
The
ソースコード変換部330は、フロー作成部320により作成された処理フロー・入出力パラメータテーブル312に記憶されている各モジュールの処理データをモジュール・ソースコードマスタテーブル311と照合して、各モジュールをソースコードに変換し、ソースコードテーブル313に記憶する機能を有する。
The source code conversion unit 330 collates the processing data of each module stored in the processing flow / input / output parameter table 312 created by the
なお、図4及び図5に示すテーブルのモジュールとしては、画像に対する処理だけでなく、画像を取得するための事前処理や、処理結果を出力するための事後処理を含む外部機器に対する処理など画像の処理に関する処理であればよい。例えば、カメラ140の撮像条件を設定する制御指令や、照明装置160を制御するための照明装置コントローラ150への制御指令、或いは、ステージの移動などを制御するための外部機器コントローラ170への制御指令を行うものであってもよい。
The table modules shown in FIGS. 4 and 5 include not only image processing but also image processing such as pre-processing for acquiring images and post-processing for outputting processing results to external devices. Any process related to the process may be used. For example, a control command for setting the imaging conditions of the
コンパイル部340は、ソースコードテーブル313に記憶されているソースコードから実行可能なオブジェクトコードを生成し、生成したオブジェクトコードをオブジェクトコードテーブル314に記憶する機能を有する。
The compiling
なお、コンパイル部340が行うコンパイルには、デバッグ・コンパイルとリリース・コンパイルの2つのタイプがある。ここで、本実施形態においては、処理フロー作成中には、ソースコードレベルでのステップ実行を可能とするデバッグ・コンパイルを行い、データ保存時には、オンラインで利用可能なファイルを生成するリリース・コンパイルを行う。この際、デバッグ・コンパイル及びリリース・コンパイルの両者は、同じ変換手法で生成されたソースコードを参照するものとする。 There are two types of compilation performed by the compiling unit 340: 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.
(検証)実行部350は、コンパイル部340により作成されたオブジェクトコードテーブル314に記憶されているオブジェクトコードを実行し、結果画像表示領域(後述する図7の703)と処理フロー・入出力パラメータテーブル312を更新する機能を有する。
The (verification)
データ保存部360は、例えば、RAM112にあるソースコードテーブル313、オブジェクトコードテーブル314及びプロジェクトファイルテーブル315を外部メモリ116に出力して、データの保存処理を行う。
For example, the
データ入力・出力部370は、各モジュールで使用する入出力パラメータを管理する機能を有する。 The data input / output unit 370 has a function of managing input / output parameters used in each module.
次に、PC110による制御方法の処理手順について説明する。
図6は、図1に示すPC110による制御方法の処理手順の一例を示すフローチャートである。
Next, the processing procedure of the control method by the
FIG. 6 is a flowchart illustrating an example of a processing procedure of a control method performed by the
まず、図6のステップS101において、PC110のCPU111は、例えば、操作入力装置120からの入力指示に基づいて、画像処理プログラムの開発を行うための画像処理プログラム開発画面をCRT130に表示する処理を行う。
First, in step S101 of FIG. 6, the
図7は、本発明の実施形態を示し、画像処理プログラム開発画面700の一例を示す模式図である。この画像処理プログラム開発画面700は、例えばGUIで構成されている。
FIG. 7 is a schematic diagram illustrating an example of the image processing
図7に示す画像処理プログラム開発画面700には、利用可能な処理ユニット(即ち、「カメラ取込」等の画像処理に係る各モジュール)を表示するツールボックス701と、画像処理の実行順序(即ち、各モジュールの実行順序)をフローチャートで描画する処理フロー描画領域702と、各画像処理(即ち、各モジュールの処理)で実行した結果画像を表示する結果画像表示領域703と、メニューバー706及びツールバー707と、画像処理プログラムの開発を終了する際に操作される閉じるボタン708等が設けられている。また、図7に示す画像処理プログラム開発画面700には、例えば、新規モジュールの登録時もしくはパラメータの編集時等に、処理フロー描画領域702のフローチャートの各ステップ(即ち、各モジュール)で利用するパラメータを設定するパラメータ編集画面704と、そのパラメータの設定で実行された結果画像を表示する結果画像表示ウィンドウ705が表示される。図7に示す例では、パラメータ編集画面704には、「二値化」のモジュールに係るパラメータを設定する画面が示されている。
An image processing
ここで、再び、図6の説明に戻る。
ステップS101の処理が終了すると、ステップS102に進む。ステップS102に進むと、PC110のCPU111は、操作入力装置120からの入力指示に基づいて、ステップS101で表示された画像処理プログラム開発画面700を用いて新規に画像処理プログラムを開発するか否かを判断する。具体的に、本例では、画像処理プログラム開発画面700のツールバー707における新規作成ボタン707aの選択の有無に応じて、新規に画像処理プログラムを開発するか否かを判断する。即ち、本例では、新規作成ボタン707aが選択された場合に、新規に画像処理プログラムを開発すると判断される。
Here, it returns to description of FIG. 6 again.
When the process of step S101 ends, the process proceeds to step S102. In step S102, the
ステップS102の判断の結果、新規に画像処理プログラムを開発しない場合には(S102/NO)、ステップS103に進む。 If it is determined in step S102 that no new image processing program is to be developed (S102 / NO), the process proceeds to step S103.
ステップS103に進むと、PC110のCPU111は、外部メモリ116に保存されているプロジェクトファイルテーブル315を読み出して、これをRAM112に記憶する。
In step S 103, the
ステップS103の処理が終了した場合、或いは、ステップS102で新規に画像処理プログラムを開発すると判断された場合には(S102/YES)、ステップS104に進む。 When the process of step S103 is completed, or when it is determined in step S102 that a new image processing program is to be developed (S102 / YES), the process proceeds to step S104.
ステップS104に進むと、PC110のCPU111は、操作入力装置120からの入力指示(具体的には、ステップS101で表示された画像処理プログラム開発画面700に対する入力指示)があったか否かを判断する。
In step S104, the
ステップS104の判断の結果、操作入力装置120からの入力指示がなかった場合には(S104/NO)、操作入力装置120からの入力指示があるまで、ステップS104で待機する。
If there is no input instruction from the
一方、ステップS104の判断の結果、操作入力装置120からの入力指示があった場合には(S104/YES)、ステップS105に進む。 On the other hand, as a result of the determination in step S104, if there is an input instruction from the operation input device 120 (S104 / YES), the process proceeds to step S105.
ステップS105に進むと、PC110のCPU111は、操作入力装置120からの入力指示に基づいて、選択された処理内容の判定処理を行う。このステップS105で判定される処理内容としては、本例では、「新規追加処理」、「変更処理」、「移動処理」、「挿入処理」、「全体実行処理」、「保存処理」及び「開発終了処理」である。なお、ここで挙げた処理内容は一例を示したものであり、その他の処理内容をステップS105で判定することも可能である。
In step S105, the
ここで、ステップS105の判定処理では、例えば、図7に示す画像処理プログラム開発画面700において以下の入力がなされることによって、上述した各処理を判定するようにしている。
Here, in the determination process of step S105, for example, the following processes are determined by making the following inputs on the image processing
まず、図7に示すツールボックス701からモジュールが選択され、処理フロー描画領域702の処理フローシーケンスの最後尾にドラッグアン&ドロップ、またはツールボックス701のモジュールがダブルクリックされると、PC110のCPU111は、モジュールの「新規追加処理」のイベントであると判定する。また、処理フロー描画領域702に既に登録されているモジュールがダブルクリックされると、PC110のCPU111は、モジュールのパラメータの「変更処理」のイベントであると判定する。また、処理フロー描画領域702に既に登録されているモジュールが他のモジュールの間にドラッグ&ドロップされると、PC110のCPU111は、モジュールの「移動処理」のイベントであると判定する。また、図7に示すツールボックス701からモジュールが選択され、処理フロー描画領域702に既に登録されているモジュールの間にドラッグアン&ドロップされると、PC110のCPU111は、モジュールの「挿入処理」のイベントであると判定する。また、メニューバー706もしくはツールバー707の実行が選択されると、PC110のCPU111は、処理フロー描画領域702に設定された処理フローの「全体実行処理」のイベントであると判定する。また、メニューバー706もしくはツールバー707の保存が選択されると、PC110のCPU111は、処理フロー描画領域702に設定された処理フローの「保存処理」のイベントであると判定する。また、例えば閉じるボタン708もしくはメニューバー706の終了が選択されると、PC110のCPU111は、画像処理プログラムの「開発終了処理」のイベントであると判定する。
First, when a module is selected from the
なお、本実施形態ではこのようにして処理内容の判定を行うようにしているが、これは一例であり、例えばメニューバー706もしくはツールバー707に「新規追加」などの処理内容に応じたアイコン等の機能を設けてもよく、上述した形態に限定されるものではない。
In this embodiment, the processing content is determined in this way. However, this is an example. For example, an icon or the like corresponding to the processing content such as “add new” is added to the
続いて、ステップS106において、PC110のCPU111は、ステップS105で判定した処理内容が、モジュールの「新規追加処理」であるか否かを判断する。
Subsequently, in step S <b> 106, the
ステップS106の判断の結果、ステップS105で判定した処理内容が、モジュールの「新規追加処理」である場合には(S106/YES)、ステップS107に進む。 As a result of the determination in step S106, if the processing content determined in step S105 is a “new addition process” for the module (S106 / YES), the process proceeds to step S107.
ステップS107に進むと、PC110のCPU111は、選択されたモジュールの「新規追加処理」を行う。このステップS107の詳細については、図8を用いて後述する。そして、ステップS107の処理が終了すると、ステップS104に戻り、操作入力装置120から次の入力指示があるまで待機する。
In step S107, the
一方、ステップS106の判断の結果、ステップS105で判定した処理内容が、モジュールの「新規追加処理」でない場合には(S106/NO)、ステップS108に進む。 On the other hand, as a result of the determination in step S106, if the processing content determined in step S105 is not the “new addition processing” of the module (S106 / NO), the process proceeds to step S108.
ステップS108に進むと、PC110のCPU111は、ステップS105で判定した処理内容が、モジュールのパラメータの「変更処理」であるか否かを判断する。
In step S108, the
ステップS108の判断の結果、ステップS105で判定した処理内容が、モジュールのパラメータの「変更処理」である場合には(S108/YES)、ステップS109に進む。 As a result of the determination in step S108, when the processing content determined in step S105 is “change processing” of the module parameter (S108 / YES), the process proceeds to step S109.
ステップS109に進むと、PC110のCPU111は、選択されたモジュールのパラメータの「変更処理」を行う。このステップS109の詳細については、図9を用いて後述する。そして、ステップS109の処理が終了すると、ステップS104に戻り、操作入力装置120から次の入力指示があるまで待機する。
In step S109, the
一方、ステップS108の判断の結果、ステップS105で判定した処理内容が、モジュールのパラメータの「変更処理」でない場合には(S108/NO)、ステップS110に進む。 On the other hand, as a result of the determination in step S108, if the processing content determined in step S105 is not a “parameter change process” for the module parameter (S108 / NO), the process proceeds to step S110.
ステップS110に進むと、PC110のCPU111は、ステップS105で判定した処理内容が、モジュールの「移動処理」であるか否かを判断する。
In step S110, the
ステップS110の判断の結果、ステップS105で判定した処理内容が、モジュールの「移動処理」である場合には(S110/YES)、ステップS111に進む。 As a result of the determination in step S110, if the processing content determined in step S105 is a “movement process” of the module (S110 / YES), the process proceeds to step S111.
ステップS111に進むと、PC110のCPU111は、選択されたモジュールの「移動処理」を行う。このステップS111の詳細については、図11を用いて後述する。そして、ステップS111の処理が終了すると、ステップS104に戻り、操作入力装置120から次の入力指示があるまで待機する。
In step S111, the
一方、ステップS110の判断の結果、ステップS105で判定した処理内容が、モジュールの「移動処理」でない場合には(S110/NO)、ステップS112に進む。 On the other hand, as a result of the determination in step S110, if the processing content determined in step S105 is not the “movement process” of the module (S110 / NO), the process proceeds to step S112.
ステップS112に進むと、PC110のCPU111は、ステップS105で判定した処理内容が、モジュールの「挿入処理」であるか否かを判断する。
In step S112, the
ステップS112の判断の結果、ステップS105で判定した処理内容が、モジュールの「挿入処理」である場合には(S112/YES)、ステップS113に進む。 As a result of the determination in step S112, when the processing content determined in step S105 is “insertion processing” of the module (S112 / YES), the process proceeds to step S113.
ステップS113に進むと、PC110のCPU111は、選択されたモジュールの「挿入処理」を行う。このステップS113の詳細については、図12を用いて後述する。そして、ステップS113の処理が終了すると、ステップS104に戻り、操作入力装置120から次の入力指示があるまで待機する。
In step S113, the
一方、ステップS112の判断の結果、ステップS105で判定した処理内容が、モジュールの「挿入処理」でない場合には(S112/NO)、ステップS114に進む。 On the other hand, as a result of the determination in step S112, when the processing content determined in step S105 is not the “insertion processing” of the module (S112 / NO), the process proceeds to step S114.
ステップS114に進むと、PC110のCPU111は、ステップS105で判定した処理内容が、処理フローの「全体実行処理」であるか否かを判断する。
In step S114, the
ステップS114の判断の結果、ステップS105で判定した処理内容が、処理フローの「全体実行処理」である場合には(S114/YES)、ステップS115に進む。 As a result of the determination in step S114, when the processing content determined in step S105 is “overall execution processing” in the processing flow (S114 / YES), the process proceeds to step S115.
ステップS115に進むと、PC110のCPU111は、処理フロー描画領域702に設定された処理フローの「全体実行処理」を行う。このステップS115の詳細については、図13を用いて後述する。そして、ステップS115の処理が終了すると、ステップS104に戻り、操作入力装置120から次の入力指示があるまで待機する。
In step S 115, the
一方、ステップS114の判断の結果、ステップS105で判定した処理内容が、処理フローの「全体実行処理」でない場合には(S114/NO)、ステップS116に進む。 On the other hand, as a result of the determination in step S114, if the processing content determined in step S105 is not the “overall execution processing” in the processing flow (S114 / NO), the process proceeds to step S116.
ステップS116に進むと、PC110のCPU111は、ステップS105で判定した処理内容が、処理フローの「保存処理」であるか否かを判断する。
In step S116, the
ステップS116の判断の結果、ステップS105で判定した処理内容が、処理フローの「保存処理」である場合には(S116/YES)、ステップS117に進む。 As a result of the determination in step S116, when the processing content determined in step S105 is “save processing” in the processing flow (S116 / YES), the process proceeds to step S117.
ステップS117に進むと、PC110のCPU111は、処理フロー描画領域702に設定された処理フローの全体をソース変換する処理を行う。具体的に、ステップS117では、PC110のCPU111(例えばソースコード変換部330)は、RAM112に記憶されている処理フロー・入出力パラメータテーブル312をソースコードに変換して、RAM112に記憶されているソースコードテーブル313を更新する処理を行う。また、PC110のCPU111(例えばコンパイル部340)は、ソースコードテーブル313のソースコードをリリース・コンパイルしてリリース版のオブジェクトコードに変換して、RAM112に記憶されているオブジェクトコードテーブル314を更新する処理を行う。
In step S117, the
続いて、ステップS118において、PC110のCPU111(例えばデータ保存部360)は、RAM112上にある、ソースコードテーブル313をソースファイルとして、オブジェクトコードテーブル314をEXEファイルまたはDLLファイルとして、また、プロジェクトファイルテーブル315を外部メモリ116に保存する処理を行う。そして、ステップS118の処理が終了すると、ステップS104に戻り、操作入力装置120から次の入力指示があるまで待機する。
Subsequently, in step S118, the CPU 111 (for example, the data storage unit 360) of the
一方、ステップS116の判断の結果、ステップS105で判定した処理内容が、処理フローの「保存処理」でない場合には(S116/NO)、ステップS119に進む。 On the other hand, as a result of the determination in step S116, if the processing content determined in step S105 is not “save processing” in the processing flow (S116 / NO), the process proceeds to step S119.
ステップS119に進むと、PC110のCPU111は、ステップS105で判定した処理内容が、画像処理プログラムの「開発終了処理」であるか否かを判断する。
In step S119, the
ステップS119の判断の結果、ステップS105で判定した処理内容が、画像処理プログラムの「開発終了処理」でない場合には(S119/NO)、ステップS104に戻り、操作入力装置120から入力指示があるまで待機する。
As a result of the determination in step S119, when the processing content determined in step S105 is not the “development end processing” of the image processing program (S119 / NO), the process returns to step S104 until an input instruction is received from the
一方、ステップS119の判断の結果、ステップS105で判定した処理内容が、画像処理プログラムの「開発終了処理」である場合には(S119/YES)、図6の示すフローチャートの処理を終了する。 On the other hand, as a result of the determination in step S119, when the processing content determined in step S105 is “development end processing” of the image processing program (S119 / YES), the processing of the flowchart shown in FIG.
次に、図6のステップS107、S109、S111、S113及びS115の詳細について説明を行うが、具体的に、「カメラ取込」→「二値化」→「粒子解析」のモジュールの順序で処理フローを登録し、また、その後の処理を行う例について説明を行う。 Next, details of steps S107, S109, S111, S113, and S115 in FIG. 6 will be described. Specifically, processing is performed in the order of modules of “camera capture” → “binarization” → “particle analysis”. An example of registering a flow and performing subsequent processing will be described.
まず、図6のステップS107の詳細な処理について説明する。
図8は、図6のステップS107におけるモジュールの「新規追加処理」の詳細な処理手順の一例を示すフローチャートである。
First, detailed processing in step S107 in FIG. 6 will be described.
FIG. 8 is a flowchart showing an example of a detailed processing procedure of the “new addition processing” of the module in step S107 of FIG.
図6のステップS107の処理では、まず、図8のステップS201において、PC110のCPU111(例えばフロー作成部320)は、ステップS104の入力において選択されたモジュールを特定する処理を行う。ここで、本例では、まず、最初の「カメラ取込」のモジュールが特定される。
In the process of step S107 of FIG. 6, first, in step S201 of FIG. 8, the
続いて、ステップS202において、PC110のCPU111(例えばフロー作成部320)は、CRT130に、ステップS201で特定されたモジュールのパラメータ編集画面704を表示する処理を行う。そして、PC110のCPU111(例えばフロー作成部320)は、パラメータ編集画面704に関して、操作入力装置120による編集を受け付ける。なお、ステップS201で「カメラ取込」のモジュールが特定された場合には、図7に示す画像処理プログラム開発画面700には、「カメラ取込」のモジュールに係るパラメータ編集画面704が表示されることになる。
Subsequently, in step S202, the CPU 111 (for example, the flow creation unit 320) of the
また、パラメータ編集画面704では、各モジュールに関するパラメータ、及び、処理領域などの入力パラメータ(図5に示す入力パラメータ505)や処理結果を記憶する出力パラメータ(図5に示す出力パラメータ506)の設定が可能に構成されている。
In the
続いて、ステップS203において、PC110のCPU111(例えばフロー作成部320)は、操作入力装置120からの入力指示に基づいて、パラメータ編集画面704で編集されたパラメータを登録するか否かを判断する。具体的に、ここでは、図7に示すパラメータ編集画面704のOKボタン7041が選択された際に当該パラメータ編集画面704で編集されたパラメータを登録すると判断し、また、図8に示すパラメータ編集画面704の中止ボタン7042等が選択された際に当該パラメータ編集画面704で編集されたパラメータを登録しないと判断する。
Subsequently, in step S203, the
ステップS203の判断の結果、パラメータ編集画面704で編集されたパラメータを登録する場合には(S203/YES)、ステップS204に進む。
If the parameter edited on the
ステップS204に進むと、PC110のCPU111(例えばフロー作成部320)は、ステップS201及びS202の処理で得られた情報を、処理フロー・入出力パラメータテーブル312に1レコードとして追加する処理を行う。
In step S204, the
例えば、図5に示す処理フロー・入出力パラメータテーブル312に、最初に「カメラ取込」のモジュールに関するレコードを追加する場合について説明する。
この場合、モジュール503として「カメラ取込」が設定され、インデックス(Index)501として「1」が設定され、順序502として「1」が設定され、フロー登録名504として「U00001」が設定される。また、例えば、出力パラメータ506として、結果画像の格納先である「画像バッファA」の情報(アドレス等)が設定される。ここで「カメラ取込」処理は、処理フローの第1番目のモジュールであるため、入力パラメータ505には、画像バッファの情報(アドレス等)は格納されない。
For example, a case where a record relating to the “camera capture” module is first added to the processing flow / input / output parameter table 312 shown in FIG. 5 will be described.
In this case, “camera capture” is set as the
ここで、再び、図8の説明に戻る。
ステップS204の処理が終了すると、続いて、ステップS205において、PC110のCPU111(例えばフロー作成部320)は、ステップS201で特定したモジュールを処理フロー描画領域702に追加して描画(表示)する。なお、本実施形態においては、ステップS204の処理フロー・入出力パラメータテーブル312に関する処理とステップS205の処理フロー描画領域702の描画処理との処理の順番を、逆にする形態であってもよい。
Here, it returns to description of FIG. 8 again.
When the process of step S204 is completed, in step S205, the
続いて、ステップS206において、PC110のCPU111(例えばソースコード変換部330)は、ステップS205で処理フロー描画領域702に追加したモジュールを、モジュール・ソースコードマスタテーブル311を用いてソースコードに変換し、変換により得られたソースコードをソースコードテーブル313に記憶する。この際、PC110のCPU111(例えばソースコード変換部330)は、モジュール・ソースコードマスタテーブル311から読み出したソースコードに対して、必要に応じて、ステップS202で編集されたパラメータを反映させる等の修正を行って、得られたソースコードをソースコードテーブル313に記憶する。
Subsequently, in step S206, the
その後、PC110のCPU111(例えばコンパイル部340)は、ソースコードテーブル313に記憶されているソースコードから実行可能なオブジェクトコードを生成し、生成したオブジェクトコードをオブジェクトコードテーブル314に記憶する。この際、PC110のCPU111(例えばコンパイル部340)は、ソースコードテーブル313のソースコードをデバッグ・コンパイルして、デバッグ版のオブジェクトコードとしてオブジェクトコードテーブル314に記憶する。
Thereafter, the CPU 111 (for example, the compiling unit 340) of the
続いて、ステップS207において、PC110のCPU111(例えば(検証)実行部350)は、必要に応じて、処理フロー・入出力パラメータテーブル312の入力パラメータ505として記憶されている、前ステップの結果画像バッファに格納されている画像データを用いて、ステップS206で生成されたオブジェクトコードを実行する処理を行う。これにより、カメラ140からの画像データが処理結果画像として取得され、例えば、フロー作成部320は、当該処理結果画像を格納するバッファの情報を処理フロー・入出力パラメータテーブル312の出力パラメータ506に設定する。
Subsequently, in step S207, the
ただし、「カメラ取込」のモジュールの場合には、最初のステップであるため、入力パラメータ505に画像バッファの情報(アドレス等)が格納されていない。このため、最初の「カメラ取込」の場合には、単に、カメラ140からの画像データを取り込むことになる。したがって、ステップS207の実行処理に際しては、ステップS202で設定された入力パラメータや出力パラメータを参照して処理を実行し、結果画像表示ウィンドウ705に結果画像(カメラ140から取り込んだ画像データ)を表示することになる。
However, in the case of the “camera capture” module, since this is the first step, image buffer information (address, etc.) is not stored in the
続いて、ステップS208において、PC110のCPU111(例えば(検証)実行部350)は、ステップS204で追加したレコードの出力パラメータ506における画像バッファAのアドレスに格納されている結果画像データに基づく結果画像を結果画像表示領域703に描画(表示)する。なお、結果画像表示領域703には、モジュールごとの処理結果画像を表示することになるが、これにより、開発者は、どこの処理に問題があるのか、どのモジュールに対して修正処理するべきかの判断をすることが可能となる。
In step S208, the
ステップS208の処理が終了した場合、或いは、ステップS203においてパラメータ編集画面704で編集されたパラメータを登録しないと判断された場合には(S203/NO)、操作入力装置120から「新規追加処理」の終了が指示されたときは図8のフローチャートの処理を終了し、また、操作入力装置120から「新規追加処理」の継続が指示されたときはステップS201に戻って、ステップS201以降の処理を再度行うことになる。
When the process of step S208 is completed, or when it is determined not to register the parameter edited on the
ここで、本例では、上述したように、「カメラ取込」→「二値化」→「粒子解析」のモジュールの順序で処理フローを登録するものであるため、以下に、同様の手順で、処理フローに「二値化」及び「粒子解析」のモジュールを追加する場合について説明する。なお、以下の説明では、上述した「カメラ取込」のモジュールにおける処理と異なる点を中心に説明を行う。 Here, in this example, as described above, the processing flow is registered in the order of modules of “camera capture” → “binarization” → “particle analysis”. The case of adding “binarization” and “particle analysis” modules to the processing flow will be described. In the following description, the description will focus on differences from the processing in the “camera capture” module described above.
「二値化」のモジュールを処理フローに追加する場合も、上述した「カメラ取込」の場合と基本的に同様の処理となるが、ステップS204では、新たに、図5に示すインデックス(Index)501の「2」に、モジュール503として「二値化」が設定され、順序502として「2」が設定され、フロー登録名504として「U00002」が設定される。また、入力パラメータ505としては、前ステップ(即ち、「カメラ取込」)の結果画像を格納する画像バッファAの情報(アドレス等)が格納される。即ち、「二値化」のモジュールの入力パラメータ505には、前ステップである「カメラ取込」の入力パラメータ505に格納されている画像バッファの情報が格納される。
Adding a “binarization” module to the processing flow is basically the same as the above-described “camera capture”, but in step S204, a new index (Index) shown in FIG. ) “2” of 501 is set to “binarization” as the
続いて、ステップS205では、ステップS201で特定したモジュール(「二値化」)を処理フロー描画領域702に追加して描画(表示)する。そして、ステップS206では、ステップS205で追加登録したモジュールを、モジュール・ソースコードマスタテーブル311を用いてソースコードに変換し、変換により得られたソースコードをソースコードテーブル313に記憶して更新する。また、ソースコードテーブル313のソースコードをデバッグ・コンパイルして、これをオブジェクトコードテーブル314に記憶して更新する。
Subsequently, in step S205, the module ("binarization") specified in step S201 is added to the processing
続いて、ステップS207では、オブジェクトコードテーブル314に記憶されているオブジェクトコードを実行して、「二値化」のモジュールの入力パラメータ505を用いた二値化処理を行う。これにより、二値化処理がなされた画像データが処理結果画像として取得され、例えば、フロー作成部320は、当該処理結果画像を格納するバッファBの情報及びその際の閾値(例えば数値=98)の情報を処理フロー・入出力パラメータテーブル312の出力パラメータ506に設定する。
In step S207, the object code stored in the object code table 314 is executed to perform binarization processing using the
その後、ステップS208では、ステップS204で追加したレコードの出力パラメータ506における画像バッファBのアドレスに格納されている画像データに基づく結果画像を結果画像表示領域703に描画(表示)する。
Thereafter, in step S208, a result image based on the image data stored in the address of the image buffer B in the
また、「粒子解析」のモジュールを処理フローに追加する場合も、上述したモジュールの場合と基本的に同様の処理となるが、ステップS204では、インデックス(Index)501の「3」に、モジュール503として「粒子解析」が設定され、順序502としてここでは「3」が設定され、フロー登録名504としてここでは「U00003」が設定される。また、入力パラメータ505としては、前ステップ(ここでは、「二値化」)の結果画像を格納する画像バッファBの情報(アドレス等)が格納される。
In addition, when the “particle analysis” module is added to the processing flow, the processing is basically the same as the case of the above-described module, but in step S204, the
続いて、ステップS205では、ステップS201で特定したモジュール(「粒子解析」)を処理フロー描画領域702に描画(表示)する。そして、ステップS206では、ステップS205で追加登録したモジュールを、モジュール・ソースコードマスタテーブル311を用いてソースコードに変換し、変換により得られたソースコードをソースコードテーブル313に記憶して更新する。また、ソースコードテーブル313のソースコードをデバッグ・コンパイルして、これをオブジェクトコードテーブル314に記憶して更新する。
Subsequently, in step S205, the module (“particle analysis”) specified in step S201 is drawn (displayed) in the processing
続いて、ステップS207では、オブジェクトコードテーブル314に記憶されているオブジェクトコードを実行して、「粒子解析」のモジュールの入力パラメータ505を用いた粒子解析処理を行う。これにより、粒子解析がなされた画像データが処理結果画像として取得され、例えば、フロー作成部320は、当該処理結果画像を格納するバッファCの情報及びその際の粒子数(ここでは、例えば粒子数=51)の情報を処理フロー・入出力パラメータテーブル312の出力パラメータ506に設定する。
Subsequently, in step S207, the object code stored in the object code table 314 is executed to perform particle analysis processing using the
その後、ステップS208では、ステップS204で追加したレコードの出力パラメータ506における画像バッファCのアドレスに格納されている画像データに基づく結果画像を結果画像表示領域703に描画(表示)する。ここで、本例では、結果画像表示領域703には、例えば、図7に示すように、その左側から順番に、処理フロー描画領域702に設定された処理フローの順序(即ち、「カメラ取込」→「二値化」→「粒子解析」のモジュールの順序)に応じて、その処理結果画像が表示される。
Thereafter, in step S208, a result image based on the image data stored at the address of the image buffer C in the
以上のようにして、図6のステップS107におけるモジュールの「新規追加処理」が行われる。 As described above, the “new addition process” for the module in step S107 in FIG. 6 is performed.
次に、図6のステップS109の詳細な処理について説明する。
図9は、図6のステップS109におけるモジュールのパラメータの「変更処理」の詳細な処理手順の一例を示すフローチャートである。ここでは、図8に示す処理により処理フロー描画領域702の処理フローに既に登録されている「二値化」のモジュールのパラメータを変更する例について説明する。
Next, detailed processing in step S109 in FIG. 6 will be described.
FIG. 9 is a flowchart showing an example of a detailed processing procedure of the “change processing” of the module parameter in step S109 of FIG. Here, an example will be described in which the parameters of the “binarization” module already registered in the processing flow of the processing
図6のステップS109の処理では、まず、図9のステップS301において、PC110のCPU111(例えばフロー作成部320)は、ステップS104の入力において選択された、既に処理フローとして登録されているモジュールを特定する処理を行う。ここで、本例では、「二値化」のモジュールが特定される。
In the process of step S109 of FIG. 6, first, in step S301 of FIG. 9, the
続いて、ステップS302において、PC110のCPU111(例えばフロー作成部320)は、CRT130に、ステップS301で特定されたモジュールのパラメータ編集画面704を表示する処理を行う。本例では、「二値化」のモジュールに係るパラメータ編集画面704が表示される。
Subsequently, in step S302, the
図10は、本発明の実施形態を示し、パラメータ編集画面704の一例を示す模式図である。この図10に示すパラメータ編集画面704は、「二値化」のモジュールのパラメータの編集を行うための画面であり、二値化のタイプを設定する二値化タイプ設定部1001や、二値化の閾値を設定する閾値設定部1002、OKボタン7041及び中止ボタン7042等が設けられている。
FIG. 10 is a schematic diagram illustrating an example of the
そして、PC110のCPU111(例えばフロー作成部320)は、パラメータ編集画面704に関して、操作入力装置120による編集を受け付ける。ここで、図10に示す閾値設定部1002の閾値が変更されると、当該閾値の変更に応じて、結果画像表示ウィンドウ705に表示している画像が随時更新されて表示される。
Then, the
続いて、ステップS303において、PC110のCPU111(例えばフロー作成部320)は、操作入力装置120からの入力指示に基づいて、ステップS301で特定したモジュールのパラメータをパラメータ編集画面704で編集されたパラメータに変更するか否かを判断する。具体的に、ここでは、パラメータ編集画面704でパラメータが変更されて、図10に示すパラメータ編集画面704のOKボタン7041が選択された際に、ステップS301で特定したモジュールのパラメータを変更すると判断する。
Subsequently, in step S303, the
ステップS303の判断の結果、ステップS301で特定したモジュールのパラメータをパラメータ編集画面704で編集されたパラメータに変更する場合には(S303/YES)、ステップS304に進む。 As a result of the determination in step S303, when the parameter of the module identified in step S301 is changed to the parameter edited in the parameter editing screen 704 (S303 / YES), the process proceeds to step S304.
ステップS304に進むと、PC110のCPU111(例えばソースコード変換部330)は、ステップS303でパラメータを変更すると判断されたモジュール以降のモジュールについて、モジュール・ソースコードマスタテーブル311を用いてソースコードに変換し、変換により得られたソースコードをソースコードテーブル313に記憶して更新する。具体的に、本例では、「二値化」のモジュールのパラメータを変更するものであるため、図8の処理で登録された処理フロー、即ち、「カメラ取込」→「二値化」→「粒子解析」のモジュールのうち、「二値化」及び「粒子解析」のモジュールについてソースコード変換が行われる。この際、PC110のCPU111(例えばソースコード変換部330)は、モジュール・ソースコードマスタテーブル311から読み出したソースコードに対して、必要に応じて、ステップS302で編集されたパラメータを反映させる等の修正を行って、得られたソースコードをソースコードテーブル313に記憶する。このように、変更すると判断されたモジュール以降のモジュールについてのみソースコード変換処理することで、この後説明するコンパイル処理と合わせて、開発時間の短縮が可能となり、効率のよい画像処理のロジック(処理フロー)の構築を実現することができる。
In step S304, the CPU 111 (for example, the source code conversion unit 330) of the
その後、PC110のCPU111(例えばコンパイル部340)は、ソースコードテーブル313に記憶されているソースコードから実行可能なオブジェクトコードを生成し、生成したオブジェクトコードをオブジェクトコードテーブル314に記憶する。この際、PC110のCPU111(例えばコンパイル部340)は、ソースコードテーブル313のソースコードをデバッグ・コンパイルして、デバッグ版のオブジェクトコードとしてオブジェクトコードテーブル314に記憶して更新する。
Thereafter, the CPU 111 (for example, the compiling unit 340) of the
続いて、ステップS305において、PC110のCPU111(例えば(検証)実行部350)は、必要に応じて、処理フロー・入出力パラメータテーブル312の入力パラメータ505として示されている画像バッファに格納されている画像データを用いて、ステップS304で生成されたオブジェクトコードを実行する処理を行う。具体的に、本例では、処理対象が「二値化」のモジュールであるため、図5に示す処理フロー・入出力パラメータテーブル312の入力パラメータ505として記憶されている画像バッファAに格納されている画像データを用いて、ステップS304で生成されたオブジェクトコードを実行して二値化処理を行う。これにより、二値化処理がなされた画像データが処理結果画像として取得され、例えば、フロー作成部320は、当該処理結果画像を格納するバッファBの情報及びその際の閾値の情報を処理フロー・入出力パラメータテーブル312の出力パラメータ506に設定する。
Subsequently, in step S305, the
続いて、ステップS306において、PC110のCPU111(例えば(検証)実行部350)は、処理フロー・入出力パラメータテーブル312の出力パラメータ506における画像バッファのアドレスに格納されている結果画像データに基づく結果画像を結果画像表示領域703に描画(表示)する。本例では、結果画像表示領域703には、例えば、その左側から順番に、処理フロー描画領域702に設定された処理フローの順序(即ち、「カメラ取込」→「二値化」→「粒子解析」のモジュールの順序)に応じて、その処理結果画像が表示されるが、例えば図8のステップS208の表示に対して、「二値化」のモジュール以降の処理結果画像が変更されて表示されることになる。
Subsequently, in step S306, the
ステップS306の処理が終了した場合、或いは、ステップS303において該当モジュールのパラメータをパラメータ編集画面704で編集されたパラメータに変更しないと判断された場合には(S303/NO)、操作入力装置120から「変更処理」の終了が指示されたときは図9のフローチャートの処理を終了し、また、操作入力装置120から「変更処理」の継続が指示されたときはステップS301に戻って、ステップS301以降の処理を再度行うことになる。
When the process of step S306 is completed, or when it is determined in step S303 that the parameter of the corresponding module is not changed to the parameter edited on the parameter edit screen 704 (S303 / NO), the
以上のようにして、図6のステップS109におけるモジュールのパラメータの「変更処理」が行われる。 As described above, the module parameter “change process” in step S109 of FIG. 6 is performed.
次に、図6のステップS111の詳細な処理について説明する。
図11は、図6のステップS111におけるモジュールの「移動処理」の詳細な処理手順の一例を示すフローチャートである。このモジュールの移動処理により、処理フローの順序が変更されることになる。
Next, detailed processing in step S111 in FIG. 6 will be described.
FIG. 11 is a flowchart showing an example of a detailed processing procedure of the “move processing” of the module in step S111 of FIG. The order of processing flow is changed by the movement processing of this module.
図6のステップS111の処理では、まず、図11のステップS401において、PC110のCPU111(例えばフロー作成部320)は、ステップS104の入力において選択された、既に処理フローとして登録されているモジュールを特定する処理を行う。
In the process of step S111 in FIG. 6, first, in step S401 of FIG. 11, the CPU 111 (for example, the flow creation unit 320) of the
続いて、ステップS402において、PC110のCPU111(例えばフロー作成部320)は、処理フロー描画領域702に描画(表示)されている処理フローについて、ステップS401で特定したモジュールを、ステップS104でドロップされたモジュールの間へ移動し、処理フロー描画領域702を再描画(再表示)する処理を行う。
Subsequently, in step S402, the
この際、PC110のCPU111(例えばフロー作成部320)は、ステップS401で特定したモジュールの移動処理に伴って、処理フロー・入出力パラメータテーブル312の変更処理も行う。ここでは、具体例を示さないが、まず、ステップS402で再描画された処理フロー描画領域702の処理フローにおけるモジュールの順序に従って、処理フロー・入出力パラメータテーブル312の順序502(更にはフロー登録名504)を変更する。次に、ステップS402で再描画された処理フロー描画領域702の処理フローにおけるモジュールの順序に従って、当該順序の変更に伴うモジュールの入力パラメータ505及び出力パラメータ506を変更する。例えば、移動対象のモジュールの入力パラメータ505には、1つ前の順序のモジュールにおける出力パラメータ506の画像バッファの情報を格納する。この際、移動対象のモジュールの出力パラメータ506は変更しないようにすることもできる。ただし、1つ後の順序のモジュールにおける入力パラメータ505は、移動対象のモジュールの出力パラメータ506の画像バッファの情報を格納する。
At this time, the CPU 111 (for example, the flow creation unit 320) of the
続いて、ステップS403において、PC110のCPU111(例えばソースコード変換部330)は、処理フロー・入出力パラメータテーブル312において、順序502が変更されたモジュール以降のモジュールについて、モジュール・ソースコードマスタテーブル311を用いてソースコードに変換し、変換により得られたソースコードをソースコードテーブル313に記憶して更新する。この際、PC110のCPU111(例えばソースコード変換部330)は、ソースコードテーブル313において、順序の変更が行われたモジュールに対応するソースコードをいったん消去し、再度、ソースコードへの変換を行ってソースコードテーブル313を更新する。
Subsequently, in step S403, the
その後、PC110のCPU111(例えばコンパイル部340)は、ソースコードテーブル313に記憶されているソースコードから実行可能なオブジェクトコードを生成し、生成したオブジェクトコードをオブジェクトコードテーブル314に記憶する。この際、PC110のCPU111(例えばコンパイル部340)は、ソースコードテーブル313のソースコードをデバッグ・コンパイルして、デバッグ版のオブジェクトコードとしてオブジェクトコードテーブル314に記憶して更新する。
Thereafter, the CPU 111 (for example, the compiling unit 340) of the
続いて、ステップS404において、PC110のCPU111(例えば(検証)実行部350)は、必要に応じて、処理フロー・入出力パラメータテーブル312の入力パラメータ505として示されている画像バッファに格納されている画像データを用いて、ステップS403で生成されたオブジェクトコードを実行する処理を行う。
Subsequently, in step S404, the
続いて、ステップS405において、PC110のCPU111(例えば(検証)実行部350)は、処理フロー・入出力パラメータテーブル312の出力パラメータ506における画像バッファのアドレスに格納されている結果画像データに基づく結果画像を結果画像表示領域703に描画(表示)する。本例では、結果画像表示領域703には、例えば、その左側から順番に、処理フロー描画領域702に設定された処理フローの順序に応じて、その処理結果画像が表示されることになる。
Subsequently, in step S405, the
ステップS405の処理が終了した場合には、操作入力装置120から「移動処理」の終了が指示されたときは図11のフローチャートの処理を終了し、また、操作入力装置120から「移動処理」の継続が指示されたときはステップS401に戻って、ステップS401以降の処理を再度行うことになる。
When the process of step S405 is completed, when the
以上のようにして、図6のステップS111におけるモジュールの「移動処理」が行われる。 As described above, the “move process” of the module in step S111 in FIG. 6 is performed.
次に、図6のステップS113の詳細な処理について説明する。
図12は、図6のステップS113におけるモジュールの「挿入処理」の詳細な処理手順の一例を示すフローチャートである。ここでは、図8に示す処理により処理フロー描画領域702に登録された処理フロー(「カメラ取込」→「二値化」→「粒子解析」)に対して、「粒子解析」のモジュールに前に、「モフォロジ」のモジュールを追加する「挿入処理」について説明する。即ち、ここでは、図7に示す処理フロー描画領域702のように、「カメラ取込」→「二値化」→「モフォロジ」→「粒子解析」とする例について説明する。
Next, detailed processing in step S113 in FIG. 6 will be described.
FIG. 12 is a flowchart showing an example of a detailed processing procedure of the “insertion processing” of the module in step S113 of FIG. Here, the processing flow (“camera capture” → “binarization” → “particle analysis”) registered in the processing
図6のステップS113の処理では、まず、図12のステップS501において、PC110のCPU111(例えばフロー作成部320)は、ステップS104の入力においてドロップされた、新規にモジュールを挿入する挿入先を特定する処理を行う。ここで、本例では、「二値化」と「粒子解析」との間が挿入先として特定される。
In the process of step S113 in FIG. 6, first, in step S501 of FIG. 12, the
続いて、ステップS502において、PC110のCPU111(例えばフロー作成部320)は、ステップS104の入力において選択されたモジュールを特定する処理を行う。ここで、本例では、「モフォロジ」のモジュールが特定される。なお、本実施形態においては、ステップS501の挿入先の特定処理とステップS502のモジュールの特定処理との処理の順番を、逆にする形態であってもよい。
Subsequently, in step S502, the CPU 111 (for example, the flow creation unit 320) of the
続いて、ステップS503において、PC110のCPU111(例えばフロー作成部320)は、CRT130に、ステップS502で特定されたモジュールのパラメータ編集画面704を表示する処理を行う。そして、PC110のCPU111(例えばフロー作成部320)は、パラメータ編集画面704に関して、操作入力装置120による編集を受け付ける。なお、本例では、図7に示す画像処理プログラム開発画面700には、「モフォロジ」のモジュールに係るパラメータ編集画面704が表示されることになる。
Subsequently, in step S503, the CPU 111 (for example, the flow creation unit 320) of the
続いて、ステップS504において、PC110のCPU111(例えばフロー作成部320)は、操作入力装置120からの入力指示に基づいて、パラメータ編集画面704で編集されたパラメータを登録するか否かを判断する。このステップS504における具体的な判断方法については、図8のステップS203と同様の方法を用いる。
Subsequently, in step S504, the
ステップS504の判断の結果、パラメータ編集画面704で編集されたパラメータを登録する場合には(S504/YES)、ステップS505に進む。
As a result of the determination in step S504, when the parameter edited on the
ステップS505に進むと、PC110のCPU111(例えばフロー作成部320)は、ステップS502及びS503の処理で得られた情報を、処理フロー・入出力パラメータテーブル312に1レコードとして追加する処理を行うとともに、ステップS501で特定された挿入先の情報に基づいて、処理フロー・入出力パラメータテーブル312の情報を変更して更新する。
In step S505, the
本例では、まず、図5に示すように、処理フロー・入出力パラメータテーブル312のインデックス(Index)501の「4」に、挿入対象のモジュールである「モフォロジ」のモジュールの情報を追加する。具体的に、モジュール503として「モフォロジ」が設定され、順序502として「3」が設定され、フロー登録名504として「U00003」が設定され、さらに、入力パラメータ505の画像バッファの情報(アドレス等)として前ステップ(「二値化」)の出力パラメータ506に示す画像バッファBの情報(アドレス等)が設定され、出力パラメータ506の画像バッファの情報(アドレス等)として画像バッファCの情報(アドレス等)が設定される。この際、処理フロー・入出力パラメータテーブル312にインデックス(Index)501が「3」として登録されている「粒子解析」のモジュールの情報については、順序502が「3」から「4」に変更され、例えば、入力パラメータ505の画像バッファの情報(アドレス等)として画像バッファCが設定され、出力パラメータ506の画像バッファの情報(アドレス等)として画像バッファDが設定される。
In this example, first, as shown in FIG. 5, information on the module of “morphology” that is the module to be inserted is added to “4” of the index (Index) 501 of the processing flow / input / output parameter table 312. Specifically, “morphology” is set as the
続いて、ステップS506において、PC110のCPU111(例えばフロー作成部320)は、処理フロー描画領域702において、ステップS501で特定した挿入先に、ステップS502で特定したモジュールを追加して描画(表示)する。なお、本実施形態においては、ステップS505の処理フロー・入出力パラメータテーブル312に関する処理とステップS506の処理フロー描画領域702の描画処理との処理の順番を、逆にする形態であってもよい。
Subsequently, in step S506, the
続いて、ステップS507において、PC110のCPU111(例えばソースコード変換部330)は、処理フロー・入出力パラメータテーブル312において、順序502が変更されたモジュール以降(即ち、ステップS506で挿入されたモジュール以降)のモジュールについて、モジュール・ソースコードマスタテーブル311を用いてソースコードに変換し、変換により得られたソースコードをソースコードテーブル313に記憶して更新する。
Subsequently, in step S507, the CPU 111 (for example, the source code conversion unit 330) of the
その後、PC110のCPU111(例えばコンパイル部340)は、ソースコードテーブル313に記憶されているソースコードから実行可能なオブジェクトコードを生成し、生成したオブジェクトコードをオブジェクトコードテーブル314に記憶する。この際、PC110のCPU111(例えばコンパイル部340)は、ソースコードテーブル313のソースコードをデバッグ・コンパイルして、デバッグ版のオブジェクトコードとしてオブジェクトコードテーブル314に記憶して更新する。
Thereafter, the CPU 111 (for example, the compiling unit 340) of the
続いて、ステップS508において、PC110のCPU111(例えば(検証)実行部350)は、必要に応じて、処理フロー・入出力パラメータテーブル312の入力パラメータ505として示されている画像バッファに格納されている画像データを用いて、ステップS403で生成されたオブジェクトコードを実行する処理を行う。具体的に、例えば、今回の処理で挿入された「モフォロジ」のモジュールについては、1つ前の処理のモジュール(本例では「二値化」のモジュール)の結果画像データ(画像バッファBに格納されている結果画像データ)を用いて、ステップS507で生成されたオブジェクトコードを実行することになる。本例の場合、モフォロジ処理がなされた画像データが処理結果画像として取得され、例えば、フロー作成部320は、当該処理結果画像を格納するバッファの情報及びその際の粒子数(ここでは、例えば粒子数=46)の情報を処理フロー・入出力パラメータテーブル312の出力パラメータ506に設定することになる。
Subsequently, in step S508, the
続いて、ステップS509において、PC110のCPU111(例えば(検証)実行部350)は、処理フロー・入出力パラメータテーブル312の出力パラメータ506における画像バッファのアドレスに格納されている結果画像データに基づく結果画像を結果画像表示領域703に描画(表示)する。本例では、結果画像表示領域703には、例えば、その左側から順番に、処理フロー描画領域702に設定された処理フローの順序(即ち、「カメラ取込」→「二値化」→「モフォロジ」→「粒子解析」のモジュールの順序)に応じて、その処理結果画像が表示されることになる。
Subsequently, in step S509, the
以上のようにして、図6のステップS113におけるモジュールの「挿入処理」が行われる。 As described above, the “insertion process” of the module in step S113 in FIG. 6 is performed.
次に、図6のステップS115の詳細な処理について説明する。
図13は、図6のステップS115における処理フローの「全体実行処理」の詳細な処理手順の一例を示すフローチャートである。
Next, detailed processing in step S115 in FIG. 6 will be described.
FIG. 13 is a flowchart showing an example of a detailed processing procedure of “overall execution processing” in the processing flow in step S115 of FIG.
図6のステップS115の処理では、まず、図13のステップS601において、PC110のCPU111(例えばソースコード変換部330)は、処理フロー・入出力パラメータテーブル312に設定されている一連の処理フローに係るモジュールをソースコードに変換し、変換により得られたソースコードをソースコードテーブル313に記憶する。その後、PC110のCPU111(例えばコンパイル部340)は、ソースコードテーブル313に記憶されているソースコードから実行可能なオブジェクトコードを生成し、生成したオブジェクトコードをオブジェクトコードテーブル314に記憶する。この際、PC110のCPU111(例えばコンパイル部340)は、ソースコードテーブル313のソースコードをリリース・コンパイルして、リリース版のオブジェクトコードとしてオブジェクトコードテーブル314に記憶する。
In step S115 of FIG. 6, first, in step S601 of FIG. 13, the
続いて、ステップS602において、PC110のCPU111(例えば(検証)実行部350)は、処理フロー・入出力パラメータテーブル312の入力パラメータ505として記憶されている結果画像バッファに格納されている画像データを用いて、ステップS601で生成されたオブジェクトコードを実行する処理を行う。これにより、画像処理等が施された複数の画像データが処理結果画像として取得され、例えば、フロー作成部320は、当該処理結果画像を格納するバッファの情報及びその際の数値の情報を処理フロー・入出力パラメータテーブル312の出力パラメータ506に設定する。
In step S602, the
続いて、ステップS603において、PC110のCPU111(例えば(検証)実行部350)は、処理フロー描画領域702に設定された処理フローの順序に応じて、各種の結果画像を結果画像表示領域703に描画(表示)する。
Subsequently, in step S <b> 603, the
ステップS603の処理が終了すると、図13のフローチャートの処理を終了する。
以上のようにして、図6のステップS115における処理フローの「全体実行処理」が行われる。
When the process of step S603 ends, the process of the flowchart of FIG. 13 ends.
As described above, the “overall execution process” of the process flow in step S115 of FIG. 6 is performed.
以上説明したように、本実施形態に係る画像処理システム100のPC110(情報処理装置)では、以下に示す処理を行うようにしている。
具体的に、PC110では、画像の処理に関する処理を示すモジュールと、各モジュールに対応するソースコードとが関連付けられているモジュール・ソースコードマスタテーブル311(図4)と、モジュールを複数組み合わせた処理フローの各モジュールと、当該各モジュールの実行の順序を示す情報、当該各モジュールの処理に係る入力情報及び出力情報とを含む処理フロー・入出力情報テーブル(図5の処理フロー・入出力パラメータテーブル312)を外部メモリ116(或いはRAM112)に記憶するようにしている(記憶ステップ)。
そして、処理フローに対してモジュールに関する変更の指示がされた際に(例えば図6のS104/YES)、当該変更の指示に応じて、処理フロー・入出力パラメータテーブル312の情報を変更するようにしている(例えば、図8のS204、図11のS402、図12のS505等:変更ステップ)。
そして、変更ステップにより変更された処理フロー・入出力パラメータテーブル312の情報及びモジュール・ソースコードマスタテーブル311の情報を用いて、モジュールごとにソースコードを生成するようにしている(例えば、図8のS206、図9のS304、図11のS403、図12のS507等:ソースコード生成ステップ)。その後、ソースコード生成ステップにより生成されたソースコードに基づいてオブジェクトコードを生成するようにしている(オブジェクトコード生成ステップ)。
そして、生成されたオブジェクトコードを用いて、変更ステップにより変更された処理フロー・入出力パラメータテーブル312のモジュールごとに処理を実行するようにしている(例えば、図8のS207、図9のS305、図11のS404、図12のS508等:処理実行ステップ)。その後、処理実行ステップによる処理の実行により得られたモジュールごとの結果画像を表示装置であるCRT130の結果画像表示領域703に表示するようにしている(例えば、図8のS208、図9のS306、図11のS405、図12のS509等:結果画像表示ステップ)。
かかる構成によれば、モジュールを複数組み合わせた処理フローの各モジュールごとに、その処理の結果画像を表示装置に表示するようにしたので、モジュールに関する変更の指示がされた際においても、変更対象のモジュールを特定することができ、画像処理に係るロジック(即ち、画像処理に係る処理フロー)の開発の負荷を軽減することができる。これにより、効率のよい画像処理のロジック(処理フロー)を構築することが可能となる。
As described above, the PC 110 (information processing apparatus) of the
Specifically, in the
When an instruction to change the module is given to the processing flow (for example, S104 / YES in FIG. 6), the information in the processing flow / input / output parameter table 312 is changed according to the instruction to change. (For example, S204 in FIG. 8, S402 in FIG. 11, S505 in FIG. 12, etc .: change step).
Then, the source code is generated for each module using the information in the processing flow / input / output parameter table 312 and the information in the module / source code master table 311 changed in the changing step (for example, FIG. 8). S206, S304 in FIG. 9, S403 in FIG. 11, S507 in FIG. 12, etc .: source code generation step). Thereafter, an object code is generated based on the source code generated in the source code generation step (object code generation step).
Then, using the generated object code, processing is executed for each module of the processing flow / input / output parameter table 312 changed in the changing step (for example, S207 in FIG. 8, S305 in FIG. 9, S404 in FIG. 11, S508 in FIG. 12, etc .: processing execution step). Thereafter, the result image for each module obtained by executing the process in the process execution step is displayed in the result
According to such a configuration, for each module in the processing flow in which a plurality of modules are combined, the processing result image is displayed on the display device. Therefore, even when an instruction to change the module is given, Modules can be specified, and the development load of logic related to image processing (that is, processing flow related to image processing) can be reduced. This makes it possible to construct an efficient image processing logic (processing flow).
さらに、PC110では、処理フロー・入出力パラメータテーブル312に設定されている処理フローをCRT130の処理フロー描画領域702に表示し(処理フロー表示ステップ)、さらに、変更ステップにより変更された処理フロー・入出力パラメータテーブル312の処理フローをCRT130の処理フロー描画領域702に変更表示するようにしている(例えば、図8のS205、図11のS402、図12のS506等:処理フロー変更表示ステップ)。
Furthermore, the
さらに、PC110では、処理フロー描画領域702の処理フローに対してモジュールに関する変更の指示がされた際に、当該モジュールのパラメータを編集するためのパラメータ編集画面704をCRT130に更に表示し(例えば、図8のS202、図9のS302、図12のS503等:パラメータ編集画面表示ステップ)、前記ソースコード生成ステップでは、更に、パラメータ編集画面704により編集された当該モジュールのパラメータを用いて、ソースコードを生成するようにしている。
Furthermore, when an instruction to change a module is given to the processing flow in the processing
(本発明の他の実施形態)
前述した本発明の実施形態に係るPC110(情報処理装置)を構成する図3の各構成部、並びに、PC110の制御方法を示す図6、図8、図9、図11〜図13の各ステップは、コンピュータのCPU(111)がROM(113)や外部メモリ(116)などに記憶されたプログラムを実行することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
(Other embodiments of the present invention)
3 constituting the PC 110 (information processing apparatus) according to the embodiment of the present invention described above, and the steps shown in FIGS. 6, 8, 9, and 11 to 13 showing the control method of the
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。 In addition, the present invention can be implemented as, for example, a system, apparatus, method, program, storage medium, or the like. Specifically, the present invention may be applied to a system including a plurality of devices. You may apply to the apparatus which consists of one apparatus.
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図6、図8、図9、図11〜図13に示すフローチャートに対応したプログラム)を、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。 In the present invention, a software program for realizing the functions of the above-described embodiments (in the embodiment, programs corresponding to the flowcharts shown in FIGS. 6, 8, 9, and 11 to 13) is stored in a system or apparatus. Includes those that are supplied directly or remotely. 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. In addition, there are 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 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 PC(情報処理装置)
120 操作入力装置
130 CRT(CRTディスプレイ)
140 カメラ
150 照明装置コントローラ
160 照明装置
170 外部機器コントローラ
181 検査対象
180 ステージ
111 CPU
112 RAM
113 ROM
114 システムバス
115a 入力コントローラ
115b ビデオコントローラ
115c メモリコントローラ
115d、115e 通信I/Fコントローラ
115f 画像入力コントローラ
116 外部メモリ
100
120
112 RAM
113 ROM
114
Claims (9)
画像の処理に関する処理を示すモジュールと、各モジュールに対応するソースコードとが関連付けられているモジュール・ソースコードマスタテーブルと、前記モジュールを複数組み合わせた処理フローの各モジュールと、当該各モジュールの実行の順序を示す情報、当該各モジュールの処理に係る入力情報及び出力情報とを含む処理フロー・入出力情報テーブルとを記憶するテーブル記憶手段と、
前記処理フローに対して前記モジュールに関する変更の指示がされた際に、当該変更の指示に応じて、前記処理フロー・入出力情報テーブルの情報を変更する変更手段と、
前記変更手段により変更された処理フロー・入出力情報テーブルの情報及び前記モジュール・ソースコードマスタテーブルの情報を用いて、前記モジュールごとにソースコードを生成するソースコード生成手段と、
前記ソースコード生成手段により生成されたソースコードに基づいてオブジェクトコードを生成するオブジェクトコード生成手段と、
前記オブジェクトコード生成手段により生成されたオブジェクトコードを用いて、前記変更手段により変更された処理フロー・入出力情報テーブルの前記モジュールごとに前記処理を実行する処理実行手段と、
前記処理実行手段による処理の実行により得られた前記モジュールごとの結果画像を表示装置に表示する結果画像表示手段と
を有することを特徴とする情報処理装置。 An information processing apparatus for processing an image,
Modules indicating processes related to image processing, module / source code master tables in which source codes corresponding to the modules are associated, modules of a processing flow in which a plurality of the modules are combined, and execution of the modules Table storage means for storing a processing flow / input / output information table including information indicating the order, input information and output information relating to processing of each module;
A change unit that changes information in the process flow / input / output information table in response to the change instruction when an instruction to change the module is given to the process flow;
Source code generation means for generating source code for each module, using the processing flow / input / output information table information changed by the changing means and the information of the module / source code master table;
Object code generation means for generating an object code based on the source code generated by the source code generation means;
Processing execution means for executing the processing for each module of the processing flow / input / output information table changed by the changing means, using the object code generated by the object code generating means;
An information processing apparatus comprising: a result image display unit configured to display a result image for each module obtained by execution of processing by the processing execution unit on a display device.
前記変更手段により変更された処理フロー・入出力情報テーブルの前記処理フローを前記表示装置に変更表示する処理フロー変更表示手段と
を更に有することを特徴とする請求項1または2に記載の情報処理装置。 Processing flow display means for displaying the processing flow set in the processing flow / input / output information table on the display device;
3. The information processing according to claim 1, further comprising: a processing flow change display unit that changes and displays the processing flow of the processing flow / input / output information table changed by the changing unit on the display device. apparatus.
前記ソースコード生成手段は、更に、前記パラメータ編集画面により編集された前記モジュールのパラメータを用いて、前記ソースコードを生成することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 A parameter editing screen display means for displaying a parameter editing screen for editing parameters of the module on the display device when an instruction to change the module is given to the processing flow;
4. The information according to claim 1, wherein the source code generation unit further generates the source code using a parameter of the module edited on the parameter editing screen. 5. Processing equipment.
前記変更手段は、前記モジュールに関する変更の指示にしたがって、必要に応じて、前記入力情報及び前記出力情報を変更することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。 The input information and the output information in the processing flow / input / output information table are obtained by executing information of an image buffer for storing an image to be processed by each module and executing the processing by each module, respectively. Information of an image buffer for storing the result image is set,
The information processing apparatus according to claim 1, wherein the changing unit changes the input information and the output information as necessary according to a change instruction related to the module. .
画像の処理に関する処理を示すモジュールと、各モジュールに対応するソースコードとが関連付けられているモジュール・ソースコードマスタテーブルと、前記モジュールを複数組み合わせた処理フローの各モジュールと、当該各モジュールの実行の順序を示す情報、当該各モジュールの処理に係る入力情報及び出力情報とを含む処理フロー・入出力情報テーブルとをテーブル記憶手段に記憶する記憶ステップと、
前記処理フローに対して前記モジュールに関する変更の指示がされた際に、当該変更の指示に応じて、前記処理フロー・入出力情報テーブルの情報を変更する変更ステップと、
前記変更ステップにより変更された処理フロー・入出力情報テーブルの情報及び前記モジュール・ソースコードマスタテーブルの情報を用いて、前記モジュールごとにソースコードを生成するソースコード生成ステップと、
前記ソースコード生成ステップにより生成されたソースコードに基づいてオブジェクトコードを生成するオブジェクトコード生成ステップと、
前記オブジェクトコード生成ステップにより生成されたオブジェクトコードを用いて、前記変更ステップにより変更された処理フロー・入出力情報テーブルの前記モジュールごとに前記処理を実行する処理実行ステップと、
前記処理実行ステップによる処理の実行により得られた前記モジュールごとの結果画像を表示装置に表示する結果画像表示ステップと
を有することを特徴とする情報処理装置の制御方法。 A method for controlling an information processing apparatus that performs image processing,
Modules indicating processes related to image processing, module / source code master tables in which source codes corresponding to the modules are associated, modules of a processing flow in which a plurality of the modules are combined, and execution of the modules A storage step of storing in the table storage means a processing flow / input / output information table including information indicating the order, input information and output information relating to processing of each module;
A change step of changing information in the process flow / input / output information table in response to the change instruction when an instruction to change the module is given to the process flow;
A source code generation step for generating a source code for each module using the information of the processing flow / input / output information table changed by the changing step and the information of the module / source code master table;
An object code generation step for generating an object code based on the source code generated by the source code generation step;
A process execution step for executing the process for each module of the process flow / input / output information table changed by the change step using the object code generated by the object code generation step;
A result image display step of displaying on a display device a result image for each module obtained by executing the processing in the processing execution step.
画像の処理に関する処理を示すモジュールと、各モジュールに対応するソースコードとが関連付けられているモジュール・ソースコードマスタテーブルと、前記モジュールを複数組み合わせた処理フローの各モジュールと、当該各モジュールの実行の順序を示す情報、当該各モジュールの処理に係る入力情報及び出力情報とを含む処理フロー・入出力情報テーブルとをテーブル記憶手段に記憶する記憶ステップと、
前記処理フローに対して前記モジュールに関する変更の指示がされた際に、当該変更の指示に応じて、前記処理フロー・入出力情報テーブルの情報を変更する変更ステップと、
前記変更ステップにより変更された処理フロー・入出力情報テーブルの情報及び前記モジュール・ソースコードマスタテーブルの情報を用いて、前記モジュールごとにソースコードを生成するソースコード生成ステップと、
前記ソースコード生成ステップにより生成されたソースコードに基づいてオブジェクトコードを生成するオブジェクトコード生成ステップと、
前記オブジェクトコード生成ステップにより生成されたオブジェクトコードを用いて、前記変更ステップにより変更された処理フロー・入出力情報テーブルの前記モジュールごとに前記処理を実行する処理実行ステップと、
前記処理実行ステップによる処理の実行により得られた前記モジュールごとの結果画像を表示装置に表示する結果画像表示ステップと
をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute a control method of an information processing apparatus that performs image processing,
Modules indicating processes related to image processing, module / source code master tables in which source codes corresponding to the modules are associated, modules of a processing flow in which a plurality of the modules are combined, and execution of the modules A storage step of storing in the table storage means a processing flow / input / output information table including information indicating the order, input information and output information relating to processing of each module;
A change step of changing information in the process flow / input / output information table in response to the change instruction when an instruction to change the module is given to the process flow;
A source code generation step for generating a source code for each module using the information of the processing flow / input / output information table changed by the changing step and the information of the module / source code master table;
An object code generation step for generating an object code based on the source code generated by the source code generation step;
A process execution step for executing the process for each module of the process flow / input / output information table changed by the change step using the object code generated by the object code generation step;
A program for causing a computer to execute a result image display step of displaying on a display device a result image for each of the modules obtained by executing the processing in the processing execution step.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008304473A JP4767309B2 (en) | 2008-11-28 | 2008-11-28 | Information processing apparatus, information processing method, and computer program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008304473A JP4767309B2 (en) | 2008-11-28 | 2008-11-28 | Information processing apparatus, information processing method, and computer program |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2010128908A true JP2010128908A (en) | 2010-06-10 |
| JP2010128908A5 JP2010128908A5 (en) | 2010-08-19 |
| JP4767309B2 JP4767309B2 (en) | 2011-09-07 |
Family
ID=42329244
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008304473A Active JP4767309B2 (en) | 2008-11-28 | 2008-11-28 | Information processing apparatus, information processing method, and computer program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4767309B2 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4886910B1 (en) * | 2010-11-17 | 2012-02-29 | キヤノンItソリューションズ株式会社 | Information processing apparatus, information processing apparatus control method, program, and recording medium storing program |
| JP2013140572A (en) * | 2011-12-06 | 2013-07-18 | Canon Marketing Japan Inc | Information processing apparatus, control method of the same, and program |
| JP2016091175A (en) * | 2014-10-31 | 2016-05-23 | キヤノンマーケティングジャパン株式会社 | Information processing device, control method thereof, and program |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01193935A (en) * | 1988-01-28 | 1989-08-03 | Nec Software Ltd | Program control system by sub-command execution system |
| JPH04205386A (en) * | 1990-11-30 | 1992-07-27 | Fujitsu Ltd | Image data editing control method |
| JPH09288568A (en) * | 1996-04-23 | 1997-11-04 | Matsushita Electric Works Ltd | Image processor and execution flow preparing method for the same |
| JPH10302063A (en) * | 1997-04-25 | 1998-11-13 | Canon Inc | Image processing apparatus and method |
| JPH113217A (en) * | 1997-06-12 | 1999-01-06 | Mitsubishi Electric Corp | Communication service development support apparatus and method, and recording medium recording communication service development support program |
| JP2001243492A (en) * | 2000-02-29 | 2001-09-07 | Fuji Photo Film Co Ltd | Script generating device and script generating program storage medium |
| JP2001516910A (en) * | 1997-09-16 | 2001-10-02 | インテグラル ヴィジョン インコーポレイテッド | Method and system for interactively developing graphic control flow and related software for machine vision systems |
| JP2002244849A (en) * | 2000-11-13 | 2002-08-30 | Canon Inc | Data processing device |
| JP2002251603A (en) * | 2001-02-23 | 2002-09-06 | Matsushita Electric Works Ltd | Image processing program formation method and system for it |
| JP2003296112A (en) * | 2002-03-29 | 2003-10-17 | Shiga Pref Gov | System and method for supporting development of image processing and inspecting device |
-
2008
- 2008-11-28 JP JP2008304473A patent/JP4767309B2/en active Active
Patent Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01193935A (en) * | 1988-01-28 | 1989-08-03 | Nec Software Ltd | Program control system by sub-command execution system |
| JPH04205386A (en) * | 1990-11-30 | 1992-07-27 | Fujitsu Ltd | Image data editing control method |
| JPH09288568A (en) * | 1996-04-23 | 1997-11-04 | Matsushita Electric Works Ltd | Image processor and execution flow preparing method for the same |
| JPH10302063A (en) * | 1997-04-25 | 1998-11-13 | Canon Inc | Image processing apparatus and method |
| JPH113217A (en) * | 1997-06-12 | 1999-01-06 | Mitsubishi Electric Corp | Communication service development support apparatus and method, and recording medium recording communication service development support program |
| JP2001516910A (en) * | 1997-09-16 | 2001-10-02 | インテグラル ヴィジョン インコーポレイテッド | Method and system for interactively developing graphic control flow and related software for machine vision systems |
| JP2001243492A (en) * | 2000-02-29 | 2001-09-07 | Fuji Photo Film Co Ltd | Script generating device and script generating program storage medium |
| JP2002244849A (en) * | 2000-11-13 | 2002-08-30 | Canon Inc | Data processing device |
| JP2002251603A (en) * | 2001-02-23 | 2002-09-06 | Matsushita Electric Works Ltd | Image processing program formation method and system for it |
| JP2003296112A (en) * | 2002-03-29 | 2003-10-17 | Shiga Pref Gov | System and method for supporting development of image processing and inspecting device |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4886910B1 (en) * | 2010-11-17 | 2012-02-29 | キヤノンItソリューションズ株式会社 | Information processing apparatus, information processing apparatus control method, program, and recording medium storing program |
| JP2013140572A (en) * | 2011-12-06 | 2013-07-18 | Canon Marketing Japan Inc | Information processing apparatus, control method of the same, and program |
| JP2016091175A (en) * | 2014-10-31 | 2016-05-23 | キヤノンマーケティングジャパン株式会社 | Information processing device, control method thereof, and program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP4767309B2 (en) | 2011-09-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3338179B1 (en) | Graphical representation of data in a program code editor | |
| JP5599535B2 (en) | Sequence program debugging support device | |
| US20130205172A1 (en) | Integrated System and Method for Validating the Functionality and Performance of Software Applications | |
| US20100281463A1 (en) | XML based scripting framework, and methods of providing automated interactions with remote systems | |
| WO2012023296A1 (en) | Control program generation device, control program generation program, and control program generation method | |
| US10884711B2 (en) | Code management system and code management method using a visual programming tool | |
| CN112825033A (en) | Interface code generation method, device, equipment and storage medium | |
| JP5777837B2 (en) | Program development support apparatus and method | |
| CN107885493A (en) | Program making supports method and program making to support device | |
| JP4767309B2 (en) | Information processing apparatus, information processing method, and computer program | |
| JP5425317B2 (en) | Motion SFC program parts creation device | |
| JP3805776B2 (en) | Graphical programming device and programmable display | |
| JP5257898B2 (en) | Information processing apparatus, control method therefor, and program | |
| JP2008033913A (en) | Program development support apparatus for plc | |
| JP6097231B2 (en) | Program generating apparatus and method | |
| JP5334124B2 (en) | Information processing apparatus, control method thereof, and program | |
| JP4488227B2 (en) | Debugging method of control component having variability and debugging support apparatus | |
| CN109885783B (en) | Loading method and device of three-dimensional building model | |
| JP2011186650A (en) | Apparatus and method for processing information, computer program, and recording medium with computer program recorded thereon | |
| Mayerhofer et al. | xMOF: A Semantics Specification Language for Metamodeling. | |
| JP4886910B1 (en) | Information processing apparatus, information processing apparatus control method, program, and recording medium storing program | |
| JP7208441B1 (en) | FA control test support program, FA control test support device, FA control test support method and FA control test support system | |
| JP6052892B2 (en) | Apparatus for automatically generating GUI stub, method and program thereof | |
| EP4507266A1 (en) | Information processing device, and program | |
| JP4749507B1 (en) | Information processing apparatus, information processing apparatus control method, program, and recording medium storing program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100707 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100707 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20100707 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20100721 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100803 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101116 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110117 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110308 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110427 |
|
| 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: 20110524 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110614 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4767309 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140624 Year of fee payment: 3 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |