ImageProcessor

class publik ImageProcessor

ImageProcessor adalah class bantuan untuk pra-pemrosesan dan pascapemrosesan TensorImage. Fungsi ini dapat mengubah TensorImage ke elemen lain dengan mengeksekusi rantai ImageOperator.

Contoh Penggunaan:

   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);
 

PERINGATAN: Instance ImageProcessor tidak aman untuk thread dengan updateNumberOfRotations(int). Memperbarui jumlah rotasi, lalu memproses gambar (menggunakan SequentialProcessor.process(T)) harus dilindungi dari akses serentak. Sebaiknya buat instance ImageProcessor terpisah untuk setiap thread. Jika beberapa thread mengakses ImageProcessor secara serentak, thread tersebut harus disinkronkan secara eksternal.

Class Bertingkat

class ImageProcessor.Builder Builder untuk membuat ImageProcessor, yang dapat dijalankan nanti. 

Metode Publik

RectF
inverseTransform(RectF rect, int inputImageHeight, int inputImageWidth)
Mengubah persegi panjang dari sistem koordinat gambar hasil kembali ke salah satu gambar input.
PointF
inverseTransform(Titik PointF, int inputImageHeight, int inputImageWidth)
Mengubah titik dari sistem koordinat gambar hasil kembali ke salah satu gambar input.
TensorImage
process(image TensorImage)
Memproses objek TensorImage dengan TensorOperator yang telah disiapkan.
void
updateNumberOfRotations(int k)
Memperbarui jumlah rotasi untuk Rot90Op pertama di ImageProcessor ini.
disinkronkan void
updateNumberOfRotations(int k, int bayi)
Memperbarui jumlah rotasi untuk Rot90Op yang ditentukan oleh occurrence dalam ImageProcessor ini.

Metode Turunan

Metode Publik

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

Mengubah persegi panjang dari sistem koordinat gambar hasil kembali ke salah satu gambar input.

Parameter
rect persegi panjang dari sistem koordinat hasil.
inputImageHeight tinggi gambar input.
inputImageWidth lebar gambar input.
Hasil
  • persegi panjang dengan koordinat dari sistem koordinat gambar input.

publik PointF inverseTransform (Titik PointF, int inputImageHeight, int inputImageWidth)

Mengubah titik dari sistem koordinat gambar hasil kembali ke salah satu gambar input.

Parameter
point titik dari sistem koordinat hasil.
inputImageHeight tinggi gambar input.
inputImageWidth lebar gambar input.
Hasil
  • titik dengan koordinat dari sistem koordinat gambar input.

publik TensorImage proses (gambar TensorImage)

Memproses objek TensorImage dengan TensorOperator yang telah disiapkan.

Parameter
gambar
Menampilkan
IllegalArgumentException jika gambar tidak didukung oleh pengoperasian apa pun.

public void updateNumberOfRotations (int k)

Memperbarui jumlah rotasi untuk Rot90Op pertama di ImageProcessor ini.

PERINGATAN:metode ini tidak aman untuk thread. Memperbarui jumlah rotasi lalu memproses gambar (menggunakan SequentialProcessor.process(T)) harus dilindungi dari akses serentak dengan sinkronisasi tambahan.

Parameter
k jumlah rotasi
Menampilkan
IllegalStateException jika Rot90Op belum ditambahkan ke ImageProcessor ini

publik disinkronkan void updateNumberOfRotations (int k, int awal)

Memperbarui jumlah rotasi untuk Rot90Op yang ditentukan oleh occurrence dalam ImageProcessor ini.

PERINGATAN:metode ini tidak aman untuk thread. Memperbarui jumlah rotasi lalu memproses gambar (menggunakan SequentialProcessor.process(T)) harus dilindungi dari akses serentak dengan sinkronisasi tambahan.

Parameter
k jumlah rotasi
kemunculan indeks Rot90Op pertikuler dalam ImageProcessor ini. Misalnya, jika Rot90Op kedua perlu diupdate, occurrence harus ditetapkan ke 1.
Menampilkan
IndexOutOfBoundsException jika occurrence negatif atau tidak kurang dari jumlah Rot90Op di ImageProcessor ini
IllegalStateException jika Rot90Op belum ditambahkan ke ImageProcessor ini