From e71a40a16c4d7c24e8a5ada9326db87f0ebd4fa4 Mon Sep 17 00:00:00 2001 From: Yong Tang Date: Mon, 1 Jan 2018 23:51:49 +0000 Subject: [PATCH] Register `DrawBoundingBoxV2` op in image_ops.cc Signed-off-by: Yong Tang --- tensorflow/core/ops/image_ops.cc | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tensorflow/core/ops/image_ops.cc b/tensorflow/core/ops/image_ops.cc index 62d473847c0..07dd4ab1602 100644 --- a/tensorflow/core/ops/image_ops.cc +++ b/tensorflow/core/ops/image_ops.cc @@ -594,6 +594,39 @@ REGISTER_OP("DrawBoundingBoxes") return shape_inference::UnchangedShape(c); }); +// -------------------------------------------------------------------------- +REGISTER_OP("DrawBoundingBoxesV2") + .Input("images: T") + .Input("boxes: float") + .Input("colors: float") + .Output("output: T") + .Attr("T: {float, half} = DT_FLOAT") + .SetShapeFn([](InferenceContext* c) { + return shape_inference::UnchangedShapeWithRankAtLeast(c, 3); + }) + .Doc(R"doc( +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 `(100, 50)` (in (x,y) coordinates). + +Parts of the bounding box may fall outside the image. + +images: 4-D with shape `[batch, height, width, depth]`. A batch of images. +boxes: 3-D with shape `[batch, num_bounding_boxes, 4]` containing bounding + boxes. +colors: 2-D. A list of RGBA colors to cycle through for the boxes. +output: 4-D with the same shape as `images`. The batch of input images with + bounding boxes drawn on the images. +)doc"); + // -------------------------------------------------------------------------- REGISTER_OP("SampleDistortedBoundingBox") .Input("image_size: T")