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

Redimensionar imagen

Descripción

ejemplo

J = imresize(I,scale) Devuelve una imagen que es el tamaño de la imagen en escala de grises, RGB o binaria.JscaleI Si tiene más de dos dimensiones, sólo cambia el tamaño de las dos primeras dimensiones.Iimresize De forma predeterminada, utiliza la interpolación bicúbica y realiza el suavizado de contorno.imresize

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

ejemplo

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

ejemplo

[Y,newmap] = imresize(X,map,___) cambia el tamaño de la imagen indexada con mapa de colores.Xmap De forma predeterminada, devuelve un mapa de colores optimizado, con la imagen redimensionada.imresizenewmap Para devolver un mapa de colores que es el mismo que el mapa de colores original, use 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.

Solo los métodos de interpolación y se admiten en una GPU.'bicubic''cubic'

___ = imresize(___,Name,Value) usa 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

Leer 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 predeterminado y antialiasing.

J = imresize(I, 0.5);

Visualice la imagen original y redimensionada.

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

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

Leer la imagen en el espacio de trabajo en un.gpuArray

I = im2double(gpuArray(imread('rice.png'))); 

Cambie el tamaño de la imagen, realizando la operación en una GPU.

J = imresize(I, 0.5); 

Visualice la imagen original y la imagen redimensionada.

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

Leer 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');

Visualice la imagen original y redimensionada.

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

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

Leer 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 indizada redimensionada.imresize

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

Visualice la imagen original y la imagen redimensionada.

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

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

Leer 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 preservar la relación de aspecto.imresize

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

Visualice la imagen original y la imagen redimensionada.

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

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

Leer la imagen en el espacio de trabajo en un.gpuArray

RGB = gpuArray(im2single(imread('peppers.png')));

Cambie el tamaño de la imagen, realizando la operación en una GPU.

RGB2 = imresize(RGB, 0.5); 

Visualice la imagen original y la imagen redimensionada.

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

Argumentos de entrada

contraer todo

Imagen que se debe redimensionar, especificada como una matriz numérica o lógica de cualquier dimensión.

Para cambiar el tamaño de las imágenes mediante una GPU, especifique como una que contenga una matriz numérica de tipo de datos o.IgpuArraydoublesingle

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

Factor de redimensionamiento, especificado como un número positivo.

  • Si es menor que 1, la imagen de salida (o) es más pequeña que la imagen de entrada (o).scaleJYIX

  • Si es mayor que 1, la imagen de salida es mayor que la imagen de entrada.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 números positivos. Cualquiera o puede ser, en cuyo caso calcula el número de filas o columnas automáticamente para preservar la proporción de aspecto de la imagen.numrowsnumcolsNaNimresize

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

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

Tipos de datos: double | uint8 | uint16

Mapa de colores asociado a la imagen indexada, especificada como matriz numérica a-por-3.Xc

Tipos de datos: double

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

Cuando es un vector de carácter escalar o de caracteres, 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 consideran otros píxeles.

'bilinear'

Interpolación bilineal; el valor de 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 de píxel de salida es un promedio ponderado de píxeles en la vecindad 4 por 4 más cercana

Nota

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

Interpolation KernelDescripción
'box'Kernel en forma de caja
'triangle'Kernel triangular (equivalente a)'bilinear'
'cubic'Kernel cúbico (equivalente a)'bicubic'
'lanczos2'El kernel Lanczos-2
'lanczos3'El kernel Lanczos-3

Cuando se trata de una matriz de celdas de 2 elementos, define un kernel de interpolación personalizado.method La matriz de celdas tiene el formato {,}, 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 un escalar o una entrada 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 de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.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 suavizado de contorno al reducir una imagen, especificada como el par separado por comas que consta de y o.'Antialiasing'truefalse

  • Si es más cercano-vecino (), entonces el valor predeterminado es.method'nearest''Antialiasing'false

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

Tipos de datos: logical

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

  • : El mapa de colores de salida es el mismo que el mapa de colores de entrada.'original'newmapmap

  • : devuelve un nuevo mapa de colores optimizado.'optimized'imresize

Este argumento solo es válido al cambiar el tamaño de las imágenes indexadas.

Tipos de datos: char | string

Realizar 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 los patrones a gran escala.

Este argumento solo es válido al cambiar el tamaño de las imágenes indexadas.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, especificada como el par separado por comas que consta de y un vector numérico de 2 elementos del formulario.'OutputSize'[numrows numcols]

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

Cambiar 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'

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 o lógica de la misma clase que la imagen de entrada,.I

Si se cambia el tamaño de la imagen con una GPU, se devuelve como una matriz numérica.JgpuArray

Se ha cambiado el tamaño de la imagen indexada, devuelta como una matriz numérica de la misma clase que la imagen indexada de entrada.X

Mapa de colores optimizado, devuelto como una matriz numérica de-por-3.c

Sugerencias

  • La función ha cambiado en la versión 5,4 (R2007a).imresize Las versiones anteriores de la utilizan un algoritmo diferente de forma predeterminada.Image Processing Toolbox™ Si necesita los mismos resultados producidos 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 ocurren 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. utiliza al calcular el tamaño de la imagen de salida.imresizeimresizeceil

Capacidades ampliadas

Introducido antes de R2006a