ImageProcessor là một lớp trợ giúp để xử lý trước và xử lý hậu kỳ TensorImage
. Hàm này có thể chuyển đổi TensorImage
sang một giá trị 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)
. Việc cập nhật số lượt xoay rồi xử lý hình ảnh (sử dụng SequentialProcessor.process(T)
) phải được bảo vệ khỏi hành vi truy cập đồng thời. Bạn nên tạo các thực thể 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ì luồng đó phải được đồng bộ hoá bên ngoài.
Lớp lồng ghép
lớp | ImageProcessor.Builder | Trình tạo để tạo một ImageProcessor (Trình xử lý hình ảnh) có thể được thực thi sau này. |
Phương thức công khai
RectF |
inverseTransform(RectF hình chữ nhật, int inputImageHeight, int inputImageWidth)
Chuyển đổi một hình chữ nhật từ hệ thống toạ độ của hình ảnh kết quả trở lại thành một trong hình ảnh đầu vào.
|
PointF |
inverseTransform(điểm PointF, int inputImageHeight, int inputImageWidth)
Chuyển đổi một điểm từ hệ thống toạ độ của hình ảnh kết quả thành một trong hình ảnh đầu vào.
|
TensorImage | |
void |
updateNumberOfRotations(int k)
Cập nhật số vòng xoay cho
Rot90Op đầu tiên trong ImageProcessor này. |
đã đồng bộ hoá vô hiệu |
updateNumberOfRotations(int k, int lần xuất hiện)
|
Các 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 một hình chữ nhật từ hệ thống toạ độ của hình ảnh kết quả trở lại thành một trong hình ảnh đầu vào.
Thông số
rect | hình chữ nhật trong hệ thống toạ độ kết quả. |
---|---|
inputImageHeight | chiều cao của hình ảnh nhập 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ệ toạ độ của hình ảnh nhập vào.
công khai PointF inverseTransform (PointF point, int inputImageHeight, int inputImageWidth)
Chuyển đổi một điểm từ hệ thống toạ độ của hình ảnh kết quả thành một trong hình ảnh đầu vào.
Thông số
điểm | điểm trong hệ thống toạ độ kết quả. |
---|---|
inputImageHeight | chiều cao của hình ảnh nhập 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ệ toạ độ của ảnh nhập vào.
công khai TensorImage quy trình (TensorImage hình ảnh)
Xử lý đối tượng TensorImage
bằng TensorOperator
đã chuẩn bị.
Thông số
hình ảnh |
---|
Gửi
IllegalArgumentException | nếu hình ảnh không được bất kỳ cơ quan nào hỗ trợ. |
---|
công khai void updateNumberOfRotations (int k)
Cập nhật số vòng xoay 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 chuỗi. Việc cập nhật số lượt 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 với tính năng đồng bộ hoá bổ sung.
Thông số
k | số vòng xoay |
---|
Gửi
IllegalStateException | nếu Rot90Op chưa được thêm vào ImageProcessor này
|
---|
công khai đồng bộ hoá void updateNumberOfRotations (int k, int event)
Cập nhật số lượt xoay cho Rot90Op
do occurrence
chỉ định trong ImageProcessor
này.
CẢNH BÁO: phương thức này không an toàn cho chuỗi. Việc cập nhật số lượt 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 với tính năng đồng bộ hoá bổ sung.
Thông số
k | số vòng xoay |
---|---|
lần xuất hiện | chỉ mục của Rot90Op ngoại vi trong ImageProcessor này. Ví dụ: nếu cần cập nhật Rot90Op thứ hai, thì bạn phải đặt occurrence thành 1. |
Gửi
IndexOutOfBoundsException | nếu occurrence là số âm hoặc không nhỏ hơn số Rot90Op trong ImageProcessor này |
---|---|
IllegalStateException | nếu Rot90Op chưa được thêm vào ImageProcessor này
|