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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。