Main Content

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.

imresize

Cambiar el tamaño de la imagen

Descripción

ejemplo

J = imresize(I,scale) devuelve la imagen que es veces el tamaño de .JscaleI La imagen de entrada puede ser una imagen en escala de grises, RGB, binaria o categórica.I Si tiene más de dos dimensiones, solo cambia el tamaño de las dos primeras dimensiones.Iimresize

Opcionalmente, puede cambiar el tamaño de las imágenes usar una GPU (requiere ).Parallel Computing Toolbox™ Para obtener más información, consulte .Capacidades extendidas

ejemplo

J = imresize(I,[numrows numcols]) devuelve la imagen que tiene el número de filas y columnas especificado por el vector .J[numrows numcols]

ejemplo

[Y,newmap] = imresize(X,map,___) cambia el tamaño de la imagen indexada con el mapa de colores .Xmap De forma predeterminada, devuelve un mapa de colores optimizado, , con la imagen indexada redimensionada.imresizenewmap Para devolver un mapa de colores que sea el mismo que el mapa de colores original, utilice el argumento de par nombre-valor.Colormap

Esta sintaxis no se admite en una GPU.

ejemplo

___ = imresize(___,method) especifica el método de interpolación utilizado.

___ = imresize(___,Name,Value) utiliza argumentos de par nombre-valor para controlar varios aspectos de la operación de cambio de tamaño.

Esta sintaxis no se admite en una GPU.

Ejemplos

contraer todo

Lea la imagen en el espacio de trabajo.

I = imread('rice.png');

Cambie el tamaño de la imagen, especificando el factor de escala y utilizando el método de interpolación y el antialiasing predeterminados.

J = imresize(I, 0.5);

Muestre el original y la imagen redimensionada.

figure imshow(I) title('Original Image')

figure imshow(J) title('Resized Image')

Lea la imagen en el espacio de trabajo.

I = imread('rice.png');

Cambie el tamaño de la imagen, especificando el factor de escala y el método de interpolación.

J = imresize(I, 0.5, 'nearest');

Muestre el original y la imagen redimensionada.

figure imshow(I) title('Original Image')

figure imshow(J) title('Resized Image Using Nearest-Neighbor')

Lea la imagen en el espacio de trabajo.

[X, map] = imread('trees.tif');

Cambie el tamaño de la imagen especificando un factor de escala. De forma predeterminada, devuelve un mapa de color optimizado con la imagen indexada redimensionada.imresize

[Y, newmap] = imresize(X, map, 0.5);

Muestre la imagen original y la imagen redimensionada.

figure imshow(X,map) title('Original Image')

figure imshow(Y,newmap) title('Resized Image')

Lea la imagen en el espacio de trabajo.

RGB = imread('peppers.png');

Cambie el tamaño de la imagen, especificando que la imagen de salida tiene 64 filas. Vamos a calcular el número de columnas necesarias para conservar la relación de aspecto.imresize

RGB2 = imresize(RGB, [64 NaN]);

Muestre la imagen original y la imagen redimensionada.

figure imshow(RGB) title('Original Image')

figure imshow(RGB2) title('Resized Image')

Argumentos de entrada

contraer todo

Imagen que se va a cambiar de tamaño, especificada como una matriz numérica, lógica o categórica de cualquier dimensión. Si tiene más de dos dimensiones, solo cambia el tamaño de las dos primeras dimensiones.Iimresize

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

Factor de cambio de tamaño, especificado como un escalar positivo.

  • Si es menor que 1, la imagen de salida es más pequeña que la imagen de entrada.scale

  • Si es mayor que 1, la imagen de salida es mayor que la imagen de entrada.scale

aplica el factor de escala a cada dimensión del volumen.imresize Para obtener información sobre cómo especificar una escala diferente para cada dimensión, consulte .'Scale'

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

Dimensiones de fila y columna de la imagen de salida, especificadas como un vector de 2 elementos de enteros positivos. Puede especificar el valor para cualquiera o .NaNnumrowsnumcols En este caso, calcula automáticamente el número de filas o columnas de esa dimensión, conservando la relación de aspecto de la imagen.imresize

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

Imagen indexada que se va a cambiar de tamaño, especificada como una matriz numérica.

Tipos de datos: double | uint8 | uint16

Mapa de colores asociado a la imagen indexada , especificado como unX -por-3 matriz numérica con valores en el rango [0, 1].c Cada fila es un triplete RGB de tres elementos que especifica los componentes rojo, verde y azul de un solo color del mapa de colores.

Tipos de datos: double

Método de interpolación o kernel, especificado como un escalar de cadena, vector de caracteres o matriz de celdas de 2 elementos.

Cuando es un vector escalar o de caracteres de cadena, identifica un método determinado o un kernel de interpolación con nombre, que se muestra en la tabla siguiente.method

MétodoDescripción

'nearest'

Interpolación de vecino más cercano; al píxel de salida se le asigna el valor del píxel en el que se encuentra el punto. No se tienen en cuenta otros píxeles.

