TensorImage

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
TensorImage من الطبقة العامة

TensorImage هي فئة الغلاف لكائن الصورة. عند استخدام أدوات معالجة الصور في مكتبة TFLite.support ، من الشائع تحويل كائنات الصور في أنواع متباينة إلى TensorImage في البداية.

في الوقت الحالي ، يتم دعم صور RGB فقط ، ويتم تجاهل القناة A دائمًا.

تفاصيل تخزين البيانات: قد يحتوي كائن TensorImage على مصدرين محتملين للحقيقة: Bitmap أو TensorBuffer . تحافظ TensorImage على الحالة وتحول واحدة إلى أخرى فقط عند الحاجة. حالة الاستخدام النموذجية لـ TensorImage هي تحميل Bitmap أولاً ، ثم معالجتها باستخدام ImageProcessor ، وأخيراً الحصول على ByteBuffer الأساسي لـ TensorBuffer في مترجم TFLite.

هام: لتحقيق أفضل أداء ، تتجنب TensorImage نسخ البيانات كلما كان ذلك ممكنًا. لذلك ، فهي لا تمتلك بياناتها. يجب على المتصلين عدم تعديل كائنات البيانات التي تم تمريرها load(Bitmap) أو load(TensorBuffer, ColorSpaceType) .

هام: لم يتم إثبات سلامة الخيط في جميع الطرق.

المقاولون العامون

TensorImage ()
يقوم بتهيئة كائن TensorImage .
TensorImage (نوع بيانات نوع البيانات )
يقوم بتهيئة كائن TensorImage بنوع البيانات المحدد.

الطرق العامة

TensorImage ثابت
createFrom ( TensorImage src ، نوع بيانات نوع البيانات )
يُنشئ نسخة عميقة من TensorImage بنوع البيانات المطلوب.
TensorImage ثابت
fromBitmap (صورة نقطية نقطية)
يقوم بتهيئة كائن TensorImage الخاص بـ DataType.UINT8 باستخدام Bitmap .
نقطية
getBitmap ()
إرجاع تمثيل TensorImage Bitmap .
بايت بوفير
getBuffer ()
إرجاع تمثيل ByteBuffer لـ TensorImage هذا بنوع البيانات المتوقع.
ColorSpaceType
getColorSpaceType ()
الحصول على نوع مساحة اللون TensorImage هذه.
نوع البيانات
getDataType ()
يحصل على نوع البيانات TensorImage هذه.
int
getHeight ()
يحصل على ارتفاع الصورة.
صورة
getMediaImage ()
يُرجع تمثيل Image TensorImage هذه.
TensorBuffer
getTensorBuffer ()
إرجاع تمثيل TensorBuffer TensorImage هذه بنوع البيانات المتوقع.
int
getWidth ()
يحصل على عرض الصورة.
فارغ
تحميل (المخزن المؤقت TensorBuffer ، ColorSpaceType colorSpaceType)
تحميل TensorBuffer يحتوي على قيم البكسل باستخدام ColorSpaceType المحدد.
فارغ
تحميل (صورة نقطية نقطية)
يقوم بتحميل كائن صورة Bitmap إلى TensorImage هذا.
فارغ
تحميل (int [] بكسل ، int [] شكل)
يقوم بتحميل مصفوفة int على هيئة RGB بكسل في TensorImage ، والتي تمثل وحدات البكسل بالداخل.
فارغ
تحميل (عائم [] بكسل ، شكل int [])
يقوم بتحميل مصفوفة عائمة بتنسيق RGB بكسل في TensorImage ، والتي تمثل وحدات البكسل بالداخل.
فارغ
تحميل ( ByteBuffer buffer ، ImageProperties imageProperties)
يتم تحميل ByteBuffer يحتوي على قيم البكسل مع ImageProperties المحددة.
فارغ
تحميل (المخزن المؤقت TensorBuffer ، ImageProperties imageProperties)
تحميل TensorBuffer يحتوي على قيم البكسل مع خصائص ImageProperties المحددة.
فارغ
تحميل (صورة الصورة)
يقوم بتحميل كائن Image إلى TensorImage .

