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 (RectF rect, int inputImageHeight, int inputImageWidth)
เปลี่ยนรูปสี่เหลี่ยมผืนผ้าจากระบบพิกัดของรูปภาพผลลัพธ์กลับไปเป็นรูปภาพอินพุตอันใดอันหนึ่ง
PointF
inverseTransform (จุด PointF, int inputImageHeight, int inputImageWidth)
เปลี่ยนจุดจากระบบพิกัดของรูปภาพผลลัพธ์กลับไปเป็นรูปภาพอินพุตอันใดอันหนึ่ง
เทนเซอร์อิมเมจ
กระบวนการ (ภาพ เทนเซอร์ อิมเมจ)
ประมวลผลวัตถุ TensorImage ด้วย TensorOperator ที่เตรียมไว้
โมฆะ
อัปเดตจำนวนการหมุน (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 ที่เตรียมไว้

พารามิเตอร์
ภาพ
ขว้าง
IllegalArgumentException หากภาพไม่ได้รับการสนับสนุนจาก op ใด ๆ

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

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

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

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

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

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

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

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