TrainExtractColor
ExtractColor 関数で使用するため、画像領域からカラーモデルを抽出し登録します。TrainExtractColorカラーモデルに色を登録してから、ExtractColor 関数を使って、画像内にあるカラーモデルを特定します。
TrainExtractColor概要
TrainExtractColor 関数を使用してカラーライブラリを構築します ([ExtractColor 登録] ダイアログの [登録] タブで設定します)。ライブラリには最大 100 の個別カラーモデルを含めることができ、カラーモデルは個々の色で構成されています。
カラーモデルは、RGB 値の集約 3D 分布を定義します。カラーモデルは個々の色分布を順次加算または減算することで形成されます。
色は、その登録時に対象領域 (ROI) 内に存在するピーク RGB 値を基に、RGB 値の 3D 分布を定義します。分布は個々のカラー許容値設定を基に拡大または縮小でき、カラーモデルで定義された集約分布に対して加算または減算することができます。
登録段階で色を定義するときに、TrainExtractColor 関数によって ROI 内にある色の 3D カラーヒストグラムが内部生成されます。生成後、この関数は、ROI 内のピークカラーを決定します。図 1 に、ワッシャの画像の 3D カラーヒストグラムを示します。ヒストグラムのデータは、ワッシャの色が単色で構成されているのではなく、RGB 空間内の多くの色の 3 次元分布で占められていることを示します。
3D ヒストグラムは、素材表面から反射される光、および素材本体から反射される光で構成される 2 色性反射を表します。
- ピークカラーの面積は、一致するピクセルが最も集中しているヒストグラムの場所を表します。
- 暗/明線は、オブジェクト本体から反射される光に相当し、原点 (黒、0,0,0) をピークカラーに結んでからヒストグラムの境界を超えて伸びる線として表されます。
- ハイライト線は表面反射成分を表し、ピークカラーから照度ベクトル (白、255,255,255) に沿ってヒストグラムの境界まで伸びます。
ピークカラーと式相
色を初めて登録すると、ROI にある個々の色の統計分析が関数によって実行されます。ピークカラーが決定され、赤チャネル、緑チャネル、青チャネルからの標準偏差が計算されます。この計算はシグマ係数と呼ばれ、式相の設定項目を調整することで、ピークカラーからの標準偏差の数が設定されます。色が登録済みの色の一部と見なされるには、標準偏差内にある必要があり、標準偏差の数によって、RGB 色チャネルの上限と下限が決まります。例えば、式相の設定項目がシグマ係数 3 に設定された場合、RGB の値がピークカラーから 3 つの標準偏差内にあるピクセルは、その色に一致するものとしてカウントされます。
暗/明線
暗/明の設定項目を調整すると、ピークカラーとシグマ係数の境界を越えてモデルを拡張し、暗/明線に沿って色の多くのバリエーションを含めることができます。これらの設定項目を使用すると、ピークカラーの比率を維持するが明度にばらつきのある RGB 値を追加/除外できます。これらの色は、原点に位置する頂点からヒストグラムの境界まで伸びてピークカラーを包含するボリューム内にあります。図 2 は、図 1 の 3D ヒストグラムを示しますが、ここでは暗/明限界があります。色の暗/明線は、暗/明限界値によって制限されます。これらの値は、色等級 (ピークカラーから原点のユークリッド距離) の割合として設定されます。暗限界と明限界の範囲値の割合も別途計算されます。
ハイライト線
ハイライト設定項目を調整すると、その色に属すると見なされる色の数を拡大できます。追加の色は、ピークカラーから始まるボリューム内に含まれます。ボリュームは図 3 に示すように、幅が暗/明ボリュームの幅に等しく、ハイライト線を抱含します。ハイライト線の上限は、調整できる唯一の制限で、色等級の割合として設定されています。
TrainExtractColor[登録] タブ
[登録] タブの設定項目は、ライブラリに色とカラーモデルを手動で登録するために使用されます。
[カラーモデル] の設定項目
ライブラリディレクトリの構造
ライブラリディレクトリ構造には、ライブラリのカラーモデルが表示されます。
- [新規モデル]: 新しいカラーモデルをライブラリに追加します。
- 名前変更: デフォルトのカラーモデル名 (Model_1) を変更できます。
- モデルを削除: 選択したカラーモデルをライブラリから削除します。
[カラー] テーブル
[カラー] テーブルには、[ライブラリ] ウィンドウで選択したカラーモデルの色、カラー名、RGB 値、操作が表示されます。
- カラーの名前変更: デフォルトのカラー名 (Color_1) を変更できます。
- [カラーの追加]: カラーモデル内の色の加色操作を指定します。
- [カラーの除外]: カラーモデル内の色の減色操作を指定します。
- [このカラーを下に移動]: カラーモデル内のカラーリストで、選択した色を下に移動します。
- [このカラーを上に移動]: カラーモデル内のカラーリストで、選択した色を上に移動します。
- [色を削除]: カラーモデル内のカラーリストから、選択した色を削除します。
[登録] の設定項目
色の登録方法、色の定義に使用する ROI、およびカラーモデル内の色の操作を指定します。
- [最も優勢な主調色]: 定義したカラーモデル内の色が 1 つ登録され、押されたボタンに応じて ([加色の作成] / [減色の作成]) に応じて、カラーモデルでその色が加色または減色されるように指定します。
-
[複数の色]: ROI にある RGB データに従って、カラーモデルに色が自動的に追加され、押されたボタン ([加色の作成] / [減色の作成]) に応じて、加色操作または減色操作が新たに作成された色に割り当てられるように指定します。その後、個々の色のプロパティを設定できます。
注 : このパラメータにより、[最小色面積] パラメータと [最初に画像を平滑化] パラメータが有効になります。 -
最初に画像を平滑化: 登録前に適用する画像平滑化係数 (0 ~ 10、デフォルト = 1) を指定して、画像のノイズを減らします。
注 : この設定項目は、[複数の色] が選択されていないと有効になりません。 -
最小色面積 (%): 色の登録に必要な、ROI 内の最小ピクセル数 (1 ~ 80、デフォルト = 2) を、ROI 内の総ピクセル数の割合として指定します。
注 : この設定項目は、[複数の色] が選択されていないと有効になりません。 - [領域の選択]: 色の定義に、矩形の ROI を使用するように指定します。
- [円の選択]: 色の定義に、円形の ROI を使用するように指定します。
- [ドーナツ領域の選択]: 色の定義に、ドーナツ形の ROI を使用するように指定します。
- [ポリゴンの選択]: 色の定義に、ポリゴンの ROI を使用するように指定します。
- [フリーハンドで描画]: 色の定義に、フリーハンド形状の ROI を使用するように指定します。
- [加色の作成]: 色の加色を指定します。
- [加色の作成]: 色の減色を指定します。
[カラー許容値] の設定項目
選択した色に対する許容値を指定します。
- [暗]: 下限 を指定します。この設定により、0,0.0 とピークカラーを通る線に沿って、色分布が低い方に広がります。
- [明]: 上限 を指定します。この設定により、0,0.0 とピークカラーを通る線に沿って、色分布が高い方に広がります。
- ハイライト: 登録のハイライトの制限 (1.0 ~ 10.0、デフォルト = 1.0) を指定します。この設定により、色分布がピークカラーから高い方 (255,255,255) へと広がります。
- [色相]: 単色のシグマ係数 (0.0 ~ 10.0、デフォルト = 2.0) を指定します。この設定により、色分布が広がって、ピークカラーに似た色を含めることができます。シグマ係数は、各カラープレーンの登録時に内部で実行される標準偏差計算です。[式相の制限] は、3 つの各カラープレーンのピークカラーについての標準偏差の数を設定します。例えば、[式相の制限] が 2.0 の場合、各カラープレーンのピークカラーの周囲に ±1 の標準偏差のボックスが設定されます。
[画像マーク] の設定項目
画像における色の表示を指定します。
- グループ全体の結果をマーク: カラーモデルのすべての色が画像名でマークされるように指定します。
- 選択した色までの結果をマーク: 3 つの色のリストから 2 番目の色を選択した場合、最初の色と 2 番目の色が画像内でマークされます。
- 選択した色のみをマーク: 選択した色だけが画像内でマークされます。
TrainExtractColor[画像] タブ
ライブラリのカラーモデルの登録に使用される画像を指定するには、[画像] タブを使用します。
- [ライブの開始]: ビジョンシステムをライブビデオモードにして、リアルタイム画像を表示します。
- [画像を開く]: ネットワークに接続されたどのビジョンシステム、ローカル PC、またはネットワーク接続された PC からでも画像をロードします。
TrainExtractColor[外部登録] タブ
外部登録用の再登録パラメータを設定するには、[外部登録] タブを使用します。
TrainExtractColorの入力パラメータ
Syntax:TrainExtractColor(画像,イベント,外部定義領域,再登録操作,再登録手順,再登録モード,カラーモデル名,暗限界,明限界,ハイライト限界,色相限界,最小カラー領域,平滑化)
カラー画像の参照を指定します。この引数は、AcquireImage 関数によって出力された有効なカラー 画像データ構造体、または ExtractColor 関数によって出力されたカラーデータ構造体を参照している必要があります。デフォルトで参照されるセルは A0 で、このセルに AcquireImage 関数によって返される画像データ構造体が含まれています。 注 : このパラメータはカラー画像を参照している必要があります。
|
|||||
カラーモデルを登録する更新イベントを指定します。このパラメータは、次のいずれかを参照している必要があります。
|
|||||
このパラメータは、Annulus、Circle、Region、EditAnnulus、EditCircle、EditCompositeRegion、EditPolygon、または EditRegion の各関数を含むスプレッドシートセルを参照できます。このパラメータを使用すると、関数は [領域] と [フィクスチャ] の設定を無視し、参照先領域で指定された画像領域を検査します。EditCompositeRegion 関数コントロールを参照している場合は、検査領域がさまざまな形状の混合となることがあります。合成領域内の各形状は、検査領域に対して加算または減算 (マスキング) されるように割り当てることができます。 注 : このパラメータが外部定義領域の参照として設定されている場合に、この関数の内部領域を使用するには、セル参照に値 0 を入力し、このパラメータを手動で 0 に設定する必要があります。それ以外の場合、この関数は引き続き外部定義領域を参照します。
|
|||||
カラーモデル内の色の操作を指定します。
|
|||||
新しい色をカラーモデルに追加するために使用する方法を指定します。
|
|||||
登録モードを指定します。
|
|||||
[登録] タブで設定される、オンライン再登録で再登録するカラーモデルの名前を指定します。カラーモデルが存在しない場合は、新しいカラーモデルが生成されます。 |
|||||
オンライン登録の下限 (0 ~ 1.0、デフォルト = 1.0) を指定します。この設定により、0,0.0 とピークカラーを通る線に沿って、色分布が低い方に広がります。 |
|||||
オンライン登録の上限 (1.0 ~ 10.0、デフォルト = 1.0) を指定します。この設定により、0,0.0 とピークカラーを通る線に沿って、色分布が高い方に広がります。 |
|||||
オンライン登録のハイライトの制限 (1.0 ~ 10.0、デフォルト = 1.0) を指定します。この設定により、色分布がピークカラーから高い方 (255,255,255) へと広がります。 |
|||||
単色オンライン登録のシグマ係数 (0.0 ~ 10.0、デフォルト = 2.0) を指定します。この設定により、色分布が広がって、ピークカラーに似た色を含めることができます。シグマ係数は、各カラープレーンの登録時に内部で実行される標準偏差計算です。[式相の制限] は、3 つの各カラープレーンのピークカラーについての標準偏差の数を設定します。例えば、[式相の制限] が 2.0 の場合、各カラープレーンのピークカラーの周囲に ±1 の標準偏差のボックスが設定されます。 注 : このパラメータは、[再登録モード] パラメータが [単色] に設定されていないと有効になりません。
|
|||||
色の登録に必要な、ROI 内の最小ピクセル数 (1 ~ 80、デフォルト = 2) を、ROI 内の総ピクセル数の割合として指定します。 注 : このパラメータは、[再登録モード] パラメータが [複数の色] に設定されていないと有効になりません。
|
|||||
登録前に適用する画像平滑化係数 (0~10、デフォルト = 1) を指定して、画像のノイズを減らします。 注 : このパラメータは、[再登録モード] パラメータが [複数の色] に設定されていないと有効になりません。
|
TrainExtractColorの出力
戻り値 | ExtractColor ツール用に登録されたカラーモデルを含む抽出カラーライブラリデータ構造体。入力パラメータが無効であれば #ERR を返します。 |
TrainExtractColorデータアクセス関数
データアクセス関数を使用して、次のデータ要素を取得できます。
GetNTrainExtClrModels(カラーライブラリ抽出) | TrainExtractColor ツールが生成した抽出カラーライブラリデータ構造体内のカラーモデルの数を返します。 |
GetTrainExtClrModelName(カラーライブラリ抽出,[インデックス]) | TrainExtractColor ツールが生成した抽出カラーライブラリデータ構造体内のインデックス付きのカラーモデルの名前を返します。 |
GetColorLibraryName(カラーライブラリ抽出) | 参照されている抽出カラーライブラリデータ構造体からカラーライブラリの名前を返します。 |