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
|