Compartir a través de


resizeImage: transformación de cambio de tamaño de imagen en Machine Learning

Cambia el tamaño de una imagen a una dimensión especificada mediante un método de cambio de tamaño determinado.

Uso

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

Argumentos

vars

Lista con nombre de vectores de caracteres de nombres de variables de entrada y el nombre de la variable de salida. Tenga en cuenta que todas las variables de entrada deben ser del mismo tipo. Para las asignaciones uno a uno entre variables de entrada y salida, se puede usar un vector de caracteres con nombre.

width

Especifica el ancho de la imagen escalada en píxeles. El valor predeterminado es 224.

height

Especifica el alto de la imagen escalada en píxeles. El valor predeterminado es 224.

resizingOption

Especifica el método de cambio de tamaño que se debe usar. Tenga en cuenta que todos los métodos usan interpolación bilineal. Las opciones son:

  • "IsoPad": el tamaño de la imagen se cambia de forma que se mantiene la relación de aspecto. Si es necesario, se rellena la imagen con negro para ajustarla al nuevo ancho o alto.
  • "IsoCrop": el tamaño de la imagen se cambia de forma que se mantiene la relación de aspecto. Si es necesario, la imagen se recorta para ajustarla al nuevo ancho o alto.
  • "Aniso": la imagen se estira hasta el nuevo ancho y alto, sin mantener la relación de aspecto. El valor predeterminado es "IsoPad".

Detalles

resizeImage cambia el tamaño de una imagen al alto y ancho especificados en un método de cambio de tamaño determinado. Las variables de entrada para esta transformación deben ser imágenes, que suelen ser el resultado de la transformación loadImage.

Value

Un objeto maml que define la transformación.

Autores

Microsoft Corporation Microsoft Technical Support

Ejemplos


 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")