(57)【要約】【課題】画像処理を行うための設定を容易に設定することの可能な情報処理装置、情報処理装置の制御方法、プログラム、及びプログラムを記録した記録媒体を提供すること。【解決手段】ユーザから指定された処理順に構築された一連の画像処理フローのうち、パラメータの設定された画像処理アイテムを抽出し、表示する。表示された画像処理アイテムのうちユーザに指定された画像処理アイテムを、パラメータの参照先として設定し、画像処理を実行する場合には、参照先が設定されている画像処理アイテムについては参照先の画像処理アイテムからパラメータを取得して画像処理を実行する。【選択図】図２０
2012123777.tif 000002
【特許請求の範囲】
【請求項１】
電子画像データに対して画像処理を実行し、画像処理結果の表示を行う情報処理装置であって、
前記電子画像データに対して実行可能な画像処理アイテムであって、ユーザから指定された処理順に構成された画像処理アイテムに係る画像処理のパラメータを前記画像処理アイテムごとに記憶する記憶手段と、
前記画像処理アイテムのうち、前記パラメータの設定を行う画像処理アイテムの選択を受け付ける画像処理アイテム選択受付手段と、
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムのパラメータに対して、当該画像処理アイテムとは異なる画像処理アイテムのパラメータを参照させるべく、参照先となる画像処理アイテムの選択を受け付ける参照先選択受付手段と、
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムのパラメータの参照先を、前記参照先選択受付手段によって選択された画像処理アイテムに設定する参照先設定手段と、
前記電子画像データに対して画像処理を実行する場合には、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムは、前記参照先設定手段によって設定された参照先の画像処理アイテムのパラメータを前記記憶手段から取得して、当該パラメータを使用して画像処理を実行する画像処理実行手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記参照先選択受付手段は、前記参照先設定手段によってパラメータの参照先が設定された画像処理アイテムの選択を受け付け、
前記画像処理実行手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムの画像処理を実行する際に、前記参照先設定手段によって設定された参照先の画像処理アイテムのパラメータの参照先を遡って、パラメータが設定された画像処理アイテムを特定し、当該画像処理アイテムのパラメータを前記記憶手段から取得し、当該パラメータを使用して画像処理を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムのパラメータの設定、または前記選択された画像処理アイテムのパラメータの参照先の解除を受け付けるパラメータ設定受付手段と、
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムをパラメータの参照先に設定している画像処理アイテムが存在するか否かを判定する被参照有無判定手段とを更に備え、
前記パラメータ設定受付手段は、前記被参照有無判定手段によって、前記選択された画像処理アイテムをパラメータの参照先に設定している画像処理アイテムが存在すると判定された場合に、前記選択された画像処理アイテムのパラメータの設定またはパラメータの参照先の解除を受け付けると、前記選択された画像処理アイテムをパラメータの参照先に設定している画像処理アイテムに対して、パラメータの参照先の変更をすべく、参照先となる画像処理アイテムの選択を受け付けることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムにパラメータの参照先が設定されているか否かを判定する参照先有無判定手段を更に備え、
前記パラメータ設定受付手段は、前記被参照有無判定手段によって、前記選択された画像処理アイテムをパラメータの参照先に設定している画像処理アイテムが存在すると判定され、更に前記参照先有無判定手段によって、前記選択された画像処理アイテムにパラメータの参照先が設定されていると判定された場合に、前記選択された画像処理アイテムのパラメータの設定またはパラメータの参照先の解除を受け付けると、前記選択された画像処理アイテムをパラメータの参照先に設定している画像処理アイテムの参照先を、前記選択された画像処理アイテムの参照先であった画像処理アイテムに変更することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記パラメータ設定受付手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムの参照先が存在する場合に、当該参照先の画像処理アイテムのパラメータを取得して表示させることで、パラメータの設定を受け付けることを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
前記参照先選択受付手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムのパラメータに対して、当該画像処理アイテムとは異なる画像処理アイテムのパラメータを参照させるべく、参照先となる画像処理アイテムのパラメータの選択を受け付け、
前記参照先設定手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムのパラメータの参照先を、前記参照先選択受付手段によって選択された画像処理アイテムのパラメータに設定することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記参照先選択受付手段は、前記参照先設定手段によってパラメータの参照先が設定された画像処理アイテムと、前記参照先設定手段によってパラメータの参照先が設定されていない画像処理アイテムとを識別表示することにより選択を受け付けることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記参照先選択受付手段は、前記画像処理アイテムのうち、前記パラメータが設定されている画像処理アイテムを抽出して表示することにより選択を受け付けることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記参照先選択受付手段は、前記画像処理アイテムのうち、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムよりも処理順が上位に設定された画像処理アイテムを抽出して表示することにより選択を受け付けることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記画像処理実行手段は、前記参照先設定手段によって設定された参照先の画像処理アイテムが画像処理を行う領域の位置を変更するための位置補正アイテムであった場合に、前記位置補正アイテムによって変更された領域をパラメータとして画像処理を実行することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記画像処理実行手段は、前記参照先設定手段によって設定された参照先の画像処理アイテムが画像処理を行う領域の中心座標を変更するための座標制御アイテムであった場合に、前記座標制御アイテムによって変更された中心座標をパラメータとして画像処理を実行することを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
電子画像データに対して実行可能な画像処理アイテムであって、ユーザから指定された処理順に構成された画像処理アイテムに係る画像処理のパラメータを前記画像処理アイテムごとに記憶する記憶手段を備え、前記電子画像データに対して画像処理を実行し、画像処理結果の表示を行う情報処理装置の制御方法であって、
前記情報処理装置の画像処理アイテム選択受付手段が、前記画像処理アイテムのうち、前記パラメータの設定を行う画像処理アイテムの選択を受け付ける画像処理アイテム選択受付ステップと、
前記情報処理装置の参照先選択受付手段が、前記画像処理アイテム選択受付ステップによって選択された画像処理アイテムのパラメータに対して、当該画像処理アイテムとは異なる画像処理アイテムのパラメータを参照させるべく、参照先となる画像処理アイテムの選択を受け付ける参照先選択受付ステップと、
前記情報処理装置の参照先設定手段が、前記画像処理アイテム選択受付ステップによって選択された画像処理アイテムのパラメータの参照先を、前記参照先選択受付ステップによって選択された画像処理アイテムに設定する参照先設定ステップと、
前記情報処理装置の画像処理実行手段が、前記電子画像データに対して画像処理を実行する場合には、前記画像処理アイテム選択受付ステップによって選択された画像処理アイテムは、前記参照先設定ステップによって設定された参照先の画像処理アイテムのパラメータを前記記憶手段から取得して、当該パラメータを使用して画像処理を実行する画像処理実行ステップと、
を備えることを特徴とする情報処理装置の制御方法。
【請求項１３】
前記参照先選択受付ステップは、前記参照先設定ステップによってパラメータの参照先が設定された画像処理アイテムの選択を受け付け、
前記画像処理実行ステップは、前記画像処理アイテム選択受付ステップによって選択された画像処理アイテムの画像処理を実行する際に、前記参照先設定ステップによって設定された参照先の画像処理アイテムのパラメータの参照先を遡って、パラメータが設定された画像処理アイテムを特定し、当該画像処理アイテムのパラメータを前記記憶手段から取得し、当該パラメータを使用して画像処理を実行することを特徴とする請求項１２に記載の情報処理装置の制御方法。
【請求項１４】
前記参照先選択受付ステップは、前記画像処理アイテム選択受付ステップによって選択された画像処理アイテムのパラメータに対して、当該画像処理アイテムとは異なる画像処理アイテムのパラメータを参照させるべく、参照先となる画像処理アイテムのパラメータの選択を受け付け、
前記参照先設定ステップは、前記画像処理アイテム選択受付ステップによって選択された画像処理アイテムのパラメータの参照先を、前記参照先選択受付ステップによって選択された画像処理アイテムのパラメータに設定することを特徴とする請求項１２または１３に記載の情報処理装置の制御方法。
【請求項１５】
電子画像データに対して実行可能な画像処理アイテムであって、ユーザから指定された処理順に構成された画像処理アイテムに係る画像処理のパラメータを前記画像処理アイテムごとに記憶する記憶手段を備え、前記電子画像データに対して画像処理を実行し、画像処理結果の表示を行う情報処理装置の制御方法をコンピュータに実行させるためのコンピュータに読み取り実行可能なプログラムであって、
前記情報処理装置を、
前記画像処理アイテムのうち、前記パラメータの設定を行う画像処理アイテムの選択を受け付ける画像処理アイテム選択受付手段と、
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムのパラメータに対して、当該画像処理アイテムとは異なる画像処理アイテムのパラメータを参照させるべく、参照先となる画像処理アイテムの選択を受け付ける参照先選択受付手段と、
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムのパラメータの参照先を、前記参照先選択受付手段によって選択された画像処理アイテムに設定する参照先設定手段と、
前記電子画像データに対して画像処理を実行する場合には、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムは、前記参照先設定手段によって設定された参照先の画像処理アイテムのパラメータを前記記憶手段から取得して、当該パラメータを使用して画像処理を実行する画像処理実行手段
として機能させることを特徴とするコンピュータに読み取り実行可能なプログラム。
【請求項１６】
前記参照先選択受付手段は、前記参照先設定手段によってパラメータの参照先が設定された画像処理アイテムの選択を受け付け、
前記画像処理実行手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムの画像処理を実行する際に、前記参照先設定手段によって設定された参照先の画像処理アイテムのパラメータの参照先を遡って、パラメータが設定された画像処理アイテムを特定し、当該画像処理アイテムのパラメータを前記記憶手段から取得し、当該パラメータを使用して画像処理を実行することを特徴とする請求項１３に記載のコンピュータに読み取り実行可能なプログラム。
【請求項１７】
前記参照先選択受付手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムのパラメータに対して、当該画像処理アイテムとは異なる画像処理アイテムのパラメータを参照させるべく、参照先となる画像処理アイテムのパラメータの選択を受け付け、
前記参照先設定手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムのパラメータの参照先を、前記参照先選択受付手段によって選択された画像処理アイテムのパラメータに設定することを特徴とする請求項１５または１６に記載のコンピュータに読み取り実行可能なプログラム。
【請求項１８】
請求項１５に記載のコンピュータプログラムを格納することを特徴とするコンピュータで読み取り可能な記録媒体。
【請求項１９】
請求項１６に記載のコンピュータプログラムを格納することを特徴とするコンピュータで読み取り可能な記録媒体。
【請求項２０】
請求項１７に記載のコンピュータプログラムを格納することを特徴とするコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の処理を行う情報処理装置、情報処理装置の制御方法、プログラム、及びプログラムを記録した記録媒体に関し、特に画像処理を行うための設定を容易に設定することの可能な情報処理装置、情報処理装置の制御方法、プログラム、及びプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
従来、例えば、チップマウンターにおける基板や部品の位置決めや、出来上がった製品の検査などを目的として、カメラで撮影した検査対象の画像データを、一定のロジック（処理フロー）で画像処理する画像処理装置が広く用いられている。
【０００３】
このような用途の画像処理装置としては、例えば、予め決められた画像処理のロジックを搭載した汎用タイプの画像処理装置や、ユーザのニーズに合致するロジックをユーザ自身が構築することが可能な専用タイプの画像処理装置がある。
【０００４】
ここで、汎用タイプの画像処理装置は、画像処理のロジックを新規に構築する必要がないため、実際の製造工程等への導入に際してユーザの労力はかからないが、ユーザのニーズを完全に満たすロジックであることは少ない。一方、専用タイプの画像処理装置は、ユーザのニーズを完全に満たす画像処理のロジックを構築することが可能であるが、そのために画像処理のロジックを都度開発する必要があるため、多大な開発労力と開発期間、更には多大なコストがかかるものであった。
【０００５】
そこで、従来、例えば下記の特許文献１に示すようなロジックの開発を効率化する技術が提案されている。具体的に、特許文献１では、ロジックを開発するコンピュータに予め複数の画像処理に係るモジュールを登録しておき、開発者が使用者のニーズに合致するモジュールを選択し、選択したモジュールに必要なパラメータを設定して、ソースコード化した上でオブジェクトコードを作成することにより、ロジックの開発を効率化するものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２９６１１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このような画像処理のロジックを構築する際に、画像処理の項目をＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）上でフローチャート形式に構築することで、画像処理のプログラムを生成するアプリケーションが存在する。このようなアプリケーションは、各画像処理項目をドラッグ＆ドロップ等でフローチャート形式に構築すると、各画像処理項目に対応するソースコードをフローチャートの順序に基づいて組み合わせ、画像処理のプログラムを生成するものである。
【０００８】
また、このようなアプリケーションでは、各画像処理項目に対して画像処理に関するパラメータを設定する必要がある。例えば、カメラから取り込まれた画像に対して二値化処理を行いたい場合、一部の範囲にのみ二値化処理を行いたいということがある。この場合には、二値化を行いたい範囲をパラメータに設定する。これにより、設定された範囲にのみ二値化処理が実行される。
【０００９】
しかしながら、このようなフローチャート形式で画像処理項目を組み合わせるアプリケーションにおいては、ある決められた範囲に様々な画像処理を行うことがある。このような場合には、フローチャート形式に組み合わされたすべての画像処理項目に対して、当該決められた範囲を設定する必要がある。
【００１０】
具体的には、ある画像の範囲Ａという部分に対して、「二値化」、「輝度反転」、「ガンマ補正」という３つの画像処理を行う場合があるとする。この場合には、これらの３つの画像処理項目すべてに対して、同じ範囲Ａを処理範囲として設定しなければならない。処理範囲を設定しなければ、画像全体に画像処理を行うことになってしまうからである。この設定は主に座標による入力が行われており、矩形であれば、矩形の左上の座標と、矩形の右下の座標を各画像処理項目の設定項目に設定する。
【００１１】
このような画像処理項目の処理範囲の設定は、基準となる範囲の各座標を各画像処理項目に対してユーザが手入力で設定しているため、画像処理項目が多い場合にはユーザの入力ミスを誘発しやすい問題がある。処理範囲の設定を間違えてしまうと、ユーザが望む結果を得られない可能性が高いため、このようなミスは確実に防止する必要がある。
【００１２】
また、処理を行う範囲が変更された場合には、すべての画像処理項目に対して再設定を行う必要があるため、ユーザにとって負荷が高く、非常に手間である。
【００１３】
本発明は上記の課題を解決するためになされたもので、画像処理のための設定を容易に行うことの可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記の目的を達成するために、請求項１に記載の情報処理装置は、電子画像データに対して画像処理を実行し、画像処理結果の表示を行う情報処理装置であって、前記電子画像データに対して実行可能な画像処理アイテムであって、ユーザから指定された処理順に構成された画像処理アイテムに係る画像処理のパラメータを前記画像処理アイテムごとに記憶する記憶手段と、前記画像処理アイテムのうち、前記パラメータの設定を行う画像処理アイテムの選択を受け付ける画像処理アイテム選択受付手段と、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムのパラメータに対して、当該画像処理アイテムとは異なる画像処理アイテムのパラメータを参照させるべく、参照先となる画像処理アイテムの選択を受け付ける参照先選択受付手段と、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムのパラメータの参照先を、前記参照先選択受付手段によって選択された画像処理アイテムに設定する参照先設定手段と、前記電子画像データに対して画像処理を実行する場合には、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムは、前記参照先設定手段によって設定された参照先の画像処理アイテムのパラメータを前記記憶手段から取得して、当該パラメータを使用して画像処理を実行する画像処理実行手段とを備えることを特徴とする。
【発明の効果】
【００１５】
以上説明したように、本発明によれば、画像処理アイテムのパラメータの参照先として、当該画像処理アイテムとは異なる画像処理アイテムを設定することで、画像処理アイテムにパラメータを設定せずとも、他の画像処理アイテムに設定されたパラメータを使用して画像処理を実行できるので、ユーザの手間を軽減することのできる効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態における画像処理システムの一例を示す構成図である。
【図２】図１に示す情報処理装置１１０の内部のハードウェア構成の一例を示す構成図である。
【図３】図１に示す画像入力コントローラ１１５ｆのハードウェア構成の一例を示す構成図である。
【図４】図１に示す情報処理装置１１０のモジュール構成の一例を示す構成図である。
【図５】図４に示すモジュール・ソースコードマスタテーブル４１１の一例を示す構成図である。
【図６】図１に示す情報処理装置１１０による制御方法の処理手順の一例を示すフローチャートである。
【図７】画像処理システム開発画面のメインメニューの一例を示す模式図である。
【図８】図１に示す情報処理装置１１０による制御方法の処理手順の一例を示すフローチャートである。
【図９】画像処理フロー構築画面の一例を示す構成図である。
【図１０】図８のステップＳ２０９におけるモジュールの「変更処理」の詳細な処理手順の一例を示すフローチャートである。
【図１１】図１０のステップＳ３１１におけるモジュールの「オフセット設定処理」の詳細な処理手順の一例を示すフローチャートである。
【図１２】オフセット設定処理を行う場合の画像処理フロー構築画面の一例を示す構成図である。
【図１３】図４に示す処理フロー・入出力パラメータテーブル４１２及びモジュール設定テーブル４１９の一例を示す構成図である。
【図１４】オフセット設定処理の処理実行前後における画像データの一例を示す構成図である。
【図１５】図１０のステップＳ３１３におけるモジュールの「座標制御設定処理」の詳細な処理手順の一例を示すフローチャートである。
【図１６】座標制御設定処理を行う場合の画像処理フロー構築画面の一例を示す構成図である。
【図１７】図４に示す処理フロー・入出力パラメータテーブル４１２及びモジュール設定テーブル４１９の一例を示す構成図である。
【図１８】座標制御設定処理を行った結果の画像データの一例を示す構成図である。
【図１９】図１０のステップＳ３１５におけるモジュールの「処理領域設定処理」の詳細な処理手順の一例を示すフローチャートである。
【図２０】処理領域設定処理を行う場合の画像処理フロー構築画面の一例を示す構成図である。
【図２１】図４に示す処理フロー・入出力パラメータテーブル４１２及びモジュール設定テーブル４１９の一例を示す構成図である。
【図２２】処理領域設定処理を行った結果の画像データの一例を示す構成図である。
【図２３】図１０のステップＳ３１５におけるモジュールの「処理領域設定処理」の詳細な処理手順の一例を示すフローチャートである。
【図２４】処理領域設定処理を行う際に、参照先が設定されているモジュールを一覧表示する場合の画像処理フロー構築画面の一例を示す構成図である。
【図２５】参照先が設定されているモジュールを参照先として設定した場合における処理フロー・入出力パラメータテーブル４１２及びモジュール設定テーブル４１９の一例を示す構成図である。
【図２６】図８のステップＳ２０９におけるモジュールの「変更処理」の詳細な処理手順の一例を示すフローチャートである。
【図２７】図２５のステップＳ７０１におけるモジュールの「処理条件設定」の詳細な処理手順の一例を示すフローチャートである。
【図２８】処理条件設定処理を行う場合の画像処理フロー構築画面の一例を示す構成図である。
【図２９】処理条件設定画面の一例を示す構成図である。
【図３０】確認画面の一例を示す構成図である。
【図３１】図２７の実行前と実行後におけるモジュール設定テーブルの変化を示す模式図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら、本発明の実施の形態について説明する。図１は、本発明の実施の形態係る画像処理システム１００の概略構成の一例を示す構成図である。図１に示す通り、画像処理システム１００は、情報処理装置１１０と、入力装置１２０と、ディスプレイ装置１３０と、カメラ１４０と、照明装置コントローラ１５０と、照明装置１６０と、外部機器コントローラ１７０と、検査対象１８１が載置されたステージ１８０を有して構成されている。
【００１８】
情報処理装置１１０は、画像処理システム１００における動作を統括的に制御する装置である。ここで、本実施形態においては、情報処理装置１１０は、実際の製造工程に導入される画像処理装置で動作する画像処理アプリケーションプログラムの開発を支援する装置として適用した例を説明するが、本発明においてはこれに限定されるわけではなく、たとえば、実際の製造工程に導入されている画像処理装置として適用する形態も本発明に含まれる。
【００１９】
情報処理装置１１０は、所定のケーブル等を介して、検査対象１８１の撮像（撮影）を行うカメラ１４０と通信可能に構成されている。また、情報処理装置１１０は、所定のケーブル等を介して、照明装置１６０の制御を行う照明装置コントローラ１５０と通信可能に構成されている。また、情報処理装置１１０は、所定のケーブル等を介して、ステージ１８０を制御するプログラマブルコントローラ（ＰＣＬ）などの外部機器コントローラ１７０と、あらかじめ設定した通信が可能に構成されている。さらに、情報処理装置１１０は、所定のケーブル等を介して、それぞれ、入力装置１２０およびディスプレイ装置１３０と通信可能に構成されている。すなわち、情報処理装置１１０は、所定のケーブル等を介して接続された、入力装置１２０、ディスプレイ装置１３０、カメラ１４０、照明装置コントローラ１５０および外部機器コントローラ１７０を制御することによって、画像処理システム１００における動作を統括的に制御する。
【００２０】
入力装置１２０は、例えばユーザが情報処理装置１１０に対して各種の指示の入力を行う際にユーザによって操作されるものであり、ユーザからの入力指示操作に従って、当該入力指示を情報処理装置１１０に対して入力するものである。この入力装置１２０は、例えば、キーボード（ＫＢ）やポインティングデバイス等で構成されている。
【００２１】
ディスプレイ装置１３０は、情報処理装置１１０の制御に従って、各種の画像や各種の情報などを表示画面に表示する。
【００２２】
カメラ１４０は、情報処理装置１１０の制御に従って、ステージ１８０上に載置された検査対象１８１の撮影（撮像）を行い、撮影により得られた画像データ（電子画像データ）を所定のケーブル等を介して情報処理装置１１０に送信する。
【００２３】
照明装置コントローラ１５０は、情報処理装置１１０の制御に従って、照明装置１６０の照明を制御する。照明装置１６０は、照明装置コントローラ１５０の制御に基づき、検査対象１８１における検査内容に応じて、当該検査対象１８１に対する照明の点灯／非点灯の切り替えや明るさの調整等を行う。
【００２４】
外部機器コントローラ１７０は、情報処理装置１１０の制御に従って、ステージ１８０を制御する。ステージ１８０は、外部機器コントローラ１７０の制御に基づき、載置された検査対象１８１を目的の位置に移動させたり、検査対象１８１の搬入や搬出をしたりする。以上が画像処理システムの構成の一例の説明である。
【００２５】
次に、情報処理装置１１０のハードウェア構成について説明する。図２は、図１に示す情報処理装置１１０のハードウェア構成の一例を示す構成図である。図２には、情報処理装置１１０の内部構成に加えて、当該情報処理装置１１０と接続される各種装置についても記載している。
【００２６】
情報処理装置１１０は、図２に示すように、ＣＰＵ１１１と、ＲＡＭ１１２と、ＲＯＭ１１３と、システムバス１１４と、各種のコントローラ１１５（１１５ａ〜１１５ｇ）と、外部メモリ１１６と、を備えている。各種のコントローラ１１５として、入力コントローラ１１５ａ、ビデオコントローラ１１５ｂ、メモリコントローラ１１５ｃ、通信Ｉ／Ｆコントローラ１１５ｄ、１１５ｅ、及び１１５ｇ、画像入力コントローラ１１５ｆが構成されている。ＣＰＵ１１１は、ＲＯＭ１１３或いは外部メモリ１１６に記憶されたプログラム等に基づいてシステムバス１１４に接続された各デバイスを制御して、情報処理装置１１０における動作を統括的に制御する。ＲＡＭ１１２は、ＣＰＵ１１１の主メモリ、ワークエリア等として機能する。ＣＰＵ１１１は、処理の実行に際して、必要なプログラム等をＲＡＭ１１２にロードして、プログラムを実行することにより、情報処理装置１１０における各種の動作を実現する。ＲＯＭ１１３には、ＣＰＵ１１１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ
／ Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）等が記憶されている。
【００２７】
システムバス１１４は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、入力コントローラ１１５ａ、ビデオコントローラ１１５ｂ、メモリコントローラ１１５ｃ、通信Ｉ／Ｆコントローラ１１５ｄ及び１１５ｅ、１１５ｇ、画像入力コントローラ１１５ｆを、相互に通信可能に接続する。
【００２８】
入力コントローラ１１５ａは、キーボード（ＫＢ）やポインティングデバイスなどからなる入力装置１２０からの入力を制御する。ビデオコントローラ１１５ｂは、表示装置であるディスプレイ装置１３０への表示を制御する。メモリコントローラ１１５ｃは、外部メモリ１１６へのアクセスを制御する。ここで、外部メモリ１１６は、例えばハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）等で構成され、ブートプログラムや、各種のアプリケーションプログラム、編集ファイル、各種のデータや各種の情報等を記憶する。また、外部メモリ１１６は、オペレーティングシステム（以下、「ＯＳ」とする）や、ＣＰＵ１１１に後述する各種の処理を実行させるためのプログラム、当該プログラムの制御に従った処理を行う際に使用する各種のテーブルや各種の検査結果情報等も記憶する。
【００２９】
通信Ｉ／Ｆコントローラ１１５ｄは、外部機器コントローラ１７０との通信を制御する。また、通信Ｉ／Ｆコントローラ１１５ｅは、照明装置コントローラ１５０との通信を制御する。画像入力コントローラ１１５ｆは、カメラ１４０と通信を行って、カメラ１４０から画像データの受信が可能に構成されている。ここで、画像入力コントローラ１１５ｆは、コントローラ上で演算処理が可能なハードウェアを搭載しているものであってもよい。なお、本実施形態では、カメラ１４０からの画像データの入力を前提に説明を行うが、画像ファイルを読み込んで入力する形態であってもよい。さらに、通信Ｉ／Ｆコントローラ１１５ｇは、ローカルエリアネットワーク（ＬＡＮ）１９０等のネットワークに接続され、当該ネットワークに接続されている各種装置との通信を制御する。
【００３０】
次に、図３を用いて、画像入力コントローラ１１５ｆのハードウェア構成について説明する。図３に示す通り、画像入力コントローラ１１５ｆは、ＣＰＵ（演算チップ）３０１、メモリコントローラ３０２、入力コントローラ３０３、オンボードメモリ３０４を備えている。
【００３１】
ＣＰＵ（演算チップ）３０１は、後述する各種の画像処理を実行する。メモリコントローラ３０２はＣＰＵ（演算チップ）３０１の制御に従って、オンボードメモリ３０４への各種データの入出力を制御する。入力コントローラ３０３はカメラ１４０からの画像データの入力を制御する。オンボードメモリ３０４はＣＰＵ（演算チップ）３０１の主記憶として機能する。以上が、画像入力コントローラ１１５ｆのハードウェア構成の説明である。
【００３２】
次に、情報処理装置１１０の機能構成の一例について説明する。図４は、図１に示す情報処理装置１１０の機能構成の一例を示す構成図である。
【００３３】
情報処理装置１１０には、図４に示すように、テーブル記憶部４１０（記憶手段）、フロー作成部４２０、ソースコード変換部４３０、コンパイル部４４０、（検証）実行部４５０、データ保存部４６０、及び、データ入力・出力部４７０の各機能構成が構成される。また、テーブル記憶部４１０には、モジュール・ソースコードマスタテーブル４１１、処理フロー・入出力パラメータテーブル４１２、ソースコードテーブル４１３、オブジェクトコードテーブル４１４、及びプロジェクトファイルテーブル４１５が記憶されている。また、条件式テーブル４１６、ノード処理フラグテーブル４１７、処理フローメインテーブル４１８、及びモジュール設定テーブル４１９も記憶されている。
【００３４】
ここで、本実施形態においては、図４のテーブル記憶部４１０が、例えば図２に示す外部メモリ１１６に構成される（一旦、ＲＡＭ１１２に構成された後に外部メモリ１１６に構成される場合も含む）。また、図４のフロー作成部４２０、ソースコード変換部４３０、コンパイル部４４０、（検証）実行部４５０、データ保存部４６０及びデータ入力・出力部４７０が、例えば図２に示すＣＰＵ１１１と、ＲＯＭ１１３或いは外部メモリ１１６に記憶されているプログラムと、から構成される。
【００３５】
図５を参照して、図４のテーブル記憶部４１０に記憶されるモジュール・ソースコードマスタテーブル４１１について説明する。図５のモジュール・ソースコードマスタテーブルＴ５００は、モジュール・ソースコードマスタテーブル４１１の構成の一例を示す構成図である。
【００３６】
図５に示すように、モジュール・ソースコードマスタテーブルＴ５００には、インデックス（Ｉｎｄｅｘ）５０１ごとに、画像処理に係る処理アイテム５０２と、各処理アイテムに対応するソースコード５０３、またその処理アイテムを実現するためのモジュール（画像処理アイテム）に対する初期値５０４と処理主体５０５が関連付けられている。このソースコードは、ソースコード変換部４３０で処理対象のモジュールをソースコードに変換する際に用いられるものである。
【００３７】
次に、図５を参照して、図４のテーブル記憶部４１０に記憶される処理フロー・入出力パラメータテーブル４１２について説明する。図５に示す処理フロー・入出力パラメータテーブルＴ５１０は、図４に示す処理フロー・入出力パラメータテーブル４１２の構成の一例を示す構成図である。図５に示すように、処理フロー・入出力パラメータテーブルＴ５１０は、インデックス（Ｉｎｄｅｘ）５１１ごとに、画像処理に係るモジュール５１３と、各モジュール５１３の処理順である順序５１２と、各モジュール５１３のフロー登録名５１４と、各モジュール５１３における入力パラメータ５１５及び出力パラメータ５１６が関連付けられている。入力パラメータ５１５は、各モジュールで使用する各種のデータが格納される画像バッファや記憶領域等を示す。出力パラメータ５１６は、各モジュールが実行された際の結果画像バッファや各種の処理に用いた閾値等を記憶する記憶領域を示す。次ステップ５１７は、次に処理されるべきステップのインデックス（Ｉｎｄｅｘ）５１１を示す。なお、この次ステップ５１７は、複数のインデックス（Ｉｎｄｅｘ）を持つこともある。また、分岐参照５１８は、モジュール５１３に「反復処理」モジュール、「条件分岐処理」モジュールなど、分岐が必要なモジュールを設定した際に、各条件（ノード）が次にどのステップを処理するかを指定する条件式テーブルを示す。さらに、処理主体５１９は、各モジュールにおいて処理をＣＰＵ１１１と、画像入力コントローラ１１５ｆのＣＰＵ（演算チップ）３０１のどちらで行うかを示す項目である。
【００３８】
なお、図５に示す処理フロー・入出力パラメータテーブルＴ５１０におけるインデックス（Ｉｎｄｅｘ）５１１と、図５に示すモジュール・ソースコードマスタテーブルＴ５００におけるインデックス（Ｉｎｄｅｘ）５０１とは特に対応させていないが、相互に対応させて各テーブルを作成する形態であってもよい。なお、処理フロー・入出力パラメータテーブルＴ５１０において、インデックス（Ｉｎｄｅｘ）５１１の３は反復処理の一例である。
【００３９】
ソースコードテーブル４１３は、処理フロー・入出力パラメータテーブル４１２に記憶されているモジュール５１３について、ソースコード変換部４３０でモジュール・ソースコードマスタテーブル４１１を用いてソースコードに変換し登録している、全てのモジュール或いは一部のモジュールにおけるソースコードを記憶する。
【００４０】
オブジェクトコードテーブル４１４は、ソースコードテーブル４１３に記憶されているソースコードをコンパイル部４４０で変換した、実行可能なモジュールであるオブジェクトコードを記憶する。プロジェクトファイルテーブル４１５は、画像処理に係る初期設定パラメータや、処理フローシーケンス、ソースコード、入出力パラメータ等を記憶する。また条件式テーブル４１６は、「条件分岐処理」モジュールが設定された際の、条件式等を記憶し、ノード処理フラグテーブル４１７は、「並列分岐処理」モジュールが設定された際の、呼び出し側のノード名等を記憶する。モジュール設定テーブル４１９は、各モジュールに設定されたパラメータや画像処理実行時に発生する値を記憶しておく。モジュール設定テーブル４１９は、モジュールごとに格納する情報が異なる。また、処理フロー・入出力パラメータテーブル４１２に含めてもよい。
【００４１】
続いて、図４のフロー作成部４２０、ソースコード変換部４３０、コンパイル部４４０、実行部４５０、データ保存部４６０、及び、データ入力・出力部４７０について説明する。
【００４２】
フロー作成部４２０は、モジュール・ソースコードマスタテーブル４１１に含まれているモジュールの処理シーケンスを管理する処理フロー・入出力パラメータテーブル４１２の作成等と、処理フロー描画領域（後述する図９の９０２）へのモジュールの描画を行う機能を有する。
【００４３】
ソースコード変換部４３０は、フロー作成部４２０により作成された処理フロー・入出力パラメータテーブル４１２に記憶されている各モジュールの処理データをモジュール・ソースコードマスタテーブル４１１と照合して、各モジュールをソースコードに変換し、ソースコードテーブル４１３に記憶する機能を有する。
【００４４】
なお、図５に示すテーブルのモジュールには、画像に対する処理だけでなく、画像を取得するための事前処理や、処理結果を出力するための事後処理を含む外部機器に対する処理などを含めても勿論構わない。例えば、カメラ１４０の撮像条件を設定する制御指令や、照明装置１６０を制御するための照明装置コントローラ１５０への制御指令、或いは、ステージの移動などを制御するための外部機器コントローラ１７０への制御指令、ＬＡＮ上に接続されたＰＣにデータを送信する等の制御指令を行うものであってもよい。
【００４５】
コンパイル部４４０は、ソースコードテーブル４１３に記憶されているソースコードから実行可能なオブジェクトコードを生成し、生成したオブジェクトコードをオブジェクトコードテーブル４１４に記憶する機能を有する。
【００４６】
なお、コンパイル部４４０が行うコンパイルには、デバッグ・コンパイルとリリース・コンパイルの２つのタイプがある。ここで、本実施形態においては、処理フロー作成中には、ソースコードレベルでのステップ実行を可能とするデバッグ・コンパイルを行い、データ保存時には、オンラインで利用可能なファイルを生成するリリース・コンパイルを行う。この際、デバッグ・コンパイル及びリリース・コンパイルの両者は、同じ変換手法で生成されたソースコードを参照するものとする。
【００４７】
（検証）実行部４５０は、コンパイル部４４０により作成されたオブジェクトコードテーブル４１４に記憶されているオブジェクトコードを実行し、処理結果表示領域（後述する図９の９０６）と処理フロー・入出力パラメータテーブル４１２を更新する機能を有する。
【００４８】
データ保存部４６０は、例えば、ＲＡＭ１１２にあるソースコードテーブル４１３、オブジェクトコードテーブル４１４及びプロジェクトファイルテーブル４１５を外部メモリ１１６に出力して、データの保存処理を行う。
【００４９】
データ入力・出力部４７０は、各モジュールで使用する入出力パラメータを管理する機能を有する。
【００５０】
次に、情報処理装置１１０によって実行される画像処理アプリケーションプログラム作成処理の処理手順について説明する。図６は、図１に示す情報処理装置１１０による画像処理プログラム作成処理の処理手順の一例を示すフローチャートである。本処理をＣＰＵ１１１に実行させるためのプログラムは外部メモリ１１６に記憶されており、本処理の実行要求を入力装置１２０より受け付けた場合に、ＣＰＵ１１１は、当該プログラムをＲＡＭ１１２にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。
【００５１】
ステップＳ１０３において、情報処理装置１１０のＣＰＵ１１１は、例えば、入力装置１２０からの入力指示に基づいて、画像処理システム開発やシステム設定を行うためのメインメニューをディスプレイ装置１３０に表示する処理を行う。メインメニューは図７に示すようなものである。
【００５２】
図７は、画像処理システム開発画面のメインメニュー７００の一例を示す構成図である。図７に示す画像処理システム開発画面のメインメニュー７００には、ロジック（処理フロー）の新規作成、若しくは作成済みの処理フローの編集を行う「プロジェクト構築」メニュー７０１、「プロジェクト構築」メニュー７０１で作成した処理フローをオンライン検査モードで実行するための「オンライン検査」メニュー７０２、画像処理システム１００において、カメラ１４０で画像を撮像する際の調整を行う「機器調整」メニュー７０３、「オンライン検査」メニュー７０２で読み出すプロジェクトの指定などを行う「システム設定」メニュー７０４、メインメニューを終了する「終了」メニュー７０５が設けられている。
【００５３】
図６の説明に戻る。ステップＳ１０３のメインメニュー表示処理を終えると、ＣＰＵ１１１は処理をステップＳ１０４に進める。そして、情報処理装置１１０のＣＰＵ１１１は、ステップＳ１０３で表示された画像処理システム開発画面のメインメニュー７００上の各メニュー項目に対して、入力装置１２０からの入力指示があったか否かを判断する。
【００５４】
ステップＳ１０４の判断の結果、入力装置１２０からメインメニュー７００の各メニュー項目に対する入力指示がなかったと判断した場合には（ステップＳ１０４／ＮＯ）、入力装置１２０からの入力指示があるまで、ステップＳ１０４で待機する、一方、ステップ１０２の判断の結果、入力装置１２０からの入力指示あったと判断した場合には（ステップＳ１０４／ＹＥＳ）、ステップＳ１０５に進む。
【００５５】
ステップＳ１０５に進むと、情報処理装置１１０のＣＰＵ１１１は、入力装置１２０からの入力指示に基づいて、選択された処理内容の判定処理を行う。このステップＳ１０５で判定される処理内容としては、本例では、「プロジェクト構築処理」、「オンライン検査処理」、「機器調整画面表示」、「システム設定画面表示」、及び「終了処理」である。なお、ここで挙げた処理内容は一例を示したものであり、その他のメニュー項目をメインメニューに追加し、そのメニュー項目に対応するその他の処理内容をステップＳ１０５で判定することも可能である。
【００５６】
続いて、ステップＳ１０６において、情報処理装置１１０のＣＰＵ１１１は、ステップＳ１０５で判定した処理内容が、「プロジェクト構築処理」であるか否かを判断する。ステップＳ１０６の判断の結果、ステップＳ１０５で判定した処理内容が、「プロジェクト構築処理」であると判断した場合には（ステップＳ１０６／ＹＥＳ）、処理をステップＳ１０７に進める。
【００５７】
ステップＳ１０７に進むと、情報処理装置１１０のＣＰＵ１１１は、「プロジェクト構築処理」を行う。この「プロジェクト構築処理」の詳細については、図８を用いて後述する。そして、ステップＳ１０７の処理が終了すると、ステップＳ１０４に戻り、入力装置１２０から次の入力指示があるまで待機する。
【００５８】
一方、ステップＳ１０６の判断の結果、ステップＳ１０６で判定した処理内容が、「プロジェクト構築処理」ではないと判断した場合には（ステップＳ１０６／ＮＯ）、処理をステップＳ１０８に進める。
【００５９】
ステップＳ１０８では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ１０５で判定した処理内容が、「オンライン検査処理」であるか否かを判断する。
【００６０】
ステップＳ１０８の判断の結果、ステップＳ１０５で判定した処理内容が、「オンライン検査処理」であると判断した場合には（ステップＳ１０８／ＹＥＳ）、ＣＰＵ１１１は処理をステップＳ１０９に進める。
【００６１】
ステップＳ１０９に進むと、情報処理装置１１０のＣＰＵ１１１は、「オンライン検査処理」処理を行う。「オンライン検査処理」では、ステップＳ１０７の「プロジェクト構築処理」で構築された画像処理プログラムを実行する処理である。具体的には、「オンライン検査処理」が実行されると、情報処理装置１１０のＣＰＵ１１１は、カメラ１４０が検査対象１８１を撮像した画像データを受信し、（検証）実行部４５０において、コンパイル部４４０により作成されたオブジェクトコードテーブル４１４に記憶されているオブジェクトコードを前記受信した画像データに対して実行する。そして、実行結果（画像処理結果）を処理結果表示領域（後述する図９の９０６）に表示する。「オンライン検査処理」では、このように、ステップＳ１０７において実行された「プロジェクト構築処理」により生成された画像処理プログラムを用いて、画像処理を実行する。そして、ステップＳ１０９の処理が終了すると、ステップＳ１０４に戻り、入力装置１２０から次の入力指示があるまで待機する。
【００６２】
一方、ステップＳ１０８の判断の結果、ステップＳ１０６で判定した処理内容が、「オンライン検査処理」ではないと判断した場合には（ステップＳ１０８／ＮＯ）、ＣＰＵ１１１は、処理をステップＳ１１０に進める。
【００６３】
ステップＳ１１０に進むと、情報処理装置１１０のＣＰＵ１１１は、ステップＳ１０５で判定した処理内容が、「機器調整処理」であるか否かを判断する。
【００６４】
ステップＳ１１０の判断の結果、ステップＳ１０５で判定した処理内容が、「機器調整処理」であると判定した場合には（ステップＳ１１０／ＹＥＳ）、ＣＰＵ１１１は処理をステップＳ１１１に進める。
【００６５】
ステップＳ１１１では、情報処理装置１１０のＣＰＵ１１１は、「機器調整処理」を行う。「機器調整処理」では、情報処理装置１１０に接続された外部機器コントローラ１７０を通じてステージ１８０等の外部機器の調整を行う処理である。そして、ステップＳ１１１の処理が終了すると、ステップＳ１０４に戻り、入力装置１２０から次の入力指示があるまで待機する。
【００６６】
一方、ステップＳ１１０の判断の結果、ステップＳ１０５で判定した処理内容が、「機器調整画面表示処理」ではないと判断した場合には（ステップＳ１１０／ＮＯ）、ＣＰＵ１１１は、処理をステップＳ１１２に進める。
【００６７】
ステップＳ１１２では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ１０５で判定した処理内容が、「システム設定処理」であるか否かを判断する。
【００６８】
ステップＳ１１２の判断の結果、ステップＳ１０５で判定した処理内容が、「システム設定処理」であると判断した場合には（ステップＳ１１２／ＹＥＳ）、ＣＰＵ１１１は処理をステップＳ１１３に進める。
【００６９】
ステップＳ１１３では、情報処理装置１１０のＣＰＵ１１１は、「システム設定処理」を行う。「システム設定処理」では、本プログラムの各種設定を行う処理である。そして、ステップＳ１１３の処理が終了すると、ステップＳ１０４に戻り、入力装置１２０から次の入力指示があるまで待機する。
【００７０】
一方、ステップＳ１１２の判断の結果、ステップＳ１０５で判定した処理内容が、「システム設定処理」ではないと判断した場合には（ステップＳ１１２／ＮＯ）、ＣＰＵ１１１は、処理をステップＳ１１４に進める。
【００７１】
ステップＳ１１４では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ１０５で判定した処理内容が、「終了処理」であるか否かを判断する。
【００７２】
ステップＳ１１４の判断の結果、ステップＳ１０５で判定した処理内容が、「終了処理」であると判断した場合には（ステップＳ１１４／ＹＥＳ）、本プログラムによる処理を終了する。
【００７３】
一方、ステップＳ１１４の判断の結果、ステップＳ１０６で判定した処理内容が、「終了処理」ではないと判断した場合には（ステップＳ１１４／ＮＯ）、処理をステップＳ１０４に進め、入力装置１２０から次の入力指示があるまで待機する。
【００７４】
次に、図８を参照して図６のステップＳ１０７の「プロジェクト構築処理」の詳細について説明する。図８は、情報処理装置１１０のＣＰＵ１１１によって行われる、「プロジェクト構築処理」の処理手順の一例を示すフローチャートである。本処理をＣＰＵ１１１に実行させるためのプログラムは外部メモリ１１６に記憶されており、本処理の実行要求を入力装置１２０より受け付けた場合に、ＣＰＵ１１１は、当該プログラムをＲＡＭ１１２にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。
【００７５】
まず、ステップＳ２０１において、情報処理装置１１０のＣＰＵ１１１は、例えば、入力装置１２０からの入力指示に基づいて、図９に示す画像処理システムの開発を行うための画像処理プロジェクト開発画面９００をディスプレイ装置１３０に表示する処理を行う。
【００７６】
図９は、画像処理プロジェクト開発画面９００の一例を示す構成図である。図９に示す画像処理プロジェクト開発画面９００には、利用可能な処理ユニット（即ち、「カメラ取込」等の画像処理に係る各モジュール）を表示する処理モジュール一覧９０１と、画像処理の実行順序（即ち、各モジュールの実行順序）をフローチャート形式で描画する処理フロー描画領域９０２と、各画像処理（即ち、各モジュールの処理）で実行した結果画像を表示する結果画像表示領域９０３と、ツールバー９０４や、画像処理プログラムの開発を終了する際に操作される不図示の閉じるボタン等も設けられている。また、図１１に示す画像処理プロジェクト開発画面９００には、マスター画像の設定を行うマスター設定ボタン９０５や、処理フロー描画領域９０２に表示された処理フローのうち、ユーザから選択されたモジュールの処理結果を表示する処理結果表示領域９０６、処理モジュール一覧９０１と処理結果表示領域９０６とを切り替えるための切り替えタブ９０７が設けられている。図９の画像処理プロジェクト開発画面９００の例では、分岐処理によるフローを制御するモジュールも含んでいる。ここで、結果画像表示領域９０３は、処理フロー描画領域９０２の各モジュールの結果画像である。これは、プレビュー画像や縮小画像であってもよい。条件分岐処理の場合には、条件を満たしたノード（枝）の画像を表示し、条件を満たさないノードについては処理が行われないのでブラックアウトした画像を表示する。このとき、すべての処理フローの結果が結果画像表示領域９０３に収まらない場合は、水平・垂直方向のスクロールバーを用いて表示領域を変更することとしてもよい。以上が、画像処理プロジェクト開発画面の構成の一例の説明である。
【００７７】
図８の説明に戻る。ステップＳ２０１の処理が終了すると、ＣＰＵ１１１は処理をステップＳ２０２に進める。ステップＳ２０２では、情報処理装置１１０のＣＰＵ１１１は、入力装置１２０からの入力指示に基づいて、ステップＳ２０１で表示された画像処理プロジェクト開発画面９００を用いて新規に画像処理プログラムを開発するか否かを判断する。
【００７８】
ステップＳ２０２の判断の結果、新規に画像処理プログラムを開発しない場合、即ち既に作成している画像処理フローの編集を行う場合には（ステップＳ２０２／ＮＯ）、ステップＳ２０３に進む。
【００７９】
ステップＳ２０３に進むと、情報処理装置１１０のＣＰＵ１１１は、外部メモリ１１６に保存されているプロジェクトファイルテーブル４１５を読み出して、これをＲＡＭ１１２に記憶する。
【００８０】
ステップＳ２０３の処理が終了後、或いは、ステップＳ２０２で新規に画像処理プログラムを開発すると判断された場合には（ステップＳ２０２／ＹＥＳ）、ＣＰＵ１１１は処理をステップＳ２０４に進める。
【００８１】
ステップＳ２０４では、情報処理装置１１０のＣＰＵ１１１は、入力装置１２０からの入力指示（具体的には、ステップＳ２０１で表示された画像処理プロジェクト開発画面９００に対する入力指示）があったか否かを判断する。
【００８２】
ステップＳ２０４の判断の結果、入力装置１２０からの入力指示を受け付けていないと判断した場合には（ステップＳ２０４／ＮＯ）、入力装置１２０からの入力指示があるまで、ステップＳ２０４で待機する。一方、ステップＳ２０４の判断の結果、入力装置１２０からの入力指示を受け付けた（入力あり）と判断した場合には（ステップＳ２０４／ＹＥＳ）、処理をステップＳ２０５に進める。
【００８３】
ステップＳ２０５に進むと、情報処理装置１１０のＣＰＵ１１１は、入力装置１２０から受け付けた入力指示に基づいて、選択された処理内容の判定処理を行う。このステップＳ２０５で判定される処理内容としては、本例では、「新規追加処理」、「変更処理」、「移動処理」、「挿入処理」、「削除処理」、「実行処理」、「保存処理」である。なお、ここで挙げた処理内容は一例を示したものであり、その他の処理内容をステップＳ２０５で判定することも勿論可能である。
【００８４】
ここで、ステップＳ２０５の判定処理では、ＣＰＵ１１１は、例えば、図９に示す画像処理プロジェクト開発画面９００において以下の入力がなされることによって、上述した各処理を判定するようにしている。
【００８５】
まず、図９に示す処理モジュール一覧９０１からいずれかの処理アイテム（モジュール）が選択され、処理フロー描画領域９０２の処理フローシーケンスの最後尾にドラッグ＆ドロップされると、情報処理装置１１０のＣＰＵ１１１は、モジュールの「新規追加処理」のイベントであると判定する。また、処理フロー描画領域９０２に既に登録されているモジュールがユーザからの操作によって指定され、後述する処理条件設定領域１２０１が表示されると、情報処理装置１１０のＣＰＵ１１１は、モジュールのパラメータの「変更処理」のイベントであると判定する。また、処理フロー描画領域９０２に既に登録されているモジュールが他のモジュールの間にドラッグ＆ドロップされると、情報処理装置１１０のＣＰＵ１１１は、モジュールの「移動処理」のイベントであると判定する。また、図９に示す処理モジュール一覧９０１からモジュールが選択され、処理フロー描画領域９０２に既に登録されているモジュールの間にドラッグ＆ドロップされると、情報処理装置１１０のＣＰＵ１１１は、モジュールの「挿入処理」のイベントであると判定する。また、処理フロー描画領域９０２に既に登録されているモジュールを選択し、削除キーが押下される、若しくはあるモジュールを指定して不図示のポップアップメニューを表示させ、削除メニュー項目が選択（クリック指示）されると、情報処理装置１１０のＣＰＵ１１１は、モジュールの「削除処理」のイベントであると判断する。また、不図示の「実行」が選択されると、情報処理装置１１０のＣＰＵ１１１は、処理フロー描画領域９０２に設定された処理フローの「実行処理」のイベントであると判定する。また、ツールバー９０４の「保存」が選択されると、情報処理装置１１０のＣＰＵ１１１は、処理フロー描画領域９０２に設定された処理フローの「保存処理」のイベントであると判定する。
【００８６】
なお、本実施形態ではこのようにして処理内容の判定を行うようにしているが、これは一例であり、例えばツールバー９０４に「新規追加」などの処理内容に応じたアイコン等の機能を設けてもよく、上述した形態に限定されるものではない。
【００８７】
続いて、ステップＳ２０６において、情報処理装置１１０のＣＰＵ１１１は、ステップＳ２０５で判定した処理内容が、モジュールの「新規追加処理」であるか否かを判断する。ステップＳ２０６の判断処理で、ステップＳ２０５で判定した処理内容が、モジュールの「新規追加処理」であると判断した場合には（ステップＳ２０６／ＹＥＳ）、ＣＰＵ１１１は処理をステップＳ２０７に進める。
【００８８】
ステップＳ２０７では、情報処理装置１１０のＣＰＵ１１１は、選択されたモジュールの「新規追加処理」を行う。そして、ステップＳ２０７の処理が終了すると、ステップＳ２０４に戻り、入力装置１２０から次の入力指示があるまで待機する。
【００８９】
一方、ステップＳ２０６の判断処理、ステップＳ２０５で判定した処理内容が、モジュールの「新規追加処理」ではないと判断した場合には（ステップＳ２０６／ＮＯ）、ＣＰＵ１１１は処理をステップＳ２０８に進める。
【００９０】
ステップＳ２０８では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ２０５で判定した処理内容が、モジュールのパラメータの「変更処理」であるか否かを判断する。ステップＳ２０８の判断処理で、ステップＳ２０５で判定した処理内容が、モジュールのパラメータの「変更処理」であると判断した場合には（ステップＳ２０８／ＹＥＳ）、処理をステップＳ２０９に進める。
【００９１】
ステップＳ２０９では、情報処理装置１１０のＣＰＵ１１１は、選択されたモジュールのパラメータの「変更処理」を行う。このステップＳ２０９の変更処理の詳細については、図１０を用いて後述する。そして、ステップＳ２０９の処理が終了すると、ステップＳ２０４に戻り、入力装置１２０から次の入力指示があるまで待機する。
【００９２】
一方、ステップＳ２０８の判断処理で、ステップＳ２０５で判定した処理内容が、モジュールのパラメータの「変更処理」ではないと判断した場合には（ステップＳ２０８／ＮＯ）、ＣＰＵ１１１はステップＳ２１０に進める。ステップＳ２１０では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ２０５で判定した処理内容が、モジュールの「移動処理」であるか否かを判断する。
【００９３】
ステップＳ２１０の判断処理で、ステップＳ２０５で判定した処理内容が、モジュールの「移動処理」であると判断した場合には（ステップＳ２１０／ＹＥＳ）、ステップＳ２１１に進む。
【００９４】
ステップＳ２１１では、情報処理装置１１０のＣＰＵ１１１は、選択されたモジュールの「移動処理」を行う。そして、ステップＳ２１１の処理が終了すると、ステップＳ２０４に戻り、入力装置１２０から次の入力指示があるまで待機する。
【００９５】
一方、ステップＳ２１０の判断処理で、ステップＳ２０５で判定した処理内容が、モジュールの「移動処理」ではないと判断した場合には（ステップＳ２１０／ＮＯ）、ステップＳ２１２に進む。ステップＳ２１２に進むと、情報処理装置１１０のＣＰＵ１１１は、ステップＳ２０５で判定した処理内容が、モジュールの「挿入処理」であるか否かを判断する。
【００９６】
ステップＳ２１２の判断処理で、ステップＳ２０５で判定した処理内容が、モジュールの「挿入処理」であると判断した場合には（ステップＳ２１２／ＹＥＳ）、処理をステップＳ２１３に進める。
【００９７】
ステップＳ２１３では、情報処理装置１１０のＣＰＵ１１１は、選択されたモジュールの「挿入処理」を行う。そして、ステップＳ２１３の処理が終了すると、ステップＳ２０４に戻り、入力装置１２０から次の入力指示があるまで待機する。
【００９８】
一方、ステップＳ２１２の判断処理で、ステップＳ２０５で判定した処理内容が、モジュールの「挿入処理」ではないと判断した場合には（ステップＳ２１２／ＮＯ）、ＣＰＵ１１１は、処理をステップＳ２１４に進める。
【００９９】
ステップＳ２１４では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ２０５で判定した処理内容が、モジュールの「削除処理」であるか否かを判断する。ステップＳ２１４の判断処理で、ステップＳ２０５で判定した処理内容が、モジュールの「削除処理」であると判断した場合には（ステップＳ２１４／ＹＥＳ）、処理をステップＳ２１５に進める。
【０１００】
ステップＳ２１５では、情報処理装置１１０のＣＰＵ１１１は、選択されたモジュールの「削除処理」を行う。そして、ステップＳ２１５の処理が終了すると、ステップＳ２０４に戻り、入力装置１２０から次の入力指示があるまで待機する。
【０１０１】
一方、ステップＳ２１４の判断処理で、ステップＳ２０５で判定した処理内容が、モジュールの「挿入処理」ではないと判断した場合には（ステップＳ２１４／ＮＯ）、ＣＰＵ１１１は、処理をステップＳ２１６に進める。
【０１０２】
ステップＳ２１６では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ２０５で判定した処理内容が、処理フローの「実行処理」であるか否かを判断する。ステップＳ２１６の判断処理で、ステップＳ２０５で判定した処理内容が、処理フローの「実行処理」であると判断した場合には（ステップＳ２１６／ＹＥＳ）、ＣＰＵ１１１は、処理をステップＳ２１７に進める。
【０１０３】
ステップＳ２１７では、情報処理装置１１０のＣＰＵ１１１は、処理フロー描画領域９０２に設定された処理フローの「実行処理」を行う。そして、ステップＳ２１７の処理が終了すると、ステップＳ２０４に戻り、入力装置１２０から次の入力指示があるまで待機する。
【０１０４】
一方、ステップＳ２１６の判断処理で、ステップＳ２０５で判定した処理内容が、処理フローの「実行処理」ではないと判断した場合には（ステップＳ２１６／ＮＯ）、ＣＰＵ１１１は、処理をステップＳ２１８に進める。
【０１０５】
ステップＳ２１８では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ２０５で判定した処理内容が、処理フローの「保存処理」であるか否かを判断する。ステップＳ２１８の判断処理で、ステップＳ２０５で判定した処理内容が、処理フローの「保存処理」であると判断した場合には（ステップＳ２１８／ＹＥＳ）、ＣＰＵ１１１は、処理をステップＳ２１９に進める。
【０１０６】
ステップＳ２１９では、情報処理装置１１０のＣＰＵ１１１は、画像処理プロジェクト開発画面９００で設定された内容の「保存処理」を行う。そして、ステップＳ２１９の処理が終了すると、画像処理プロジェクト開発画面９００を終了する。
【０１０７】
一方、ステップＳ２１８の判断処理で、ステップＳ２０５で判定した処理内容が、処理フローの「保存処理」でないと判断した場合には（ステップＳ２１８／ＮＯ）、ステップＳ２０４に戻り、入力装置１２０から入力指示があるまで待機する。
【０１０８】
次に、図１０を参照して、図８のステップＳ２０９に示す変更処理の詳細な処理について説明する。図１０は、図８のステップＳ２０９における「変更処理」の詳細な手順の一例を示すフローチャートである。本処理をＣＰＵ１１１に実行させるためのプログラムは外部メモリ１１６に記憶されており、本処理の実行要求を入力装置１２０より受け付けた場合に、ＣＰＵ１１１は、当該プログラムをＲＡＭ１１２にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。
【０１０９】
図１３のステップＳ３０１において、情報処理装置１１０のＣＰＵ１１１は、既に処理フローとして登録されているモジュールを特定する処理を行う（画像処理アイテム選択受付手段）。開発者（ユーザ）は、図９に示す画像処理プロジェクト開発画面９００中の処理フロー描画領域９０２に表示されているモジュールに対してクリック指示を行うことで処理対処とするモジュールの指定入力を行うことになるので、ＣＰＵ１１１は、その指定入力に従ってモジュールを特定することになる。
【０１１０】
ステップＳ３０２では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ３０１で特定したモジュールの処理条件設定領域１２０１をディスプレイ装置１３０に表示する。処理条件設定領域１２０１は、例えば図１２のオフセット設定画面１２００に備えられた処理条件設定領域１２０１のように入力ボタン１２０２、オフセットボタン１２０３、座標ボタン１２０４、処理領域ボタン１２０５、処理条件設定ボタン１２０６等から構成される。
【０１１１】
その後、処理をステップＳ３０３に進め、ステップＳ３０２で表示した処理条件設定領域１２０１で、入力装置１２０からの入力があったか否かを判断する。ステップＳ３０３の判断処理で、ユーザからの入力がなかったと判断した場合（ステップＳ３０３／ＮＯ）には、本変更処理を終了する。一方、ステップＳ３０３でユーザからの入力があったと判断した場合（ステップＳ３０３／ＹＥＳ）、ＣＰＵ１１１は、処理をステップＳ３０４に進める。
【０１１２】
ステップＳ３０４では、情報処理装置１１０のＣＰＵ１１１は、画像処理プロジェクト開発画面９００中のマスター設定ボタン９０５が押下されたか否かを判定する。押下されたと判定した場合（ステップＳ３０４／ＹＥＳ）、ＣＰＵ１１１は、処理をステップＳ３０５に進める。
【０１１３】
ステップＳ３０５では、情報処理装置１１０のＣＰＵ１１１は、後述するステップＳ３０７の処理条件設定において画像の処理領域を決定する際の基準となる画像を登録する。不図示のマスター設定画面を表示し、マスター画像となる画像データを登録し、ＲＡＭ１１２に記憶しておく。マスター画像の登録をしておくことで、画像処理が実行された後に処理領域を調整する場合でも、基準となる画像データに対して処理領域の調整を行える。つまり、マスター画像以外の画像データを取り込んで画像処理を行うと、マスター画像とは異なる位置に検査対象１８１が撮像されている場合があり、当該異なる位置に撮像された画像を用いて処理領域の調整を行ってしまうと、適切な位置で画像処理がなされなくなる。よって、このように基準となるマスター画像を登録しておくことで、後述するステップＳ３０７における処理条件設定を正確に行える。そして、ステップＳ３０５の処理が終了すると、処理をステップＳ３１６に進める。
【０１１４】
一方、ステップＳ３０４の判断処理で、マスター設定ボタン９０５が押下されたと判断できなかった場合には（ステップＳ３０４／ＮＯ）、処理をステップＳ３０６に進める。
【０１１５】
ステップＳ３０６では、情報処理装置１１０のＣＰＵ１１１は、処理条件設定ボタン１２０６が押下されたか否かを判定する。処理条件設定ボタン１２０６が押下されたと判定した場合には、処理をステップＳ３０７に進める。
【０１１６】
ステップＳ３０７では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ３０１において特定されたモジュールの処理条件を設定する。処理条件の設定では、従来と同様、ユーザからの手入力により処理領域の設定や各種パラメータの設定を行う。本実施例では、ステップＳ３０１において選択されたモジュールの処理領域を設定する。処理領域の設定は、ステップＳ３０５において登録されたマスター画像をＲＡＭ１１２から読み出し、表示させ、当該マスター画像上で矩形選択することによって、処理領域を決定してもよいし、他の方法でもよい。座標を直接入力することで、処理領域の設定を行ってもよい。また、画像に対する処理以外のパラメータ設定も行う。例えばパターンマッチングを行うモジュールの場合であれば、パターンマッチング元の画像の登録、分岐を行うモジュールであれば分岐の条件を登録する。処理条件の設定項目はこれらに限らないし、必要に応じて設定項目を変更してもよい。
【０１１７】
設定された処理条件は、モジュール設定テーブル４１９に登録される。ステップＳ３０７では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ３０１において特定されたモジュールに対応するモジュール設定テーブル４１９を読み出し、設定が必要な項目をディスプレイ装置１３０に表示する。また、設定された処理条件はモジュール設定テーブル４１９に記憶される。そして、ステップＳ３０７の処理が終了すると、処理をステップＳ３１６に進める。
【０１１８】
一方、ステップＳ３０６の判断処理で、処理条件設定ボタン１２０６が押下されたと判断できなかった場合には（ステップＳ３０６／ＮＯ）、処理をステップＳ３０８に進める。
【０１１９】
ステップＳ３０８では、情報処理装置１１０のＣＰＵ１１１は、入力ボタン１２０２が押下されたか否かを判定する。入力ボタン１２０２が押下されたと判定した場合には、処理をステップＳ３０９に進める。
【０１２０】
ステップＳ３０９では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ３０１において特定されたモジュールで処理を行う画像の出力元モジュールを設定する。通常であれば、処理フロー描画領域９０２において構築された処理フローの順に画像処理がなされるが、ステップＳ３０１において特定されたモジュールの直前のモジュールから出力される画像を利用せずに、他のモジュールから出力された画像を利用して画像処理を行いたい場合がある。そのために、このように画像の出力元であるモジュールを指定している。そして、ステップＳ３０９の処理が終了すると、処理をステップＳ３１６に進める。
【０１２１】
一方、ステップＳ３０８の判断処理で、入力ボタン１２０２が押下されたと判断できなかった場合には（ステップＳ３０８／ＮＯ）、処理をステップＳ３１０に進める。
【０１２２】
ステップＳ３１０では、情報処理装置１１０のＣＰＵ１１１は、オフセットボタン１２０３が押下されたか否かを判定する。オフセットボタン１２０３が押下されたと判定した場合には、処理をステップＳ３１１に進める。
【０１２３】
ステップＳ３１１では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ３０１において特定されたモジュールに対してオフセット設定処理を行う。このステップＳ３１１のオフセット設定処理の詳細については、図１１を用いて後述する。そして、ステップＳ３１１の処理が終了すると、処理をステップＳ３１６に進める。
【０１２４】
一方、ステップＳ３１０の判断処理で、オフセットボタン１２０３が押下されたと判断できなかった場合には（ステップＳ３１０／ＮＯ）、処理をステップＳ３１２に進める。
【０１２５】
ステップＳ３１２では、情報処理装置１１０のＣＰＵ１１１は、座標ボタン１２０４が押下されたか否かを判定する。座標ボタン１２０４が押下されたと判定した場合には、処理をステップＳ３１３に進める。
【０１２６】
ステップＳ３１３では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ３０１において特定されたモジュールに対して座標制御設定処理を行う。このステップＳ３１３の座標制御設定処理の詳細については、図１５を用いて後述する。そして、ステップＳ３１３の処理が終了すると、処理をステップＳ３１６に進める。
【０１２７】
一方、ステップＳ３１２の判断処理で、座標ボタン１２０４が押下されたと判断できなかった場合には（ステップＳ３１２／ＮＯ）、処理をステップＳ３１４に進める。
【０１２８】
ステップＳ３１４では、情報処理装置１１０のＣＰＵ１１１は、処理領域ボタン１２０５が押下されたか否かを判定する。処理領域ボタン１２０５が押下されたと判定した場合には、処理をステップＳ３１５に進める。
【０１２９】
ステップＳ３１５では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ３０１において特定されたモジュールに対して処理領域設定処理を行う。このステップＳ３１５の処理領域設定処理の詳細については、図１９を用いて後述する。そして、ステップＳ３１５の処理が終了すると、処理をステップＳ３１６に進める。
【０１３０】
一方、ステップＳ３１４の判断処理で、処理領域ボタン１２０５が押下されたと判断できなかった場合には（ステップＳ３１４／ＮＯ）、処理をステップＳ３１６に進める。
【０１３１】
ステップＳ３１６では、ＣＰＵ１１１は、処理フロー・入出力パラメータテーブルを更新し、ＲＡＭ１１２に記憶する。
【０１３２】
続いて、ステップＳ３１７では、ＣＰＵ１１１は、処理フロー・入出力パラメータテーブルの情報を元に、ソースコードに変換し、ソースコードテーブル４１３に記憶する。以上で、変更処理が終了する。
【０１３３】
次に、図１１を参照して、図１０のステップＳ３１１に示すオフセット設定処理の詳細な処理について説明する。図１１は、図１０のステップＳ３１１におけるオフセット設定処理の詳細な手順の一例を示すフローチャートである。本処理をＣＰＵ１１１に実行させるためのプログラムは外部メモリ１１６に記憶されており、本処理の実行要求を入力装置１２０より受け付けた場合に、ＣＰＵ１１１は、当該プログラムをＲＡＭ１１２にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。
【０１３４】
まずは、本実施例におけるオフセット処理の説明を行う。例えば、ステップＳ３０７において設定されたパターンマッチング箇所と、画像処理実行時のパターンマッチング箇所とを比較して、パターンマッチングした箇所が設定時から画像処理実行時で移動した分だけ、二値化の処理領域も移動したい場合がある。図１４は、ステップＳ３０７において処理条件の設定中であるマスター画像１４００と、画像処理実行後の処理結果画像１４１０である。処理条件設定中のマスター画像１４００において、パターンマッチング対象として設定された中心座標１４０１は「（Ｘ座標，Ｙ座標）＝（１７０，２００）」である。また、二値化の処理領域として設定した処理領域１４０２は「（左上Ｘ座標，左上Ｙ座標），（右下Ｘ座標，右下Ｙ座標）＝（９０，９０），（２５０，１２０）」である。しかし、これらの設定された座標に検査対象１８１が撮像されていることは少ない。あくまでマスター画像１４００を元にして処理領域の設定を行っているので、実際に撮像された場合に検査対象１８１が同じ位置に撮像されているとは限らない。つまり、パターンマッチングでマッチングした座標を基準に、二値化の処理領域を移動しないと、無駄な領域に対して二値化処理を行うこととなってしまう。
【０１３５】
よって、配置されたモジュールの処理領域を、当該モジュールよりも前に配置されたモジュールの処理結果に応じて移動させる必要が生じる。このように、前に配置されたモジュールの処理結果に応じて、処理領域を移動させる処理がオフセット処理である。本実施例では、図１４に示す通り、パターンマッチングされた中心座標１４０１が、画像処理実行時には処理条件設定時から（Ｘ座標，Ｙ座標）が（−５０，−５０）移動しているため、二値化を行う領域も（Ｘ座標，Ｙ座標）を（−５０，−５０）移動するオフセット処理が必要である。この場合に、移動すべき量を取得すべく、二値化モジュールが位置補正のモジュールを選択する処理について以下説明する。
【０１３６】
本実施例の前提として、「パターンマッチング」「位置補正（位置補正アイテム）」「二値化」という順で構築された処理フローを元に説明する。よって、図１３に示す処理フロー・入出力パラメータテーブルＴ５１０は、これら３つのモジュールを配置した場合の情報がそれぞれ格納されている。また、各モジュールのモジュール設定テーブルには、ステップＳ３０７の処理条件設定処理において設定されたパラメータが格納されている。
【０１３７】
具体的には、パターンマッチングモジュール設定テーブルＴ１３１０は、パターンマッチングモジュールのＩｎｄｅｘ５１１とモジュール５１３をＩｎｄｅｘ１３１１とモジュール１３１２にそれぞれ格納する。パターンマッチング元となる画像であって、ステップＳ３０７の処理条件設定処理において設定されたパターンマッチング元の画像を参照マッチング画像１３１３に格納する。これはパターンマッチング元の画像に対するＵＲＬでもよいし、バイナリデータとして格納してもよい。また、パターンマッチング元の画像の中心座標１４０１を設定中心座標１３１４に格納する。移動量１３１５は、画像処理実行時のパターンマッチングした領域の中心座標１４１１が、設定中心座標１３１４に格納された座標と比較して、移動した分の数値を格納する。
【０１３８】
位置補正モジュール設定テーブルＴ１３２０は、位置補正モジュールのＩｎｄｅｘ５１１とモジュール５１３をＩｎｄｅｘ１３２１とモジュール１３２２にそれぞれ格納する。ステップＳ３０７の処理条件設定処理において設定された位置補正の基準となるモジュールのＩｎｄｅｘ５１１を参照元モジュールＩｎｄｅｘ１３２３に格納する。本実施例の場合には、パターンマッチングのＩｎｄｅｘ５１１を格納するため、「１」が格納される。更に、参照元モジュールＩｎｄｅｘ１３２３に格納されたＩｎｄｅｘ５１１が示すモジュールの位置補正の参照元を位置補正参照元１３２４に格納する。この場合、移動量１３１５のＸ座標とＹ座標を参照する設定となっている。
【０１３９】
二値化モジュール設定テーブルＴ１３３０は、二値化モジュールのＩｎｄｅｘ５１１とモジュール５１３をＩｎｄｅｘ１３２１とモジュール１３２２にそれぞれ格納する。ステップＳ３０７の処理条件設定処理において設定された処理領域１４０２を設定処理領域１３３３に格納する。更に、オフセット設定がされた場合には、オフセット対象であるモジュールのＩｎｄｅｘ５１１をオフセットＩｎｄｅｘ１３３４（画像処理アイテム参照情報）に格納する。画像処理が実行された場合には、実処理領域１３３５に実際の処理領域１４１２の情報を格納する。以上の各モジュールのテーブル構成は一例であり、他の項目が含まれてもよい。
【０１４０】
まず、ステップＳ４０１では、情報処理装置１１０のＣＰＵ１１１は、処理フロー描画領域９０２に配置されたモジュールのうち、オフセットを行うための値を出力するモジュール（以下、オフセット設定モジュール）を抽出する。オフセット設定モジュールは、本実施例では「位置補正」モジュールであるが、これに限らない。「位置補正」モジュールは、図１２の処理フロー描画領域９０２に示す通りである。
【０１４１】
ステップＳ４０２では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ４０１においてオフセット設定モジュールが存在したか否かを判定する。本実施例では、ステップＳ４０１において、「位置補正」モジュールが存在したか否かを判定する。オフセット設定モジュールが存在した場合には、処理をステップＳ４０３に進める。一方、オフセット設定モジュールが存在しない場合には、オフセット設定処理を終了する。
【０１４２】
ステップＳ４０３では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ４０１において抽出されたオフセット設定モジュールをディスプレイ装置１３０に一覧表示する。具体的には、ステップＳ４０１において抽出されたオフセット設定モジュールを、図１２に示すようにオフセット設定モジュール一覧１２０７として表示する。オフセット設定モジュールは一覧表示でなくともよく、選択できればよい。
【０１４３】
ステップＳ４０４では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ４０３において表示されたオフセット設定モジュールのうち、いずれかがユーザによって選択されたか否かを判定する。選択されたと判定された場合には、処理をステップＳ４０５に進める。一方、選択されなかった場合には、選択されるまでそのまま待機する（参照先選択受付手段）。
【０１４４】
ステップＳ４０５では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ４０４において選択されたオフセット設定モジュールをオフセット対象として設定する（参照先設定手段）。具体的には、例えば図１２に示すように処理フロー描画領域９０２に「パターンマッチング」「位置補正」「二値化」が配置されている場合、「二値化」モジュールが選択された状態で、オフセットボタン１２０３の押下を受け付けると、オフセット設定モジュール一覧１２０７が表示される。本実施例では、オフセット設定モジュールとして「位置補正」モジュールが抽出されるので、この「位置補正」モジュールの選択を受け付けると、「二値化」モジュールのオフセット対象として「位置補正」モジュールが登録される。オフセットは、図１３に示す各モジュールのモジュール設定テーブルのうち、「二値化」モジュールの二値化モジュール設定テーブルＴ１３３０のオフセットＩｎｄｅｘ１３３４に、「位置補正」モジュールのＩｎｄｅｘ１３２１を格納することにより設定を行う。これにより複雑な設定をすることなく、オフセット設定モジュールを選択するだけで、容易にオフセット処理を行うフローを構築することができる。
【０１４５】
ステップＳ４０６では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ４０５において設定されたオフセットの設定を確認すべく、処理フロー描画領域９０２に配置された一連のモジュールを実行する（画像処理実行手段）。これにより、正しく動作するかどうかをユーザに確認させることができる。本実施例においては、ステップＳ４０６において処理の実行がなされると、まず図１３に示す処理フロー・入出力パラメータテーブルＴ５１０を参照する。図１３に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「１」には「パターンマッチング」モジュールが格納されているので、パターンマッチングモジュール設定テーブルＴ１３１０を参照して、パターンマッチング処理を行う。入力画像のうち、参照マッチング画像１３１３と一致する領域があるかどうかを検査し、あった場合にはその領域の中心座標を取得する。当該取得した中心座標と設定中心座標１３１４との差を移動量１３１５に格納する。
【０１４６】
続いて、図１３に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「２」には「位置補正」モジュールが格納されているので、位置補正モジュール設定テーブルＴ１３２０を参照して、位置補正処理を行う。位置補正モジュールでは、参照元モジュールＩｎｄｅｘ１３２３に格納されたＩｎｄｅｘが示すモジュールの位置補正参照元１３２４を取得して、出力する。この場合、Ｉｎｄｅｘの「１」が示すのは「パターンマッチング」モジュールであるので、「パターンマッチング」モジュールの「移動量の（Ｘ座標，Ｙ座標）」を取得して出力する。つまり、移動量１３１５の「（−５０，−５０）」を出力する。
【０１４７】
最後に、図１３に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「３」には「二値化」モジュールが格納されているので、二値化モジュール設定テーブルＴ１３３０を参照して、二値化処理を行う。「二値化」モジュールでは、オフセットの設定を行っているので、オフセットＩｎｄｅｘ１３３４に格納されたＩｎｄｅｘが示すモジュールから処理領域の移動量を取得する。つまり、Ｉｎｄｅｘの「２」が示すのは、「位置補正」モジュールであるので、「位置補正」モジュールが出力する値を受け取り、処理領域の移動量とする。「二値化」モジュールの設定処理領域１３３３が示す領域から、受け取った値の（−５０，−５０）だけ設定処理領域１３３３の（Ｘ座標，Ｙ座標）を移動して二値化の処理を行う。よって、処理領域１４１２の領域に対して二値化処理がなされる。
【０１４８】
以上の処理により、オフセット設定モジュール一覧を表示し、表示されたオフセット設定モジュールうち、いずれかの選択を受け付けるだけで、オフセット処理の設定が可能となる。従来であれば、「パターンマッチング」モジュール内においてオフセットの設定をユーザによる手入力で複雑なパラメータ入力を行う必要があった。しかし、以上の処理によりオフセット設定モジュールを選択するだけで、容易にオフセット処理の設定を行うことができる。
【０１４９】
次に、図１５を参照して、図１０のステップＳ３１３に示す座標制御設定処理の詳細な処理について説明する。図１５は、図１０のステップＳ３１３における座標制御設定処理の詳細な手順の一例を示すフローチャートである。本処理をＣＰＵ１１１に実行させるためのプログラムは外部メモリ１１６に記憶されており、本処理の実行要求を入力装置１２０より受け付けた場合に、ＣＰＵ１１１は、当該プログラムをＲＡＭ１１２にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。
【０１５０】
まずは、本実施例における座標制御設定処理の説明を行う。例えば、パターンマッチングにより検出した領域すべてに対して二値化処理を行いたい場合がある。パターンマッチングで検出する領域は１箇所とは限らず、複数存在する場合がある。図１８に示すようにパターンマッチングで検出した領域が１２個あった場合に、これらすべての領域に対して二値化処理を行う際に、二値化を行う領域を移動させて、１２個すべてに対して二値化処理を行う。つまり、座標制御の設定を行い、「１」から「１２」までの領域に対して１つずつ順番に二値化処理を行っていく。この際に座標制御設定処理を行う。以下、このような座標制御設定処理について説明する。
【０１５１】
本実施例の前提として、図１６の処理フロー描画領域９０２に示す「パターンマッチング」「座標制御（座標制御アイテム）」「二値化」「分岐」という順で構築された処理フローを元に説明する。よって、図１７に示す処理フロー・入出力パラメータテーブルＴ５１０は、これら４つのモジュールを配置した場合の情報がそれぞれ格納されている。また、各モジュールのモジュール設定テーブルには、ステップＳ３０７の処理条件設定処理において設定されたパラメータが格納されている。
【０１５２】
具体的には、パターンマッチングモジュール設定テーブルＴ１７１０は、パターンマッチングモジュールのＩｎｄｅｘ５１１とモジュール５１３をＩｎｄｅｘ１７１１とモジュール１７１２にそれぞれ格納する。パターンマッチング元となる画像であって、ステップＳ３０７の処理条件設定処理において設定されたパターンマッチング元の画像を参照マッチング画像１７１３に格納する。これはパターンマッチング元の画像に対するＵＲＬでもよいし、バイナリデータとして格納してもよい。また、パターンマッチングにより検出した領域の中心座標を中心座標１７１４に格納する。中心座標１７１４に格納される中心座標は、複数あってもよい。
【０１５３】
座標制御モジュール設定テーブルＴ１７２０は、座標制御モジュールのＩｎｄｅｘ５１１とモジュール５１３をＩｎｄｅｘ１７２１とモジュール１７２２にそれぞれ格納する。ステップＳ３０７の処理条件設定処理において設定された座標制御の基準となるモジュールのＩｎｄｅｘ５１１を参照元モジュールＩｎｄｅｘ１７２３に格納する。本実施例の場合には、パターンマッチングのＩｎｄｅｘ５１１を格納するため、「１」が格納される。更に、参照元モジュールＩｎｄｅｘ１７２３に格納されたＩｎｄｅｘ５１１が示すモジュールの座標制御の参照元を座標制御参照元１７２４に格納する。この場合、中心座標１７１４のＸ座標とＹ座標を参照する設定となっている。
【０１５４】
二値化モジュール設定テーブルＴ１７３０は、二値化モジュールのＩｎｄｅｘ５１１とモジュール５１３をＩｎｄｅｘ１７３１とモジュール１７３２にそれぞれ格納する。ステップＳ３０７の処理条件設定処理において設定された処理領域の大きさを設定処理領域１７３３に格納する。本実施例では、設定処理領域１７３３には「（左上Ｘ座標，左上Ｙ座標），（右下Ｘ座標，右下Ｙ座標）＝（０，０）（７５，７５）」が格納されている。つまり、処理領域の大きさは「矩形で縦７５  横７５」の大きさを示している。中心座標１７１４の箇所において、この設定処理領域１７３３で設定された処理領域の大きさ分だけ二値化を行う。更に、後述するステップＳ５０５において座標制御設定がされた場合には、座標制御を行うモジュール（以下、座標制御モジュール）のＩｎｄｅｘ５１１を座標制御Ｉｎｄｅｘ１７３４（画像処理アイテム参照情報）に格納する。
【０１５５】
分岐モジュール設定テーブルＴ１７４０は、分岐モジュールのＩｎｄｅｘ５１１とモジュール５１３をＩｎｄｅｘ１７４１とモジュール１７４２にそれぞれ格納する。ステップＳ３０７の処理条件設定処理において設定された分岐の終了条件を分岐終了条件１７４３に格納し、分岐終了条件１７４３を満たす場合の次ステップを真の場合のＩｎｄｅｘ１７４４に格納し、分岐終了条件１７４３を満たさない場合の次ステップを偽の場合のＩｎｄｅｘ１７４５に格納する。以上の各モジュールのテーブル構成は一例であり、他の項目が含まれてもよい。
【０１５６】
ステップＳ５０１では、情報処理装置１１０のＣＰＵ１１１は、処理フロー描画領域９０２に配置されたモジュールのうち、座標制御モジュールを抽出する。座標制御モジュールは、本実施例では「座標制御」モジュールであるが、これに限らない。「座標制御」モジュールは、図１６の処理フロー描画領域９０２に示す通りである。
【０１５７】
ステップＳ５０２では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ５０１において座標制御モジュールが存在したか否かを判定する。本実施例では、ステップＳ５０１において、「座標制御」モジュールが存在したか否かを判定する。座標制御モジュールが存在した場合には、処理をステップＳ５０３に進める。一方、座標制御モジュールが存在しない場合には、座標制御設定処理を終了する。
【０１５８】
ステップＳ５０３では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ５０１において抽出された座標制御モジュールをディスプレイ装置１３０に一覧表示する。具体的には、ステップＳ５０１において抽出された座標制御モジュールを、図１６に示すように座標制御設定モジュール一覧１６０１として表示する。座標制御モジュールは一覧表示でなくともよく、選択できればよい。
【０１５９】
ステップＳ５０４では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ５０３において表示された座標制御モジュールのうち、いずれかがユーザによって選択されたか否かを判定する。選択されたと判定された場合には、処理をステップＳ５０５に進める。一方、選択されなかった場合には、選択されるまでそのまま待機する（参照先選択受付手段）。
【０１６０】
ステップＳ５０５では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ５０４において選択された座標制御モジュールを座標制御対象として設定する（参照先設定手段）。具体的には、例えば図１６に示すように処理フロー描画領域９０２に「パターンマッチング」「座標制御」「二値化」「分岐（ＹＥＳ／ＳＴＯＰへ，ＮＯ／座標制御へ）」が配置されている場合、「二値化」モジュールが選択された状態で、座標ボタン１２０４の押下を受け付けると、座標制御設定モジュール一覧１６０１が表示される。本実施例では、座標制御設定モジュールとして「座標制御」モジュールが抽出されるので、この「座標制御」モジュールの選択を受け付けると、「二値化」モジュールの座標制御対象として「座標制御」モジュールが登録される。座標制御設定は、図１７に示す各モジュールのモジュール設定テーブルのうち、「二値化」モジュールの二値化モジュール設定テーブルＴ１７３０の座標制御Ｉｎｄｅｘ１７３４に、「座標制御」モジュールのＩｎｄｅｘ１７２１を格納することにより設定を行う。これにより複雑な設定をすることなく、座標制御設定モジュールを選択するだけで、容易に座標制御処理を行うフローを構築することができる。
【０１６１】
ステップＳ５０６では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ５０５において設定された座標制御の設定を確認すべく、処理フロー描画領域９０２に配置された一連のモジュールを実行する（画像処理実行手段）。これにより、正しく動作するかどうかをユーザに確認させることができる。本実施例においては、ステップＳ５０６において処理の実行がなされると、まず図１７に示す処理フロー・入出力パラメータテーブルＴ５１０を参照する。図１７に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「１」には「パターンマッチング」モジュールが格納されているので、パターンマッチングモジュール設定テーブルＴ１７１０を参照して、パターンマッチング処理を行う。入力画像のうち、参照マッチング画像１７１３と一致する領域があるかどうかを検査し、あった場合にはその領域の中心座標を取得する。当該取得した中心座標を中心座標１７１４に格納する。中心座標を複数取得した場合には、中心座標１７１４に取得した分だけ格納する。
【０１６２】
続いて、図１７に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「２」には「座標制御」モジュールが格納されているので、座標制御モジュール設定テーブルＴ１７２０を参照して、座標制御処理を行う。座標制御モジュールでは、参照元モジュールＩｎｄｅｘ１７２３に格納されたＩｎｄｅｘが示すモジュールの座標制御参照元１７２４を取得して、出力する。この場合、Ｉｎｄｅｘの「１」が示すのは「パターンマッチング」モジュールであるので、「パターンマッチング」モジュールの「中心座標の（Ｘ座標，Ｙ座標）」を１つ取得して出力する。つまり、中心座標１７１４に格納された中心座標のうち１つだけを取得して出力する。例えば、先頭に格納されている「（５０，５０）」を出力する。
【０１６３】
次に、図１７に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「３」には「二値化」モジュールが格納されているので、二値化モジュール設定テーブルＴ１７３０を参照して、二値化処理を行う。「二値化」モジュールでは、座標制御の設定を行っているので、座標制御Ｉｎｄｅｘ１７３４に格納されたＩｎｄｅｘが示すモジュールから二値化を行う領域の中心座標を取得する。つまり、Ｉｎｄｅｘの「２」が示すのは、「座標制御」モジュールであるので、「座標制御」モジュールが出力する値（本実施例では（５０，５０））を受け取り、処理領域の中心座標とする。そして、受け取った中心座標を中心として、「二値化」モジュールの設定処理領域１７３３が示す範囲に対して二値化の処理を行う。「（Ｘ座標，Ｙ座標）＝（５０，５０）」を中心座標とする領域で、「矩形で縦７５  横７５」の大きさで二値化する。具体的には、処理領域１８０１の領域に対して二値化処理がなされる。
【０１６４】
次に、図１７に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「４」には「分岐」モジュールが格納されているので、分岐モジュール設定テーブルＴ１７４０を参照して、分岐処理を行う。「分岐」モジュールでは、分岐終了条件１７４３に格納された終了条件を参照し、終了条件に合致しているか否かを判定する。終了条件に合致している場合には、真の場合のＩｎｄｅｘ１７４４を参照して処理を進め、終了条件に合致していない場合には、偽の場合のＩｎｄｅｘ１７４５を参照して処理を進める。尚、「ＮＵＬＬ」が格納されていた場合には処理を終了する。本実施例では、分岐終了条件１７４３は「パターンマッチングの検出個数がすべて終了」であるので、「パターンマッチングの検出個数がすべて終了」した場合には処理を終了し、「パターンマッチングの検出個数がすべて終了」していない場合には、「座標制御」モジュールに処理を戻す。つまり、本実施例では、図１８に示す通り、パターンマッチングで検出された個数は１２個である。この１２個すべての中心座標を中心として、「二値化」モジュールで設定された大きさに二値化するまで処理を継続する。処理する順番は問わない。「座標制御」モジュールは未処理の中心座標１７１４を取得し、出力する。
【０１６５】
以上の処理により、座標制御モジュール一覧を表示し、表示された座標制御モジュールのうち、いずれかの選択を受け付けるだけで、座標制御処理の設定が可能となる。
【０１６６】
次に、図１９を参照して、図１０のステップＳ３１５に示す処理領域設定処理の詳細な処理について説明する。図１９は、図１０のステップＳ３１５における処理領域設定処理の詳細な手順の一例を示すフローチャートである。本処理をＣＰＵ１１１に実行させるためのプログラムは外部メモリ１１６に記憶されており、本処理の実行要求を入力装置１２０より受け付けた場合に、ＣＰＵ１１１は、当該プログラムをＲＡＭ１１２にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。
【０１６７】
まずは、本実施例における処理領域設定処理の説明を行う。例えば、複数のモジュールで処理する領域（パラメータ）をすべて同一の領域としたい場合がある。例えば、「二値化」「輝度反転」という２つのモジュールから構築されていた場合に、「二値化」モジュールで設定した処理領域と同じ処理領域で輝度反転を行いたいことがある。図２２は、同一の領域２２０１に二値化と輝度反転を行った処理結果画像である。このように、同じ領域に対して複数のモジュールが処理を行う場合があるが、各モジュールの処理領域の設定を行う場合には、従来ユーザが処理領域の座標値を各モジュールに対して一つ一つ入力していく必要があった。前述した「二値化」「輝度反転」では、「二値化」モジュールに処理領域Ａの座標値を入力し、その後同じ処理領域Ａの座標値を「輝度反転」モジュールに入力する。しかしながら、これでは誤入力を招きやすく、モジュールが多ければ多いほどユーザによる負荷が非常に高い。処理領域を変更する場合には、同じ処理領域を設定していたモジュールを探し、一つ一つ修正する必要がある。よって、後に配置された「輝度反転」モジュールの処理領域を設定する場合には、前に配置された「二値化」モジュールを選択するだけで、「二値化」モジュールで設定された処理領域を元に輝度反転を行う。これにより、「二値化」モジュールの処理領域を変更するだけで、「二値化」モジュールの処理領域を利用する設定がなされたモジュールすべての処理領域が変更でき、ユーザの負荷を大幅に軽減することができる。以下、このような処理領域設定処理について説明する。
【０１６８】
本実施例の前提として、図２０の処理フロー描画領域９０２に示す「二値化」「輝度反転」という順で構築された処理フローを元に説明する。よって、図２１に示す処理フロー・入出力パラメータテーブルＴ５１０は、これら２つのモジュールを配置した場合の情報がそれぞれ格納されている。また、各モジュールのモジュール設定テーブルには、ステップＳ３０７の処理条件設定処理において設定されたパラメータが格納されている。
【０１６９】
具体的には、二値化モジュール設定テーブルＴ２１２０は、二値化モジュールのＩｎｄｅｘ５１１とモジュール５１３をＩｎｄｅｘ２１２１とモジュール２１２２にそれぞれ格納する。ステップＳ３０７の処理条件設定処理において設定された処理領域の大きさを設定処理領域２１２３に格納する。本実施例では、設定処理領域２１２３には「（左上Ｘ座標，左上Ｙ座標），（右下Ｘ座標，右下Ｙ座標）＝（５０，２００）（４５０，２５０）」が格納されている。
【０１７０】
輝度反転モジュール設定テーブルＴ２１３０は、輝度反転モジュールのＩｎｄｅｘ５１１とモジュール５１３をＩｎｄｅｘ２１３１とモジュール２１３２にそれぞれ格納する。後述するステップＳ６０５において処理領域の引継設定（参照設定）がなされた場合には、処理領域の引き継ぎ元（参照元）であるモジュール（以下、処理領域設定モジュール）のＩｎｄｅｘ５１１を処理領域引継Ｉｎｄｅｘ２１３３に格納する。
【０１７１】
ステップＳ６０１では、情報処理装置１１０のＣＰＵ１１１は、処理フロー描画領域９０２に配置されたモジュールのうち、処理領域設定モジュールを抽出する。処理領域設定モジュールは、ステップＳ３０７において処理領域の設定がなされているモジュールを抽出する。本実施例においては、設定処理領域２１２３に処理領域の座標が格納された「二値化」モジュールが処理領域設定モジュールとして抽出される。また、抽出するモジュールはステップＳ３０１において特定されたモジュールよりも上流（上位）に配置されたモジュールを抽出する。具体的には、処理フロー・入出力パラメータテーブルＴ５１０の順序５１２を元に、特定されたモジュールよりも順序５１２に格納された値が小さいモジュールを抽出する。尚、本実施例においては上記の通り、特定されたモジュールよりも上流に配置されたモジュールを抽出するが、これに限らない。特定されたモジュールよりも下流に配置されたモジュールを抽出してもよい。
【０１７２】
ステップＳ６０２では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ６０１において処理領域設定モジュールが存在したか否かを判定する。本実施例では、ステップＳ６０１において、処理領域の設定がなされているモジュールが存在したか否かを判定する。処理領域の設定がなされているモジュールが存在した場合には、処理をステップＳ６０３に進める。一方、処理領域の設定がなされているモジュールが存在しない場合には、処理領域設定処理を終了する。
【０１７３】
ステップＳ６０３では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ６０１において抽出された処理領域設定モジュールをディスプレイ装置１３０に一覧表示する。具体的には、ステップＳ６０１において抽出された処理領域設定モジュールを、図２０に示すように処理領域設定モジュール一覧２００１として表示する。処理領域設定モジュールは一覧表示でなくともよく、選択できればよい。また、本実施例では処理領域設定モジュール自体の選択を受け付けるが、処理領域設定モジュールに設定されたパラメータ名等を表示することにより選択を受け付けてもよい。つまり、本実施例においては、後述するステップＳ６０５において、パラメータの参照先としてステップＳ６０４で選択された処理領域設定モジュールを参照先に設定するが、モジュール内のある特定のパラメータを参照先として設定してもよい。こうすることで、より細かな参照先設定が可能となる。
【０１７４】
ステップＳ６０４では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ６０３において表示された処理領域設定モジュールのうち、いずれかがユーザによって選択されたか否かを判定する。選択されたと判定された場合には、処理をステップＳ６０５に進める。一方、選択されなかった場合には、選択されるまでそのまま待機する（参照先選択受付手段）。
【０１７５】
ステップＳ６０５では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ６０４において選択された処理領域設定モジュールを処理領域の引継元（参照先）として設定する（参照先設定手段）。具体的には、例えば図２０に示すように処理フロー描画領域９０２に「二値化」「輝度反転」が配置されている場合、「輝度反転」が選択された状態で、処理領域ボタン１２０５の押下を受け付けると、処理領域設定モジュール一覧２００１が表示される。本実施例では、処理領域設定モジュールとして、「二値化」モジュールが抽出されるので、この「二値化」モジュールの選択を受け付けると、「輝度反転」モジュールの処理領域引継元として、「二値化」モジュールが登録される。処理領域設定は、図２１に示す各モジュールのモジュール設定テーブルのうち、「輝度反転」モジュールの輝度反転モジュール設定テーブルＴ２１３０の処理領域引継Ｉｎｄｅｘ２１３３に、「二値化」モジュールのＩｎｄｅｘ２１２１を格納することにより設定を行う。これにより、複雑な設定をすることなく、処理領域を引き継ぎたいモジュールを選択するだけで、容易に処理領域の設定ができる。
【０１７６】
ステップＳ６０６では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ６０５において設定された処理領域の設定を確認すべく、処理フロー描画領域９０２に配置された一連のモジュールを実行する（画像処理実行手段）。これにより、正しく動作するかどうかをユーザに確認させることができる。本実施例においては、ステップＳ６０６において処理の実行がなされると、まず図２１に示す処理フロー・入出力パラメータテーブルＴ５１０を参照する。図２１に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「１」には「二値化」モジュールが格納されているので、二値化モジュール設定テーブルＴ２１２０を参照して、設定処理領域２１２３に対して二値化処理を行う。続いて、図２１に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「２」には「輝度反転」モジュールが格納されているので、輝度反転モジュール設定テーブルＴ２１３０を参照して、輝度反転処理を行う。当該輝度反転処理を行う場合には、処理領域引継設定がなされているので、処理領域引継Ｉｎｄｅｘ２１３３を参照して、輝度反転を行う領域を決定する。具体的には、処理領域引継Ｉｎｄｅｘ２１３３を参照すると、「１」が格納されている。Ｉｎｄｅｘ５１１のうち「１」を示すモジュールは「二値化」モジュールである。つまり、「二値化」モジュールに設定されている設定処理領域２１２３に対して輝度反転処理を実行する。
【０１７７】
以上の処理により、処理領域設定モジュール一覧２００１を表示し、表示された処理領域設定モジュールのうち、いずれかの選択を受け付けるだけで、処理領域の引き継ぎが可能となる。つまり、同一の処理領域を使用する場合に、モジュールすべてに対して同じ座標値を毎回入力する手間を軽減し、また処理領域に変更があった場合でも、引継元のモジュールの処理領域の座標値を変更するだけで、当該引継元のモジュールを参照しているすべてのモジュールの処理領域を変更することができる。
【０１７８】
尚、前述の説明ではステップＳ６０１においてパラメータが設定されているモジュールのみを抽出して、ステップＳ６０３において一覧表示させたが、ステップＳ６０５においてパラメータの参照先が設定されたモジュールも合わせて一覧表示させてもよい。例えば図２４に示す通り、処理フロー描画領域９０２に「二値化」「輝度反転」「ガンマ補正」という順の処理フローが構築されており、輝度反転モジュールは二値化モジュールの処理領域を参照しているとする。この場合に、ガンマ補正モジュールの処理領域ボタン１２０５の押下を検知すると、ステップＳ６０１において処理領域が設定済みの二値化モジュールと、処理領域の参照先が設定済みの輝度反転モジュールが抽出され、ステップＳ６０３において処理領域設定モジュールとして一覧表示される。この一覧表示された中から、輝度反転モジュールを選択すると、ガンマ補正モジュールの参照先が輝度反転モジュールとなる。この処理フローを実行すると、ガンマ補正モジュールの処理領域は、輝度反転モジュールの参照先である二値化モジュールに設定された処理領域を引き継いで処理することができる。以下、上記の処理について説明する。
【０１７９】
図２３を参照して、図１０のステップＳ３１５に示す処理領域設定処理の詳細な処理であって、参照先が設定済みのモジュールを参照する処理について説明する。図２３は、図１０のステップＳ３１５における処理領域設定処理の詳細な手順の一例を示すフローチャートである。本処理をＣＰＵ１１１に実行させるためのプログラムは外部メモリ１１６に記憶されており、本処理の実行要求を入力装置１２０より受け付けた場合に、ＣＰＵ１１１は、当該プログラムをＲＡＭ１１２にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。
【０１８０】
本実施例の前提として、図２４の処理フロー描画領域９０２に示す「二値化」「輝度反転」「ガンマ補正」という順で構築された処理フローを元に説明する。つまり、前述した図２０の処理フロー描画領域９０２の「二値化」と処理領域の参照先を「二値化」に設定された「輝度反転」の次の処理として、「ガンマ補正」が追加された場合を想定する。よって、図２５に示す処理フロー・入出力パラメータテーブルＴ５１０は、これら３つのモジュールを配置した場合の情報がそれぞれ格納されている。また、各モジュールのモジュール設定テーブルには、ステップＳ３０７の処理条件設定処理において設定されたパラメータが格納されている。
【０１８１】
具体的には、二値化モジュール設定テーブルＴ２１２０及び輝度反転モジュール設定テーブルＴ２１３０は、前述した図２１と同様のパラメータが格納されている。更に、ガンマ補正モジュール設定テーブルＴ２５１０は、ガンマ補正モジュールのＩｎｄｅｘ５１１とモジュール５１３をＩｎｄｅｘ２５１１とモジュール２５１２にそれぞれ格納する。
【０１８２】
ステップＳ７０１では、情報処理装置１１０のＣＰＵ１１１は、処理フロー描画領域９０２に配置されたモジュールのうち、処理領域設定モジュールを抽出する。処理領域設定モジュールは、ステップＳ３０７において処理領域の設定がなされているモジュールと、前述したステップＳ６０５または後述するステップＳ７０５においてパラメータの参照先を設定されたモジュールを抽出する。本実施例においては、設定処理領域２１２３に処理領域の座標が格納された二値化モジュールと、処理領域引継Ｉｎｄｅｘ２１３３に参照先モジュールのＩｎｄｅｘが格納された輝度反転モジュールが処理領域設定モジュールとして抽出される。また、抽出するモジュールはステップＳ３０１において特定されたモジュールよりも上流に配置されたモジュールを抽出する。具体的には、処理フロー・入出力パラメータテーブルＴ５１０の順序５１２を元に、特定されたモジュールよりも順序５１２に格納された値が小さいモジュールを抽出する。尚、本実施例においては上記の通り、特定されたモジュールよりも上流に配置されたモジュールを抽出するが、これに限らない。特定されたモジュールよりも下流に配置されたモジュールを抽出してもよい。
【０１８３】
ステップＳ７０２では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ７０１において処理領域設定モジュールが存在したか否かを判定する。本実施例では、ステップＳ７０１において、処理領域の設定がなされているモジュールが存在したか否かを判定する。処理領域の設定がなされているモジュールが存在した場合には、処理をステップＳ７０３に進める。一方、処理領域の設定がなされているモジュールが存在しない場合には、処理領域設定処理を終了する。
【０１８４】
ステップＳ７０３では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ７０１において抽出された処理領域設定モジュールをディスプレイ装置１３０に一覧表示する。具体的には、ステップＳ７０１において抽出された処理領域設定モジュールを、図２４に示すように処理領域設定モジュール一覧２００１として表示する。処理領域設定モジュールは一覧表示でなくともよく、選択できればよい。また、参照先が設定されているモジュールなのか否かを識別表示させるようにすることで、ユーザの選択を補助してもよい。具体的には、ステップＳ７０３において処理領域設定モジュール一覧２００１を表示する際に、処理領域の引継設定がなされており、参照先のモジュールが指定されているのか否かを判定する。本実施例では、輝度反転モジュールは処理領域引継Ｉｎｄｅｘ２１３３が設定されているため、処理領域設定モジュール一覧２００１において輝度反転モジュールを一覧表示する場合には、図２４の処理領域設定モジュール一覧２００１に示すように「ＵＩ００００２：輝度反転（ＵＩ００００１参照）」という形式で識別表示させる。参照先が設定されているモジュールの識別表示する方法については、これに限らない。参照先が設定されているモジュールとそうでないモジュールとが識別できればよい。
【０１８５】
ステップＳ７０４では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ７０３において表示された処理領域設定モジュールのうち、いずれかがユーザによって選択されたか否かを判定する。選択されたと判定された場合には、処理をステップＳ７０５に進める。一方、選択されなかった場合には、選択されるまでそのまま待機する（参照先選択受付手段）。
【０１８６】
ステップＳ７０５では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ７０４において選択された処理領域設定モジュールを処理領域の引継元（参照先）として設定する（参照先設定手段）。具体的には、例えば図２４に示すように処理フロー描画領域９０２に「二値化」「輝度反転」「ガンマ補正」が配置されている場合、「ガンマ補正」が選択された状態で、処理領域ボタン１２０５の押下を受け付けると、処理領域設定モジュール一覧２００１が表示される。本実施例では、処理領域設定モジュールとして、二値化」モジュールと輝度反転モジュールが抽出されるので、今回は輝度反転モジュールの選択を受け付けると、ガンマ補正モジュールの処理領域引継元として、輝度反転モジュールが登録される。処理領域設定は、図２５に示す各モジュールのモジュール設定テーブルのうち、ガンマ補正モジュールのガンマ補正モジュール設定テーブルＴ２５１０の処理領域引継Ｉｎｄｅｘ２５１３に、「輝度反転」のＩｎｄｅｘ２１３１を格納することにより設定を行う。これにより、参照先が設定されているモジュールであっても、複雑な設定をすることなく、処理領域を引き継ぎたいモジュールを選択するだけで、容易に処理領域の設定ができる。
【０１８７】
ステップＳ７０６では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ７０５において設定された処理領域の設定を確認すべく、処理フロー描画領域９０２に配置された一連のモジュールを実行する（画像処理実行手段）。これにより、正しく動作するかどうかをユーザに確認させることができる。本実施例においては、ステップＳ７０６において処理の実行がなされると、まず図２５に示す処理フロー・入出力パラメータテーブルＴ５１０を参照する。図２５に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「１」には二値化モジュールが格納されているので、二値化モジュール設定テーブルＴ２１２０を参照して、設定処理領域２１２３に対して二値化処理を行う。続いて、図２５に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「２」には輝度反転モジュールが格納されているので、輝度反転モジュール設定テーブルＴ２１３０を参照して、輝度反転処理を行う。当該輝度反転処理を行う場合には、処理領域引継設定がなされているので、処理領域引継Ｉｎｄｅｘ２１３３を参照して、輝度反転を行う領域を決定する。具体的には、処理領域引継Ｉｎｄｅｘ２１３３を参照すると、「１」が格納されている。Ｉｎｄｅｘ５１１のうち「１」を示すモジュールは二値化モジュールである。つまり、二値化モジュールに設定されている設定処理領域２１２３に対して輝度反転処理を実行する。更に、図２５に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「３」にはガンマ補正モジュールが格納されているので、ガンマ補正モジュール設定テーブルＴ２５１０を参照して、ガンマ補正処理を行う。当該ガンマ補正処理を行う場合には、処理領域引継設定がなされているので、処理領域引継Ｉｎｄｅｘ２５１３を参照して、ガンマ補正を行う領域を決定する。具体的には、処理領域引継Ｉｎｄｅｘ２５１３が示すモジュールを参照すると、「２」が格納されている。Ｉｎｄｅｘ５１１のうち「２」を示すモジュールが輝度反転モジュールである。しかし、輝度反転モジュールは前述の通り、更に二値化モジュールを参照している。よって、参照先を遡って二値化モジュールに設定されている設定処理領域２１２３に対してガンマ補正処理を実行する。
【０１８８】
以上の処理により、参照先が設定されているモジュールについても、処理領域設定モジュール一覧２００１に表示し、当該モジュールを選択することによっても、処理領域の引き継ぎが可能となる。
【０１８９】
次に、前述の通り参照先が設定されているモジュールを参照しているモジュールがある場合、当該参照先が設定されているモジュールの参照設定を解除した場合の処理について、図２６及び図２７を元に説明する。前述の通り、「二値化」「輝度反転」「ガンマ補正」という順で処理フローが構築されており、輝度反転モジュールの処理領域は「二値化」を参照しており、ガンマ補正モジュールの処理領域は「輝度反転」を参照している場合を想定する。この場合に、輝度反転モジュールの参照設定を解除して、独自の処理領域を座標で設定すると、ガンマ補正モジュールの処理領域は輝度反転モジュールで新たに設定した座標の処理領域となってしまう。これでは、本来意図した二値化モジュールの処理領域とは異なってしまう。よって、このような場合に、ガンマ補正モジュールの参照先を輝度反転モジュールが参照していたモジュールである二値化モジュールに変更させることで、ユーザの利便性を向上させる。
【０１９０】
図２６を参照して、図８のステップＳ２０９に示す変更処理の詳細な処理について説明する。図２６は、図８のステップＳ２０９における「変更処理」の詳細な手順の一例を示すフローチャートである。本処理をＣＰＵ１１１に実行させるためのプログラムは外部メモリ１１６に記憶されており、本処理の実行要求を入力装置１２０より受け付けた場合に、ＣＰＵ１１１は、当該プログラムをＲＡＭ１１２にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。
【０１９１】
尚、図２６のステップＳ３０１乃至ステップＳ３０６、及びステップＳ３０８乃至ステップＳ３１７においては、前述した図１０のステップＳ３０１乃至ステップＳ３０６、及びステップＳ３０８乃至ステップＳ３１７は同様の処理であるため、説明を省略する。尚、ステップＳ３０６において条件設定が選択されたと判定された場合には、ステップＳ８０１に処理を進める。
【０１９２】
ステップＳ８０１では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ３０１において特定されたモジュールの処理条件を設定する。このステップＳ８０１の処理条件設定処理の詳細については、図２７を用いて後述する。そして、ステップＳ８０１の処理が終了すると、処理をステップＳ３１６に進める。
【０１９３】
次に、図２７を参照して、図２６のステップＳ８０１に示す処理条件設定処理の詳細な処理について説明する。図２７は、図２６のステップＳ８０１における「処理条件設定処理」の詳細な手順の一例を示すフローチャートである。本処理をＣＰＵ１１１に実行させるためのプログラムは外部メモリ１１６に記憶されており、本処理の実行要求を入力装置１２０より受け付けた場合に、ＣＰＵ１１１は、当該プログラムをＲＡＭ１１２にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。
【０１９４】
本実施例の前提として、図２８の処理フロー描画領域９０２に示す「二値化」「輝度反転」「ガンマ補正」という順で構築されている処理フローで、「輝度反転」の処理領域は「二値化」を参照しており、「ガンマ補正」の処理領域は「輝度反転」を参照している場合を元に説明する。つまり、前述した図２３の各処理が完了した場合を想定する。よって、処理フロー・入出力パラメータテーブルＴ５１０は、図２５に示すものと同様であり、各モジュールのモジュール設定テーブルに関しても、図２５に示す通りである。
【０１９５】
ステップＳ９０１では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ３０１において特定されたモジュールが、パラメータ引き継ぎのために他のモジュールを参照しているか否かを判定する（参照先有無判定手段）。他のモジュールを参照していると判定した場合には、ステップＳ９０２に処理を進め、参照していないと判定した場合には、ステップＳ９１２に処理を進める。具体的には、ステップＳ３０１において特定されたモジュールのモジュール設定テーブル４１９に処理領域引継Ｉｎｄｅｘが格納されているか否かで判定する。本実施例においては、ステップＳ３０１において特定された「輝度反転」のモジュール設定テーブル４１９である輝度反転モジュール設定テーブルＴ２１３０を参照すると、処理領域引継Ｉｎｄｅｘ２１３３に「１」が格納されているので、他のモジュールを参照していると判定され、ステップＳ９０２に処理を進める。参照しているかどうかの判定方法はこれに限らない。
【０１９６】
まず、ステップＳ９０１において他モジュールを参照していると判定された場合について、説明する。ステップＳ９０２では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ３０１において特定されたモジュールが参照しているモジュールのパラメータを抽出して、取得する。具体的には、図２５の輝度反転モジュール設定テーブルＴ２１３０の処理領域引継Ｉｎｄｅｘ２１３３に格納された値と一致するＩｎｄｅｘ５１１が示すモジュールは二値化モジュールである。よって、二値化モジュール設定テーブルＴ２１２０の設定処理領域２１２３の座標を取得する。取得するパラメータは処理領域に限らない。
【０１９７】
ステップＳ９０３では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９０２において取得したパラメータに基づいて、図２９に示す処理条件設定画面２９００を作成する。例えば、本実施例ではステップＳ９０２において処理領域の座標を二値化モジュール設定テーブルＴ２１２０の設定処理領域２１２３から取得したので、当該取得した座標値を適用した処理条件設定画面２９００を作成する。つまり、元々参照設定してあった処理領域の範囲をデフォルト表示させる。図２９に示す処理条件設定画面２９００のように、輝度反転モジュールが参照していた二値化モジュールの設定を引き継いで、デフォルト値の入力等行っておく。他にステップＳ３０１で特定されたモジュールに設定すべきパラメータがあるのであれば、同時に設定できるよう画面の作成を行うのが望ましい。
【０１９８】
ステップＳ９０４では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９０３において作成された処理条件設定画面２９００をディスプレイ装置１３０に表示させる。
【０１９９】
ステップＳ９０５では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９０４において表示された処理条件設定画面２９００に対する入力装置１２０からの入力を受け付ける（パラメータ設定受付手段）。ユーザは処理条件設定画面２９００に備えられたパラメータ調整項目を設定することで、モジュールのパラメータ設定を行う。尚、パラメータの設定を受け付けたということは、画像処理アイテムのパラメータの参照先を解除することを意味する。当該画像処理アイテムに設定されたパラメータの参照先よりも、設定を受け付けたパラメータの使用を優先したほうがよいと考えられるので、後述するステップＳ９１６において参照先の解除を行う。参照先の解除については、後述するステップＳ９１０において当該解除する参照先の情報を使用するため、当該参照先の情報をＲＡＭ１１２に一時的に退避させるか、ステップＳ９０５のタイミングでは解除せずに保持しておき、後述するステップＳ９１６において解除を行うこととする。
【０２００】
ステップＳ９０６では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９０５において各種パラメータの調整入力受付後、ＯＫボタン２９０１が押下されたか否かを判定する。本実施例ではＯＫボタン２９０１の押下を検知することにより、各種パラメータの調整が完了したと判定するが、これに限らない。ＯＫボタン２９０１が押下されたと判定された場合には、ステップＳ９０７に処理を進め、ＯＫボタン２９０１が押下されたと判定できない場合には、ＯＫボタン２９０１が押下されるまで待機する。
【０２０１】
ステップＳ９０７では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９０５においてパラメータの調整を受け付けたモジュールを参照しているモジュールがあるか否かを判定する（被参照有無判定手段）。パラメータの調整を受け付けたモジュールを参照しているモジュールがあると判定された場合には、ステップＳ９０８に処理を進め、パラメータの調整を受け付けたモジュールを参照しているモジュールがないと判定された場合には、ステップＳ９１６に処理を進める。具体的には、他モジュールのモジュール設定テーブル４１９の処理領域引継Ｉｎｄｅｘに、パラメータ調整を受け付けたモジュールのＩｎｄｅｘ５１１が格納されているか否かを判定する。本実施例においては、ステップＳ３０１において特定された「輝度反転」のＩｎｄｅｘ５１１に「２」が格納されている。他のモジュールのモジュール設定テーブル４１９を参照すると、図２５のガンマ補正モジュール設定テーブルＴ２５１０の処理領域引継Ｉｎｄｅｘ２５１３に「２」が格納されている。よって、パラメータの調整を受け付けた輝度反転モジュールを参照しているモジュールがあると判定され、ステップＳ９０８に処理を進める。
【０２０２】
本来、パラメータ調整を行うモジュールを参照しているモジュールは、パラメータ調整を行うモジュールの参照先のパラメータを使用して処理を行う設定となっているはずである。例えば、図２８の処理フロー描画領域９０２に示す通り、「二値化」「輝度反転」「ガンマ補正」という順で処理フローが構築されていて、「輝度反転」は「二値化」の処理領域を参照しており、「ガンマ補正」は「輝度反転」の処理領域を参照しているような場合を想定する。この場合に、「輝度反転」の参照先を解除して、独自の処理領域を設定した場合、「二値化」への参照はなくなってしまう。「ガンマ補正」は、「輝度反転」を参照しているので本来なら「二値化」の処理領域で画像処理を行うはずであったが、「輝度反転」が独自の処理領域を設定してしまったため、「二値化」の処理領域を参照できなくなってしまう。これを防止するために、以下、ステップＳ９０８乃至ステップＳ９１１の処理を行う。
【０２０３】
ステップＳ９０８では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９０５においてパラメータ調整を受け付けたモジュールを参照しているモジュールを１つ抽出する。具体的には、パラメータ調整を受け付けたモジュールとは異なるモジュールのモジュール設定テーブル４１９の処理領域引継Ｉｎｄｅｘに、パラメータ調整を受け付けたモジュールのＩｎｄｅｘ５１１が格納されているモジュールを抽出する。本実施例の場合には、ステップＳ９０７における説明の通り、ガンマ補正モジュールが抽出される。また、１つずつ抽出するのではなく、一度にすべてのモジュールを抽出してもよい。この場合、後述するステップＳ９０９を抽出したモジュール分繰り返す、または一度にすべてのモジュールに対して確認を行う方法を取ってもよい。
【０２０４】
ステップＳ９０９では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９０８において抽出されたモジュールの参照先を、ステップＳ９０５においてパラメータ調整を受けつけたモジュールが参照していたモジュールに変更するか否かの選択を受け付け、変更する旨が入力されたか否かを判定する。変更する旨が入力されたと判定された場合には、ステップＳ９１０に処理を進め、変更しない旨が入力されたと判定された場合には、ステップＳ９１１に処理を進める。具体的には、図３０に示すような確認画面３０００を表示して、変更するボタン３００１及び変更しないボタン３００２の押下を受け付けることで判定を行う。
【０２０５】
ステップＳ９１０では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９０８において抽出されたモジュールの参照先を、ステップＳ９０５においてパラメータ調整を受けつけたモジュールが参照していたモジュールに変更する。具体的には、図３１に示す通り、ステップ９０５においてパラメータ調整を受け付けたモジュールである輝度反転モジュールの処理領域引継Ｉｎｄｅｘ２１３３に格納された「１」を、ステップＳ９０８において抽出されたモジュールであるガンマ補正モジュールの処理領域引継Ｉｎｄｅｘ２５１３に格納する。こうすることで、ガンマ補正モジュールは二値化モジュールの処理領域を参照可能になる。
【０２０６】
ステップＳ９１１では、情報処理装置１１０のＣＰＵ１１１は、パラメータ調整するモジュールを参照中のすべてのモジュールがステップＳ９０９またはステップＳ９１０の処理を完了したか否かを判定する。すべて完了したと判定した場合には、ステップＳ９１６に処理を進め、すべて完了していないと判定した場合には、ステップＳ９０８に処理を戻し、すべて完了するまでステップＳ９０９乃至ステップＳ９１１を繰り返す。
【０２０７】
以上のステップＳ９０７乃至ステップＳ９１１の処理を行うことで、参照先を解除して独自の処理領域（パラメータ）を設定した場合であっても、当該パラメータを設定したモジュールを参照しているモジュールの参照先を適切に設定することができる。
【０２０８】
次に、ステップＳ９０１において他モジュールを参照していないと判定された場合について、説明する。
【０２０９】
ステップＳ９１２では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９０１において参照先がないモジュールであると判定されたので、デフォルト値は設定せずに処理条件設定画面２９００を作成する。この場合の処理条件設定画面２９００は、ステップＳ３０１において特定されたモジュールに設定可能なパラメータの設定を受け付ける画面を作成する。基本的にステップＳ９０３とは異なり、各入力フォームのデフォルト値は空欄だが、別途デフォルト値の設定がなされているのであれば、それに従う。
【０２１０】
ステップＳ９１３では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９１２において作成された処理条件設定画面２９００をディスプレイ装置１３０に表示させる。
【０２１１】
ステップＳ９１４では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９１３において表示された処理条件設定画面２９００に対する入力装置１２０からの入力を受け付ける。ユーザは処理条件設定画面２９００に備えられたパラメータ調整項目を設定することで、モジュールのパラメータ設定を行う。
【０２１２】
ステップＳ９１５では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９１４において各種パラメータの調整入力受付後、ＯＫボタン２９０１が押下されたか否かを判定する。本実施例ではＯＫボタン２９０１の押下を検知することにより、各種パラメータの調整が完了したと判定するが、これに限らない。ＯＫボタン２９０１が押下されたと判定された場合には、ステップＳ９１６に処理を進め、ＯＫボタン２９０１が押下されたと判定できない場合には、ＯＫボタン２９０１が押下されるまで待機する。
【０２１３】
以上がステップＳ９０１において他モジュールを参照していないと判定された場合についての説明である。
【０２１４】
ステップＳ９１６では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９０５またはステップＳ９１４において入力を受け付けたパラメータを当該モジュールのモジュール設定テーブル４１９に対して反映する。本実施例では、輝度反転モジュールのパラメータ調整を行ったので、図２９の処理領域のパラメータを輝度反転モジュール設定テーブルＴ２１３０に格納し、処理領域引継Ｉｎｄｅｘの値を削除する。尚、本実施例では処理領域引継Ｉｎｄｅｘの値を削除することによって参照先を解除しているが、削除しなくてもよい。この場合には参照先の他に処理領域が設定されているので、参照先から引き継ぐのではなく、処理領域を使用して画像処理を行う。参照先が設定されているが、処理領域を優先して使うことで削除しなくとも対応可能である。
【０２１５】
ステップＳ９１６の処理を、図３１を元に説明する。図３１は、本フローチャート実行前と実行後の各モジュールのモジュール設定テーブル４１９の遷移を示す図である。本フローチャートを実行することにより、実行前モジュール設定テーブル３１０１に格納された各情報が実行後モジュール設定テーブル３１０２に変更となる。ステップＳ９１６の前に、本実施例ではガンマ補正モジュールの参照先をステップＳ９１０で変更しているので、実行後モジュール設定テーブル３１０２のガンマ補正モジュール設定テーブルＴ２５１０の処理領域引継Ｉｎｄｅｘ２５１３は、「２」から「１」に変更となっている。ステップＳ９１０の処理内容については前述の通りである。次に、ステップＳ９１６では、ステップＳ９０５またはステップＳ９１４において入力を受け付けた輝度反転モジュールのパラメータを輝度反転モジュール設定テーブルＴ２１３０に格納する。そして、輝度反転モジュール設定テーブルＴ２１３０の処理領域引継Ｉｎｄｅｘ２１３３の値を削除しておく。こうすることで、輝度反転モジュールは参照先が解除され、新たに独自の処理領域が設定される。反映結果は、実行後モジュール設定テーブル３１０２の輝度反転モジュール設定テーブルＴ２１３０に示す通りである。具体的には、処理領域引継Ｉｎｄｅｘ２１３３が削除され、新たに設定処理領域３１０３に「（左上Ｘ座標，左上Ｙ座標），（右下Ｘ座標，右下Ｙ座標）＝（５５，２０５），（４５５，２５５）」が格納される。
【０２１６】
ステップＳ９１７では、情報処理装置１１０のＣＰＵ１１１は、ステップＳ９１６において反映されたパラメータ設定を確認すべく、処理フロー描画領域９０２に配置された一連のモジュールを実行する。これにより、正しく動作するかどうかをユーザに確認させることができる。本実施例においては、ステップＳ９１７において処理の実行がなされると、まず図２５に示す処理フロー・入出力パラメータテーブルＴ５１０を参照する。図２５に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「１」には「二値化」モジュールが格納されているので、図３１の実行後モジュール設定テーブル３１０２に示す二値化モジュール設定テーブルＴ２１２０を参照して、設定処理領域２１２３に対して二値化処理を行う。続いて、図２５に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「２」には「輝度反転」モジュールが格納されているので、図３１の実行後モジュール設定テーブル３１０２に示す輝度反転モジュール設定テーブルＴ２１３０を参照して、設定処理領域３１０３に対して輝度反転処理を行う。更に、図２５に示す処理フロー・入出力パラメータテーブルＴ５１０の順序５１２の「３」には「ガンマ補正」モジュールが格納されているので、図３１の実行後モジュール設定テーブル３１０２に示すガンマ補正モジュール設定テーブルＴ２５１０を参照して、ガンマ補正処理を行う。当該ガンマ補正処理を行う場合には、処理領域引継設定がなされているので、処理領域引継Ｉｎｄｅｘ２５１３を参照して、ガンマ補正を行う領域を決定する。具体的には、図３１の実行後モジュール設定テーブル３１０２の処理領域引継Ｉｎｄｅｘ２５１３を参照すると、「１」が格納されている。Ｉｎｄｅｘ５１１のうち「１」を示すモジュールは「二値化」モジュールである。つまり、「二値化」モジュールに設定されている設定処理領域２１２３に対して輝度反転処理を実行する。
【０２１７】
ステップＳ９１７の処理が終了したら、本フローチャートの処理を終了し、ステップＳ８０１に処理を戻す。
【０２１８】
以上、説明したように処理領域の設定されたモジュールを選択するだけで、当該モジュールの処理領域を引き継ぐことができるため、ユーザがすべてのモジュールに対して処理領域を設定する手間を軽減し、かつ処理領域が変更された場合であっても柔軟に対応することのできる効果を奏する。
【０２１９】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０２２０】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０２２１】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０２２２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０２２３】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０２２４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０２２５】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０２２６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０２２７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０２２８】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０２２９】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０２３０】
１００  画像処理システム
１１０  情報処理装置）
１２０  入力装置
１３０  ディスプレイ装置
１４０  カメラ
１５０  照明装置コントローラ
１６０  照明装置
１７０  外部機器コントローラ
１８０  ステージ
１８１ 検査対象
１９０ ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）
１１１ ＣＰＵ
１１２ ＲＡＭ
１１３ ＲＯＭ
１１４ システムバス
１１５ａ 入力コントローラ
１１５ｂ ビデオコントローラ
１１５ｃ メモリコントローラ
１１５ｄ、１１５ｅ、１１５ｇ  通信Ｉ／Ｆコントローラ
１１５ｆ 画像入力コントローラ
１１６ 外部メモリ
【図１】
2012123777.tif 000003
【図２】
2012123777.tif 000004
【図３】
2012123777.tif 000005
【図４】
2012123777.tif 000006
【図５】
2012123777.tif 000007
【図６】
2012123777.tif 000008
【図７】
2012123777.tif 000009
【図８】
2012123777.tif 000010
【図９】
2012123777.tif 000011
【図１０】
2012123777.tif 000012
【図１１】
2012123777.tif 000013
【図１２】
2012123777.tif 000014
【図１３】
2012123777.tif 000015
【図１４】
2012123777.tif 000016
【図１５】
2012123777.tif 000017
【図１６】
2012123777.tif 000018
【図１７】
2012123777.tif 000019
【図１８】
2012123777.tif 000020
【図１９】
2012123777.tif 000021
【図２０】
2012123777.tif 000022
【図２１】
2012123777.tif 000023
【図２２】
2012123777.tif 000024
【図２３】
2012123777.tif 000025
【図２４】
2012123777.tif 000026
【図２５】
2012123777.tif 000027
【図２６】
2012123777.tif 000028
【図２７】
2012123777.tif 000029
【図２８】
2012123777.tif 000030
【図２９】
2012123777.tif 000031
【図３０】
2012123777.tif 000032
【図３１】
2012123777.tif 000033
【手続補正書】
【提出日】平成23年10月7日(2011.10.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電子画像データに対して画像処理を実行し、画像処理結果の表示を行う情報処理装置であって、
前記電子画像データに対して実行可能な画像処理アイテムであって、ユーザから指定された処理順に構成された画像処理アイテムに係る画像処理の入力パラメータを前記画像処理アイテムごとに記憶する記憶手段と、
前記画像処理アイテムのうち、前記入力パラメータの設定を行う画像処理アイテムの選択を受け付ける画像処理アイテム選択受付手段と、
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムとは異なる画像処理アイテムであって、当該異なる画像処理アイテムの入力パラメータのうち、前記選択された画像処理アイテムの入力パラメータと共通の入力パラメータである共通入力パラメータを参照するように、前記共通入力パラメータを持つ画像処理アイテムの選択を受け付ける参照先選択受付手段と、
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムの入力パラメータの参照先に、前記参照先選択受付手段によって選択された画像処理アイテムを設定する参照先設定手段と、
前記電子画像データに対して画像処理を実行する場合には、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムは、前記参照先設定手段によって設定された参照先の画像処理アイテムの前記共通入力パラメータを前記記憶手段から取得して、当該共通入力パラメータに基づいて画像処理を実行する画像処理実行手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムとは異なる画像処理アイテムであって、前記共通入力パラメータを持つ画像処理アイテムを抽出する抽出手段を更に備え、
前記参照先選択受付手段は、前記抽出手段によって抽出された画像処理アイテムから、前記共通入力パラメータを持つ画像処理アイテムの選択を受け付けることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記参照先選択受付手段は、前記参照先設定手段によって入力パラメータの参照先が設定された画像処理アイテムの選択を受け付け、
前記画像処理実行手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムの画像処理を実行する際に、前記参照先設定手段によって設定された参照先の画像処理アイテムの入力パラメータの参照先を遡って、前記共通入力パラメータが設定された画像処理アイテムを特定し、当該画像処理アイテムの前記共通入力パラメータを前記記憶手段から取得して、当該共通入力パラメータに基づいて画像処理を実行することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムの入力パラメータの設定、または当該画像処理アイテムの入力パラメータの参照先の解除を受け付けるパラメータ設定受付手段と、
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムを入力パラメータの参照先に設定している画像処理アイテムが存在するか否かを判定する被参照有無判定手段とを更に備え、
前記パラメータ設定受付手段は、前記被参照有無判定手段によって、前記選択された画像処理アイテムを入力パラメータの参照先に設定している画像処理アイテムが存在すると判定された場合に、前記選択された画像処理アイテムの入力パラメータの設定または入力パラメータの参照先の解除を受け付けると、当該画像処理アイテムを入力パラメータの参照先に設定している画像処理アイテムに対して、入力パラメータの参照先の変更を受け付けることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムに入力パラメータの参照先が設定されているか否かを判定する参照先有無判定手段を更に備え、
前記パラメータ設定受付手段は、前記被参照有無判定手段によって、前記選択された画像処理アイテムを入力パラメータの参照先に設定している画像処理アイテムが存在すると判定され、更に前記参照先有無判定手段によって、前記選択された画像処理アイテムに入力パラメータの参照先が設定されていると判定された場合に、前記選択された画像処理アイテムの入力パラメータの設定または入力パラメータの参照先の解除を受け付けると、前記選択された画像処理アイテムを入力パラメータの参照先に設定している画像処理アイテムの参照先を、前記選択された画像処理アイテムの参照先であった画像処理アイテムに変更することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記パラメータ設定受付手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムの参照先が存在する場合に、当該参照先の画像処理アイテムの共通入力パラメータを取得して表示させることで、入力パラメータの設定を受け付けることを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記参照先選択受付手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムとは異なる画像処理アイテムの前記共通入力パラメータを参照するように、前記異なる画像処理アイテムの共通入力パラメータの選択を受け付け、
前記参照先設定手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムの入力パラメータの参照先を、前記参照先選択受付手段によって選択された前記異なる画像処理アイテムの共通入力パラメータに設定することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記参照先選択受付手段は、前記参照先設定手段によって入力パラメータの参照先が設定された画像処理アイテムと、前記参照先設定手段によって入力パラメータの参照先が設定されていない画像処理アイテムとを識別表示することにより選択を受け付けることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記抽出手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムとは異なる画像処理アイテムであって、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムよりも処理順が上位に設定された画像処理アイテムを抽出することを特徴とする請求項２に記載の情報処理装置。
【請求項１０】
電子画像データに対して実行可能な画像処理アイテムであって、ユーザから指定された処理順に構成された画像処理アイテムに係る画像処理の入力パラメータを前記画像処理アイテムごとに記憶する記憶手段を備え、前記電子画像データに対して画像処理を実行し、画像処理結果の表示を行う情報処理装置の制御方法であって、
前記情報処理装置の画像処理アイテム選択受付手段が、前記画像処理アイテムのうち、前記入力パラメータの設定を行う画像処理アイテムの選択を受け付ける画像処理アイテム選択受付ステップと、
前記情報処理装置の参照先選択受付手段が、前記画像処理アイテム選択受付ステップによって選択された画像処理アイテムとは異なる画像処理アイテムであって、当該異なる画像処理アイテムの入力パラメータのうち、前記選択された画像処理アイテムの入力パラメータと共通の入力パラメータである共通入力パラメータを参照するように、前記共通入力パラメータを持つ画像処理アイテムの選択を受け付ける参照先選択受付ステップと、
前記情報処理装置の参照先設定手段が、前記画像処理アイテム選択受付ステップによって選択された画像処理アイテムの入力パラメータの参照先に、前記参照先選択受付ステップによって選択された画像処理アイテムを設定する参照先設定ステップと、
前記情報処理装置の画像処理実行手段が、前記電子画像データに対して画像処理を実行する場合には、前記画像処理アイテム選択受付ステップによって選択された画像処理アイテムは、前記参照先設定ステップによって設定された参照先の画像処理アイテムの前記共通入力パラメータを前記記憶手段から取得して、当該共通入力パラメータに基づいて画像処理を実行する画像処理実行ステップと、
を備えることを特徴とする情報処理装置の制御方法。
【請求項１１】
前記参照先選択受付ステップは、前記参照先設定ステップによって入力パラメータの参照先が設定された画像処理アイテムの選択を受け付け、
前記画像処理実行ステップは、前記画像処理アイテム選択受付ステップによって選択された画像処理アイテムの画像処理を実行する際に、前記参照先設定ステップによって設定された参照先の画像処理アイテムの入力パラメータの参照先を遡って、前記共通入力パラメータが設定された画像処理アイテムを特定し、当該画像処理アイテムの前記共通入力パラメータを前記記憶手段から取得して、当該共通入力パラメータに基づいて画像処理を実行することを特徴とする請求項１０に記載の情報処理装置の制御方法。
【請求項１２】
前記参照先選択受付ステップは、前記画像処理アイテム選択受付ステップによって選択された画像処理アイテムとは異なる画像処理アイテムの前記共通入力パラメータを参照するように、前記異なる画像処理アイテムの共通入力パラメータの選択を受け付け、
前記参照先設定ステップは、前記画像処理アイテム選択受付ステップによって選択された画像処理アイテムの入力パラメータの参照先を、前記参照先選択受付ステップによって選択された前記異なる画像処理アイテムの共通入力パラメータに設定することを特徴とする請求項１０または１１に記載の情報処理装置の制御方法。
【請求項１３】
電子画像データに対して実行可能な画像処理アイテムであって、ユーザから指定された処理順に構成された画像処理アイテムに係る画像処理の入力パラメータを前記画像処理アイテムごとに記憶する記憶手段を備え、前記電子画像データに対して画像処理を実行し、画像処理結果の表示を行う情報処理装置の制御方法をコンピュータに実行させるためのコンピュータに読み取り実行可能なプログラムであって、
前記情報処理装置を、
前記画像処理アイテムのうち、前記入力パラメータの設定を行う画像処理アイテムの選択を受け付ける画像処理アイテム選択受付手段と、
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムとは異なる画像処理アイテムであって、当該異なる画像処理アイテムの入力パラメータのうち、前記選択された画像処理アイテムの入力パラメータと共通の入力パラメータである共通入力パラメータを参照するように、前記共通入力パラメータを持つ画像処理アイテムの選択を受け付ける参照先選択受付手段と、
前記画像処理アイテム選択受付手段によって選択された画像処理アイテムの入力パラメータの参照先に、前記参照先選択受付手段によって選択された画像処理アイテムを設定する参照先設定手段と、
前記電子画像データに対して画像処理を実行する場合には、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムは、前記参照先設定手段によって設定された参照先の画像処理アイテムの前記共通入力パラメータを前記記憶手段から取得して、当該共通入力パラメータに基づいて画像処理を実行する画像処理実行手段
として機能させることを特徴とするコンピュータに読み取り実行可能なプログラム。
【請求項１４】
前記参照先選択受付手段は、前記参照先設定手段によって入力パラメータの参照先が設定された画像処理アイテムの選択を受け付け、
前記画像処理実行手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムの画像処理を実行する際に、前記参照先設定手段によって設定された参照先の画像処理アイテムの入力パラメータの参照先を遡って、前記共通入力パラメータが設定された画像処理アイテムを特定し、当該画像処理アイテムの前記共通入力パラメータを前記記憶手段から取得して、当該共通入力パラメータに基づいて画像処理を実行することを特徴とする請求項１３に記載のコンピュータに読み取り実行可能なプログラム。
【請求項１５】
前記参照先選択受付手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムとは異なる画像処理アイテムの前記共通入力パラメータを参照するように、前記異なる画像処理アイテムの共通入力パラメータの選択を受け付け、
前記参照先設定手段は、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムの入力パラメータの参照先を、前記参照先選択受付手段によって選択された前記異なる画像処理アイテムの共通入力パラメータに設定することを特徴とする請求項１３または１４に記載のコンピュータに読み取り実行可能なプログラム。
【請求項１６】
請求項１３に記載のコンピュータプログラムを格納することを特徴とするコンピュータで読み取り可能な記録媒体。
【請求項１７】
請求項１４に記載のコンピュータプログラムを格納することを特徴とするコンピュータで読み取り可能な記録媒体。
【請求項１８】
請求項１５に記載のコンピュータプログラムを格納することを特徴とするコンピュータで読み取り可能な記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
そこで、本発明は、複数の画像処理アイテムで共通して使用する入力パラメータの設定を容易に行うことの可能な仕組みを提供することを目的とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
上記の目的を達成するために、請求項１に記載の情報処理装置は、電子画像データに対して画像処理を実行し、画像処理結果の表示を行う情報処理装置であって、前記電子画像データに対して実行可能な画像処理アイテムであって、ユーザから指定された処理順に構成された画像処理アイテムに係る画像処理の入力パラメータを前記画像処理アイテムごとに記憶する記憶手段と、前記画像処理アイテムのうち、前記入力パラメータの設定を行う画像処理アイテムの選択を受け付ける画像処理アイテム選択受付手段と、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムとは異なる画像処理アイテムであって、当該異なる画像処理アイテムの入力パラメータのうち、前記選択された画像処理アイテムの入力パラメータと共通の入力パラメータである共通入力パラメータを参照するように、前記共通入力パラメータを持つ画像処理アイテムの選択を受け付ける参照先選択受付手段と、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムの入力パラメータの参照先に、前記参照先選択受付手段によって選択された画像処理アイテムを設定する参照先設定手段と、前記電子画像データに対して画像処理を実行する場合には、前記画像処理アイテム選択受付手段によって選択された画像処理アイテムは、前記参照先設定手段によって設定された参照先の画像処理アイテムの前記共通入力パラメータを前記記憶手段から取得して、当該共通入力パラメータに基づいて画像処理を実行する画像処理実行手段とを備えることを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
以上説明したように、本発明によれば、複数の画像処理アイテムで共通して使用する入力パラメータを設定するときには、使用したい入力パラメータを持つ画像処理アイテムを、入力パラメータの参照先として設定し、画像処理実行時には参照先として設定された画像処理アイテムから入力パラメータを取得して画像処理を行うことができるので、複数の画像処理アイテムで共通して使用する入力パラメータの設定を容易に行うことが可能となり、ユーザの手間を軽減することのできる効果を奏する。