Этот оператор вырезает прямоугольную область из image. Левый верхний угол области находится в offset_height, offset_width в image, а правый нижний угол находится в offset_height + target_height, offset_width + target_width.
Пример использования:
image = tf.constant(np.arange(1, 28, dtype=np.float32), shape=[3, 3, 3])
image[:,:,0] # print the first channel of the 3-D tensor
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 1., 4., 7.],
[10., 13., 16.],
[19., 22., 25.]], dtype=float32)>
cropped_image = tf.image.crop_to_bounding_box(image, 0, 0, 2, 2)
cropped_image[:,:,0] # print the first channel of the cropped 3-D tensor
<tf.Tensor: shape=(2, 2), dtype=float32, numpy=
array([[ 1., 4.],
[10., 13.]], dtype=float32)>
Аргументы
image
4-мерный Tensor формы [batch, height, width, channels] или 3-мерный Tensor формы [height, width, channels].
offset_height
Вертикальная координата левого верхнего угла области в image. Должен быть 0-мерным int32 Tensor или целым числом Python.
offset_width
Горизонтальная координата левого верхнего угла области в image. Должен быть 0-мерным int32 Tensor или целым числом Python.
target_height
Высота области. Должен быть 0-мерным int32 Tensor или целым числом Python.
target_width
Ширина области. Должен быть 0-мерным int32 Tensor или целым числом Python.
Возвращаемое значение
Если image был 4-мерным, 4-мерный Tensor формы [batch, target_height, target_width, channels]. Если image был 3-мерным, 3-мерный Tensor формы [target_height, target_width, channels]. Он имеет тот же тип данных, что и image.