TensorFlow函數(shù):tf.image.crop_and_resize

2018-05-23 11:53 更新

tf.image.crop_and_resize函數(shù)

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

請參閱指南:圖像操作>裁剪

從輸入圖像張量中提取crop(裁剪),并雙線調(diào)整它們的大小(可能高寬比變化)到由crop_size指定的通用輸出大小.這比從輸入圖像中提取固定大小切片并且不允許調(diào)整大小或?qū)捀弑茸兓腸rop_to_bounding_box操作更普遍.

從輸入image中返回一個crops張量,位于boxes的邊界框位置處定義的位置處.裁剪后的框都是調(diào)整大小(雙線性插值)為固定size = [crop_height, crop_width].結(jié)果是一個四維張量[num_boxes, crop_height, crop_width, depth].調(diào)整大小是角對齊.特別是,如果boxes = [[0, 0, 1, 1]],該方法將為使用 tf.image.resize_bilinear () 與 align_corners = True 提供相同的結(jié)果.

參數(shù):

  • image:一個Tensor,必須是下列類型之一:uint8,uint16,int8,int16,int32,int64,half,float32,float64,一個形狀為[batch, image_height, image_width, depth]的四維張量,image_height和image_width需要為正值.
  • boxes:一個類型為float32的Tensor,是形狀為[num_boxes, 4]的二維張量.張量的第i行指定box_ind[i]圖像中框的坐標(biāo),并且在標(biāo)準(zhǔn)化坐標(biāo)中指定[y1, x1, y2, x2];標(biāo)準(zhǔn)化的坐標(biāo)值y被映射到圖像坐標(biāo)y * (image_height - 1)處,從而標(biāo)準(zhǔn)化圖像高度的[0, 1]間隔被映射到[0, image_height - 1]的圖像高度坐標(biāo)中.我們允許y1> y2,在這種情況下,采樣的裁剪是原始圖像的上下翻轉(zhuǎn)版本.寬度維度的處理方式類似.[0, 1]范圍之外的標(biāo)準(zhǔn)化坐標(biāo)是允許的,在這種情況下,我們使用extrapolation_value外推輸入圖像值.
  • box_ind:一個int32類型的Tensor;形狀為[num_boxes]的1維張量,在[0, batch)中具有int32值.該box_ind[i]值指定第i個方框要引用的圖像.
  • crop_size:一個int32類型的Tensor;一個2個元素的一維張量,size = [crop_height, crop_width].所有裁剪的圖像修補(bǔ)程序都調(diào)整為此大小.圖像內(nèi)容的寬高比不被保留;crop_height和crop_width需要為正值.
  • method:可選的string,其來自:"bilinear";默認(rèn)為"bilinear";指定插值方法的字符串.現(xiàn)在只支持“雙線性(bilinear)”.
  • extrapolation_value:可選的float,默認(rèn)為0,用于推斷的值(如果適用).
  • name:操作的名稱(可選).

返回值:

tf.image.crop_and_resize函數(shù)返回一個類型為float32的Tensor.

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號