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 | |
void |
updateNumberOfRotations(int k)
อัปเดตจำนวนการหมุนเวียนสำหรับ
Rot90Op แรกใน ImageProcessor นี้ |
ทำให้ข้อมูลตรงกัน เป็นโมฆะ |
updateNumberOfRotations(int k, intที่ปรากฏ)
|
วิธีการที่รับช่วงมา
วิธีการสาธารณะ
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 นี้
|