MatchColor

MatchColor 関数は、TrainMatchColor 関数によって返されたマッチカラーライブラリデータ構造体を参照し、対象領域 (ROI) の中で、TrainMatchColor カラーライブラリで登録された色に一致する色を判定します。MatchColor 関数はカラーデータ構造体を出力します。この構造体には、マッチカラーライブラリデータ構造体で参照されるアクティブなカラーごとに、色の距離と一致得点、および全体的な信頼性得点が含まれます。

MatchColorの入力パラメータ

Syntax:MatchColor(画像,フィクスチャ.行,フィクスチャ.列,フィクスチャ.角度,領域.X,領域.Y,領域.高さ,領域.幅,領域.角度,領域.カーブ,外部領域,カラーライブラリ,カラー空間,表示)

[全般] タブ

画像

カラー画像の参照を指定します。この引数は、AcquireImage 関数によって出力された有効なカラー画像データ構造体、または別の MatchColor 関数によって出力されたカラーデータ構造体を参照している必要があります。デフォルトで参照されるセルは A0 で、このセルに AcquireImage 関数によって返される画像データ構造体が含まれています。

:  このパラメータはカラー画像を参照している必要があります。
フィクスチャ

フィクスチャ入力、またはビジョンツール関数の画像座標系の出力に関連する対象領域 (ROI) を定義します。フィクスチャに関連する ROI を設定すると、フィクスチャが回転または移動した場合に、フィクスチャに対応して ROI を確実に回転または移動できます。

デフォルト設定は画像の左上隅で、(0, 0, 0) になります。

画像座標での行オフセット。
画像座標での列オフセット
角度 画像座標系での方位角
領域

これは対象領域 (ROI) とも呼ばれ、解析の対象となる画像の領域を表します。変換および回転可能な矩形の画像領域を作成します。このパラメータを選択して、プロパティシートのツールバーにある [領域の最大化] ボタンを押すと、画像全体が対象になるように領域が自動的に拡張されます。

X フィクスチャ座標での原点の X オフセット
Y フィクスチャ座標での原点の Y オフセット
高さ 領域の X 軸に沿った寸法。
領域の Y 軸に沿った寸法。
角度 フィクスチャ座標での角度。
カーブ 領域の X 軸と反対側の境界線との間の角度変位。
:  
  • ピクセルがカウントされるようにするには、ピクセルが画像領域の範囲内に完全に含まれている必要があります。部分的に含まれているピクセルは計算されません。
  • [フィクスチャ] および [領域] パラメータは、画像の範囲内で定義されている必要があります。画像の範囲内で定義されていない場合、この関数は #ERR を返します。
外部領域

このパラメータは、AnnulusCircleRegionEditAnnulusEditCircleEditCompositeRegionEditPolygon、または EditRegion の各関数を含むスプレッドシートセルを参照できます。このパラメータを使用すると、関数は [領域] と [フィクスチャ] の設定を無視し、参照先領域で指定された画像領域を検査します。EditCompositeRegion 関数コントロールを参照している場合は、検査領域がさまざまな形状の混合となることがあります。合成領域内の各形状は、検査領域に対して加算または減算 (マスキング) されるように割り当てることができます。

:  このパラメータが外部定義領域の参照として設定されている場合に、この関数の内部領域を使用するには、セル参照に値 0 を入力し、このパラメータを手動で 0 に設定する必要があります。それ以外の場合、この関数は引き続き外部定義領域を参照します。
カラーライブラリ

必要なカラーを含む TrainMatchColor 関数への参照を指定します。

:  これは、TrainMatchColor マッチカラーライブラリデータ構造体を参照している必要があります。この関数は、TrainExtractColor 関数によって出力された抽出カラーライブラリデータ構造体は参照できません。参照すると、MatchColor 関数は #ERR を返します。
カラー空間

色の距離を計測するために使用するカラー空間を指定します。

0 = RGB (デフォルト) 関数は、RGB カラー空間で動作します。
1 = HSI

関数は、HSI カラー空間で動作します。

:  ExtractColorHistogram 関数で返された HSI 値は、MatchColor 関数と TrainMatchColor 関数で返される HSI 値と異なることがあります。MatchColor 関数と TrainMatchColor 関数は、HSI の処理の前にピクセルの平均値を出し、ExtractColorHistogram 関数は HSI の処理の後にピクセルの平均値を出します。画像で検出される色のランダム性に応じて相違が大きくなります。
表示

画像上にオーバレイする MatchColor グラフィックスの表示モードを指定します。

0 = 非表示 (デフォルト) MatchColor 関数を含んでいるセルがスプレッドシート内のアクティブセルである場合を除き、すべてのグラフィックスが表示されません。
1 = 入力のグラフィックスのみ 入力画像領域が常に表示されます。

[カラー] タブ

参照する TrainMatchColor マッチカラーライブラリデータ構造体から抽出するカラーを指定します。デフォルトでは、参照するライブラリ内に登録されているカラーがすべて自動的に有効になります。

:  SetMatchClrColorState 関数を使用して、スプレッドシートからカラーを有効にすることもできます。

MatchColorの出力

戻り値 アクティブなカラーから ROI 内の平均色までの RGB および HSI での色の距離を含むカラーデータ構造体。入力パラメータが無効であれば #ERR を返します。
結果 MatchColor 関数を初めてセルに挿入すると、スプレッドシート内に結果テーブルが自動的に作成されます。

MatchColorデータアクセス関数

次のデータアクセス関数がスプレッドシートに自動挿入され、結果テーブルが作成されます。

インデックス GetMatchClrColorByRank(色, ランク) ランク別の色インデックス。
MatchColor の色 GetActiveMatchClrColorName(色, インデックス) インデックス別の名前。
得点 GetMatchClrScoreByIndex(色, インデックス) インデックス別の色得点。
色距離 GetMatchClrDistByIndex(色, インデックス) インデックス別の色の距離。
信頼性得点 GetConfidenceScore(色) 検査の信頼性得点。