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.
Returns | |
---|---|
A Tensor . Has the same type as images .
|
Usage Example:
# 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)>