Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
dòng chảy căng:: ôi:: Cắt và Thay đổi kích thước
#include <image_ops.h>
Trích xuất các phần cắt từ tensor hình ảnh đầu vào và thay đổi kích thước của chúng.
Bản tóm tắt
Trích xuất phần cắt từ tensor hình ảnh đầu vào và thay đổi kích thước chúng bằng cách sử dụng lấy mẫu song tuyến tính hoặc lấy mẫu lân cận gần nhất (có thể thay đổi tỷ lệ khung hình) thành kích thước đầu ra chung được chỉ định bởi crop_size
. Điều này tổng quát hơn op crop_to_bounding_box
trích xuất một lát có kích thước cố định từ hình ảnh đầu vào và không cho phép thay đổi kích thước hoặc thay đổi tỷ lệ khung hình.
Trả về một tenxơ có crops
từ image
đầu vào tại các vị trí được xác định tại các vị trí hộp giới hạn trong boxes
. Tất cả các hộp đã cắt đều được thay đổi kích thước (với phép nội suy song tuyến tính hoặc lân cận gần nhất) thành size = [crop_height, crop_width]
. Kết quả là một tensor 4-D [num_boxes, crop_height, crop_width, depth]
. Việc thay đổi kích thước được căn chỉnh theo góc. Cụ thể, nếu boxes = [[0, 0, 1, 1]]
, phương thức sẽ cho kết quả giống hệt với việc sử dụng tf.image.resize_bilinear()
hoặc tf.image.resize_nearest_neighbor()
(tùy thuộc vào đối số method
) với align_corners=True
.
Lập luận:
- phạm vi: Một đối tượng Phạm vi
- hình ảnh: Một tenxơ 4-D có hình dạng
[batch, image_height, image_width, depth]
. Cả image_height
và image_width
đều phải dương. - hộp: Một tensor 2-D có hình dạng
[num_boxes, 4]
. Hàng thứ i
của tensor chỉ định tọa độ của một hộp trong hình ảnh box_ind[i]
và được chỉ định theo tọa độ chuẩn hóa [y1, x1, y2, x2]
. Giá trị tọa độ chuẩn hóa của y
được ánh xạ tới tọa độ hình ảnh tại y * (image_height - 1)
, do đó, khoảng [0, 1]
của chiều cao hình ảnh chuẩn hóa được ánh xạ tới [0, image_height - 1]
trong tọa độ chiều cao hình ảnh. Chúng tôi cho phép y1
> y2
, trong trường hợp đó phần cắt được lấy mẫu là phiên bản lật lên xuống của ảnh gốc. Kích thước chiều rộng được xử lý tương tự. Cho phép tọa độ chuẩn hóa bên ngoài phạm vi [0, 1]
, trong trường hợp đó chúng tôi sử dụng extrapolation_value
để ngoại suy các giá trị hình ảnh đầu vào. - box_ind: Một tensor 1-D có hình dạng
[num_boxes]
với các giá trị int32 trong [0, batch)
. Giá trị của box_ind[i]
chỉ định hình ảnh mà hộp i
đề cập đến. - crop_size: Tensor 1-D gồm 2 phần tử,
size = [crop_height, crop_width]
. Tất cả các bản vá hình ảnh đã cắt đều được thay đổi kích thước theo kích thước này. Tỷ lệ khung hình của nội dung hình ảnh không được giữ nguyên. Cả crop_height
và crop_width
đều phải dương.
Thuộc tính tùy chọn (xem Attrs
):
- phương thức: Một chuỗi chỉ định phương pháp lấy mẫu để thay đổi kích thước. Nó có thể là
"bilinear"
hoặc "nearest"
và mặc định là "bilinear"
. Hiện tại có hai phương pháp lấy mẫu được hỗ trợ: Song phương và Hàng xóm gần nhất. - extrapolation_value: Giá trị được sử dụng để ngoại suy, nếu có.
Trả về:
-
Output
: Một tensor 4-D có hình dạng [num_boxes, crop_height, crop_width, depth]
.
Thuộc tính công khai
Chức năng công cộng
nút
::tensorflow::Node * node() const
operator::tensorflow::Input() const
toán tử::tenorflow::Đầu ra
operator::tensorflow::Output() const
Các hàm tĩnh công khai
Attrs ExtrapolationValue(
float x
)
Phương pháp
Attrs Method(
StringPiece x
)
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[null,null,["Cập nhật lần gần đây nhất: 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```"]]