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, который можно будет выполнить позже. | |
Публичные методы
| РектФ | inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth) Преобразует прямоугольник из системы координат результирующего изображения обратно в систему входного изображения. |
| ТочкаF | inverseTransform (точка PointF, int inputImageHeight, int inputImageWidth) Преобразует точку из системы координат результирующего изображения обратно в систему координат входного изображения. |
| Тензорное изображение | процесс (изображение TensorImage ) Обрабатывает объект TensorImage с подготовленным TensorOperator . |
| пустота | updateNumberOfRotations (int k) Обновляет количество вращений для первого Rot90Op в этом ImageProcessor . |
| синхронизированная пустота | updateNumberOfRotations (int k, вхождение int) |
Унаследованные методы
Публичные методы
public RectF inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)
Преобразует прямоугольник из системы координат результирующего изображения обратно в систему входного изображения.
Параметры
| прямой | прямоугольник из результирующей системы координат. |
|---|---|
| входное изображениевысота | высота входного изображения. |
| входимажевидс | ширина входного изображения. |
Возврат
- прямоугольник с координатами из системы координат входного изображения.
public PointF inverseTransform (точка PointF, int inputImageHeight, int inputImageWidth)
Преобразует точку из системы координат результирующего изображения обратно в систему координат входного изображения.
Параметры
| точка | точку из результирующей системы координат. |
|---|---|
| входное изображениевысота | высота входного изображения. |
| входимажевидс | ширина входного изображения. |
Возврат
- точка с координатами из системы координат входного изображения.
публичный процесс TensorImage (изображение TensorImage )
Обрабатывает объект TensorImage с подготовленным TensorOperator .
Параметры
| изображение |
|---|
Броски
| IllegalArgumentException | если изображение не поддерживается какой-либо оп. |
|---|
public void updateNumberOfRotations (int k)
Обновляет количество вращений для первого Rot90Op в этом ImageProcessor .
ВНИМАНИЕ: этот метод не является потокобезопасным. Обновление количества вращений и последующая обработка изображений (с использованием SequentialProcessor.process(T) ) должны быть защищены от одновременного доступа с помощью дополнительной синхронизации.
Параметры
| к | количество вращений |
|---|
Броски
| IllegalStateException | если Rot90Op не был добавлен в этот ImageProcessor |
|---|
общедоступная синхронизированная пустота updateNumberOfRotations (int k, вхождение int)
Обновляет количество вращений для Rot90Op , указанное occurrence в этом ImageProcessor .
ВНИМАНИЕ: этот метод не является потокобезопасным. Обновление количества вращений и последующая обработка изображений (с использованием SequentialProcessor.process(T) ) должны быть защищены от одновременного доступа с помощью дополнительной синхронизации.
Параметры
| к | количество вращений |
|---|---|
| возникновение | индекс конкретного Rot90Op в этом ImageProcessor . Например, если необходимо обновить второй Rot90Op , occurrence должно быть установлено на 1. |
Броски
| Индексаутофбаундсисключение | если occurrence отрицательное или не меньше количества Rot90Op в этом ImageProcessor |
|---|---|
| IllegalStateException | если Rot90Op не был добавлен в этот ImageProcessor |