tf.compat.v1.image.draw_bounding_boxes
Stay organized with collections
Save and categorize content based on your preferences.
Draw bounding boxes on a batch of images.
tf.compat.v1.image.draw_bounding_boxes(
images, boxes, name=None, colors=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.
|
name
|
A name for the operation (optional).
|
colors
|
A Tensor of type float32 . 2-D. A list of RGBA colors to cycle
through for the boxes.
|
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)>
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2024-04-26 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-04-26 UTC."],[],[],null,["# tf.compat.v1.image.draw_bounding_boxes\n\n\u003cbr /\u003e\n\n|------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.16.1/tensorflow/python/ops/image_ops_impl.py#L5848-L5898) |\n\nDraw bounding boxes on a batch of images. \n\n tf.compat.v1.image.draw_bounding_boxes(\n images, boxes, name=None, colors=None\n )\n\nOutputs a copy of `images` but draws on top of the pixels zero or more\nbounding boxes specified by the locations in `boxes`. The coordinates of the\neach bounding box in `boxes` are encoded as `[y_min, x_min, y_max, x_max]`.\nThe bounding box coordinates are floats in `[0.0, 1.0]` relative to the width\nand the height of the underlying image.\n\nFor example, if an image is 100 x 200 pixels (height x width) and the bounding\nbox is `[0.1, 0.2, 0.5, 0.9]`, the upper-left and bottom-right coordinates of\nthe bounding box will be `(40, 10)` to `(180, 50)` (in (x,y) coordinates).\n\nParts of the bounding box may fall outside the image.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|----------|---------------------------------------------------------------------------------------------------------------------------------------|\n| `images` | A `Tensor`. Must be one of the following types: `float32`, `half`. 4-D with shape `[batch, height, width, depth]`. A batch of images. |\n| `boxes` | A `Tensor` of type `float32`. 3-D with shape `[batch, num_bounding_boxes, 4]` containing bounding boxes. |\n| `name` | A name for the operation (optional). |\n| `colors` | A `Tensor` of type `float32`. 2-D. A list of RGBA colors to cycle through for the boxes. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| A `Tensor`. Has the same type as `images`. ||\n\n\u003cbr /\u003e\n\n#### Usage Example:\n\n # create an empty image\n img = tf.zeros([1, 3, 3, 3])\n # draw a box around the image\n box = np.array([0, 0, 1, 1])\n boxes = box.reshape([1, 1, 4])\n # alternate between red and blue\n colors = np.array([[1.0, 0.0, 0.0], [0.0, 0.0, 1.0]])\n tf.image.draw_bounding_boxes(img, boxes, colors)\n \u003ctf.Tensor: shape=(1, 3, 3, 3), dtype=float32, numpy=\n array([[[[1., 0., 0.],\n [1., 0., 0.],\n [1., 0., 0.]],\n [[1., 0., 0.],\n [0., 0., 0.],\n [1., 0., 0.]],\n [[1., 0., 0.],\n [1., 0., 0.],\n [1., 0., 0.]]]], dtype=float32)\u003e"]]