BoundingBoxUtil

คลาสสุดท้ายสาธารณะ BoundingBoxUtil

คลาสตัวช่วยสำหรับการแปลงค่าที่แสดงกรอบล้อมรอบเป็นสี่เหลี่ยมผืนผ้า

คลาสมีฟังก์ชันแบบคงที่เพื่อสร้างกรอบล้อมรอบเป็น RectF จากการกำหนดค่าประเภทต่างๆ

โดยทั่วไป กรอบล้อมรอบอาจแสดงด้วยค่าทศนิยม 4 ค่า แต่ค่าดังกล่าวสามารถตีความได้หลายวิธี ตอนนี้เรารองรับการกำหนดค่า BoundingBoxUtil.Type 3 รายการ และลำดับขององค์ประกอบในแต่ละประเภทสามารถกำหนดค่าได้ด้วย

ชั้นเรียนที่ซ้อนกัน

enum BoundingBoxUtil.CoordinateType ระบุว่าพิกัดเป็นพิกเซลจริงหรืออัตราส่วนสัมพัทธ์
enum BoundingBoxUtil.Type แสดงถึงการแสดงกรอบล้อมรอบ

วิธีการสาธารณะ

static รายการ<RectF>
convert(TensorBuffer tensor, int[] valueIndex, int boundingBoxAxis, ประเภท BoundingBoxUtil.Type, BoundingBoxUtil.CoordinateType coordinateType, ความสูง int, ความกว้าง int)
สร้างรายการกรอบล้อมรอบจาก TensorBuffer ซึ่งแสดงถึงกรอบล้อมรอบ

วิธีการที่รับช่วงมา

วิธีการสาธารณะ

สาธารณะ คงที่ รายการ<RectF> convert (TensorBuffer tensor, int[] valueIndex, int boundingBoxAxis, ประเภท BoundingBoxUtil.Type, BoundingBoxUtil.CoordinateTypeความกว้างในพิกัด

สร้างรายการกรอบล้อมรอบจาก TensorBuffer ซึ่งแสดงถึงกรอบล้อมรอบ

พารามิเตอร์
Tensor เก็บข้อมูลที่แสดงถึงช่องบางช่อง
valueIndex แสดงลำดับขององค์ประกอบที่กำหนดไว้ในประเภทกรอบล้อมรอบ อาร์เรย์ดัชนีที่ว่างเปล่าจะแสดงลำดับเริ่มต้นของกรอบล้อมรอบแต่ละประเภท ตัวอย่างเช่น หากต้องการแสดงลำดับเริ่มต้นของ BOUNDARIES ซึ่งก็คือ {left, top, right, below} ดัชนีควรเป็น {0, 1, 2, 3} ในการแสดงลำดับ {left, right, top, below} ลำดับควรเป็น {0, 2, 1, 3}

คุณใช้อาร์เรย์ดัชนีกับกรอบล้อมรอบทุกประเภทได้เพื่อปรับลำดับขององค์ประกอบเบื้องหลังที่เกี่ยวข้อง

boundingBoxAxis ระบุดัชนีของมิติข้อมูลที่แสดงถึงกรอบล้อมรอบ ขนาดของมิติข้อมูลต้องเป็น 4 ดัชนีในที่นี้เริ่มต้นจาก 0 เช่น หาก Tensor มีรูปร่าง 4x10 แกนสำหรับกรอบล้อมรอบก็มีแนวโน้มที่จะเป็น 0 นอกจากนี้ รองรับแกนลบด้วย เช่น -1 แทนแกนสุดท้าย และ -2 แทน .ฯลฯ ที่สอง สำหรับรูปร่าง 10x4 แกนน่าจะเป็น 1 (หรือ -1 เทียบเท่า)
ประเภท กำหนดวิธีที่ควรแปลงค่าเป็นช่อง ดู BoundingBoxUtil.Type
coordinateType กำหนดวิธีตีความค่าเป็นพิกัด ดู BoundingBoxUtil.CoordinateType
ส่วนสูง ความสูงของรูปภาพที่มีกล่องอยู่ มีเอฟเฟกต์เมื่อ coordinateType คือBoundingBoxUtil.CoordinateType.RATIOเท่านั้น
ความกว้าง ความกว้างของรูปภาพที่มีกล่องต่างๆ มีเอฟเฟกต์เมื่อ coordinateType คือBoundingBoxUtil.CoordinateType.RATIOเท่านั้น
การคืนสินค้า
  • รายการกรอบล้อมรอบที่ tensor แสดง มิติข้อมูลทั้งหมดยกเว้น boundingBoxAxis จะยุบลงโดยยังมีลำดับอยู่ ตัวอย่างเช่น หากเลือก tensor ที่มีรูปร่าง {1, 4, 10, 2} และ boundingBoxAxis = 1 ผลลัพธ์จะเป็นรายการกรอบล้อมรอบ 20 ช่อง
การขว้าง
IllegalArgumentException หากขนาดของมิติข้อมูลกรอบล้อมรอบ (กําหนดโดย boundingBoxAxis) ไม่ใช่ 4
IllegalArgumentException หาก boundingBoxAxis ไม่อยู่ใน (-(D+1), D) โดยที่ D คือจํานวนมิติข้อมูลของ tensor
IllegalArgumentException หาก tensor มีข้อมูลประเภทอื่นที่ไม่ใช่ DataType.FLOAT32