الطرق الموروثة

المقاولون العامون

TensorImage العامة ()

يقوم بتهيئة كائن TensorImage .

ملاحظة: نوع بيانات TensorImage هذا هو DataType.UINT8 . استخدم TensorImage(DataType) إذا كانت أنواع البيانات الأخرى مفضلة.

TensorImage العامة ( نوع بيانات نوع البيانات)

يقوم بتهيئة كائن TensorImage بنوع البيانات المحدد.

عند الحصول على TensorBuffer أو ByteBuffer من TensorImage ، مثل استخدام getTensorBuffer() و getBuffer() ، سيتم تحويل قيم البيانات إلى نوع البيانات المحدد.

ملاحظة: شكل TensorImage غير ثابت. يمكن ضبطه على شكل الصورة التي يتم تحميلها على TensorImage .

حدود
نوع البيانات نوع البيانات المتوقع من TensorBuffer الناتج. يتم إصلاح النوع دائمًا أثناء عمر TensorImage . لتحويل نوع البيانات ، استخدم createFrom(TensorImage, DataType) لإنشاء نسخة وتحويل نوع البيانات في نفس الوقت.
رميات
غير الشرعيين استثناء حجة إذا كانت dataType ليست DataType.UINT8 ولا DataType.FLOAT32

الطرق العامة

إنشاء TensorImage العام الثابت من ( TensorImage src ، نوع البيانات DataType )

يُنشئ نسخة عميقة من TensorImage بنوع البيانات المطلوب.

حدود
src TensorImage للنسخ منها
نوع البيانات نوع البيانات المتوقع لـ TensorImage المنشأ حديثًا
عائدات
  • TensorImage التي يتم نسخ بياناتها من src ونوع البيانات هو dataType

صورة TensorImage العامة الثابتة من Bitmap (صورة نقطية نقطية)

صورة نقطية عامة getBitmap ()

إرجاع تمثيل TensorImage Bitmap .

سيتم تطبيق الصب والتثبيت الرقمي إذا لم تكن البيانات المخزنة uint8.

لاحظ أن الطريقة الموثوقة للحصول على وحدات بكسل من صورة نقطية ALPHA_8 هي استخدام copyPixelsToBuffer . أساليب الصور النقطية مثل ، `setPixels ()` و` getPixels` لا تعمل.

هام: إنه مرجع فقط. لا تعدل. لا ننشئ نسخة هنا للقلق بشأن الأداء ، ولكن إذا كان التعديل ضروريًا ، فيرجى عمل نسخة.

عائدات
  • مرجع إلى Bitmap في تكوين ARGB_8888 (تكون القناة "A" معتمة دائمًا) أو في ALPHA_8 ، اعتمادًا على ColorSpaceType الخاص بـ TensorBuffer هذا.
رميات
استثناء الدولة غير القانوني إذا لم تقم TensorImage بتحميل البيانات مطلقًا

ByteBuffer getBuffer () العامة

إرجاع تمثيل ByteBuffer لـ TensorImage هذا بنوع البيانات المتوقع.

سيتم تطبيق الصب والتثبيت الرقمي إذا كانت البيانات المخزنة مختلفة عن نوع البيانات في TensorImage .

هام: إنه مرجع فقط. لا تعدل. لا ننشئ نسخة هنا للقلق بشأن الأداء ، ولكن إذا كان التعديل ضروريًا ، فيرجى عمل نسخة.

إنها في الأساس اختصار لـ getTensorBuffer().getBuffer() .

عائدات
  • إشارة إلى ByteBuffer الذي يحتفظ ببيانات الصورة
رميات
استثناء الدولة غير القانوني إذا لم تقم TensorImage بتحميل البيانات مطلقًا

ColorSpaceType العامة getColorSpaceType ()

الحصول على نوع مساحة اللون TensorImage هذه.

رميات
استثناء الدولة غير القانوني إذا لم تقم TensorImage بتحميل البيانات مطلقًا

نوع البيانات العامة getDataType ()

يحصل على نوع البيانات TensorImage هذه.

عائدات

int public int getHeight ()

