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.

Cambiar el tamaño de una imagen con la función de redimensionar

En este ejemplo se muestra cómo cambiar el tamaño de una imagen mediante la función.imresize

Especifique el valor de ampliación

Lea una imagen en el espacio de trabajo.

I = imread('circuit.tif');

Cambie el tamaño de la imagen mediante la función.imresize En este ejemplo, se especifica un factor de ampliación. Para ampliar una imagen, especifique un factor de ampliación mayor que 1.

J = imresize(I,1.25);

Muestre la imagen original junto a la versión ampliada.

figure imshowpair(I,J,'montage') axis off

Especifique el tamaño de la imagen de salida

Cambie el tamaño de la imagen de nuevo, esta vez especificando el tamaño deseado de la imagen de salida, en lugar de un valor de ampliación. Pase un vector que contenga el número de filas y columnas de la imagen de salida.imresize Si el tamaño especificado no produce la misma relación de aspecto que la imagen de entrada, la imagen de salida se distorsionará. Si especifica uno de los elementos del vector como , calcula el valor de esa dimensión para conservar la relación de aspecto de la imagen.NaNimresize Para realizar el cambio de tamaño necesario para el procesamiento de varias resoluciones, utilice .impyramid

K = imresize(I,[100 150]); figure, imshow(K)

Especifique el método de interpolación

Cambie el tamaño de la imagen de nuevo, esta vez especificando el método de interpolación. Al ampliar una imagen, la imagen de salida contiene más píxeles que la imagen original. utiliza la interpolación para determinar los valores de estos píxeles, calculando un promedio ponderado de algún conjunto de píxeles en las proximidades de la ubicación del píxel. basa las ponderaciones en la distancia que cada píxel está desde el punto.imresizeimresize De forma predeterminada, utiliza la interpolación bicúbica, pero puede especificar otros métodos de interpolación o kernels de interpolación.imresize Consulte la página de referencia para obtener una lista completa.imresize También puede especificar su propio kernel de interpolación personalizado. En este ejemplo se utiliza la interpolación bilineal.

L = imresize(I,1.5,'bilinear'); figure, imshow(L)

Evitar el alias al reducir una imagen

Cambie el tamaño de la imagen de nuevo, esta vez reduciendo la imagen. Cuando se reduce el tamaño de una imagen, se pierden algunos de los píxeles originales porque hay menos píxeles en la imagen de salida. Esto puede introducir artefactos, como aliasing. El alias que se produce como resultado de la reducción de tamaño normalmente aparece como patrones de paso de escalera (especialmente en imágenes de alto contraste) o como patrones moire (efecto de ondulación) en la imagen de salida. De forma predeterminada, utiliza el antialiasing para limitar el impacto del alias en la imagen de salida para todos los tipos de interpolación excepto el vecino más cercano.imresize Para desactivar el suavizado de suavizado, especifique el parámetro 'Antialiasing' y establezca el valor en false. Incluso con el suavizado activado, el cambio de tamaño puede introducir artefactos porque la información siempre se pierde cuando se reduce el tamaño de una imagen.

M = imresize(I,.75,'Antialiasing',false); figure, imshow(M)