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) แปลงจุดจากระบบพิกัดของรูปภาพผลลัพธ์กลับไปเป็นรูปภาพอินพุต |
เทนเซอร์อิมเมจ | |
เป็นโมฆะ | updateNumberOfRotations (int k) อัปเดตจำนวนการหมุนสำหรับ Rot90Op แรกใน ImageProcessor นี้ |
โมฆะที่ซิงโครไนซ์กัน | updateNumberOfRotations (int k, int เกิดขึ้น) |
วิธีการสืบทอด
วิธีการสาธารณะ
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 นี้ |