يحصل على ارتفاع الصورة.

رميات
استثناء الدولة غير القانوني إذا لم تقم TensorImage بتحميل البيانات مطلقًا
غير الشرعيين استثناء حجة في حالة تلف البيانات الأساسية

الصورة العامة getMediaImage ()

يُرجع تمثيل Image TensorImage هذه.

تعمل هذه الطريقة فقط عندما تكون Image TensorImage مدعومة بصورة ، مما يعني أنك تحتاج أولاً إلى تحميل Image من خلال load(Image) .

هام: إنه مرجع فقط. لا تعدل. لا ننشئ نسخة هنا للقلق بشأن الأداء ، ولكن إذا كان التعديل ضروريًا ، فيرجى عمل نسخة.

عائدات
  • مرجع إلى Bitmap في تكوين ARGB_8888 (تكون القناة "A" معتمة دائمًا) أو في ALPHA_8 ، اعتمادًا على ColorSpaceType الخاص بـ TensorBuffer هذا.
رميات
استثناء الدولة غير القانوني إذا لم تقم TensorImage بتحميل البيانات مطلقًا

TensorBuffer العامة getTensorBuffer ()

إرجاع تمثيل TensorBuffer TensorImage هذه بنوع البيانات المتوقع.

سيتم تطبيق الصب والتثبيت الرقمي إذا كانت البيانات المخزنة مختلفة عن نوع البيانات في TensorImage .

هام: إنه مرجع فقط. لا تعدل. لا ننشئ نسخة هنا للقلق بشأن الأداء ، ولكن إذا كان التعديل ضروريًا ، فيرجى عمل نسخة.

عائدات
  • إشارة إلى TensorBuffer الذي يحتفظ ببيانات الصورة
رميات
استثناء الدولة غير القانوني إذا لم تقم TensorImage بتحميل البيانات مطلقًا

public int getWidth ()

يحصل على عرض الصورة.

رميات
استثناء الدولة غير القانوني إذا لم تقم TensorImage بتحميل البيانات مطلقًا
غير الشرعيين استثناء حجة في حالة تلف البيانات الأساسية

تحميل عام فارغ ( TensorBuffer buffer ، ColorSpaceType colorSpaceType)

تحميل TensorBuffer يحتوي على قيم البكسل باستخدام ColorSpaceType المحدد.

يدعم فقط ColorSpaceType.RGB و ColorSpaceType.GRAYSCALE . استخدم load(TensorBuffer, ImageProperties) لأنواع فضاء اللون الأخرى.

ملاحظة: إذا كان نوع بيانات buffer لا يتطابق مع نوع بيانات TensorImage هذا ، فسيتم تطبيق الصب الرقمي والتثبيت عند استدعاء getTensorBuffer() و getBuffer() .

حدود
متعادل تحميل TensorBuffer . يجب أن يكون شكله إما (h ، w ، 3) أو (1 ، h ، w ، 3) لصور RGB ، وإما (h ، w) أو (1 ، h ، w) للصور GRAYSCALE
colorSpaceType
رميات
غير الشرعيين استثناء حجة إذا كان شكل المخزن المؤقت لا يتطابق مع نوع مساحة اللون ، أو إذا كان نوع مساحة اللون غير مدعوم

تحميل عام باطل (صورة نقطية نقطية)

يقوم بتحميل كائن صورة Bitmap إلى TensorImage هذا.

ملاحظة: إذا كان TensorImage يحتوي على نوع بيانات غير DataType.UINT8 ، فسيتم تطبيق الصب الرقمي والتثبيت عند استدعاء getTensorBuffer() و getBuffer() ، حيث سيتم تحويل Bitmap إلى TensorBuffer .

هام: عند تحميل صورة نقطية ، لا تقم بتعديل الصورة النقطية من جهة المتصل بعد الآن. سيعتمد كائن TensorImage على الصورة النقطية. من المحتمل أن يقوم بتعديل الصورة النقطية أيضًا. في هذه الطريقة ، نقوم بتنفيذ نهج النسخة الصفرية لتلك الصورة النقطية ، ببساطة عن طريق الاحتفاظ بمرجعها. استخدم bitmap.copy(bitmap.getConfig(), true) لإنشاء نسخة إذا لزم الأمر.

