# ImageMath

多目的関数である ImageMath は、各ピクセルが、2 つの入力画像間で実行された算術演算 (加算、減算、平均など) の結果となるグレースケールまたは白黒の出力画像を生成します。

## ImageMath の入力

パラメータ | 説明
画像 1 |
画像 2 |
操作 | グレースケールまたは白黒の出力画像を生成する画像処理演算を指定します。
0 = 差 (デフォルト) | 画像 1 – 画像 2 の絶対値。このパラメータは、画像 1 と画像 2 のグレースケール値の差を計算します。画像の順序は関係ありません。
画像 1 | 画像 2 |  | 出力画像
1 = 減算 | 画像 1 – 画像 2。このパラメータは、画像 1 のグレースケール値から画像 2 のグレースケール値を減算します。画像の順序は関係ありません。
画像 1 | 画像 2 |  | 出力画像
2 = 加算 | 画像 1 + 画像 2。このパラメータは、画像 1 と画像 2 のグレースケール値を加算します。
画像 1 | 画像 2 |  | 出力画像
3 = 最大 | 画像 1 と画像 2 を比較した最大値。このパラメータは、画像 1 と画像 2 を比較し、最大のグレースケール値を持つピクセルを選択します。
4 = 最小 | 画像 1 と画像 2 を比較した最小値。このパラメータは、画像 1 と画像 2 を比較し、最小のグレースケール値を持つピクセルを選択します。
5 = 平均 | 画像 1 と画像 2 の平均値。このパラメータは、画像 1 と画像 2 のグレースケール値を加算し、2 で除算します。
表示 X | 左上隅を基準に、出力画像を表示する X 座標 (デフォルト = 0) を指定します。
表示 Y | 左上隅を基準に、出力画像を表示する Y 座標 (デフォルト = 0) を指定します。
表示 | 画像の上に表示するグラフィックスオーバーレイを指定します。
0 = 非表示 (デフォルト) | ImageMath 関数を含んでいるセルがスプレッドシート内でハイライトされている場合を除き、グラフィックス項目は表示されません。
1 = 結果のグラフィックスのみ | 処理された画像が常に表示されます。

## ImageMath の出力

戻り値 | 処理済みの画像を含んでいる Image データ構造体。入力パラメータが無効であれば #ERR を返します。

## ImageMath の例

この例の目的は、ガスケットの穴のみを含む出力ファイルを生成することです。後で、これらの穴を別のツールで参照し、穴に関する決定を行うことができます。

画像 1 では、ガスケット全体の画像 (下図) を取り込みます。

画像 2 を画像 1 のコピーにしたいのですが、白い穴をすべて塗りつぶす必要があります。これを生成するには、Filter 関数をスプレッドシートに挿入し、プロパティシートで「領域」という単語を選択して、プロパティシートのツールバーにある [領域の最大化] ボタンをクリックして、ROI を最大化します。ROI を最大化すると、画像 1 と画像 2 の ROI が同じサイズになります。

プロパティシートで [フィルタ種類] ドロップダウンメニューから [白穴塗りつぶし] を選択し、その他のパラメータについてはデフォルト設定を受け入れ、Filter プロパティシートで [OK] をクリックしてこの例の設定を完了し、関数を入力画像に適用します (下の結果を参照)。

次に、ImageMath 関数をスプレッドシートに挿入し、プロパティシートで A0 を画像 1 として受け入れます。ここで、Filter 出力画像を画像 2 のソースとして参照する必要があります。プロパティシートで「画像 2」という単語をダブルクリックすると、In-Sight スプレッドシートが表示されます。Filter 関数が返した Image データ構造体をクリックし、[ジョブの編集] ツールバーの [OK] ボタンをクリックして選択を確定し、ImageMath プロパティシートに戻ります。(Enter キーを押すか、Image データ構造体をダブルクリックしても、選択を確定できます。)

プロパティシートで [フィルタ種類] ドロップダウンメニューから [差分] を選択し、その他のパラメータについてはデフォルト設定を受け入れ、ImageMath プロパティシートで [OK] をクリックしてこの例の設定を完了し、関数を入力画像に適用します。

結果は、ガスケットの穴のみの出力画像となります (下図)。