tensorflow::
ops::
CropAndResize
#include <image_ops.h>
Extracts crops from the input image tensor and resizes them.
Summary
Extracts crops from the input image tensor and resizes them using bilinear sampling or nearest neighbor sampling (possibly with aspect ratio change) to a common output size specified by
crop_size
. This is more general than the
crop_to_bounding_box
op which extracts a fixed size slice from the input image and does not allow resizing or aspect ratio change.
Returns a tensor with
crops
from the input
image
at positions defined at the bounding box locations in
boxes
. The cropped boxes are all resized (with bilinear or nearest neighbor interpolation) to a fixed
size = [crop_height, crop_width]
. The result is a 4-D tensor
[num_boxes, crop_height, crop_width, depth]
. The resizing is corner aligned. In particular, if
boxes = [[0, 0, 1, 1]]
, the method will give identical results to using
tf.image.resize_bilinear()
or
tf.image.resize_nearest_neighbor()
(depends on the
method
argument) with
align_corners=True
.
Args:
- scope: A Scope object
-
image: A 4-D tensor of shape
[batch, image_height, image_width, depth]
. Bothimage_height
andimage_width
need to be positive. -
boxes: A 2-D tensor of shape
[num_boxes, 4]
. Thei
-th row of the tensor specifies the coordinates of a box in thebox_ind[i]
image and is specified in normalized coordinates[y1, x1, y2, x2]
. A normalized coordinate value ofy
is mapped to the image coordinate aty * (image_height - 1)
, so as the[0, 1]
interval of normalized image height is mapped to[0, image_height - 1]
in image height coordinates. We do allowy1
>y2
, in which case the sampled crop is an up-down flipped version of the original image. The width dimension is treated similarly. Normalized coordinates outside the[0, 1]
range are allowed, in which case we useextrapolation_value
to extrapolate the input image values. -
box_ind: A 1-D tensor of shape
[num_boxes]
with int32 values in[0, batch)
. The value ofbox_ind[i]
specifies the image that thei
-th box refers to. -
crop_size: A 1-D tensor of 2 elements,
size = [crop_height, crop_width]
. All cropped image patches are resized to this size. The aspect ratio of the image content is not preserved. Bothcrop_height
andcrop_width
need to be positive.
Optional attributes (see
Attrs
):
-
method: A string specifying the sampling method for resizing. It can be either
"bilinear"
or"nearest"
and default to"bilinear"
. Currently two sampling methods are supported: Bilinear and Nearest Neighbor. - extrapolation_value: Value used for extrapolation, when applicable.
Returns:
-
Output
: A 4-D tensor of shape[num_boxes, crop_height, crop_width, depth]
.
Constructors and Destructors |
|
---|---|
CropAndResize
(const ::
tensorflow::Scope
& scope, ::
tensorflow::Input
image, ::
tensorflow::Input
boxes, ::
tensorflow::Input
box_ind, ::
tensorflow::Input
crop_size)
|
|
CropAndResize
(const ::
tensorflow::Scope
& scope, ::
tensorflow::Input
image, ::
tensorflow::Input
boxes, ::
tensorflow::Input
box_ind, ::
tensorflow::Input
crop_size, const
CropAndResize::Attrs
& attrs)
|
Public attributes |
|
---|---|
crops
|
|
operation
|
Public functions |
|
---|---|
node
() const
|
::tensorflow::Node *
|
operator::tensorflow::Input
() const
|
|
operator::tensorflow::Output
() const
|
|
Public static functions |
|
---|---|
ExtrapolationValue
(float x)
|
|
Method
(StringPiece x)
|
Structs |
|
---|---|
tensorflow::
|
Optional attribute setters for CropAndResize . |
Public attributes
Public functions
CropAndResize
CropAndResize( const ::tensorflow::Scope & scope, ::tensorflow::Input image, ::tensorflow::Input boxes, ::tensorflow::Input box_ind, ::tensorflow::Input crop_size )
CropAndResize
CropAndResize( const ::tensorflow::Scope & scope, ::tensorflow::Input image, ::tensorflow::Input boxes, ::tensorflow::Input box_ind, ::tensorflow::Input crop_size, const CropAndResize::Attrs & attrs )
node
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const