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 |