ImageProcessor

public クラス ImageProcessor

ImageProcessor は、TensorImage の前処理と後処理を行うヘルパークラスです。ImageOperator のチェーンを実行することで、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);
 

警告: ImageProcessor のインスタンスは、updateNumberOfRotations(int) とのスレッドセーフではありません。回転数を更新してから画像を処理する(SequentialProcessor.process(T) を使用)は、同時アクセスから保護する必要があります。スレッドごとに個別の ImageProcessor インスタンスを作成することをおすすめします。複数のスレッドが ImageProcessor に同時にアクセスする場合は、外部で同期する必要があります。

ネストされたクラス

クラス ImageProcessor.Builder 後で実行可能な ImageProcessor を作成するためのビルダー。

パブリック メソッド

RectF
inverseTransform(RectF rect, int inputImageHeight, int inputImageWidth)
結果画像の座標系から入力画像の 1 つに長方形を変換します。
PointF
inverseTransform(PointF ポイント、int inputImageHeight、int inputImageWidth)
結果画像の座標系の点を、入力画像の座標系に変換します。
TensorImage
processTensorImage の画像)
準備された TensorOperator を使用して TensorImage オブジェクトを処理します。
void
updateNumberOfRotations(int k)
この ImageProcessor の最初の Rot90Op の回転数を更新します。
同期済み void
updateNumberOfRotations(int k, int オカレンス)
この ImageProcessoroccurrence で指定された Rot90Op の回転数を更新します。

継承されるメソッド

パブリック メソッド

public RectF inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)

結果画像の座標系から入力画像の 1 つに長方形を変換します。

パラメータ
rect 結果の座標系から長方形を選択します。
inputImageHeight 入力画像の高さ。
inputImageWidth 入力画像の幅です。
戻り値
  • 入力画像の座標系の座標を持つ長方形。

public PointF inverseTransform (PointF point, int inputImageHeight, int inputImageWidth)

結果画像の座標系の点を、入力画像の座標系に変換します。

パラメータ
point 結果の座標系から得た点です。
inputImageHeight 入力画像の高さ。
inputImageWidth 入力画像の幅です。
戻り値
  • 入力画像の座標系の座標を持つ点。

public TensorImage process TensorImage の画像)

準備された TensorOperator を使用して TensorImage オブジェクトを処理します。

パラメータ
イメージ
例外
IllegalArgumentException イメージがどのオペレーションでもサポートされていない場合。

public void updateNumberOfRotations (int k)

この ImageProcessor の最初の Rot90Op の回転数を更新します。

警告: このメソッドはスレッドセーフではありません。回転数を更新してから(SequentialProcessor.process(T) を使用して)画像を処理する場合は、追加の同期によって同時アクセスから保護する必要があります。

パラメータ
k 回転数
例外
IllegalStateException この ImageProcessorRot90Op が追加されていない場合

public synchronize void updateNumberOfRotations (int k, int オカレンス)

この ImageProcessoroccurrence で指定された Rot90Op の回転数を更新します。

警告: このメソッドはスレッドセーフではありません。回転数を更新してから(SequentialProcessor.process(T) を使用して)画像を処理する場合は、追加の同期によって同時アクセスから保護する必要があります。

パラメータ
k 回転数
発生回数 この ImageProcessor 内のパーティション Rot90Op のインデックス。たとえば、2 番目の Rot90Op を更新する必要がある場合は、occurrence を 1 に設定する必要があります。
例外
IndexOutOfBoundsException occurrence が負の値であるか、この ImageProcessor 内の Rot90Op の数以上である場合
IllegalStateException この ImageProcessorRot90Op が追加されていない場合