當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.image.crop_to_bounding_box用法及代碼示例


image 裁剪到指定的邊界框。

用法

tf.image.crop_to_bounding_box(
    image, offset_height, offset_width, target_height, target_width
)

參數

  • image 4-D Tensor 形狀 [batch, height, width, channels] 或 3-D Tensor 形狀 [height, width, channels]
  • offset_height image 中邊界框左上角的垂直坐標。
  • offset_width image 中邊界框左上角的水平坐標。
  • target_height 邊界框的高度。
  • target_width 邊界框的寬度。

返回

  • 如果 image 是 4-D,則形狀為 [batch, target_height, target_width, channels] 的 4-D Tensor 。如果 image 是 3-D,則形狀為 [target_height, target_width, channels] 的 3-D Tensor 。它與 image 具有相同的 dtype。

拋出

  • ValueError image 不是 3-D 或 4-D Tensor
  • ValueError offset_width < 0offset_height < 0
  • ValueError target_width <= 0target_width <= 0
  • ValueError width < offset_width + target_widthheight < offset_height + target_height

此操作從 image 中切出一個矩形邊界框。邊界框的左上角位於 image 中的 offset_height, offset_width 處,右下角位於 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)>

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.image.crop_to_bounding_box。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。