Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
flujo tensor:: operaciones:: Recortar y cambiar tamaño
#include <image_ops.h>
Extrae cultivos del tensor de imagen de entrada y les cambia el tamaño.
Resumen
Extrae cultivos del tensor de imagen de entrada y les cambia el tamaño mediante muestreo bilineal o muestreo del vecino más cercano (posiblemente con cambio de relación de aspecto) a un tamaño de salida común especificado por crop_size
. Esto es más general que la operación crop_to_bounding_box
que extrae un segmento de tamaño fijo de la imagen de entrada y no permite cambiar el tamaño ni la relación de aspecto.
Devuelve un tensor con crops
de la image
de entrada en posiciones definidas en las ubicaciones del cuadro delimitador en boxes
. Todos los cuadros recortados cambian de tamaño (con interpolación bilineal o del vecino más cercano) a un size = [crop_height, crop_width]
. El resultado es un tensor 4-D [num_boxes, crop_height, crop_width, depth]
. El cambio de tamaño está alineado con las esquinas. En particular, si boxes = [[0, 0, 1, 1]]
, el método dará resultados idénticos al uso de tf.image.resize_bilinear()
o tf.image.resize_nearest_neighbor()
(depende del argumento del method
) con align_corners=True
.
Argumentos:
- alcance: un objeto de alcance
- Imagen: un tensor de forma 4-D
[batch, image_height, image_width, depth]
. Tanto image_height
como image_width
deben ser positivos. - cajas: un tensor de forma 2-D
[num_boxes, 4]
. La i
-ésima fila del tensor especifica las coordenadas de un cuadro en la imagen box_ind[i]
y se especifica en coordenadas normalizadas [y1, x1, y2, x2]
. Un valor de coordenadas normalizado de y
se asigna a la coordenada de la imagen en y * (image_height - 1)
, de modo que el intervalo [0, 1]
de la altura de la imagen normalizada se asigna a [0, image_height - 1]
en las coordenadas de altura de la imagen. Permitimos y1
> y2
, en cuyo caso el recorte muestreado es una versión invertida de arriba a abajo de la imagen original. La dimensión del ancho se trata de manera similar. Se permiten coordenadas normalizadas fuera del rango [0, 1]
, en cuyo caso usamos extrapolation_value
para extrapolar los valores de la imagen de entrada. - box_ind: un tensor 1-D de forma
[num_boxes]
con valores int32 en [0, batch)
. El valor de box_ind[i]
especifica la imagen a la que hace referencia el i
-ésimo cuadro. - crop_size: un tensor 1-D de 2 elementos,
size = [crop_height, crop_width]
. Todos los parches de imágenes recortadas cambian de tamaño a este tamaño. La relación de aspecto del contenido de la imagen no se conserva. Tanto crop_height
como crop_width
deben ser positivos.
Atributos opcionales (ver Attrs
):
- método: una cadena que especifica el método de muestreo para cambiar el tamaño. Puede ser
"bilinear"
o "nearest"
y el valor predeterminado es "bilinear"
. Actualmente se admiten dos métodos de muestreo: bilineal y vecino más cercano. - extrapolation_value: Valor utilizado para la extrapolación, cuando corresponda.
Devoluciones:
-
Output
: un tensor de forma 4-D [num_boxes, crop_height, crop_width, depth]
.
Atributos públicos
Funciones públicas
nodo
::tensorflow::Node * node() const
operator::tensorflow::Input() const
operador::tensorflow::Salida
operator::tensorflow::Output() const
Funciones estáticas públicas
Attrs ExtrapolationValue(
float x
)
Método
Attrs Method(
StringPiece x
)
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-07-26 (UTC).
[null,null,["Última actualización: 2025-07-26 (UTC)."],[],[],null,["# tensorflow::ops::CropAndResize Class Reference\n\ntensorflow::ops::CropAndResize\n==============================\n\n`#include \u003cimage_ops.h\u003e`\n\nExtracts crops from the input image tensor and resizes them.\n\nSummary\n-------\n\nExtracts 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.\n\nReturns 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`.\n\nArguments:\n\n- scope: A [Scope](/versions/r2.3/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- image: A 4-D tensor of shape `[batch, image_height, image_width, depth]`. Both `image_height` and `image_width` need to be positive.\n- boxes: A 2-D tensor of shape `[num_boxes, 4]`. The `i`-th row of the tensor specifies the coordinates of a box in the `box_ind[i]` image and is specified in normalized coordinates `[y1, x1, y2, x2]`. A normalized coordinate value of `y` is mapped to the image coordinate at `y * (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 allow `y1` \\\u003e `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 use `extrapolation_value` to extrapolate the input image values.\n- box_ind: A 1-D tensor of shape `[num_boxes]` with int32 values in `[0, batch)`. The value of `box_ind[i]` specifies the image that the `i`-th box refers to.\n- crop_size: A 1-D tensor of 2 elements, `size = [crop_height, crop_width]`. [All](/versions/r2.3/api_docs/cc/class/tensorflow/ops/all#classtensorflow_1_1ops_1_1_all) cropped image patches are resized to this size. The aspect ratio of the image content is not preserved. Both `crop_height` and `crop_width` need to be positive.\n\n\u003cbr /\u003e\n\nOptional attributes (see [Attrs](/versions/r2.3/api_docs/cc/struct/tensorflow/ops/crop-and-resize/attrs#structtensorflow_1_1ops_1_1_crop_and_resize_1_1_attrs)):\n\n- 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.\n- extrapolation_value: Value used for extrapolation, when applicable.\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output): A 4-D tensor of shape `[num_boxes, crop_height, crop_width, depth]`.\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [CropAndResize](#classtensorflow_1_1ops_1_1_crop_and_resize_1ab17f07d2b9db2923f4f16cc6ddd10c9d)`(const ::`[tensorflow::Scope](/versions/r2.3/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` image, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` boxes, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` box_ind, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` crop_size)` ||\n| [CropAndResize](#classtensorflow_1_1ops_1_1_crop_and_resize_1adb1d93c1c956c1d654b701bc078ab6ae)`(const ::`[tensorflow::Scope](/versions/r2.3/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` image, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` boxes, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` box_ind, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` crop_size, const `[CropAndResize::Attrs](/versions/r2.3/api_docs/cc/struct/tensorflow/ops/crop-and-resize/attrs#structtensorflow_1_1ops_1_1_crop_and_resize_1_1_attrs)` & attrs)` ||\n\n| ### Public attributes ||\n|---------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| [crops](#classtensorflow_1_1ops_1_1_crop_and_resize_1a3d1569c38bfdd7881539d76880193614) | `::`[tensorflow::Output](/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n| [operation](#classtensorflow_1_1ops_1_1_crop_and_resize_1ade78876fbd90696b4364af105b775c29) | [Operation](/versions/r2.3/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n\n| ### Public functions ||\n|---------------------------------------------------------------------------------------------------------------------------|------------------------|\n| [node](#classtensorflow_1_1ops_1_1_crop_and_resize_1a44e6253b604ef5a11098dd6b01034a73)`() const ` | `::tensorflow::Node *` |\n| [operator::tensorflow::Input](#classtensorflow_1_1ops_1_1_crop_and_resize_1a009f32b1c13c815bcb4f1e20bbb506d9)`() const ` | ` ` ` ` |\n| [operator::tensorflow::Output](#classtensorflow_1_1ops_1_1_crop_and_resize_1a27ee3121d018ca29ecc4d112bfe6dbf7)`() const ` | ` ` ` ` |\n\n| ### Public static functions ||\n|-----------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|\n| [ExtrapolationValue](#classtensorflow_1_1ops_1_1_crop_and_resize_1a24585f2ae8f486ed7cf26b7636398bbb)`(float x)` | [Attrs](/versions/r2.3/api_docs/cc/struct/tensorflow/ops/crop-and-resize/attrs#structtensorflow_1_1ops_1_1_crop_and_resize_1_1_attrs) |\n| [Method](#classtensorflow_1_1ops_1_1_crop_and_resize_1a430830e07a336ae16aa3093ed0480d8d)`(StringPiece x)` | [Attrs](/versions/r2.3/api_docs/cc/struct/tensorflow/ops/crop-and-resize/attrs#structtensorflow_1_1ops_1_1_crop_and_resize_1_1_attrs) |\n\n| ### Structs ||\n|-----------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [tensorflow::ops::CropAndResize::Attrs](/versions/r2.3/api_docs/cc/struct/tensorflow/ops/crop-and-resize/attrs) | Optional attribute setters for [CropAndResize](/versions/r2.3/api_docs/cc/class/tensorflow/ops/crop-and-resize#classtensorflow_1_1ops_1_1_crop_and_resize). |\n\nPublic attributes\n-----------------\n\n### crops\n\n```text\n::tensorflow::Output crops\n``` \n\n### operation\n\n```text\nOperation operation\n``` \n\nPublic functions\n----------------\n\n### CropAndResize\n\n```gdscript\n CropAndResize(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input image,\n ::tensorflow::Input boxes,\n ::tensorflow::Input box_ind,\n ::tensorflow::Input crop_size\n)\n``` \n\n### CropAndResize\n\n```gdscript\n CropAndResize(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input image,\n ::tensorflow::Input boxes,\n ::tensorflow::Input box_ind,\n ::tensorflow::Input crop_size,\n const CropAndResize::Attrs & attrs\n)\n``` \n\n### node\n\n```gdscript\n::tensorflow::Node * node() const \n``` \n\n### operator::tensorflow::Input\n\n```gdscript\n operator::tensorflow::Input() const \n``` \n\n### operator::tensorflow::Output\n\n```gdscript\n operator::tensorflow::Output() const \n``` \n\nPublic static functions\n-----------------------\n\n### ExtrapolationValue\n\n```text\nAttrs ExtrapolationValue(\n float x\n)\n``` \n\n### Method\n\n```text\nAttrs Method(\n StringPiece x\n)\n```"]]