WhiteBalance

カラーの In-Sight センサおよびカラーを有効にしたエミュレータを使用している場合のみ、WhiteBalance 関数を使用できます。WhiteBalance は、画像の赤、緑および青 (RGB) 値を計算し、In-Sight ジョブに保存されたカラーテーブルに従って補正を行うことによって、画像のカラーキャスト (色かぶり) を削除します。その結果、白いアイテムが画像でも白く表示されます。

ユーザは、基準となるニュートラル (灰色) 画像を取り込んで、カラーテーブルを作成する必要があります。画像全体に 18-18-18 のような均一の RGB 値を持つ灰色の画像をニュートラル画像と呼びます。このとき、画像を飽和状態 (255-255-255) にしないでください。推奨する方法は、白紙の画像を取り込む方法です。

WhiteBalance は各カラーチャネル (赤、緑、青) のヒストグラムを作成します。そして、最も大きな値を各チャネルの値で割ることでスケールファクタ (倍率) を求め、これを RGB 値の均等化に使用します。例えば、200-100-50 の RGB 値によって、1-2-4 倍のスケールファクタが求められます。

使用中のセンサのカラーテーブル設定は、ジョブファイルに保存されています。適切な WhiteBalance 情報を画像に適用するには、画像のロードや取り込みの前にジョブをロードする必要があります。

:  WhiteBalance 関数は、AcquireImage プロパティシートのホワイトバランス領域を参照し、このパラメータを使用してホワイトバランスを計算します。

WhiteBalanceの入力パラメータ

Syntax:WhiteBalance(画像)

画像

この引数は有効なカラー画像データ構造体を含んでいるスプレッドシートのセルを参照している必要があります。デフォルトで参照されるセルは A0 で、このセルに AcquireImage 関数によって返される 画像データ構造体が含まれています。

:  : 有効なカラー画像データ構造体を返す関数は、AcquireImage 関数だけです。

WhiteBalanceの出力

戻り値

WhiteBal データ構造体。入力パラメータが無効であれば #ERR を返します。

:  WhiteBalance 関数は、セル状態が無効なスプレッドシートに挿入されます。その結果、画像は 1 回だけホワイトバランスが調整され、スプレッドシートが更新されるたびにホワイトバランスが醸成されることがなくなります。

WhiteBalance 関数の例

この例では、対象物 (センサレンズ) の入力済み画像に、修正の必要なダークブルーのキャスト (下) があります。

ユーザはまず、視野 (FOV) から対象物を削除し、代わりに白紙を配置します。次に、WhiteBalance をスプレッドシートに挿入するだけで、画像から青いキャストが除去されます。次に、プロパティシートの [OK] をクリックして、ジョブへのこの関数の追加を確定します。ジョブファイルに保存されるカラーテーブルを作成するには、紙の画像を取り込みます。対象物が FOV に戻り、画面に表示されると、青いキャストが完全になくなっています (下)。