Update to expose image.draw_bounding_boxes in v1 and v2 differently
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This commit is contained in:
parent
cc576dbeec
commit
681e2e6425
@ -1,6 +1,4 @@
|
||||
op {
|
||||
graph_op_name: "DrawBoundingBoxes"
|
||||
endpoint {
|
||||
name: "image.draw_bounding_boxes"
|
||||
}
|
||||
visibility: HIDDEN
|
||||
}
|
||||
|
@ -93,7 +93,7 @@ class DrawBoundingBoxOpTest(test.TestCase):
|
||||
if colors is None:
|
||||
image = image_ops.draw_bounding_boxes(image, bboxes)
|
||||
else:
|
||||
image = gen_image_ops.draw_bounding_boxes_v2(image, bboxes, colors)
|
||||
image = image_ops.draw_bounding_boxes_v2(image, bboxes, colors)
|
||||
with self.cached_session(use_gpu=False) as sess:
|
||||
op_drawn_image = np.squeeze(sess.run(image), 0)
|
||||
self.assertAllEqual(test_drawn_image, op_drawn_image)
|
||||
|
@ -3333,7 +3333,6 @@ def crop_and_resize_v1( # pylint: disable=missing-docstring
|
||||
|
||||
crop_and_resize_v1.__doc__ = gen_image_ops.crop_and_resize.__doc__
|
||||
|
||||
|
||||
@tf_export(v1=['image.extract_glimpse'])
|
||||
def extract_glimpse(
|
||||
input, # pylint: disable=redefined-builtin
|
||||
@ -3533,3 +3532,70 @@ def combined_non_max_suppression(boxes,
|
||||
return gen_image_ops.combined_non_max_suppression(
|
||||
boxes, scores, max_output_size_per_class, max_total_size, iou_threshold,
|
||||
score_threshold, pad_per_class)
|
||||
|
||||
@tf_export(v1=['image.draw_bounding_boxes'])
|
||||
def draw_bounding_boxes(
|
||||
images,
|
||||
boxes,
|
||||
name=None):
|
||||
"""Draw bounding boxes on a batch of images.
|
||||
|
||||
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
|
||||
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).
|
||||
|
||||
Returns:
|
||||
A `Tensor`. Has the same type as `images`.
|
||||
"""
|
||||
return gen_image_ops.draw_bounding_boxes(images, boxes, name)
|
||||
|
||||
@tf_export('image.draw_bounding_boxes', v1=[])
|
||||
def draw_bounding_boxes_v2(
|
||||
images,
|
||||
boxes,
|
||||
colors,
|
||||
name=None):
|
||||
"""Draw bounding boxes on a batch of images.
|
||||
|
||||
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
|
||||
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`.
|
||||
"""
|
||||
return gen_image_ops.draw_bounding_boxes_v2(images, boxes, colors, name)
|
||||
|
@ -74,7 +74,7 @@ tf_module {
|
||||
}
|
||||
member_method {
|
||||
name: "draw_bounding_boxes"
|
||||
argspec: "args=[\'images\', \'boxes\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
|
||||
argspec: "args=[\'images\', \'boxes\', \'colors\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "encode_jpeg"
|
||||
|
Loading…
Reference in New Issue
Block a user