ImageProcessor

ImageProcessor i klasës publike

ImageProcessor është një klasë ndihmëse për parapërpunimin dhe paspërpunimin e TensorImage . Ai mund të transformojë një TensorImage në një tjetër duke ekzekutuar një zinxhir të ImageOperator .

Shembull i përdorimit:

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

PARALAJMËRIM: Instancat e një ImageProcessor nuk janë të sigurta në fije me updateNumberOfRotations(int) . Përditësimi i numrit të rrotullimeve dhe më pas përpunimi i imazheve (duke përdorur SequentialProcessor.process(T) ) duhet të mbrohet nga aksesi i njëkohshëm. Rekomandohet të krijohen instanca të veçanta ImageProcessor për çdo thread. Nëse threads të shumëfishta aksesojnë njëkohësisht një ImageProcessor , ai duhet të sinkronizohet nga jashtë.

Klasat e mbivendosura

klasës ImageProcessor.Builder Ndërtuesi për të krijuar një ImageProcessor, i cili mund të ekzekutohet më vonë.

Metodat publike

RectF
inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)
Shndërron një drejtkëndësh nga sistemi i koordinatave të imazhit të rezultatit në atë të figurës hyrëse.
PikaF
inverseTransform (pika PointF, inputImageHeight, inputImageWidth)
Shndërron një pikë nga sistemi i koordinatave të imazhit të rezultatit në atë të figurës hyrëse.
TensorImage
procesi (imazhi TensorImage )
Përpunon një objekt TensorImage me TensorOperator të përgatitur.
i pavlefshëm
updateNumberOfRotations (int k)
Përditëson numrin e rrotullimeve për Rot90Op in e parë në këtë ImageProcessor .
zbrazëti e sinkronizuar
updateNumberOfRotations (int k, int dukuri)
Përditëson numrin e rrotullimeve për Rot90Op të specifikuar nga occurrence në këtë ImageProcessor .

Metodat e trashëguara

Metodat publike

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

Shndërron një drejtkëndësh nga sistemi i koordinatave të imazhit të rezultatit në atë të figurës hyrëse.

Parametrat
drejtë drejtkëndëshi nga sistemi i koordinatave të rezultatit.
inputImageHeight lartësia e imazhit të hyrjes.
inputImageWidth gjerësia e imazhit të hyrjes.
Kthimet
  • drejtkëndëshin me koordinatat nga sistemi i koordinatave të figurës hyrëse.

publike PointF inverseTransform (pika PointF, inputImageHeight, inputImageWidth)

Shndërron një pikë nga sistemi i koordinatave të imazhit të rezultatit në atë të figurës hyrëse.

Parametrat
pikë pika nga sistemi i koordinatave të rezultatit.
inputImageHeight lartësia e imazhit të hyrjes.
inputImageWidth gjerësia e imazhit të hyrjes.
Kthimet
  • pika me koordinatat nga sistemi i koordinatave të figurës hyrëse.

procesi publik TensorImage (imazhi TensorImage )

Përpunon një objekt TensorImage me TensorOperator të përgatitur.

Parametrat
imazh
Hedhjet
IllegalArgumentPërjashtim nëse imazhi nuk mbështetet nga ndonjë op.

përditësimi publik i zbrazëtNumberOfRotations (int k)

Përditëson numrin e rrotullimeve për Rot90Op in e parë në këtë ImageProcessor .

PARALAJMËRIM: kjo metodë nuk është e sigurt për fije. Përditësimi i numrit të rrotullimeve dhe më pas përpunimi i imazheve (duke përdorur SequentialProcessor.process(T) ) duhet të mbrohet nga aksesi i njëkohshëm me sinkronizim shtesë.

Parametrat
k numri i rrotullimeve
Hedhjet
IllegalStateException nëse Rot90Op nuk është shtuar në këtë ImageProcessor

Përditësimi publik i sinkronizuar i zbrazëtNumberOfRotations (int k, int dukuri)

Përditëson numrin e rrotullimeve për Rot90Op të specifikuar nga occurrence në këtë ImageProcessor .

PARALAJMËRIM: kjo metodë nuk është e sigurt për fije. Përditësimi i numrit të rrotullimeve dhe më pas përpunimi i imazheve (duke përdorur SequentialProcessor.process(T) ) duhet të mbrohet nga aksesi i njëkohshëm me sinkronizim shtesë.

Parametrat
k numri i rrotullimeve
dukuri indeksi i Rot90Op pertikular në këtë ImageProcessor . Për shembull, nëse Rot90Op i dytë duhet të përditësohet, occurrence duhet të vendoset në 1.
Hedhjet
IndexOutOfBoundsException nëse occurrence është negative ose nuk është më e vogël se numri i Rot90Op në këtë ImageProcessor
IllegalStateException nëse Rot90Op nuk është shtuar në këtë ImageProcessor