ImageProcessor

общедоступный класс ImageProcessor

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)
Обновляет количество поворотов для Rot90Op , указанное occurrence в этот ImageProcessor .

Унаследованные методы

Публичные методы

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