ImageProcessor

lớp công khai ImageProcessor

ImageProcessor là một lớp trợ giúp để xử lý trước và hậu xử lý TensorImage. Nó có thể biến đổi một TensorImage thành một chuỗi khác bằng cách thực thi một chuỗi ImageOperator.

Ví dụ về cách sử dụng:

   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);
 

CẢNH BÁO: Các thực thể của ImageProcessor không an toàn cho luồng với updateNumberOfRotations(int). Cập nhật số lần xoay rồi xử lý hình ảnh (sử dụng SequentialProcessor.process(T)) phải được bảo vệ khỏi hoạt động truy cập đồng thời. Bạn nên tạo các báo cáo riêng biệt ImageProcessor thực thể cho mỗi chuỗi. Nếu nhiều luồng truy cập đồng thời vào một ImageProcessor, thì bạn phải đồng bộ hoá luồng đó bên ngoài.

Lớp lồng ghép

lớp ImageProcessor.Builder Trình tạo để tạo ImageProcessor có thể được thực thi sau.

Phương thức công khai

RectF
inverseTransform(rectF rect, int inputImageHeight, int inputImageWidth)
Chuyển đổi hình chữ nhật từ hệ thống toạ độ của hình ảnh kết quả trở lại giá trị đầu vào hình ảnh.
PointF
inverseTransform(điểm PointF, int inputImageHeight, int inputImageWidth)
Chuyển đổi một điểm từ hệ toạ độ của hình ảnh kết quả trở lại điểm đầu vào hình ảnh.
TensorImage
process(hình ảnh TensorImage)
Xử lý đối tượng TensorImage bằng TensorOperator đã chuẩn bị.
void
updateNumberOfRotations(int k)
Cập nhật số vòng cho Rot90Op đầu tiên trong ImageProcessor này.
đã đồng bộ hoá trống
updateNumberOfRotations(int k, lần xuất hiện int)
Cập nhật số vòng xoay cho Rot90Op do occurrence chỉ định trong ImageProcessor.

Phương thức kế thừa

Phương thức công khai

công khai RectF inverseTransform (rectF rect, int inputImageHeight, int inputImageWidth)

Chuyển đổi hình chữ nhật từ hệ thống toạ độ của hình ảnh kết quả trở lại giá trị đầu vào hình ảnh.

Tham số
rect hình chữ nhật trong hệ thống toạ độ kết quả.
inputImageHeight chiều cao của hình ảnh đầu vào.
inputImageWidth chiều rộng của hình ảnh đầu vào.
Giá trị trả về
  • hình chữ nhật có toạ độ từ hệ thống toạ độ của hình ảnh đầu vào.

công khai PointF inverseTransform (điểm PointF, int inputImageHeight, int inputImageWidth)

Chuyển đổi một điểm từ hệ toạ độ của hình ảnh kết quả trở lại điểm đầu vào hình ảnh.

Tham số
chấm điểm đó khỏi hệ thống toạ độ kết quả.
inputImageHeight chiều cao của hình ảnh đầu vào.
inputImageWidth chiều rộng của hình ảnh đầu vào.
Giá trị trả về
  • điểm có toạ độ từ hệ thống toạ độ của hình ảnh đầu vào.

công khai TensorImage quy trình (Hình ảnh TensorImage)

Xử lý đối tượng TensorImage bằng TensorOperator đã chuẩn bị.

Tham số
hình ảnh
Gửi
IllegalArgumentException nếu hình ảnh đó không được bất kỳ nhà cung cấp dịch vụ nào hỗ trợ.

công khai trống updateNumberOfRotations (int k)

Cập nhật số vòng cho Rot90Op đầu tiên trong ImageProcessor này.

CẢNH BÁO: phương thức này không an toàn cho luồng. Cập nhật số lần xoay và thì việc xử lý hình ảnh (sử dụng SequentialProcessor.process(T)) phải được bảo vệ khỏi hoạt động truy cập đồng thời bằng đồng bộ hoá bổ sung.

Tham số
k số vòng quay
Gửi
IllegalStateException nếu Rot90Op chưa được thêm vào ImageProcessor này

công khai đã đồng bộ hoá trống updateNumberOfRotations (số nguyên k, số lần xuất hiện)

Cập nhật số vòng xoay cho Rot90Op do occurrence chỉ định trong ImageProcessor.

CẢNH BÁO: phương thức này không an toàn cho luồng. Cập nhật số lần xoay và thì việc xử lý hình ảnh (sử dụng SequentialProcessor.process(T)) phải được bảo vệ khỏi hoạt động truy cập đồng thời bằng đồng bộ hoá bổ sung.

Tham số
k số vòng quay
lần diễn ra chỉ mục của Rot90Op góc vuông trong ImageProcessor này. Cho Ví dụ: nếu cần cập nhật Rot90Op thứ hai, thì occurrence sẽ là đặt thành 1.
Gửi
IndexOutOfBoundsException nếu occurrence là số âm hoặc không nhỏ hơn số lượng Rot90Op trong ImageProcessor này
IllegalStateException nếu Rot90Op chưa được thêm vào ImageProcessor này