توفِّر حزمة تعلُّم الآلة من Google واجهات برمجة تطبيقات Vision لتعلّم الآلة على الجهاز لرصد الوجوه، ومسح الرموز الشريطية ضوئيًا، وتصنيف الصور، والمزيد. تجعل ML Kit Analysis من دمج أدوات تعلُّم الآلة مع تطبيق CameraX بشكل أسهل.
أداة تحليل حزمة تعلُّم الآلة هي تنفيذ لواجهة ImageAnalysis.Analyzer
. يلغي هذا الإجراء درجة الدقة المستهدَفة التلقائية.
(إذا لزم الأمر) لتحسين استخدام مجموعة أدوات تعلُّم الآلة، ويعالج تحويلات الإحداثيات،
ويمرر الإطارات إلى أدوات تعلّم الآلة التي تعرض نتائج التحليل المجمّعة.
تنفيذ أداة تحليل أدوات تعلُّم الآلة
لاستخدام أداة تحليل أدوات تعلّم الآلة، ننصحك باستخدام الفئة CameraController
التي تعمل مع PreviewView
لعرض عناصر واجهة المستخدم. عند التنفيذ باستخدام CameraController
، أداة تحليل حزمة تعلّم الآلة
معالجة التحويلات الإحداثية بين قيم ImageAnalysis
الأصلية
ساحة المشاركات وPreviewView
من أجلك. يتلقى نظام الإحداثيات الهدف من
وكاميراX، احتسبت التحويل الإحداثي،
ويعيد توجيهها إلى فئة Detector
في ML Kit لتحليلها.
لاستخدام أداة تحليل معدّات تعلُّم الآلة مع CameraController
، يُرجى الاتصال بالرقم setImageAnalysisAnalyzer()
وتمريره.
كائن "أداة تحليل مجموعة أدوات تعلُّم الآلة" الجديد مع ما يلي في الدالة الإنشائية:
- هذه قائمة بأدوات تعلّم الآلة
Detector
التي تستدعيها CameraX بالترتيب. نظام الإحداثيات الهدف الذي يحدد إحداثيات ناتج ML Kit:
COORDINATE_SYSTEM_VIEW_REFERENCED
: إحداثياتPreviewView
التي تم تحويلها.COORDINATE_SYSTEM_ORIGINAL
: إحداثيات مصدر البيانات الأصليةImageAnalysis
Executor
الذي يستدعي معاودة الاتصال بالمستهلك ويقدِّمMlKitAnalyzer.Result
، أو نتيجة حزمة تعلُّم الآلة المجمَّعة لإطار الكاميراA
Consumer
، الذي يستدعيه CameraX عند توفّر ناتج جديد من حزمة تعلّم الآلة.
ينفذ الرمز التالي أداة تحليل تعلّم الآلة باستخدام CameraController
لإعداد
a BarcodeScanner
لاكتشاف رموز الاستجابة السريعة:
Kotlin
// create BarcodeScanner object val options = BarcodeScannerOptions.Builder() .setBarcodeFormats(Barcode.FORMAT_QR_CODE) .build() val barcodeScanner = BarcodeScanning.getClient(options) cameraController.setImageAnalysisAnalyzer( ContextCompat.getMainExecutor(this), MlKitAnalyzer( listOf(barcodeScanner), COORDINATE_SYSTEM_VIEW_REFERENCED, ContextCompat.getMainExecutor(this) ) { result: MlKitAnalyzer.Result? -> // The value of result.getResult(barcodeScanner) can be used directly for drawing UI overlay. } )
Java
// create BarcodeScanner object BarcodeScannerOptions options = new BarcodeScannerOptions.Builder() .setBarcodeFormats(Barcode.FORMAT_QR_CODE) .build(); BarcodeScanner barcodeScanner = BarcodeScanning.getClient(options); cameraController.setImageAnalysisAnalyzer(executor, new MlKitAnalyzer(List.of(barcodeScanner), COORDINATE_SYSTEM_VIEW_REFERENCED, executor, result -> { // The value of result.getResult(barcodeScanner) can be used directly for drawing UI overlay. });
في عينة التعليمات البرمجية أعلاه، تمرر ML Kit Analysis ما يلي إلى
الصف Detector
الخاص بـ "BarcodeScanner
":
- مصفوفة التحويل
بناءً على
COORDINATE_SYSTEM_VIEW_REFERENCED
الذي يمثل نظام الإحداثيات المستهدفة. - إطارات الكاميرا.
إذا واجه "BarcodeScanner
" أي مشاكل، سيؤدي Detector
إلى عرض خطأ.
وستنشرها أداة ML Kit Analysis على تطبيقك. وفي حال نجاحها، ستعرض أداة ML Kit Analysis MLKitAnalyzer.Result#getValue()
،
وهو في هذه الحالة الكائن Barcode
.
يمكنك أيضًا تنفيذ أداة تحليل أدوات تعلّم الآلة باستخدام الفئة ImageAnalysis
التي تشكل جزءًا من camera-core
. ولكن لأنّ ImageAnalysis
مع PreviewView
،
يجب عليك معالجة تحويلات الإحداثيات يدويًا. لمزيد من المعلومات
يُرجى الاطّلاع على المستندات المرجعية لأداة تحليل أدوات تعلّم الآلة.
مصادر إضافية
إذا كان تطبيق الكاميرا يعمل ويتضمّن وظيفة "أداة تحليل معدّات تعلُّم الآلة" يمكنك الاطّلاع على نموذج cameraX-MLKit.