Save the date! Google I/O returns May 18-20 Register now


Applies the given transform(s) to the image(s).

Used in the notebooks

Used in the tutorials

images A tensor of shape (num_images, num_rows, num_columns, num_channels) (NHWC), (num_rows, num_columns, num_channels) (HWC), or (num_rows, num_columns) (HW).
transforms Projective transform matrix/matrices. A vector of length 8 or tensor of size N x 8. If one row of transforms is [a0, a1, a2, b0, b1, b2, c0, c1], then it maps the output point (x, y) to a transformed input point (x', y') = ((a0 x + a1 y + a2) / k, (b0 x + b1 y + b2) / k), where k = c0 x + c1 y + 1. The transforms are inverted compared to the transform mapping input points to output points. Note that gradients are not backpropagated into transformation parameters.
interpolation Interpolation mode. Supported values: "nearest", "bilinear".
fill_mode Points outside the boundaries of the input are filled according to the given mode (one of {'constant', 'reflect', 'wrap', 'nearest'}).

  • reflect: (d c b a | a b c d | d c b a) The input is extended by reflecting about the edge of the last pixel.
  • constant: (k k k k | a b c d | k k k k) The input is extended by filling all values beyond the edge with the same constant value k = 0.
  • wrap: (a b c d | a b c d | a b c d) The input is extended by wrapping around to the opposite edge.
  • nearest: (a a a a | a b c d | d d d d) The input is extended by the nearest pixel.
fill_value a float represents the value to be filled outside the boundaries when fill_mode is "constant".
output_shape Output dimesion after the transform, [height, width]. If None, output is the same size as input image.
name The name of the op.

Image(s) with the same type and shape as images, with the given transform(s) applied. Transformed coordinates outside of the input image will be filled with zeros.

TypeError If image is an invalid type.
ValueError If output shape is not 1-D int32 Tensor.