Contenido principal

augment

Aplicar transformaciones aleatorias idénticas a varias imágenes

Descripción

augI = augment(augmenter,I) aumenta la imagen I usando una transformación aleatoria del conjunto de opciones de preprocesamiento de imágenes definidas por el aumentador de datos de imágenes, augmenter. Si I consta de varias imágenes, augment aplica una transformación idéntica a todas las imágenes.

ejemplo

Ejemplos

contraer todo

Cree un aumentador de imágenes que rota las imágenes en un ángulo aleatorio. Para usar un intervalo personalizado de ángulos de rotación válidos, puede especificar un identificador de función al crear el aumentador. En este ejemplo se especifica una función denominada myrange (definida al final del ejemplo) que selecciona un ángulo entre dos intervalos disjuntos.

imageAugmenter = imageDataAugmenter(RandRotation=@myrange);

Lea varias imágenes en el área de trabajo y muestre las imágenes.

img1 = imread("peppers.png");
img2 = imread("corn.tif",2);
inImg = imtile({img1,img2});
imshow(inImg)

Figure contains an axes object. The hidden axes object contains an object of type image.

Aumente las imágenes con aumentos idénticos. El ángulo de rotación seleccionado aleatoriamente se devuelve en una variable temporal, angle.

outCellArray = augment(imageAugmenter,{img1,img2});
angle = 
8.1158

Visualice las imágenes aumentadas.

outImg = imtile(outCellArray);
imshow(outImg);

Figure contains an axes object. The hidden axes object contains an object of type image.

Función de apoyo

En este ejemplo se define la función myrange que primero selecciona aleatoriamente uno de dos intervalos (-10, 10) y (170, 190) con la misma probabilidad. Dentro del intervalo seleccionado, la función devuelve un único número aleatorio de una distribución uniforme.

function angle = myrange()
    if randi([0 1],1)
        a = -10;
        b = 10;
    else
        a = 170;
        b = 190;
    end
    angle = a + (b-a).*rand(1)
end

Argumentos de entrada

contraer todo

Opciones de aumento, especificadas como un objeto imageDataAugmenter.

Imágenes que se desea aumentar, especificadas como una de las siguientes opciones.

  • Arreglo numérico, que representa una sola imagen de escala de grises o color.

  • Arreglo de celdas de imágenes numéricas y categóricas. Las imágenes pueden tener diferentes tamaños y ser de distintos tipos.

Argumentos de salida

contraer todo

Imágenes aumentadas, devueltas como arreglo numérico o arreglo de celdas de imágenes numéricas y categóricas, con el formato de las imágenes de entrada I.

Sugerencias

  • Para previsualizar las transformaciones aplicadas a las imágenes de muestreo, puede usar la función augment.

  • Para realizar el aumento de imagen durante el entrenamiento, cree un almacen de datos augmentedImageDatastore y especifique las opciones de preprocesamiento usando el argumento nombre-valor DataAugmentation con un objeto imageDataAugmenter. El almacén de datos de imágenes aumentadas aplica automáticamente transformaciones aleatorias a los datos de entrenamiento.

Historial de versiones

Introducido en R2018b