Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

imabsdiff

Diferencia absoluta de dos imágenes

Sintaxis

Z = imabsdiff(X,Y)
gpuarrayZ = imabsdiff(gpuarrayX,gpuarrayY)

Descripción

ejemplo

Z = imabsdiff(X,Y) resta cada elemento de array Y del elemento correspondiente en array X y devuelve la diferencia absoluta en el elemento correspondiente de la matriz de salida Z.

ejemplo

gpuarrayZ = imabsdiff(gpuarrayX,gpuarrayY) realiza el cómputo en una GPU, si al menos una de las entradas es un gpuArray. La imagen de salida es un gpuArray. Esta sintaxis requiere el Parallel Computing Toolbox™.

Ejemplos

contraer todo

Lea la imagen en el espacio de trabajo.

I = imread('cameraman.tif');

Filtrar la imagen.

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

Calcule la diferencia absoluta de las dos imágenes.

K = imabsdiff(I,J);

Mostrar la imagen de diferencia absoluta.

figure imshow(K,[])

Lea la imagen y conviertala a un GPUarray.

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

Filtrar la imagen, realizando la operación en una GPU.

J = imfilter(I,fspecial('gaussian')); 

Calcule la diferencia absoluta entre la imagen filtrada y la imagen original.

K = imabsdiff(I,J); 

Mostrar la imagen de diferencia absoluta.

figure imshow(K,[]) 

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como una matriz numérica real, no Sparse. X debe tener el mismo tamaño y clase que Y.

Si X es de clase double, utilice la expresión abs(X-Y) en lugar de esta función. Si X es de clase logical, utilice la expresión XOR(X,Y) en lugar de esta función.

Ejemplo: Z = imabsdiff(X,Y);

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Imagen de entrada, especificada como una matriz numérica real, no Sparse. Y debe tener el mismo tamaño y clase que X.

Si Y es de clase double, utilice la expresión abs(X-Y) en lugar de esta función. Si Y es de clase logical, utilice la expresión XOR(X,Y) en lugar de esta función.

Ejemplo: Z = imabsdiff(X,Y);

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Imagen de entrada, especificada como GPUarray.

Ejemplo: gpuarrayZ = imabsdiff(gpuarrayX,gpuarrayY);

Imagen de entrada, especificada como GPUarray.

Ejemplo: gpuarrayZ = imabsdiff(gpuarrayX,gpuarrayY);

Argumentos de salida

contraer todo

Imagen de diferencia, devuelta como un array real, no Sparse, numérico. Z tiene la misma clase y tamaño que X y Y. Si X y Y son matrices de enteros, imabsdiff trunca los elementos de la salida que excedan el intervalo del tipo entero.

Imagen de la diferencia, devuelto como gpuArray. gpuarrayZ tiene la misma clase y tamaño que gpuarrayX y gpuarrayY.

Sugerencias

  • Cuando X y Y son de clase uint8, int16o single, imabsdiff podría aprovechar la optimización del hardware para ejecutarse más rápido.

Capacidades ampliadas

Introducido antes de R2006a