ImageProcessor là một lớp trợ giúp cho quá trình tiền xử lý và hậu xử lý TensorImage
. Nó có thể biến đổi TensorImage
thành một TensorImage khác bằng cách thực thi một chuỗi ImageOperator
.
Cách sử dụng ví dụ:
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 ImageProcessor
không an toàn theo luồng với updateNumberOfRotations(int)
. Việc 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 bản ImageProcessor
riêng biệt cho từng luồng. Nếu nhiều luồng truy cập đồng thời vào ImageProcessor
thì nó phải được đồng bộ hóa bên ngoài.
Các lớp lồng nhau
lớp học | ImageProcessor.Builder | Trình tạo để tạo Bộ xử lý hình ảnh, bộ xử lý này có thể được thực thi sau này. |
Phương pháp công khai
trực tràngF | inverseTransform (RectF trực tràng, int inputImageHeight, int inputImageWidth) Chuyển đổi một hình chữ nhật từ hệ tọa độ của hình ảnh kết quả trở lại hình ảnh đầu vào. |
điểm F | inverseTransform (Điểm PointF, int inputImageHeight, int inputImageWidth) Chuyển đổi một điểm từ hệ tọa độ của ảnh kết quả về lại điểm của ảnh đầu vào. |
Hình ảnh Tenor | quá trình (hình ảnh TensorImage ) Xử lý một đối tượng TensorImage với TensorOperator đã được chuẩn bị sẵn. |
trống rỗng | cập nhậtNumberOfRotations (int k) Cập nhật số vòng quay cho Rot90Op đầu tiên trong ImageProcessor này. |
khoảng trống đồng bộ | updateNumberOfRotations (int k, int lần xuất hiện) |
Phương pháp kế thừa
Phương pháp công khai
public RectF inverseTransform (RectF trực tràng, int inputImageHeight, int inputImageWidth)
Chuyển đổi một hình chữ nhật từ hệ tọa độ của hình ảnh kết quả trở lại hình ảnh đầu vào.
Thông số
thẳng | hình chữ nhật từ hệ tọa độ kết quả. |
---|---|
đầu vàoImageHeight | chiều cao của hình ảnh đầu vào. |
đầu vàoImageWidth | chiều rộng của hình ảnh đầu vào. |
Trả lại
- hình chữ nhật có tọa độ từ hệ tọa độ của ảnh đầu vào.
public PointF inverseTransform (Điểm PointF, int inputImageHeight, int inputImageWidth)
Chuyển đổi một điểm từ hệ tọa độ của ảnh kết quả về lại điểm của ảnh đầu vào.
Thông số
điểm | điểm từ hệ tọa độ kết quả. |
---|---|
đầu vàoImageHeight | chiều cao của hình ảnh đầu vào. |
đầu vàoImageWidth | chiều rộng của hình ảnh đầu vào. |
Trả lại
- đ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ý một đối tượng TensorImage
với TensorOperator
đã được chuẩn bị sẵn.
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 nào. |
---|
cập nhật void công khaiNumberOfRotations (int k)
Cập nhật số vòng quay cho Rot90Op
đầu tiên trong ImageProcessor
này.
CẢNH BÁO: phương pháp này không an toàn cho luồng. Việc 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ằng tính năng đồ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ập nhật void được đồng bộ hóa công khaiNumberOfRotations (int k, int lần xuất hiện)
Cập nhật số vòng quay cho Rot90Op
được chỉ định theo occurrence
trong ImageProcessor
này.
CẢNH BÁO: phương pháp này không an toàn cho luồng. Việc 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ằng tính năng đồ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 vuông góc trong ImageProcessor 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
IndexOutOfBoundsNgoại lệ | nếu occurrence là âm hoặc không nhỏ hơn số Rot90Op trong ImageProcessor 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 |