ملاحظة: للحصول على أفضل أداء ، يرجى تحميل الصور بنفس الشكل لتجنب إعادة تخصيص الذاكرة.

حدود
نقطية
رميات
غير الشرعيين استثناء حجة إذا لم تكن bitmap في ARGB_8888

تحميل الفراغ العام (int [] pixels، int [] shape)

يقوم بتحميل مصفوفة int على هيئة RGB بكسل في TensorImage ، والتي تمثل وحدات البكسل بالداخل.

ملاحظة: سيتم تطبيق الصب والتثبيت الرقمي لتحويل القيم إلى نوع بيانات TensorImage هذا عند استدعاء getTensorBuffer() و getBuffer() .

حدود
بكسل وحدات البكسل RGB التي تمثل الصورة
شكل يجب أن يكون شكل الصورة إما في الشكل (h ، w ، 3) ، أو في الشكل (1 ، h ، w ، 3)
رميات
غير الشرعيين استثناء حجة إذا لم يكن الشكل (h ، w ، 3) ولا (1 ، h ، w ، 3)

تحميل الفراغ العام (عائم [] بكسل ، شكل int [])

يقوم بتحميل مصفوفة عائمة بتنسيق RGB بكسل في TensorImage ، والتي تمثل وحدات البكسل بالداخل.

ملاحظة: إذا كان TensorImage يحتوي على نوع بيانات غير DataType.FLOAT32 ، فسيتم تطبيق الصب الرقمي والتثبيت عند استدعاء getTensorBuffer() و getBuffer() .

حدود
بكسل وحدات البكسل RGB التي تمثل الصورة
شكل يجب أن يكون شكل الصورة إما في الشكل (h ، w ، 3) ، أو في الشكل (1 ، h ، w ، 3)
رميات
غير الشرعيين استثناء حجة إذا لم يكن الشكل (h ، w ، 3) ولا (1 ، h ، w ، 3)

تحميل الفراغ العام ( ByteBuffer buffer ، ImageProperties imageProperties)

يتم تحميل ByteBuffer يحتوي على قيم البكسل مع ImageProperties المحددة.

ملاحظة: إذا كان نوع بيانات buffer لا يتطابق مع نوع بيانات TensorImage هذا ، فسيتم تطبيق الصب الرقمي والتثبيت عند استدعاء getTensorBuffer() و getBuffer() .

حدود
متعادل
imageProperties
رميات
غير الشرعيين استثناء حجة إذا كان حجم المخزن المؤقت أقل من حجم الصورة المشار إليه بارتفاع الصورة وعرضها ونوع مساحة اللون في ImageProperties

تحميل عام فارغ ( TensorBuffer buffer ، ImageProperties imageProperties)

تحميل TensorBuffer يحتوي على قيم البكسل مع خصائص ImageProperties المحددة.

لن يتم استخدام شكل TensorBuffer لتحديد ارتفاع الصورة وعرضها. تعيين خصائص الصورة من خلال ImageProperties .

ملاحظة: إذا كان نوع بيانات buffer لا يتطابق مع نوع بيانات TensorImage هذا ، فسيتم تطبيق الصب الرقمي والتثبيت عند استدعاء getTensorBuffer() و getBuffer() .

حدود
متعادل
imageProperties
رميات
غير الشرعيين استثناء حجة إذا كان حجم المخزن المؤقت أقل من حجم الصورة المشار إليه بارتفاع الصورة وعرضها ونوع مساحة اللون في ImageProperties

تحميل الفراغ العام (صورة الصورة)

يقوم بتحميل كائن Image إلى TensorImage .

الاستخدام الرئيسي لهذه الطريقة هو تحميل كائن Image كمدخل نموذج إلى https://www.tensorflow.org/lite/inference_with_metadata/task_library/overview . TensorImage المدعومة Image غير مدعوم من قبل ImageProcessor .

*throws ImageFormat إذا كان تنسيق image ليس YUV_420_888

حدود
صورة