tf.compat.v1.image.crop_and_resize
Извлекает области из входного тензора изображения и изменяет их размер.
tf.compat.v1.image.crop_and_resize(
image,
boxes,
box_ind=None,
crop_size=None,
method='bilinear',
extrapolation_value=0,
name=None,
box_indices=None
)
Извлекает области из входного тензора изображения и изменяет их размер с использованием билинейной или ближайшей-соседней выборки (возможно, с изменением соотношения сторон) до общего размера вывода, указанного в crop_size. Это более общее, чем операция crop_to_bounding_box, которая извлекает фрагмент фиксированного размера из входного изображения и не позволяет изменять размер или соотношение сторон.
Возвращает тензор с crops из входного image в позициях, определённых в границах области в boxes. Все обрезанные области изменяются в размер (с билинейной или ближайшей-соседней интерполяцией) до фиксированного size = [crop_height, crop_width]. Результатом является 4-мерный тензор [num_boxes, crop_height, crop_width, depth]. Изменение размера выполняется по углам. В частности, если boxes = [[0, 0, 1, 1]], метод даст идентичные результаты, как использование tf.image.resize_bilinear() или tf.image.resize_nearest_neighbor() (в зависимости от аргумента method ) с align_corners=True.
| Аргументы | |
|---|---|
image | A Tensor. Должно быть одного из следующих типов: uint8, uint16, int8, int16, int32, int64, half, float32, float64. 4-мерный тензор формы [batch, image_height, image_width, depth]. И image_height, и image_width должны быть положительными. |
boxes | A Tensor типа float32. 2-мерный тензор формы [num_boxes, 4]. % строка тензора определяет координаты области на изображении box_ind[i] и задаётся в нормированных координатах [y1, x1, y2, x2]. Значение нормированной координаты y отображается в координату изображения в y * (image_height - 1), таким образом, интервал [0, 1] нормированной высоты изображения отображается в [0, image_height - 1] в координатах высоты изображения. Разрешается y1 > y2, в этом случае взятая область — это перевёрнутое по вертикали изображение исходного. Размер по ширине обрабатывается аналогично. Нормированные координаты за пределами диапазона [0, 1] разрешены, в этом случае используется extrapolation_value для экстраполяции значений входного изображения. |
box_ind | A Tensor типа int32. 1-мерный тензор формы [num_boxes] со значениями типа int32 в [0, batch). Значение box_ind[i] указывает изображение, к которому относится i-я область. |
crop_size | A Tensor типа int32. 1-мерный тензор из 2 элементов, size = [crop_height, crop_width]. Все обрезанные области изображения изменяются в размер до этого размера. Соотношение сторон содержимого изображения не сохраняется. И crop_height, и crop_width должны быть положительными. |
method | Необязательный string из: "bilinear", "nearest". По умолчанию "bilinear". Строка, определяющая метод выборки для изменения размера. Это может быть либо "bilinear", либо "nearest", по умолчанию "bilinear". В настоящее время поддерживаются два метода выборки: билинейный и ближайший сосед. |
extrapolation_value | Необязательное float. По умолчанию 0. Значение, используемое для экстраполяции, когда это применимо. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
A Tensor типа float32. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/compat/v1/image/crop_and_resize