View source on GitHub |
Draw bounding boxes on a batch of images.
tf.image.draw_bounding_boxes( images, boxes, colors, name=None )
Outputs a copy of images
but draws on top of the pixels zero or more bounding boxes specified by the locations in boxes
. The coordinates of the each bounding box in boxes
are encoded as [y_min, x_min, y_max, x_max]
. The bounding box coordinates are floats in [0.0, 1.0]
relative to the width and the height of the underlying image.
For example, if an image is 100 x 200 pixels (height x width) and the bounding box is [0.1, 0.2, 0.5, 0.9]
, the upper-left and bottom-right coordinates of the bounding box will be (40, 10)
to (180, 50)
(in (x,y) coordinates).
Parts of the bounding box may fall outside the image.
Args | |
---|---|
images | A Tensor . Must be one of the following types: float32 , half . 4-D with shape [batch, height, width, depth] . A batch of images. |
boxes | A Tensor of type float32 . 3-D with shape [batch, num_bounding_boxes, 4] containing bounding boxes. |
colors | A Tensor of type float32 . 2-D. A list of RGBA colors to cycle through for the boxes. |
name | A name for the operation (optional). |
Returns | |
---|---|
A Tensor . Has the same type as images . |
# 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)>
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/image/draw_bounding_boxes