|  View source on GitHub | 
Generate a single randomly distorted bounding box for an image. (deprecated)
tf.compat.v1.image.sample_distorted_bounding_box(
    image_size,
    bounding_boxes,
    seed=None,
    seed2=None,
    min_object_covered=0.1,
    aspect_ratio_range=None,
    area_range=None,
    max_attempts=None,
    use_image_if_no_bounding_boxes=None,
    name=None
)
Bounding box annotations are often supplied in addition to ground-truth labels
in image recognition or object localization tasks. A common technique for
training such a system is to randomly distort an image while preserving
its content, i.e. data augmentation. This Op outputs a randomly distorted
localization of an object, i.e. bounding box, given an image_size,
bounding_boxes and a series of constraints.
The output of this Op is a single bounding box that may be used to crop the
original image. The output is returned as 3 tensors: begin, size and
bboxes. The first 2 tensors can be fed directly into tf.slice to crop the
image. The latter may be supplied to tf.image.draw_bounding_boxes to
visualize what the bounding box looks like.
Bounding boxes are supplied and returned 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,
    # Generate a single distorted bounding box.
    begin, size, bbox_for_draw = tf.image.sample_distorted_bounding_box(
        tf.shape(image),
        bounding_boxes=bounding_boxes,
        min_object_covered=0.1)
    # Draw the bounding box in an image summary.
    image_with_box = tf.image.draw_bounding_boxes(tf.expand_dims(image, 0),
                                                  bbox_for_draw)
    tf.compat.v1.summary.image('images_with_box', image_with_box)
    # Employ the bounding box to distort the image.
    distorted_image = tf.slice(image, begin, size)
Note that if no bounding box information is available, setting
use_image_if_no_bounding_boxes = True will assume there is a single implicit
bounding box covering the whole image. If use_image_if_no_bounding_boxes is
false and no bounding boxes are supplied, an error is raised.
| Returns | |
|---|---|
| A tuple of Tensorobjects (begin, size, bboxes). | |
| begin | A Tensor. Has the same type asimage_size. 1-D, containing[offset_height, offset_width, 0]. Provide as input totf.slice. | 
| size | A Tensor. Has the same type asimage_size. 1-D, containing[target_height, target_width, -1]. Provide as input totf.slice. | 
| bboxes | A Tensorof typefloat32. 3-D with shape[1, 1, 4]containing
the distorted bounding box.
  Provide as input totf.image.draw_bounding_boxes. | 
| Raises | |
|---|---|
| ValueError | If no seed is specified and op determinism is enabled. |