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


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


在一批圖像上繪製邊界框。

用法

tf.image.draw_bounding_boxes(
    images, boxes, colors, name=None
)

參數

  • images 一個Tensor。必須是以下類型之一:float32 , half。 4-D 形狀 [batch, height, width, depth] 。一批圖像。
  • boxes Tensor 類型為 float32 。 3-D,形狀為[batch, num_bounding_boxes, 4],包含邊界框。
  • colors Tensor 類型為 float32 。二維。用於框循環的 RGBA 顏色列表。
  • name 操作的名稱(可選)。

返回

  • 一個Tensor。具有與 images 相同的類型。

輸出 images 的副本,但在 boxes 中的位置指定的零個或多個邊界框的像素頂部繪製。 boxes 中每個邊界框的坐標被編碼為 [y_min, x_min, y_max, x_max] 。邊界框坐標是 [0.0, 1.0] 中相對於底層圖像的寬度和高度的浮點數。

例如,如果圖像為 100 x 200 像素(高 x 寬)且邊界框為 [0.1, 0.2, 0.5, 0.9] ,則邊界框的左上角和右下角坐標將為 (40, 10)(180, 50)(在 ( x,y) 坐標)。

部分邊界框可能會落在圖像之外。

使用示例:

# create an empty image
img = tf.zeros([1, 3, 3, 3])
# draw a box around the image
box = np.array([0, 0, 1, 1])
boxes = box.reshape([1, 1, 4])
# alternate between red and blue
colors = np.array([[1.0, 0.0, 0.0], [0.0, 0.0, 1.0]])
tf.image.draw_bounding_boxes(img, boxes, colors)
<tf.Tensor:shape=(1, 3, 3, 3), dtype=float32, numpy=
array([[[[1., 0., 0.],
        [1., 0., 0.],
        [1., 0., 0.]],
        [[1., 0., 0.],
        [0., 0., 0.],
        [1., 0., 0.]],
        [[1., 0., 0.],
        [1., 0., 0.],
        [1., 0., 0.]]]], dtype=float32)>

相關用法


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