Applies the given transform(s) to the image(s).
Usage
op_image_affine_transform(
images,
transform,
interpolation = "bilinear",
fill_mode = "constant",
fill_value = 0L,
data_format = NULL
)
Arguments
- images
Input image or batch of images. Must be 3D or 4D.
- transform
Projective transform matrix/matrices. A vector of length 8 or tensor of size N x 8. If one row of transform 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)
, wherek = c0 x + c1 y + 1
. The transform is inverted compared to the transform mapping input points to output points. Note that gradients are not backpropagated into transformation parameters. Note thatc0
andc1
are only effective when using TensorFlow backend and will be considered as0
when using other backends.- interpolation
Interpolation method. Available methods are
"nearest"
, and"bilinear"
. Defaults to"bilinear"
.- fill_mode
Points outside the boundaries of the input are filled according to the given mode. Available methods are
"constant"
,"nearest"
,"wrap"
and"reflect"
. Defaults to"constant"
."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 specified byfill_value
."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
Value used for points outside the boundaries of the input if
fill_mode = "constant"
. Defaults to0
.- data_format
A string specifying the data format of the input tensor. It can be either
"channels_last"
or"channels_first"
."channels_last"
corresponds to inputs with shape(batch, height, width, channels)
, while"channels_first"
corresponds to inputs with shape(batch, channels, height, width)
.If not specified, the value will default to
config_image_data_format()
.
Examples
x <- random_uniform(c(2, 64, 80, 3)) # batch of 2 RGB images
transform <- op_array(rbind(c(1.5, 0, -20, 0, 1.5, -16, 0, 0), # zoom
c(1, 0, -20, 0, 1, -16, 0, 0))) # translation))
y <- op_image_affine_transform(x, transform)
shape(y)
# (2, 64, 80, 3)
x <- random_uniform(c(64, 80, 3)) # single RGB image
transform <- op_array(c(1.0, 0.5, -20, 0.5, 1.0, -16, 0, 0)) # shear
y <- op_image_affine_transform(x, transform)
shape(y)
# (64, 80, 3)
x <- random_uniform(c(2, 3, 64, 80)) # batch of 2 RGB images
transform <- op_array(rbind(
c(1.5, 0,-20, 0, 1.5,-16, 0, 0), # zoom
c(1, 0,-20, 0, 1,-16, 0, 0) # translation
))
y <- op_image_affine_transform(x, transform, data_format = "channels_first")
shape(y)
# (2, 3, 64, 80)
See also
Other image ops: op_image_crop()
op_image_extract_patches()
op_image_hsv_to_rgb()
op_image_map_coordinates()
op_image_pad()
op_image_resize()
op_image_rgb_to_grayscale()
op_image_rgb_to_hsv()
Other image utils: image_array_save()
image_from_array()
image_load()
image_smart_resize()
image_to_array()
op_image_crop()
op_image_extract_patches()
op_image_hsv_to_rgb()
op_image_map_coordinates()
op_image_pad()
op_image_resize()
op_image_rgb_to_grayscale()
op_image_rgb_to_hsv()
Other ops: op_abs()
op_add()
op_all()
op_any()
op_append()
op_arange()
op_arccos()
op_arccosh()
op_arcsin()
op_arcsinh()
op_arctan()
op_arctan2()
op_arctanh()
op_argmax()
op_argmin()
op_argpartition()
op_argsort()
op_array()
op_associative_scan()
op_average()
op_average_pool()
op_batch_normalization()
op_binary_crossentropy()
op_bincount()
op_broadcast_to()
op_cast()
op_categorical_crossentropy()
op_ceil()
op_cholesky()
op_clip()
op_concatenate()
op_cond()
op_conj()
op_conv()
op_conv_transpose()
op_convert_to_numpy()
op_convert_to_tensor()
op_copy()
op_correlate()
op_cos()
op_cosh()
op_count_nonzero()
op_cross()
op_ctc_decode()
op_ctc_loss()
op_cumprod()
op_cumsum()
op_custom_gradient()
op_depthwise_conv()
op_det()
op_diag()
op_diagonal()
op_diff()
op_digitize()
op_divide()
op_divide_no_nan()
op_dot()
op_dtype()
op_eig()
op_eigh()
op_einsum()
op_elu()
op_empty()
op_equal()
op_erf()
op_erfinv()
op_exp()
op_expand_dims()
op_expm1()
op_extract_sequences()
op_eye()
op_fft()
op_fft2()
op_flip()
op_floor()
op_floor_divide()
op_fori_loop()
op_full()
op_full_like()
op_gelu()
op_get_item()
op_greater()
op_greater_equal()
op_hard_sigmoid()
op_hard_silu()
op_hstack()
op_identity()
op_imag()
op_image_crop()
op_image_extract_patches()
op_image_hsv_to_rgb()
op_image_map_coordinates()
op_image_pad()
op_image_resize()
op_image_rgb_to_grayscale()
op_image_rgb_to_hsv()
op_in_top_k()
op_inv()
op_irfft()
op_is_tensor()
op_isclose()
op_isfinite()
op_isinf()
op_isnan()
op_istft()
op_leaky_relu()
op_less()
op_less_equal()
op_linspace()
op_log()
op_log10()
op_log1p()
op_log2()
op_log_sigmoid()
op_log_softmax()
op_logaddexp()
op_logical_and()
op_logical_not()
op_logical_or()
op_logical_xor()
op_logspace()
op_logsumexp()
op_lstsq()
op_lu_factor()
op_map()
op_matmul()
op_max()
op_max_pool()
op_maximum()
op_mean()
op_median()
op_meshgrid()
op_min()
op_minimum()
op_mod()
op_moments()
op_moveaxis()
op_multi_hot()
op_multiply()
op_nan_to_num()
op_ndim()
op_negative()
op_nonzero()
op_norm()
op_normalize()
op_not_equal()
op_one_hot()
op_ones()
op_ones_like()
op_outer()
op_pad()
op_power()
op_prod()
op_psnr()
op_qr()
op_quantile()
op_ravel()
op_real()
op_reciprocal()
op_relu()
op_relu6()
op_repeat()
op_reshape()
op_rfft()
op_roll()
op_round()
op_rsqrt()
op_scan()
op_scatter()
op_scatter_update()
op_searchsorted()
op_segment_max()
op_segment_sum()
op_select()
op_selu()
op_separable_conv()
op_shape()
op_sigmoid()
op_sign()
op_silu()
op_sin()
op_sinh()
op_size()
op_slice()
op_slice_update()
op_slogdet()
op_softmax()
op_softplus()
op_softsign()
op_solve()
op_solve_triangular()
op_sort()
op_sparse_categorical_crossentropy()
op_split()
op_sqrt()
op_square()
op_squeeze()
op_stack()
op_std()
op_stft()
op_stop_gradient()
op_subtract()
op_sum()
op_svd()
op_swapaxes()
op_switch()
op_take()
op_take_along_axis()
op_tan()
op_tanh()
op_tensordot()
op_tile()
op_top_k()
op_trace()
op_transpose()
op_tri()
op_tril()
op_triu()
op_unstack()
op_var()
op_vdot()
op_vectorize()
op_vectorized_map()
op_vstack()
op_where()
op_while_loop()
op_zeros()
op_zeros_like()