ImageProcessor

पब्लिक क्लास ImageProcessor

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 BluetoothImageHeight, int InputImagewidth)
नतीजे की इमेज के निर्देशांक सिस्टम से बने रेक्टैंगल को, वापस इनपुट इमेज में बदलता है.
PointF
inverseTransform(PointF पॉइंट, intinputImageHeight, int InputImagewidth)
नतीजे की इमेज के निर्देशांक सिस्टम में मौजूद किसी बिंदु को वापस इनपुट इमेज में बदलता है.
TensorImage
प्रोसेस(TensorImage इमेज)
तैयार किए गए TensorOperator के साथ TensorImage ऑब्जेक्ट को प्रोसेस करता है.
void
updateNumberOfRotations(इंटीट k)
इस ImageProcessor में पहले Rot90Op के लिए, रोटेशन की संख्या को अपडेट करता है.
सिंक किया गया शून्य
updateNumberOfRotations(int k, int इंस्टेंस)
इस ImageProcessor में, occurrence ने जो Rot90Op तय किया है उसके लिए, रोटेशन की संख्या अपडेट करता है.

इनहेरिट किए गए तरीके

सार्वजनिक तरीके

सार्वजनिक RectF inverseTransform (RectF rect, intinputImageHeight, int InputImageWidth)

नतीजे की इमेज के निर्देशांक सिस्टम से बने रेक्टैंगल को, वापस इनपुट इमेज में बदलता है.

पैरामीटर
rect नतीजे के निर्देशांक सिस्टम से रेक्टैंगल.
inputImageHeight इनपुट इमेज की ऊंचाई.
inputImageWidth इनपुट इमेज की चौड़ाई.
लौटाए गए प्रॉडक्ट
  • इनपुट इमेज के निर्देशांक सिस्टम से निर्देशांकों वाला आयत.

सार्वजनिक PointF inverseTransform (PointF Point, intinputImageHeight, int InputImageWidth)

नतीजे की इमेज के निर्देशांक सिस्टम में मौजूद किसी बिंदु को वापस इनपुट इमेज में बदलता है.

पैरामीटर
पॉइंट कोऑर्डिनेट सिस्टम से बिंदु पर.
inputImageHeight इनपुट इमेज की ऊंचाई.
inputImageWidth इनपुट इमेज की चौड़ाई.
लौटाए गए प्रॉडक्ट
  • और इनपुट इमेज के कोऑर्डिनेट सिस्टम से निर्देशांकों वाला पॉइंट.

सार्वजनिक TensorImage प्रोसेस (TensorImage इमेज)

तैयार किए गए TensorOperator के साथ TensorImage ऑब्जेक्ट को प्रोसेस करता है.

पैरामीटर
इमेज
थ्रो
IllegalArgumentException अगर इमेज किसी भी ऑपरेशन के लिए काम नहीं करती.

Public अमान्य updateNumberOfRotations (int k)

इस ImageProcessor में पहले Rot90Op के लिए, रोटेशन की संख्या को अपडेट करता है.

चेतावनी: यह तरीका थ्रेड-सुरक्षित नहीं है. रोटेशन की संख्या को अपडेट करने और फिर इमेज को प्रोसेस करने के लिए, SequentialProcessor.process(T) का इस्तेमाल करना ज़रूरी है. इसके लिए, अतिरिक्त सिंक करने की सुविधा के साथ, उसे एक साथ ऐक्सेस करने से रोका जाना चाहिए.

पैरामीटर
k रोटेशन की संख्या
थ्रो
IllegalStateException अगर Rot90Op को इस ImageProcessor में नहीं जोड़ा गया है

Public सिंक किया गया void updateNumberOfRotations (int k, int example)

इस ImageProcessor में, occurrence ने जो Rot90Op तय किया है उसके लिए, रोटेशन की संख्या अपडेट करता है.

चेतावनी: यह तरीका थ्रेड-सुरक्षित नहीं है. रोटेशन की संख्या को अपडेट करने और फिर इमेज को प्रोसेस करने के लिए, SequentialProcessor.process(T) का इस्तेमाल करना ज़रूरी है. इसके लिए, अतिरिक्त सिंक करने की सुविधा के साथ, उसे एक साथ ऐक्सेस करने से रोका जाना चाहिए.

पैरामीटर
k रोटेशन की संख्या
दोहराव इस ImageProcessor में परटिकुलर Rot90Op का इंडेक्स. उदाहरण के लिए, अगर दूसरे Rot90Op को अपडेट करने की ज़रूरत है, तो occurrence को 1 पर सेट किया जाना चाहिए.
थ्रो
IndexOutOfBoundsException अगर occurrence नेगेटिव है या इस ImageProcessor में मौजूद Rot90Op की संख्या से कम नहीं है
IllegalStateException अगर Rot90Op को इस ImageProcessor में नहीं जोड़ा गया है