La interpolación de vecino más cercano es el único método de interpolación admitido para imágenes categóricas y es el método predeterminado para las imágenes de este tipo.

'bilinear'

Interpolación bilineal; el valor del píxel de salida es un promedio ponderado de píxeles en la vecindad 2 por 2 más cercana.

'bicubic'

Interpolación bicúbica; el valor del píxel de salida es un promedio ponderado de píxeles en la vecindad 4 por 4 más cercana. La interpolación bicúbica es el método predeterminado para las imágenes numéricas y lógicas.

Nota

La interpolación bicúbica puede producir valores de píxel esmás fuera del rango original.

Kernel de interpolaciónDescripción
'box'

Núcleo en forma de caja

El núcleo en forma de caja es el único kernel de interpolación compatible con imágenes categóricas.

'triangle'Núcleo triangular (equivalente a )'bilinear'
'cubic'Núcleo cúbico (equivalente a )'bicubic'
'lanczos2'Kernel Lanczos-2
'lanczos3'Kernel Lanczos-3

Cuando es una matriz de celdas de 2 elementos, define un kernel de interpolación personalizado.method La matriz de celdas tiene la forma , , donde es un identificador de función para un kernel de interpolación personalizado y es el ancho del kernel personalizado. ( ) debe ser cero fuera del intervalofwfwfx -w/2 <= x < w/2. El identificador de función se puede llamar con una entrada escalar o vectorial.f Para los kernels de interpolación especificados por el usuario, la imagen de salida puede tener algunos valores ligeramente fuera del rango de valores de píxel en la imagen de entrada.

Tipos de datos: char | string | cell

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como .Name1,Value1,...,NameN,ValueN

Ejemplo: I2 = imresize(I,0.5,'Antialiasing',false);

Realice el antialiasing al reducir una imagen, especificado como el par separado por comas que consta de o .'Antialiasing'truefalse

  • Si la interpolación es , el valor predeterminado de es .method'nearest''Antialiasing'false

  • Si la interpolación es el kernel de interpolación y la imagen de entrada es categórica, el valor predeterminado de es .method'box''Antialiasing'false

  • Para todos los demás métodos de interpolación, el valor predeterminado es .true

Tipos de datos: logical

Devuelve un mapa de colores optimizado u original para la imagen indexada, especificado como el par separado por comas que consta de y uno de los siguientes.'Colormap'

ValorDescripción
'original'El mapa de colores de salida es el mismo que el mapa de colores de entrada.newmapmap
'optimized'devuelve un nuevo mapa de colores optimizado.imresize

El argumento solo es válido al cambiar el tamaño de las imágenes indizadas.'Colormap'

Tipos de datos: char | string

Realice el tramado de color, especificado como el par separado por comas que consta de y o .'Dither'truefalse En el tramado, se aplica una forma de ruido a la imagen para aleatorizar el error de cuantificación y evitar patrones a gran escala.

Este argumento solo es válido cuando se redimensiona n.o de imágenes indizadas, .X

Tipos de datos: logical

Método de interpolación, especificado como el par separado por comas que consta de una cadena escalar, un vector de caracteres o una matriz de celdas de 2 elementos.'Method' Para obtener más información, consulte .method

Tipos de datos: char | string | cell

Tamaño de la imagen de salida, especificado como el par separado por comas que consta de un vector de 2 elementos de enteros positivos de la forma.'OutputSize'[numrows numcols]

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

Cambie el tamaño del factor de escala, especificado como el par separado por comas que consta de un número positivo o un vector de 2 elementos de números positivos.'Scale' Al especificar un escalar, aplica el mismo factor de escala a cada dimensión de la imagen.imresize Si especifica un vector de 2 elementos de valores de escala, aplica un valor de escala diferente a cada dimensión.imresize

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

Argumentos de salida

contraer todo

Imagen redimensionada, devuelta como una matriz numérica, lógica o categórica de la misma clase que la imagen de entrada, .I

Imagen indizada redimensionada, devuelta como una matriz numérica de la misma clase que la imagen indizada de entrada, .X

Mapa de colores optimizado, devuelto como -por-3 matriz numérica con valores en el rango [0, 1].c Cada fila es un triplete RGB de tres elementos que especifica los componentes rojo, verde y azul de un solo color del mapa de colores.

Sugerencias

  • La función cambió en la versión 5.4 (R2007a).imresize Las versiones anteriores de la utilizaununun un algoritmo diferente de forma predeterminada.Image Processing Toolbox™ Si necesita los mismos resultados generados por la implementación anterior, utilice la función .imresize_old

  • Hay una ligera diferencia numérica entre los resultados de la CPU y la GPU.imresize Estas diferencias se producen en los bordes derecho e inferior de la imagen y apenas se notan a simple vista.

  • Si el tamaño de la imagen de salida no es un entero, no utilice la escala especificada. se utiliza al calcular el tamaño de la imagen de salida.imresizeimresizeceil

Capacidades ampliadas

Introducido antes de R2006a