@Namespace(value="tensorflow::ops") @NoOffset public static class tensorflow.SampleDistortedBoundingBox extends Pointer
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,
python
# Generate a single distorted bounding box.
begin, size, bbox_for_draw = tf.image.sample_distorted_bounding_box(
tf.shape(image),
bounding_boxes=bounding_boxes)
# 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.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.
Arguments:
* scope: A Scope object
* image_size: 1-D, containing [height, width, channels].
* bounding_boxes: 3-D with shape [batch, N, 4] describing the N bounding boxes
associated with the image.
Optional attributes (see Attrs):
* seed: If either seed or seed2 are set to non-zero, the random number
generator is seeded by the given seed. Otherwise, it is seeded by a random
seed.
* seed2: A second seed to avoid seed collision.
* min_object_covered: The cropped area of the image must contain at least this
fraction of any bounding box supplied. The value of this parameter should be
non-negative. In the case of 0, the cropped area does not need to overlap
any of the bounding boxes supplied.
* aspect_ratio_range: The cropped area of the image must have an aspect ratio =
width / height within this range.
* area_range: The cropped area of the image must contain a fraction of the
supplied image within this range.
* max_attempts: Number of attempts at generating a cropped region of the image
of the specified constraints. After max_attempts failures, return the entire
image.
* use_image_if_no_bounding_boxes: Controls behavior if no bounding boxes supplied.
If true, assume an implicit bounding box covering the whole input. If false,
raise an error.
Returns:
* Output begin: 1-D, containing [offset_height, offset_width, 0]. Provide as input to
tf.slice.
* Output size: 1-D, containing [target_height, target_width, -1]. Provide as input to
tf.slice.
* Output bboxes: 3-D with shape [1, 1, 4] containing the distorted bounding box.
Provide as input to tf.image.draw_bounding_boxes.| Modifier and Type | Class and Description |
|---|---|
static class |
tensorflow.SampleDistortedBoundingBox.Attrs
Optional attribute setters for SampleDistortedBoundingBox
|
Pointer.CustomDeallocator, Pointer.Deallocator, Pointer.NativeDeallocator| Constructor and Description |
|---|
SampleDistortedBoundingBox(Pointer p)
Pointer cast constructor.
|
SampleDistortedBoundingBox(tensorflow.Scope scope,
tensorflow.Input image_size,
tensorflow.Input bounding_boxes) |
SampleDistortedBoundingBox(tensorflow.Scope scope,
tensorflow.Input image_size,
tensorflow.Input bounding_boxes,
tensorflow.SampleDistortedBoundingBox.Attrs attrs) |
address, asBuffer, asByteBuffer, availablePhysicalBytes, calloc, capacity, capacity, close, deallocate, deallocate, deallocateReferences, deallocator, deallocator, equals, fill, formatBytes, free, hashCode, isNull, limit, limit, malloc, maxBytes, maxPhysicalBytes, memchr, memcmp, memcpy, memmove, memset, offsetof, parseBytes, physicalBytes, position, position, put, realloc, setNull, sizeof, toString, totalBytes, totalPhysicalBytes, withDeallocator, zeropublic SampleDistortedBoundingBox(Pointer p)
Pointer.Pointer(Pointer).public SampleDistortedBoundingBox(@Const @ByRef tensorflow.Scope scope, @ByVal tensorflow.Input image_size, @ByVal tensorflow.Input bounding_boxes)
public SampleDistortedBoundingBox(@Const @ByRef tensorflow.Scope scope, @ByVal tensorflow.Input image_size, @ByVal tensorflow.Input bounding_boxes, @Const @ByRef tensorflow.SampleDistortedBoundingBox.Attrs attrs)
@ByVal public static tensorflow.SampleDistortedBoundingBox.Attrs Seed(@Cast(value="tensorflow::int64") long x)
@ByVal public static tensorflow.SampleDistortedBoundingBox.Attrs Seed2(@Cast(value="tensorflow::int64") long x)
@ByVal public static tensorflow.SampleDistortedBoundingBox.Attrs MinObjectCovered(float x)
@ByVal public static tensorflow.SampleDistortedBoundingBox.Attrs AspectRatioRange(@tensorflow.ArraySlice FloatPointer x)
@ByVal public static tensorflow.SampleDistortedBoundingBox.Attrs AspectRatioRange(@tensorflow.ArraySlice FloatBuffer x)
@ByVal public static tensorflow.SampleDistortedBoundingBox.Attrs AspectRatioRange(@tensorflow.ArraySlice float... x)
@ByVal public static tensorflow.SampleDistortedBoundingBox.Attrs AreaRange(@tensorflow.ArraySlice FloatPointer x)
@ByVal public static tensorflow.SampleDistortedBoundingBox.Attrs AreaRange(@tensorflow.ArraySlice FloatBuffer x)
@ByVal public static tensorflow.SampleDistortedBoundingBox.Attrs AreaRange(@tensorflow.ArraySlice float... x)
@ByVal public static tensorflow.SampleDistortedBoundingBox.Attrs MaxAttempts(@Cast(value="tensorflow::int64") long x)
@ByVal public static tensorflow.SampleDistortedBoundingBox.Attrs UseImageIfNoBoundingBoxes(@Cast(value="bool") boolean x)
@ByRef public tensorflow.Operation operation()
public tensorflow.SampleDistortedBoundingBox operation(tensorflow.Operation operation)
@ByRef public tensorflow.Output begin()
public tensorflow.SampleDistortedBoundingBox begin(tensorflow.Output begin)
@ByRef public tensorflow.Output size()
public tensorflow.SampleDistortedBoundingBox size(tensorflow.Output size)
@ByRef public tensorflow.Output bboxes()
public tensorflow.SampleDistortedBoundingBox bboxes(tensorflow.Output bboxes)
Copyright © 2019. All rights reserved.