当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。