Функция image.resize_with_pad
Функция image.resize_with_pad изменяет размер изображения до заданной высоты и ширины, сохраняя исходные пропорции. Если соотношение сторон исходного изображения отличается от целевого, функция дополняет недостающие области значением, переданным в параметре pad_value. Первым параметром передаётся тензор изображения, вторым - целевая высота, третьим - целевая ширина. Четвёртым параметром можно передать метод интерполяции, а пятым - значение для дополнения.
Синтаксис
tf.image.resize_with_pad(image, target_height, target_width, [method], [pad_value])
Пример
Давайте изменим размер двумерного изображения размером 2 на 3 до размера 4 на 4:
import tensorflow as tf
img = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32)
res = tf.image.resize_with_pad(img, 4, 4)
print(res)
Результат выполнения кода:
tf.Tensor(
[[1. 1.5 2.5 3. ]
[2. 2.5 3.5 4. ]
[3.5 4. 5. 5.5]
[4. 4.5 5.5 6. ]], shape=(4, 4), dtype=float32)
Пример
Давайте изменим размер цветного изображения размером 2 на 2 с тремя каналами до размера 4 на 4:
import tensorflow as tf
img = tf.constant([
[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]
], dtype=tf.float32)
res = tf.image.resize_with_pad(img, 4, 4)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[ 1. 2. 3. ]
[ 2.5 3.5 4.5]
[ 4. 5. 6. ]
[ 4. 5. 6. ]]
[[ 4. 5. 6. ]
[ 5.5 6.5 7.5]
[ 7. 8. 9. ]
[ 7. 8. 9. ]]
[[ 7. 8. 9. ]
[ 8.5 9.5 10.5]
[10. 11. 12. ]
[10. 11. 12. ]]
[[ 7. 8. 9. ]
[ 8.5 9.5 10.5]
[10. 11. 12. ]
[10. 11. 12. ]]], shape=(4, 4, 3), dtype=float32)
Пример
Давайте изменим размер изображения с дополнением нулями:
Результат выполнения кода:
tf.Tensor(
[[1. 1.5 2.5 3. ]
[2. 2.5 3.5 4. ]
[3.5 4. 5. 5.5]
[4. 4.5 5.5 6. ]], shape=(4, 4), dtype=float32)
Смотрите также
-
функцию
resize,
которая изменяет размер изображения без сохранения пропорций -
функцию
resize_with_crop_or_pad,
которая изменяет размер с обрезкой или дополнением -
функцию
pad_to_bounding_box,
которая дополняет изображение до заданных размеров -
функцию
crop_to_bounding_box,
которая обрезает изображение до заданных размеров