Поделиться через


resizeImage: преобразование изменения размера изображения Машинного обучения

Изменяет размер изображения до указанного с помощью заданного метода изменения размера.

Использование

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

Аргументы

vars

Именованный список векторов символов имен входных переменных и имени выходной переменной. Обратите внимание, что входные переменные должны иметь один и тот же тип. Для однозначного соответствия между входными и выходными переменными можно использовать именованный вектор символов.

width

Определяет ширину масштабированного изображения в пикселях. Значение по умолчанию — 224.

height

Определяет высоту масштабированного изображения в пикселях. Значение по умолчанию — 224.

resizingOption

Определяет используемый метод изменения размера. Обратите внимание, что все методы используют билинейную интерполяцию. Доступны следующие возможности:

  • "IsoPad": размер изображения изменяется таким образом, чтобы пропорции сохранились. При необходимости изображение дополняется черным цветом в соответствии с новыми значениями ширины или высоты.
  • "IsoCrop": размер изображения изменяется таким образом, чтобы пропорции сохранились. При необходимости изображение обрезается в соответствии с новыми значениями ширины или высоты.
  • "Aniso": изображение растягивается с учетом новых значений ширины и высоты без сохранения пропорций. Значение по умолчанию — "IsoPad".

Сведения

resizeImage изменяет размер изображения до указанной высоты и ширины с помощью определенного метода изменения размера. Входными переменными для этого преобразования должны быть изображения, как правило, результат преобразования loadImage.

Значение

Объект maml, определяющий преобразование.

Авторы

Корпорация Майкрософт Microsoft Technical Support

Примеры


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