ImageProcessor

ชั้นเรียนสาธารณะ ImageProcessor

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

ตัวอย่างการใช้งาน:

   ImageProcessor processor = new ImageProcessor.Builder()
       .add(new ResizeOp(224, 224, ResizeMethod.NEAREST_NEIGHBOR)
       .add(new Rot90Op())
       .add(new NormalizeOp(127.5f, 127.5f))
       .build();
   TensorImage anotherTensorImage = processor.process(tensorImage);
 

คำเตือน: อินสแตนซ์ของ ImageProcessor จะไม่ปลอดภัยสำหรับชุดข้อความเมื่อใช้ updateNumberOfRotations(int) การอัปเดตจำนวนการหมุนและการประมวลผลภาพ (โดยใช้ SequentialProcessor.process(T)) ต้องได้รับการป้องกันจากการเข้าถึงพร้อมกัน ขอแนะนำให้สร้าง ImageProcessor อินสแตนซ์สำหรับแต่ละชุดข้อความ หากมีชุดข้อความหลายรายการเข้าถึง ImageProcessor พร้อมกัน จะต้องซิงค์ข้อมูลกับภายนอก

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

คลาส ImageProcessor.Builder เครื่องมือสร้างสำหรับสร้าง ImageProcessor ซึ่งสามารถเรียกใช้ในภายหลังได้

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

RectF
inverseTransform(สี่เหลี่ยมรูปสี่เหลี่ยม, int InputImageHeight, int InputImageWidth)
เปลี่ยนรูปสี่เหลี่ยมผืนผ้าจากระบบพิกัดของรูปภาพผลลัพธ์กลับไปเป็นระบบอินพุต รูปภาพ
PointF
inverseTransform(จุด PointF, int InputImageHeight, int InputImageWidth)
เปลี่ยนจุดจากระบบพิกัดของรูปภาพผลลัพธ์กลับไปเป็นหนึ่งในอินพุต รูปภาพ
TensorImage
process(รูปภาพ TensorImage)
ประมวลผลออบเจ็กต์ TensorImage ด้วย TensorOperator ที่เตรียมไว้
เป็นโมฆะ
updateNumberOfRotations(int k)
อัปเดตจำนวนการหมุนของ Rot90Op แรกใน ImageProcessor นี้
ซิงค์แล้ว เป็นโมฆะ
updateNumberOfRotations(int k, จำนวนรายการ)
อัปเดตจำนวนการหมุนของ Rot90Op ที่ระบุโดย occurrence ใน ImageProcessor

เมธอดที่รับมา

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

สาธารณะ RectF inverseTransform (RectF Reect, int InputImageHeight, int InputImageWidth)

เปลี่ยนรูปสี่เหลี่ยมผืนผ้าจากระบบพิกัดของรูปภาพผลลัพธ์กลับไปเป็นระบบอินพุต รูปภาพ

พารามิเตอร์
rect สี่เหลี่ยมผืนผ้าจากระบบพิกัดผลลัพธ์
inputImageHeight ความสูงของรูปภาพที่ป้อน
inputImageWidth ความกว้างของรูปภาพที่ป้อน
การคืนสินค้า
  • รูปสี่เหลี่ยมผืนผ้าที่มีพิกัดจากระบบพิกัดของรูปภาพอินพุต

สาธารณะ PointF inverseTransform (จุด PointF, intinputImageHeight, int InputImageWidth)

เปลี่ยนจุดจากระบบพิกัดของรูปภาพผลลัพธ์กลับไปเป็นหนึ่งในอินพุต รูปภาพ

พารามิเตอร์
จุด จุดจากระบบพิกัดผลลัพธ์
inputImageHeight ความสูงของรูปภาพที่ป้อน
inputImageWidth ความกว้างของรูปภาพที่ป้อน
การคืนสินค้า
  • จุดโดยใช้พิกัดจากระบบพิกัดของรูปภาพอินพุต

สาธารณะ TensorImage กระบวนการ (TensorImage)

ประมวลผลออบเจ็กต์ TensorImage ด้วย TensorOperator ที่เตรียมไว้

พารามิเตอร์
รูปภาพ
การขว้าง
IllegalArgumentException หากการดำเนินการใดๆ ไม่รองรับรูปภาพดังกล่าว

สาธารณะ เป็นโมฆะ updateNumberOfRotations (int k)

อัปเดตจำนวนการหมุนของ Rot90Op แรกใน ImageProcessor นี้

คำเตือน: วิธีนี้ไม่ปลอดภัยสำหรับชุดข้อความ กำลังอัปเดตจำนวนการหมุนและ การประมวลผลภาพ (โดยใช้ SequentialProcessor.process(T)) จะต้องได้รับการปกป้องจากการเข้าถึงพร้อมกันกับ การซิงค์เพิ่มเติม

พารามิเตอร์
k จำนวนการหมุน
การขว้าง
IllegalStateException หากไม่ได้เพิ่ม Rot90Op ลงใน ImageProcessor นี้

สาธารณะ ซิงค์แล้ว เป็นโมฆะ updateNumberOfRotations (int k, ไม่ปรากฏ)

อัปเดตจำนวนการหมุนของ Rot90Op ที่ระบุโดย occurrence ใน ImageProcessor

คำเตือน: วิธีนี้ไม่ปลอดภัยสำหรับชุดข้อความ กำลังอัปเดตจำนวนการหมุนและ การประมวลผลภาพ (โดยใช้ SequentialProcessor.process(T)) จะต้องได้รับการปกป้องจากการเข้าถึงพร้อมกันกับ การซิงค์เพิ่มเติม

พารามิเตอร์
k จำนวนการหมุน
ครั้ง ดัชนีของ Rot90Op ที่เกี่ยวข้องใน ImageProcessor นี้ สำหรับ ตัวอย่างเช่น หากต้องอัปเดต Rot90Op รายการที่ 2 occurrenceก็ควรจะเป็น ตั้งค่าเป็น 1
การขว้าง
IndexOutOfBoundsException หาก occurrence เป็นค่าลบหรือไม่น้อยกว่าค่า จำนวนของ Rot90Op ใน ImageProcessor นี้
IllegalStateException หากไม่ได้เพิ่ม Rot90Op ลงใน ImageProcessor นี้