ImageProcessor

kelas publik ImageProcessor

ImageProcessor adalah class bantuan untuk pra-pemrosesan dan pascapemrosesan TensorImage. Ini dapat mengubah TensorImage ke yang 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. Disarankan untuk membuat ImageProcessor instance 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(Rectangle rect, int inputImageHeight, int inputImageWidth)
Mengubah persegi panjang dari sistem koordinat gambar hasil kembali ke salah satu input gambar.
PointF
inverseTransform(Titik PointF, int inputImageHeight, int inputImageWidth)
Mengubah titik dari sistem koordinat gambar hasil kembali ke salah satu input gambar.
TensorImage
process(gambar TensorImage)
Memproses objek TensorImage dengan TensorOperator yang telah disiapkan.
void
updateNumberOfRotations(int k)
Memperbarui jumlah rotasi untuk Rot90Op pertama di ImageProcessor ini.
disinkronkan kosong
updateNumberOfRotations(int k, kemunculan int)
Memperbarui jumlah rotasi untuk Rot90Op yang ditentukan oleh occurrence dalam ImageProcessor.

Metode Turunan

Metode Publik

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

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

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 input gambar.

Parameter
koma 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 (TensorImage)

Memproses objek TensorImage dengan TensorOperator yang telah disiapkan.

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

publik kosong updateNumberOfRotations (int k)

Memperbarui jumlah rotasi untuk Rot90Op pertama di ImageProcessor ini.

PERINGATAN:metode ini tidak aman untuk thread. Memperbarui jumlah rotasi dan pemrosesan 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 kosong updateNumberOfRotations (int k, int upload)

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

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

Parameter
k jumlah rotasi
kemunculan indeks Rot90Op pertikular dalam ImageProcessor ini. Sebagai misalnya, jika Rot90Op kedua perlu diupdate, occurrence harus tetapkan ke 1.
Menampilkan
IndexOutOfBoundsException jika occurrence negatif atau tidak kurang dari jumlah Rot90Op dalam ImageProcessor ini
IllegalStateException jika Rot90Op belum ditambahkan ke ImageProcessor ini