ColorToGreyscaleFilter
カラーの In-Sight センサおよびカラーを有効にしたエミュレータのみに使用な可能な ColorToGreyscaleFilter 関数は、1 つのカラーパラメータからなる単純なフィルタに基づいて、カラーの画像または対象領域 (ROI) 内の各ピクセルを、グレースケール値に変換します。カラーパラメータとは、「純」赤、緑、青 (RGB)、色相、彩度、または明度 (HSI)、明るさ、または RGB 成分の加重平均明度の補間です。
ColorToGreyscaleFilterの入力パラメータ
Syntax:ColorToGreyscaleFilter(画像,フィクスチャ.行,フィクスチャ.列,フィクスチャ.角度,領域.X,領域.Y,領域.高さ,領域.幅,領域.角度,変換,表示)
画像 |
この引数は有効なカラー画像データ構造体を含んでいるスプレッドシートのセルを参照している必要があります。デフォルトで参照されるセルは A0 で、このセルに AcquireImage 関数によって返される 画像データ構造体が含まれています。 注 : 有効なカラー画像データ構造体を返す関数は、AcquireImage 関数だけです。
|
||||||||||||||||
フィクスチャ |
フィクスチャ入力、またはビジョンツール関数の画像座標系の出力に関連する対象領域 (ROI) を定義します。フィクスチャに関連する ROI を設定すると、フィクスチャが回転または移動した場合に、フィクスチャに対応して ROI を確実に回転または移動できます。 デフォルト設定は画像の左上隅で、(0, 0, 0) になります。
|
||||||||||||||||
領域 |
これは対象領域 (ROI) とも呼ばれ、画像処理の対象となる画像の領域を指定します。変換および回転可能な矩形の画像領域を作成します。このパラメータを選択して、[領域の最大化] ボタンを押すと、画像全体が対象になるように領域が自動的に拡張されます。
|
||||||||||||||||
変換 |
変換フィルタのタイプを指定します。 注 :
|
||||||||||||||||
表示 |
画像の上に表示されるグラフィックスオーバレイを指定します。
|
ColorToGreyscaleFilterの出力
戻り値 | 処理済みの画像を含んでいる画像データ構造体。入力パラメータが無効であれば #ERR を返します。 |
ColorToGreyscaleFilter 関数の例
この例では、入力画像内の対象物は黄色の Cognex センサであり、GreyscaleDistance 関数の例でも使用されています。画像のランダムサンプリング ([表示] メニューで [オーバレイ] を選択し、センサ上でカーソルを動かしてウィンドウの左下隅にあるステータスバーに RGB 情報を表示することで、オーバーレイビューをオフに切り替えて実行します) は、このセンサについて 205-185-124、193-177-110、175-154-39、133-104-2、および 115-91-6 の RGB 値を表示します。
In-Sight スプレッドシートに関数を挿入した後、プロパティシートで「領域」という単語をダブルクリックして ROI を定義します。画像の上に赤い ROI ボックスが現れます。カーソルを使用してボックスを移動するかサイズを変更してから、In-Sight ツールバーにある緑の「チェックマーク」アイコンをクリックし (または、キーボードの Enter キーを押し)、選択を確定してプロパティシートに戻ります。
変換フィルタを選択し、そのほかのパラメータについてはデフォルト設定を受け入れ、プロパティシートで [OK] をクリックしてこの例の設定を完了し、関数を入力画像に適用します。
赤、緑、青のフィルタが適用された 3 つの出力画像を、それぞれ下記に示します。予測されるように、センサの黄色は赤のフィルタが適用された画像で最も明るくなっています。これは、黄色のセンサでは赤が最も強い色成分だからです (画像の赤の最大の値は 210、平均は 116、中央値は 127 です)。入力ピクセルの値がフィルタの値に近いほど、出力ピクセルは明るくなります。
センサの黄色は、緑のフィルタが適用された画像ではわずかに暗くなります。これは、赤と比較して、含まれている緑が少ないからです (最大は 199、平均は 112、中央値は 125)。
センサの黄色は、青のフィルタが適用された画像で最も暗くなります。これは、赤と比較して、含まれている青が少ないからです (最大は 197、平均は 101、中央値は 121)。