общедоступный класс 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) |