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 Builder ที่จะสร้าง ImageProcessor ซึ่งดำเนินการได้ในภายหลัง

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

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

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

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

Public RectF inverseTransform (RectF rect, int InputImageHeight, int InputImageWidth)

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

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

สาธารณะ PointF inverseTransform (PointF Point, int InputImageHeight, int InputImageWidth)

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

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

สาธารณะ TensorImage ประมวลผล (TensorImage)

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

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

สาธารณะ void updateNumberOfRotations (int k)

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

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

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

สาธารณะ ทำให้ข้อมูลตรงกัน void updateNumberOfRotations (int k, intที่ปรากฏ)

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

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

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