এমএল কিট বিশ্লেষক
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
Google-এর ML কিট মুখ সনাক্তকরণ, বারকোড স্ক্যান করা, ছবি লেবেল করা এবং আরও অনেক কিছুর জন্য অন-ডিভাইস মেশিন লার্নিং ভিশন API প্রদান করে। ML কিট বিশ্লেষক আপনার CameraX অ্যাপের সাথে ML কিট সংহত করা সহজ করে তোলে।
এমএল কিট বিশ্লেষক হল ImageAnalysis.Analyzer
ইন্টারফেসের একটি বাস্তবায়ন। এটি এমএল কিট ব্যবহারের জন্য অপ্টিমাইজ করার জন্য ডিফল্ট টার্গেট রেজোলিউশন (যদি প্রয়োজন হয়) ওভাররাইড করে, স্থানাঙ্ক রূপান্তরগুলি পরিচালনা করে এবং ফ্রেমগুলিকে এমএল কিটে পাস করে, যা সমষ্টিগত বিশ্লেষণের ফলাফল প্রদান করে।
এমএল কিট বিশ্লেষক প্রয়োগ করুন
এমএল কিট বিশ্লেষক প্রয়োগ করার জন্য, আমরা CameraController
ক্লাস ব্যবহার করার পরামর্শ দিই, যা UI উপাদানগুলি প্রদর্শন করার জন্য PreviewView
এর সাথে কাজ করে। CameraController
ব্যবহার করে বাস্তবায়িত হলে, এমএল কিট বিশ্লেষক আপনার জন্য মূল ImageAnalysis
স্ট্রীম এবং PreviewView
মধ্যে সমন্বয় রূপান্তর পরিচালনা করে। এটি ক্যামেরাএক্স থেকে টার্গেট কোঅর্ডিনেট সিস্টেম গ্রহণ করে, স্থানাঙ্কের রূপান্তর গণনা করে এবং বিশ্লেষণের জন্য এটিকে এমএল কিটের Detector
ক্লাসে ফরোয়ার্ড করে।
CameraController
এর সাথে ML কিট বিশ্লেষক ব্যবহার করতে, setImageAnalysisAnalyzer()
কল করুন এবং এটির কন্সট্রাক্টরে নিম্নলিখিতগুলি সহ একটি নতুন ML কিট বিশ্লেষক অবজেক্ট পাস করুন:
- ML কিট
Detector
একটি তালিকা, যা CameraX ক্রমানুসারে আহ্বান করে। টার্গেট কোঅর্ডিনেট সিস্টেম যা এমএল কিট আউটপুটের স্থানাঙ্ক নির্ধারণ করে:
একজন Executor
যে কনজিউমার কলব্যাককে আহ্বান করে এবং অ্যাপে MlKitAnalyzer.Result
বা ক্যামেরা ফ্রেমের সমষ্টি ML কিট ফলাফল প্রদান করে।
একটি Consumer
, যাকে ক্যামেরাএক্স আহ্বান করে যখন নতুন এমএল কিট আউটপুট থাকে।
QR কোড সনাক্ত করতে একটি BarcodeScanner
সেট আপ করতে CameraController
ব্যবহার করে নিম্নলিখিত কোডটি এমএল কিট বিশ্লেষক প্রয়োগ করে:
কোটলিন
// 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.
}
)
জাভা
// 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 কিট বিশ্লেষক নিম্নলিখিতটি BarcodeScanner
Detector
ক্লাসে পাস করে:
-
COORDINATE_SYSTEM_VIEW_REFERENCED
এর উপর ভিত্তি করে রূপান্তর ম্যাট্রিক্স যা লক্ষ্য স্থানাঙ্ক সিস্টেমকে প্রতিনিধিত্ব করে। - ক্যামেরার ফ্রেম।
যদি BarcodeScanner
কোনো সমস্যায় পড়ে, তাহলে এর Detector
একটি ত্রুটি ছুড়ে দেয় এবং ML কিট বিশ্লেষক এটি আপনার অ্যাপে প্রচার করে। সফল হলে, ML Kit Analyzer MLKitAnalyzer.Result#getValue()
ফেরত দেয়, যা এই ক্ষেত্রে Barcode
অবজেক্ট।
এছাড়াও আপনি camera-core
অংশ ImageAnalysis
ক্লাস ব্যবহার করে এমএল কিট বিশ্লেষক প্রয়োগ করতে পারেন। যাইহোক, যেহেতু ImageAnalysis
PreviewView
এর সাথে একীভূত নয়, তাই আপনাকে অবশ্যই স্থানাঙ্কের রূপান্তরগুলি ম্যানুয়ালি পরিচালনা করতে হবে। আরও তথ্যের জন্য, এমএল কিট বিশ্লেষক রেফারেন্স ডকুমেন্টেশন দেখুন।
অতিরিক্ত সম্পদ
ML কিট বিশ্লেষক কার্যকারিতা সহ একটি কার্যকরী ক্যামেরা অ্যাপের জন্য, CameraX-MLKit নমুনা দেখুন।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# ML Kit Analyzer\n\nGoogle's [ML Kit](https://developers.google.com/ml-kit/guides) provides on-device machine learning Vision APIs for detecting\nfaces, scanning barcodes, labeling images, and more. ML Kit Analyzer makes it\neasier to integrate ML Kit with your CameraX app.\n\nML Kit Analyzer is an implementation of the [`ImageAnalysis.Analyzer`](/reference/androidx/camera/core/ImageAnalysis.Analyzer) interface. It overrides the [default target resolution](/reference/androidx/camera/core/ImageAnalysis.Analyzer#getDefaultTargetResolution())\n(if needed) to optimize for ML Kit usage, handles the coordinate transformations,\nand passes the frames to ML Kit, which returns the aggregated analysis results.\n\nImplement ML Kit Analyzer\n-------------------------\n\nTo implement ML Kit Analyzer, we recommend using the [`CameraController`](/reference/androidx/camera/view/CameraController) class, which works with [`PreviewView`](/reference/androidx/camera/view/PreviewView) to display UI elements. When implemented using `CameraController`, ML Kit Analyzer\nhandles the coordinate transformations between the original `ImageAnalysis`\nstream and `PreviewView` for you. It receives the target coordinate system from\nCameraX, calculates the coordinate transformation,\nand forwards it to ML Kit's [`Detector`](https://developers.google.com/android/reference/com/google/mlkit/vision/interfaces/Detector) class for analysis.\n\nTo use ML Kit Analyzer with `CameraController`, call [`setImageAnalysisAnalyzer()`](/reference/androidx/camera/view/CameraController#setImageAnalysisAnalyzer(java.util.concurrent.Executor,androidx.camera.core.ImageAnalysis.Analyzer)) and pass it\na new ML Kit Analyzer object with the following in its constructor:\n\n- A list of ML Kit `Detector`s, which CameraX invokes sequentially in order.\n- The target coordinate system that determines the coordinates of the ML Kit output:\n\n - [`COORDINATE_SYSTEM_VIEW_REFERENCED`](/reference/androidx/camera/view/CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED()): the transformed `PreviewView` coordinates.\n - [`COORDINATE_SYSTEM_ORIGINAL`](/reference/androidx/camera/core/ImageAnalysis#COORDINATE_SYSTEM_ORIGINAL()): the original `ImageAnalysis` stream coordinates.\n- An [`Executor`](/reference/java/util/concurrent/Executor) that invokes the Consumer callback and delivers\n the [`MlKitAnalyzer.Result`](/reference/androidx/camera/mlkit/vision/MlKitAnalyzer.Result), or the aggregated ML Kit result of a camera frame, to the app.\n\n- A [`Consumer`](/reference/androidx/core/util/Consumer), which CameraX invokes when there is new ML Kit output.\n\nThe following code implements ML Kit Analyzer using `CameraController` to set up\na [`BarcodeScanner`](https://developers.google.com/android/reference/com/google/mlkit/vision/barcode/BarcodeScanner) to detect QR codes: \n\n### Kotlin\n\n```kotlin\n// create BarcodeScanner object\nval options = BarcodeScannerOptions.Builder()\n .setBarcodeFormats(Barcode.FORMAT_QR_CODE)\n .build()\nval barcodeScanner = BarcodeScanning.getClient(options)\n\ncameraController.setImageAnalysisAnalyzer(\n ContextCompat.getMainExecutor(this),\n MlKitAnalyzer(\n listOf(barcodeScanner),\n COORDINATE_SYSTEM_VIEW_REFERENCED,\n ContextCompat.getMainExecutor(this)\n ) { result: MlKitAnalyzer.Result? -\u003e\n // The value of result.getResult(barcodeScanner) can be used directly for drawing UI overlay.\n }\n)\n```\n\n### Java\n\n```java\n// create BarcodeScanner object\nBarcodeScannerOptions options = new BarcodeScannerOptions.Builder()\n .setBarcodeFormats(Barcode.FORMAT_QR_CODE)\n .build();\nBarcodeScanner barcodeScanner = BarcodeScanning.getClient(options);\n\ncameraController.setImageAnalysisAnalyzer(executor,\n new MlKitAnalyzer(List.of(barcodeScanner), COORDINATE_SYSTEM_VIEW_REFERENCED,\n executor, result -\u003e {\n // The value of result.getResult(barcodeScanner) can be used directly for drawing UI overlay.\n });\n```\n\nIn the code sample above, ML Kit Analyzer passes the following to\n`BarcodeScanner`'s `Detector` class:\n\n- The transformation [Matrix](/reference/android/graphics/Matrix) based on `COORDINATE_SYSTEM_VIEW_REFERENCED` that represents the target coordinate system.\n- The camera frames.\n\nIf `BarcodeScanner` runs into any issues, then its `Detector` [throws an error](/reference/androidx/camera/mlkit/vision/MlKitAnalyzer.Result#getThrowable(com.google.mlkit.vision.interfaces.Detector%3C?%3E)),\nand ML Kit Analyzer propagates it to your app. If successful, then ML Kit Analyzer returns [`MLKitAnalyzer.Result#getValue()`](/reference/androidx/camera/mlkit/vision/MlKitAnalyzer.Result#getValue(com.google.mlkit.vision.interfaces.Detector%3CT%3E)), which\nin this case is the [`Barcode`](https://developers.google.com/android/reference/com/google/mlkit/vision/barcode/common/Barcode) object.\n\nYou can also implement ML Kit Analyzer using the [`ImageAnalysis`](/reference/androidx/camera/core/ImageAnalysis) class that is part of `camera-core`. However, because `ImageAnalysis`\nis not integrated with `PreviewView`,\nyou must manually handle the coordinate transformations. For more information,\nsee the [ML Kit Analyzer](/reference/androidx/camera/mlkit/vision/MlKitAnalyzer) reference documentation.\n\nAdditional resources\n--------------------\n\nFor a working camera app with ML Kit Analyzer functionality,\nsee the [CameraX-MLKit](https://github.com/android/camera-samples/tree/main/CameraX-MLKit) sample."]]