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 | Тензор типа Tensor. Допустимые типы: uint8, uint16, int8, int16, int32, int64, half, float32, float64. 4-мерный тензор формы [batch, image_height, image_width, depth]. Значения image_height и image_width должны быть положительными. |
boxes | Тензор типа Tensor с типом данных float32. 2-мерный тензор формы [num_boxes, 4]. Строка i тензора задает координаты рамки на 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 | Тензор типа Tensor с типом данных int32. Одномерный тензор формы [num_boxes] со значениями int32 в диапазоне [0, batch). Значение box_ind[i] указывает изображение, к которому относится рамка с номером i. |
crop_size | Тензор типа Tensor с типом данных int32. Одномерный тензор из 2 элементов, size = [crop_height, crop_width]. Все обрезанные фрагменты изображения изменяются до этого размера. Соотношение сторон содержимого изображения не сохраняется. Значения crop_height и crop_width должны быть положительными. |
method | Необязательный параметр типа string из набора: "bilinear", "nearest". Значение по умолчанию — "bilinear". Строка, задающая метод интерполяции при изменении размера. Может принимать значение "bilinear" или "nearest"; значение по умолчанию — "bilinear". В настоящее время поддерживаются два метода интерполяции: билинейная интерполяция и метод ближайшего соседа. |
extrapolation_value | Необязательный параметр типа float. Значение по умолчанию — 0. Значение, используемое для экстраполяции, если применимо. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
Тензор типа 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/api_docs/python/tf/compat/v1/image/crop_and_resize