resizeImage: Machine Learning-Transformation zum Ändern der Bildgröße

Ändert die Größe eines Bilds in eine angegebene Größe unter Verwendung einer angegebenen Methode zur Größenänderung.

Verwendung

  resizeImage(vars, width = 224, height = 224, resizingOption = "IsoCrop")

Argumente

vars

Eine benannte Liste von Zeichenvektoren von Eingabevariablennamen und der Name der Ausgabevariablen. Beachten Sie, dass die Eingabevariablen identischen Typs sein müssen. Für 1:1-Zuordnungen zwischen Eingabe- und Ausgabevariablen kann ein benannter Zeichenvektor verwendet werden.

width

Gibt die Breite des skalierten Bilds in Pixel an. Der Standardwert ist 224.

height

Gibt die Höhe des skalierten Bilds in Pixel an. Der Standardwert ist 224.

resizingOption

Gibt die zu verwendende Methode zum Ändern der Größe an. Beachten Sie, dass alle Methoden die bilineare Interpolation verwenden. Die Optionen sind:

  • "IsoPad": Die Größe des Bilds wird so geändert, dass das Seitenverhältnis beibehalten wird. Falls erforderlich, wird das Bild mit Schwarz aufgefüllt, um es an die neue Breite oder Höhe anzupassen.
  • "IsoCrop": Die Größe des Bilds wird so geändert, dass das Seitenverhältnis beibehalten wird. Bei Bedarf wird das Bild auf die neue Breite oder Höhe zugeschnitten.
  • "Aniso": Das Bild wird auf die neue Breite und Höhe gestreckt, ohne das Seitenverhältnis zu erhalten. Standardwert: "IsoPad".

Details

resizeImage ändert die Größe eines Bilds in die angegebene Höhe und Breite mithilfe einer angegebenen Größenänderungsmethode. Die Eingabevariablen für diese Transformation müssen Bilder sein, in der Regel das Ergebnis der loadImage-Transformation.

Wert

Ein maml-Objekt, das die Transformation definiert.

Autor(en)

Microsoft Corporation Microsoft Technical Support

Beispiele


 train <- data.frame(Path = c(system.file("help/figures/RevolutionAnalyticslogo.png", package = "MicrosoftML")), Label = c(TRUE), stringsAsFactors = FALSE)

 # Loads the images from variable Path, resizes the images to 1x1 pixels and trains a neural net.
 model <- rxNeuralNet(
     Label ~ Features,
     data = train,
     mlTransforms = list(
         loadImage(vars = list(Features = "Path")),
         resizeImage(vars = "Features", width = 1, height = 1, resizing = "Aniso"),
         extractPixels(vars = "Features")
         ),
     mlTransformVars = "Path",
     numHiddenNodes = 1,
     numIterations = 1)

 # Featurizes the images from variable Path using the default model, and trains a linear model on the result.
 model <- rxFastLinear(
     Label ~ Features,
     data = train,
     mlTransforms = list(
         loadImage(vars = list(Features = "Path")),
         resizeImage(vars = "Features", width = 224, height = 224), # If dnnModel == "AlexNet", the image has to be resized to 227x227.
         extractPixels(vars = "Features"),
         featurizeImage(var = "Features")
         ),
     mlTransformVars = "Path")