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 | |
void |
updateNumberOfRotations(int k)
この
ImageProcessor の最初の Rot90Op の回転数を更新します。 |
同期済み void |
updateNumberOfRotations(int k, int オカレンス)
|
継承されるメソッド
パブリック メソッド
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 | この ImageProcessor に Rot90Op が追加されていない場合
|
---|
public synchronize void updateNumberOfRotations (int k, int オカレンス)
この ImageProcessor
の occurrence
で指定された Rot90Op
の回転数を更新します。
警告: このメソッドはスレッドセーフではありません。回転数を更新してから(SequentialProcessor.process(T)
を使用して)画像を処理する場合は、追加の同期によって同時アクセスから保護する必要があります。
パラメータ
k | 回転数 |
---|---|
発生回数 | この ImageProcessor 内のパーティション Rot90Op のインデックス。たとえば、2 番目の Rot90Op を更新する必要がある場合は、occurrence を 1 に設定する必要があります。 |
例外
IndexOutOfBoundsException | occurrence が負の値であるか、この ImageProcessor 内の Rot90Op の数以上である場合 |
---|---|
IllegalStateException | この ImageProcessor に Rot90Op が追加されていない場合
|