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 | |
| void |
updateNumberOfRotations(int k)
Memperbarui jumlah rotasi untuk
Rot90Op pertama di ImageProcessor ini. |
| disinkronkan kosong |
updateNumberOfRotations(int k, kemunculan int)
|
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
|