Contenu principal

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

augment

Appliquer des transformations aléatoires identiques à plusieurs images

Description

augI = augment(augmenter,I) augmente l'image I, en utilisant une transformation aléatoire provenant de l'ensemble des options de prétraitement d'image définies par l'augmentateur de données d'image, augmenter. Si I se compose de plusieurs images, augment applique une transformation identique à toutes les images.

exemple

Exemples

réduire tout

Créez un augmentateur d’image qui fait pivoter les images selon un angle aléatoire. Pour utiliser une plage personnalisée d’angles de rotation valides, vous pouvez spécifier un handle de fonction lorsque vous créez l’augmentateur. Cet exemple spécifie une fonction appelée myrange (définie à la fin de l'exemple) qui sélectionne un angle à l'intérieur de deux intervalles disjoints.

imageAugmenter = imageDataAugmenter('RandRotation',@myrange);

Lisez plusieurs images dans l’espace de travail et affichez les images.

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.

Augmentez les images avec des augmentations identiques. L’angle de rotation sélectionné de manière aléatoire est renvoyé dans une variable temporaire, angle.

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

Affichez les images augmentées.

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

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

Fonction de support

Cet exemple définit la fonction myrange qui commence par sélectionner de manière aléatoire l’un des deux intervalles (-10, 10) et (170, 190) à probabilité égale. Au sein de l’intervalle sélectionné, la fonction renvoie un nombre aléatoire unique à partir d’une distribution 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

Arguments d'entrée

réduire tout

Options d’augmentation, définies en tant qu’un objet imageDataAugmenter.

Images à augmenter, définies par l’un des éléments suivants.

  • Tableau numérique représentant une image unique en niveaux de gris ou couleur.

  • Cell array d’images numériques et catégorielles. Les images peuvent être de différents types et tailles.

Arguments de sortie

réduire tout

Images augmentées, renvoyées sous la forme d'un tableau numérique ou d'un cell array d'images numériques et catégorielles, conforme au format des images en entrée I.

Conseils

  • Vous pouvez utiliser la fonction augment pour prévisualiser les transformations appliquées aux exemples d’images.

  • Pour procéder à une augmentation d'image pendant l’apprentissage, créez un augmentedImageDatastore et spécifiez les options de prétraitement en utilisant la paire nom-valeur 'DataAugmentation' avec un imageDataAugmenter. Le datastore d'images augmentées applique automatiquement des transformations aléatoires aux données d'apprentissage.

Historique des versions

Introduit dans R2018b