ImageProcessor 是一个用于预处理和后处理 TensorImage
的辅助类。它
可以通过执行 ImageOperator
链将 TensorImage
转换为另一个 TensorImage
。
用法示例:
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);
警告:使用 updateNumberOfRotations(int)
时,ImageProcessor
的实例不是线程安全的。更新旋转次数,然后处理图片(使用
SequentialProcessor.process(T)
)。建议为每个 Pod 分别创建
每个线程的 ImageProcessor
实例。如果多个线程同时访问 ImageProcessor
,则必须在外部同步该 ImageProcessor
。
嵌套类
类别 | ImageProcessor.Builder | 用于创建 ImageProcessor(可在稍后执行)的构建器。 |
公共方法
RectF |
inverseTransform(RectF rect, int inputImageHeight, int inputImageWidth)
将矩形从结果图片的坐标系转换回输入图片之一
图片。
|
PointF |
inverseTransform(PointF 点, int inputImageHeight, int inputImageWidth)
将结果图片的坐标系中的点转换回输入坐标系中的点
图片。
|
TensorImage | |
无效 |
updateNumberOfRotations(int k)
更新此
ImageProcessor 中第一个 Rot90Op 的旋转次数。 |
已同步 无效 |
updateNumberOfRotations(整数 k,整数出现次数)
|
继承的方法
公共方法
<ph type="x-smartling-placeholder"></ph> 公开 RectF inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)
将矩形从结果图片的坐标系转换回输入图片之一 图片。
参数
rect | 来自结果坐标系的矩形。 |
---|---|
inputImageHeight | 输入图像的高度。 |
inputImageWidth | 输入图像的宽度。 |
返回
- 使用输入图像坐标系中的坐标表示的矩形。
<ph type="x-smartling-placeholder"></ph> 公开 PointF inverseTransform (PointF 点, int inputImageHeight, int inputImageWidth)
将结果图片的坐标系中的点转换回输入坐标系中的点 图片。
参数
点 | 结果坐标系中的点。 |
---|---|
inputImageHeight | 输入图像的高度。 |
inputImageWidth | 输入图像的宽度。 |
返回
- 将点与输入图像坐标系中的坐标对应。
<ph type="x-smartling-placeholder"></ph> 公开 TensorImage 流程 (TensorImage 图片)
<ph type="x-smartling-placeholder"></ph> 公开 无效 updateNumberOfRotations (int k)
更新此 ImageProcessor
中第一个 Rot90Op
的旋转次数。
警告:此方法不是线程安全的。更新旋转次数并
则必须防止处理图片(使用 SequentialProcessor.process(T)
)与
额外同步。
参数
k | 旋转次数 |
---|
抛出
IllegalStateException | 如果尚未将Rot90Op 添加到此ImageProcessor
|
---|
<ph type="x-smartling-placeholder"></ph> 公开 已同步 无效 updateNumberOfRotations (整数 k,整数出现)
更新此代码中 occurrence
指定的 Rot90Op
的旋转次数
ImageProcessor
。
警告:此方法不是线程安全的。更新旋转次数并
则必须防止处理图片(使用 SequentialProcessor.process(T)
)与
额外同步。
参数
k | 旋转次数 |
---|---|
次 | 此 ImageProcessor 中每个 Rot90Op 的索引。对于
例如,如果需要更新第二个 Rot90Op ,则应将 occurrence
设置为 1。 |
抛出
IndexOutOfBoundsException | 如果 occurrence 为负数或不小于
此ImageProcessor 中的Rot90Op 数量 |
---|---|
IllegalStateException | 如果尚未将Rot90Op 添加到此ImageProcessor
|