ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

imabsdiff

2 つのイメージの差の絶対値

説明

Z = imabsdiff(X,Y) は配列 Y 内の各要素を配列 X 内の対応する要素から減算し、出力配列 Z の対応する要素に差の絶対値を返します。

オプションで、XY の差の絶対値の計算を GPU を使用して実行できます (Parallel Computing Toolbox™ が必要)。詳細は、GPU での画像処理を参照

すべて折りたたむ

イメージをワークスペースに読み取ります。

I = imread('cameraman.tif');

イメージをフィルター処理します。

J = uint8(filter2(fspecial('gaussian'), I));

2 つのイメージの差の絶対値を計算します。

K = imabsdiff(I,J);

差の絶対値のイメージを表示します。

figure
imshow(K,[])

イメージを読み取り、gpuArray に変換します。

I = gpuArray(imread('cameraman.tif'));

イメージのフィルター処理を GPU で実行します。

J = imgaussfilt(I);

フィルター処理されたイメージと元のイメージの差の絶対値を計算します。

K = imabsdiff(I,J);

差の絶対値のイメージを表示します。

figure
imshow(K,[])

入力引数

すべて折りたたむ

入力イメージ。任意の次元の実数の非スパース数値配列として指定します。

GPU を使用して差の絶対値を計算するには、X を数値配列を含む gpuArray として指定します。

例: x = imread('cameraman.tif');

例: X = gpuArray(imread('cameraman.tif'));

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

入力イメージ。数値配列として指定します。Y のサイズとクラスは X と同じでなければなりません。

GPU を使用して差の絶対値を計算するには、YX 内の配列と同じサイズとクラスの数値配列を含む gpuArray として指定します。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

出力引数

すべて折りたたむ

差分イメージ。数値配列として返されます。Z のクラスとサイズは X および Y と同じになります。XY が整数配列の場合、imabsdiff は整数型の範囲を超える出力の要素を切り捨てます。

GPU を使用して差分イメージを計算する場合、ZX および Y 内の配列と同じサイズとクラスの数値配列を含む gpuArray として返されます。

ヒント

  • X のクラスが double の場合、この関数の代わりに式 abs(X-Y) を使用します。

  • X のクラスが logical の場合、この関数の代わりに式 XOR(X,Y) を使用します。

  • XY のクラスが uint8int16 または single の場合、imabsdiff はハードウェアの最適化を使用して実行を高速化できます。

  • XY の少なくとも 1 つが gpuArray である場合、imabsdiff は GPU で実行されます。両方の入力が gpuArray である必要はありません。

拡張機能

R2006a より前に導入