resizeImage:机器学习调整图像大小转换

使用指定的大小调整方法,将图像的大小调整为指定的维度。

用法

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

参数

vars

输入变量名称和输出变量名称的字符向量的命名列表。 请注意,所有输入变量的类型必须相同。 对于输入变量和输出变量之间的一对一映射,可以使用命名字符向量。

width

指定缩放图像的宽度(以像素为单位)。 默认值为 224。

height

指定缩放图像的高度(以像素为单位)。 默认值为 224。

resizingOption

指定要使用的大小调整方法。 请注意,所有方法都使用双线性内插。 选项包括:

  • "IsoPad":调整图像大小以保留纵横比。 如果需要,可使用黑色填充图像以适应新宽度或高度。
  • "IsoCrop":调整图像大小以保留纵横比。 如果需要,可裁剪图像以适应新宽度或高度。
  • "Aniso":图像拉伸到新宽度和高度,不保留纵横比。 默认值是 "IsoPad"

详细信息

resizeImage 使用指定的调整大小方法将图像重设为指定的高度和宽度。 此转换的输入变量必须是图像,通常是 loadImage 转换的结果。

一个 maml 对象,用于定义转换。

作者

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