จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
เทนเซอร์โฟลว์:: ปฏิบัติการ:: ครอบตัดและปรับขนาด
#include <image_ops.h>
แยกพืชผลจากเทนเซอร์รูปภาพอินพุตและปรับขนาด
สรุป
แยกการครอบตัดจากเทนเซอร์รูปภาพอินพุตและปรับขนาดโดยใช้การสุ่มตัวอย่างแบบไบลิเนียร์หรือการสุ่มตัวอย่างใกล้เคียงที่สุด (อาจมีการเปลี่ยนแปลงอัตราส่วนภาพ) เป็นขนาดเอาต์พุตทั่วไปที่ระบุโดย crop_size
นี่เป็นเรื่องทั่วไปมากกว่า crop_to_bounding_box
op ซึ่งจะแยกส่วนขนาดคงที่ออกจากรูปภาพอินพุต และไม่อนุญาตให้ปรับขนาดหรือเปลี่ยนอัตราส่วนภาพ
ส่งกลับเทนเซอร์ที่มี crops
จาก image
ที่ป้อนในตำแหน่งที่กำหนดไว้ที่ตำแหน่งกรอบขอบใน boxes
กล่องที่ครอบตัดจะถูกปรับขนาดทั้งหมด (ด้วยการแก้ไขแบบไบลิเนียร์หรือเพื่อนบ้านที่ใกล้ที่สุด) เป็น size = [crop_height, crop_width]
ผลลัพธ์ที่ได้คือเทนเซอร์ 4 มิติ [num_boxes, crop_height, crop_width, depth]
การปรับขนาดจะจัดชิดมุม โดยเฉพาะอย่างยิ่ง หาก boxes = [[0, 0, 1, 1]]
วิธีการจะให้ผลลัพธ์ที่เหมือนกันกับการใช้ tf.image.resize_bilinear()
หรือ tf.image.resize_nearest_neighbor()
(ขึ้นอยู่กับอาร์กิวเมนต์ของ method
) ด้วย align_corners=True
ข้อโต้แย้ง:
- ขอบเขต: วัตถุ ขอบเขต
- ภาพ: เทนเซอร์ 4 มิติของรูปร่าง
[batch, image_height, image_width, depth]
ทั้ง image_height
และ image_width
จะต้องเป็นบวก - กล่อง: เทนเซอร์ 2 มิติของรูปร่าง
[num_boxes, 4]
แถวที่ i
ของเมตริกซ์ระบุพิกัดของกล่องในภาพ box_ind[i]
และระบุไว้ในพิกัดปกติ [y1, x1, y2, x2]
ค่าพิกัดที่ทำให้เป็นมาตรฐานของ y
ถูกแมปกับพิกัดของภาพที่ y * (image_height - 1)
ดังนั้นเนื่องจากช่วง [0, 1]
ของความสูงของรูปภาพที่ทำให้เป็นมาตรฐานจะถูกแมปกับ [0, image_height - 1]
ในพิกัดความสูงของภาพ เราอนุญาต y1
> y2
ซึ่งในกรณีนี้การครอบตัดตัวอย่างจะเป็นเวอร์ชันพลิกขึ้นและลงของรูปภาพต้นฉบับ มิติความกว้างได้รับการปฏิบัติในทำนองเดียวกัน อนุญาตให้ใช้พิกัดที่ทำให้เป็นมาตรฐานนอกช่วง [0, 1]
ได้ ซึ่งในกรณีนี้เราใช้ extrapolation_value
เพื่อคาดการณ์ค่าภาพที่ป้อนเข้า - box_ind: เทนเซอร์ 1-D ของรูปร่าง
[num_boxes]
ที่มีค่า int32 ใน [0, batch)
ค่าของ box_ind[i]
ระบุรูปภาพที่กล่อง i
-th อ้างถึง - crop_size: เทนเซอร์ 1-D ของ 2 องค์ประกอบ
size = [crop_height, crop_width]
แพตช์ภาพที่ครอบตัด ทั้งหมด จะถูกปรับขนาดเป็นขนาดนี้ อัตราส่วนภาพของเนื้อหาภาพไม่คงอยู่ ทั้ง crop_height
และ crop_width
จะต้องเป็นบวก
แอ็ตทริบิวต์ทางเลือก (ดู Attrs
):
- วิธีการ: สตริงที่ระบุวิธีการสุ่มตัวอย่างสำหรับการปรับขนาด อาจเป็น
"bilinear"
หรือ "nearest"
และตั้งค่าเริ่มต้นเป็น "bilinear"
ปัจจุบันรองรับวิธีการสุ่มตัวอย่างสองวิธี: Bilinear และ Nearest Neighbor - extrapolation_value: ค่าที่ใช้สำหรับการประมาณค่า เมื่อมี
ผลตอบแทน:
-
Output
: เทนเซอร์รูปร่าง 4 มิติ [num_boxes, crop_height, crop_width, depth]
คุณลักษณะสาธารณะ
งานสาธารณะ
โหนด
::tensorflow::Node * node() const
operator::tensorflow::Input() const
ตัวดำเนินการ::tensorflow::เอาต์พุต
operator::tensorflow::Output() const
ฟังก์ชันคงที่สาธารณะ
Attrs ExtrapolationValue(
float x
)
วิธี
Attrs Method(
StringPiece x
)
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-26 UTC
[null,null,["อัปเดตล่าสุด 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```"]]