ImageProcessor là một lớp trợ giúp để xử lý trước và xử lý sau TensorImage
. Nó có thể chuyển đổi một TensorImage
sang một TensorImage khác bằng cách thực thi một chuỗi ImageOperator
.
Ví dụ 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 phiên bản của Bộ xử lý hình ảnh không an toàn theo luồng với ImageProcessor
updateNumberOfRotations(int)
. Cập nhật số lần quay và sau đó xử lý hình ảnh (sử dụng SequentialProcessor.process(T)
) phải được bảo vệ khỏi truy cập đồng thời. Bạn nên tạo các phiên ImageProcessor
riêng biệt cho mỗi luồng. Nếu nhiều luồng truy cập đồng thời vào một ImageProcessor
, nó phải được đồng bộ hóa bên ngoài.
Lớp học lồng nhau
lớp | ImageProcessor.Builder | Builder để tạo ImageProcessor, có thể được thực thi sau này. |
Phương thức công khai
RectF | inverseTransform (RectF direct, int inputImageHeight, int inputImageWidth) Chuyển một hình chữ nhật từ hệ tọa độ của hình ảnh kết quả trở lại hệ thống tọa độ của hình ảnh đầu vào. |
PointF | inverseTransform (điểm PointF, int inputImageHeight, int inputImageWidth) Chuyển một điểm từ hệ tọa độ của ảnh kết quả trở lại thành một trong ảnh đầu vào. |
TensorImage | |
vô hiệu | updateNumberOfRotations (int k) Cập nhật số lần quay cho Rot90Op đầu tiên trong Bộ xử lý hình ImageProcessor này. |
khoảng trống đồng bộ | updateNumberOfRotations (int k, int xuất hiện) Cập nhật số lần quay cho Rot90Op được chỉ định bởi occurrence trong Bộ xử lý hình ImageProcessor này. |
Phương thức kế thừa
Phương thức công khai
public RectF inverseTransform (RectF direct, int inputImageHeight, int inputImageWidth)
Chuyển một hình chữ nhật từ hệ tọa độ của hình ảnh kết quả trở lại hệ thống tọa độ của hình ảnh đầu vào.
Thông số
trực tràng | hình chữ nhật từ hệ tọa độ 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. |
Lợi nhuận
- hình chữ nhật với tọa độ từ hệ tọa độ của hình ảnh đầu vào.
public PointF inverseTransform (PointF point, int inputImageHeight, int inputImageWidth)
Chuyển một điểm từ hệ tọa độ của ảnh kết quả trở lại thành một trong ảnh đầu vào.
Thông số
điểm | điểm từ hệ tọa độ 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. |
Lợi nhuận
- điểm có tọa độ từ hệ tọa độ của ảnh đầu vào.
quá trình TensorImage công khai (Hình ảnh TensorImage )
Xử lý đối tượng TensorImage
với TensorOperator
đã chuẩn bị.
Thông số
hình ảnh |
---|
Ném
Ngoại lệ Đối số bất hợp pháp | nếu hình ảnh không được hỗ trợ bởi bất kỳ op. |
---|
public void updateNumberOfRotations (int k)
Cập nhật số lần quay cho Rot90Op
đầu tiên trong Bộ xử lý hình ImageProcessor
này.
CẢNH BÁO: phương pháp này không an toàn cho chủ đề. Cập nhật số lần quay và sau đó xử lý hình ảnh (sử dụng SequentialProcessor.process(T)
) phải được bảo vệ khỏi truy cập đồng thời với đồng bộ hóa bổ sung.
Thông số
k | số vòng quay |
---|
Ném
Ngoại lệ nhà nước bất hợp pháp | nếu Rot90Op chưa được thêm vào ImageProcessor này |
---|
công khai đồng bộ hóa void updateNumberOfRotations (int k, int xuất hiện)
Cập nhật số lần quay cho Rot90Op
được chỉ định bởi occurrence
trong Bộ xử lý hình ImageProcessor
này.
CẢNH BÁO: phương pháp này không an toàn cho chủ đề. Cập nhật số lần quay và sau đó xử lý hình ảnh (sử dụng SequentialProcessor.process(T)
) phải được bảo vệ khỏi truy cập đồng thời với đồng bộ hóa bổ sung.
Thông số
k | số vòng quay |
---|---|
tần suất xảy ra | chỉ số của Rot90Op trên mặt trong ImageProcessor xử lý hình ảnh này. Ví dụ: nếu Rot90Op thứ hai cần được cập nhật, thì occurrence phải được đặt thành 1. |
Ném
IndexOutOfBoundsException | nếu occurrence là số âm hoặc không nhỏ hơn số Rot90Op trong ImageProcessor xử lý hình ảnh này |
---|---|
Ngoại lệ nhà nước bất hợp pháp | nếu Rot90Op chưa được thêm vào ImageProcessor này |