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


Python tf.image.crop_and_resize用法及代码示例


从输入图像张量中提取裁剪并调整它们的大小。

用法

tf.image.crop_and_resize(
    image, boxes, box_indices, crop_size, method='bilinear',
    extrapolation_value=0.0, name=None
)

参数

  • image 形状为 [batch, image_height, image_width, depth] 的 4-D 张量。 image_heightimage_width 都需要为正。
  • boxes 形状为 [num_boxes, 4] 的二维张量。张量的第 i 行指定了 box_ind[i] 图像中框的坐标,并在规范化坐标 [y1, x1, y2, x2] 中指定。 y的归一化坐标值映射到y * (image_height - 1)处的图像坐标,因此归一化图像高度的[0, 1]区间映射到图像高度坐标中的[0, image_height - 1]。我们确实允许 y1 > y2 ,在这种情况下,采样的裁剪是原始图像的 up-down 翻转版本。宽度尺寸的处理方式类似。 [0, 1] 范围之外的归一化坐标是允许的,在这种情况下,我们使用 extrapolation_value 来推断输入图像值。
  • box_indices 形状为 [num_boxes] 的一维张量,在 [0, batch) 中具有 int32 值。 box_ind[i] 的值指定第 i 框所指的图像。
  • crop_size 2 个元素的一维张量,size = [crop_height, crop_width]。所有裁剪的图像块都将调整为此大小。不保留图像内容的纵横比。 crop_heightcrop_width 都需要为正。
  • method 一个可选字符串,指定调整大小的采样方法。它可以是 "bilinear""nearest" 并且默认为 "bilinear" 。目前支持两种采样方法:双线性和最近邻。
  • extrapolation_value 可选的 float 。默认为 0.0 。适用时用于外推的值。
  • name 操作的名称(可选)。

返回

  • 形状为 [num_boxes, crop_height, crop_width, depth] 的 4-D 张量。

从输入图像张量中提取裁剪,并使用双线性采样或最近邻采样(可能会更改纵横比)将它们调整为由 crop_size 指定的通用输出大小。这比 crop_to_bounding_box 操作更通用,后者从输入图像中提取固定大小的切片,并且不允许调整大小或更改纵横比。

boxes 的边界框位置定义的位置处从输入 image 返回具有 crops 的张量。裁剪后的框都被调整大小(使用双线性或最近邻插值)到固定的 size = [crop_height, crop_width] 。结果是一个 4-D 张量 [num_boxes, crop_height, crop_width, depth] 。调整大小是角对齐的。特别是,如果 boxes = [[0, 0, 1, 1]] ,该方法将给出与使用 tf.compat.v1.image.resize_bilinear()tf.compat.v1.image.resize_nearest_neighbor() (取决于 method 参数)和 align_corners=True 相同的结果。

例子:

import tensorflow as tf
BATCH_SIZE = 1
NUM_BOXES = 5
IMAGE_HEIGHT = 256
IMAGE_WIDTH = 256
CHANNELS = 3
CROP_SIZE = (24, 24)

image = tf.random.normal(shape=(BATCH_SIZE, IMAGE_HEIGHT, IMAGE_WIDTH,
CHANNELS) )
boxes = tf.random.uniform(shape=(NUM_BOXES, 4))
box_indices = tf.random.uniform(shape=(NUM_BOXES,), minval=0,
maxval=BATCH_SIZE, dtype=tf.int32)
output = tf.image.crop_and_resize(image, boxes, box_indices, CROP_SIZE)
output.shape  #=> (5, 24, 24, 3)

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.image.crop_and_resize。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。