公共类 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)
)必须防止并发访问。建议为每个线程创建单独的 ImageProcessor
实例。如果多个线程并发访问 ImageProcessor
,则必须在外部同步它。
嵌套类
类别 | ImageProcessor.Builder | 用于创建 ImageProcessor(稍后可执行)的构建器。 |
公共方法
RectF |
inverseTransform(RectF rect, int inputImageHeight, int inputImageWidth)
将矩形从结果图片的坐标系转换回某张输入图片。
|
PointF |
inverseTransform(PointF point, int inputImageHeight, int inputImageWidth)
将点从结果图片的坐标系转换回某张输入图片。
|
TensorImage | |
void |
updateNumberOfRotations(int k)
更新此
ImageProcessor 中第一个 Rot90Op 的旋转次数。 |
已同步 void |
updateNumberOfRotations(int k, int 网上出现次数)
|
继承的方法
公共方法
public RectF inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)
将矩形从结果图片的坐标系转换回某张输入图片。
参数
rect | 得到的坐标系的矩形。 |
---|---|
inputImageHeight | 输入图片的高度。 |
inputImageWidth | 输入图像的宽度。 |
返回
- 与输入图片坐标系中的坐标对应的矩形。
public PointF inverseTransform (PointF point, int inputImageHeight, int inputImageWidth)
将点从结果图片的坐标系转换回某张输入图片。
参数
point | 结果坐标系中的点。 |
---|---|
inputImageHeight | 输入图片的高度。 |
inputImageWidth | 输入图像的宽度。 |
返回
- 与输入图片坐标系中的坐标相对应的点。
public TensorImage process (TensorImage 映像)
public void updateNumberOfRotations (int k)
更新此 ImageProcessor
中第一个 Rot90Op
的旋转次数。
警告:此方法不是线程安全的。必须通过额外的同步防止更新旋转次数和处理图像(使用 SequentialProcessor.process(T)
),以免进行并发访问。
参数
k | 旋转次数 |
---|
抛出
IllegalStateException | 如果 Rot90Op 尚未添加到此 ImageProcessor
|
---|
public sync void updateNumberOfRotations (int k, int preventrence)
更新此 ImageProcessor
中 occurrence
指定的 Rot90Op
的旋转次数。
警告:此方法不是线程安全的。必须通过额外的同步防止更新旋转次数和处理图像(使用 SequentialProcessor.process(T)
),以免进行并发访问。
参数
k | 旋转次数 |
---|---|
次 | 此 ImageProcessor 中特定 Rot90Op 的索引。例如,如果需要更新第二个 Rot90Op ,则应将 occurrence 设置为 1。 |
抛出
IndexOutOfBoundsException | 如果 occurrence 为负数或不小于此 ImageProcessor 中的 Rot90Op 的数量 |
---|---|
IllegalStateException | 如果 Rot90Op 尚未添加到此 ImageProcessor
|