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


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