ImageProcessor

公共类 ImageProcessor

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
processTensorImage 图片)
使用准备好的 TensorOperator 处理 TensorImage 对象。
无效
updateNumberOfRotations(int k)
更新此 ImageProcessor 中第一个 Rot90Op 的旋转次数。
已同步 无效
updateNumberOfRotations(整数 k,整数出现次数)
更新此代码中 occurrence 指定的 Rot90Op 的旋转次数 ImageProcessor

继承的方法

公共方法

<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 图片)

使用准备好的 TensorOperator 处理 TensorImage 对象。

参数
图片
抛出
IllegalArgumentException 如果图片不受任何操作支持,则会发生该错误。

<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