Функция image.pad_to_bounding_box
Функция pad_to_bounding_box добавляет отступы к изображению
так, чтобы оно соответствовало заданному ограничивающему
прямоугольнику. Первым параметром передается тензор изображения
размерности 3 или 4. Вторым параметром
указывается верхний отступ offset_height, третьим -
левый отступ offset_width, четвертым - целевая высота
target_height, пятым - целевая ширина
target_width. Размерность изображения должна быть
известна и превышать размеры отступов.
Синтаксис
tf.image.pad_to_bounding_box(
image,
offset_height,
offset_width,
target_height,
target_width
)
Пример
Давайте создадим изображение размером 3x3 и добавим
отступы сверху и слева, чтобы получить размер 5x5:
import tensorflow as tf
image = tf.constant([
[[1], [2], [3]],
[[4], [5], [6]],
[[7], [8], [9]]
], dtype=tf.uint8)
res = tf.image.pad_to_bounding_box(image, 1, 1, 5, 5)
print(res.numpy()[:, :, 0])
Результат выполнения кода:
[[0 0 0 0 0]
[0 1 2 3 0]
[0 4 5 6 0]
[0 7 8 9 0]
[0 0 0 0 0]]
Пример
Давайте создадим цветное изображение размером 2x2x3
и добавим отступы снизу и справа до размера 4x4:
import tensorflow as tf
image = tf.constant([
[[255, 0, 0], [0, 255, 0]],
[[0, 0, 255], [255, 255, 0]]
], dtype=tf.uint8)
res = tf.image.pad_to_bounding_box(image, 0, 0, 4, 4)
print(res.numpy()[:, :, 0])
Результат выполнения кода:
[[255 0 0 0]
[ 0 0 0 0]
[ 0 0 0 0]
[ 0 0 0 0]]
Пример
Давайте создадим пакет изображений размерности 2x3x3x1
и применим функцию ко всему пакету:
import tensorflow as tf
image = tf.constant([
[
[[1], [2], [3]],
[[4], [5], [6]],
[[7], [8], [9]]
],
[
[[10], [20], [30]],
[[40], [50], [60]],
[[70], [80], [90]]
]
], dtype=tf.uint8)
res = tf.image.pad_to_bounding_box(image, 1, 1, 4, 4)
print(res.shape)
Результат выполнения кода:
(2, 4, 4, 1)
Смотрите также
-
функцию
crop_to_bounding_box,
которая обрезает изображение до заданного ограничивающего прямоугольника -
функцию
resize_with_crop_or_pad,
которая изменяет размер изображения с обрезкой или добавлением отступов -
функцию
resize_with_pad,
которая изменяет размер изображения с сохранением пропорций и добавлением отступов -
функцию
central_crop,
которая обрезает центральную часть изображения