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 พร้อมกัน จะต้องซิงโครไนซ์จากภายนอก

คลาสที่ซ้อนกัน

ระดับ ตัวประมวลผลภาพ Builder ตัวสร้างเพื่อสร้าง ImageProcessor ซึ่งสามารถดำเนินการได้ในภายหลัง

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

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

วิธีการสืบทอด

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

RectF inverseTransform สาธารณะ (RectF rect, int inputImageHeight, int inputImageWidth)

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

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

สาธารณะ PointF inverseTransform (จุด PointF, int inputImageHeight, int inputImageWidth)

แปลงจุดจากระบบพิกัดของรูปภาพผลลัพธ์กลับไปเป็นรูปภาพอินพุต

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

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

ประมวลผลวัตถุ TensorImage ด้วย TensorOperator ที่เตรียมไว้

พารามิเตอร์
ภาพ
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย หากภาพไม่ได้รับการสนับสนุนโดย op ใด ๆ

โมฆะสาธารณะ updateNumberOfRotations (int k)

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

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

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

โมฆะการซิงโครไนซ์สาธารณะ updateNumberOfRotations (int k, int เกิดขึ้น)

อัพเดตจำนวนการหมุนสำหรับ Rot90Op ที่ระบุตาม occurrence ใน ImageProcessor นี้

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

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