এই ডকুমেন্টে আপনার প্রোজেক্টগুলোকে গুগল মোবাইল ভিশন (GMV) থেকে অ্যান্ড্রয়েডের জন্য এমএল কিট-এ মাইগ্রেট করার প্রয়োজনীয় ধাপগুলো বর্ণনা করা হয়েছে।
সামগ্রিক এপিআই পরিবর্তন
এই পরিবর্তনগুলি সকল API-এর ক্ষেত্রে প্রযোজ্য:
- GMV API-গুলো সিনক্রোনাসভাবে একটি
SparseArray<T>ফলাফল ফেরত দেয়। ML Kit API-গুলো অ্যাসিঙ্ক্রোনাসভাবে ফলাফল ফেরত দেওয়ার জন্য Google Play services-এর Task API ব্যবহার করে। - কোনো মডিউল সফলভাবে ডাউনলোড হয়েছে এবং ব্যবহারের জন্য প্রস্তুত কিনা তা বোঝাতে GMV তার API সারফেসে
isOperational()কলটি ব্যবহার করে। ML Kit-এ এমন কোনো মেথড নেই। যদি কোনো মডিউল ডাউনলোড না হয়ে থাকে, তাহলে ML Kit একটিMlKitException.UNAVAILABLEএক্সেপশন থ্রো করে। আপনি এই এক্সেপশনটি ক্যাচ করে পরবর্তী ফ্রেমে প্রসেস করতে পারেন অথবা একটি টাইমআউট সেট করে বর্তমান ফ্রেম দিয়ে পুনরায় চেষ্টা করতে পারেন। - GMV মেথডগুলো ইনপুট হিসেবে
Frameব্যবহার করে। ML Kit ব্যবহার করেInputImage। - একাধিক ডিটেকশন সম্পাদন এবং ফলাফল ফিল্টার করার জন্য GMV,
MultiDetector,MultiProcessorএবংFocusingProcessorফ্রেমওয়ার্ক সরবরাহ করে। ML Kit এই ধরনের ব্যবস্থা প্রদান করে না, কিন্তু ডেভেলপার চাইলে একই কার্যকারিতা বাস্তবায়ন করতে পারেন।
গ্রেডল ইমপোর্ট আপডেট করুন
নিচের সারণি অনুযায়ী আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (যা সাধারণত app/build.gradle ) এমএল কিট অ্যান্ড্রয়েড লাইব্রেরির ডিপেন্ডেন্সিগুলো আপডেট করুন:
| এপিআই | জিএমভি আর্টিফ্যাক্ট | এমএল কিট আর্টিফ্যাক্ট |
|---|---|---|
| মুখ ডিটেক্টর | com.google.android.gms:play-services-vision:xxx | com.google.android.gms:play-services-mlkit-face-detection:17.1.0 |
| বারকোড ডিটেক্টর | com.google.android.gms:play-services-vision:xxx | com.google.android.gms:play-services-mlkit-barcode-scanning:18.3.1 |
| পাঠ্য শনাক্তকরণ | com.google.android.gms:play-services-vision:xxx | com.google.android.gms:play-services-mlkit-text-recognition:19.0.1 |
| ক্যামেরা উৎস | com.google.android.gms:play-services-vision:xxx | com.google.mlkit:camera:16.0.0-beta3 |
এপিআই পরিবর্তন
এই অংশে প্রতিটি ভিশন এপিআই-এর জন্য সংশ্লিষ্ট জিএমভি এবং এমএল কিট ক্লাস ও মেথড বর্ণনা করা হয়েছে এবং এপিআই-টি কীভাবে ইনিশিয়ালাইজ করতে হয় তা দেখানো হয়েছে।
মুখ ডিটেক্টর
এই উদাহরণে দেখানো অনুযায়ী প্রারম্ভিকীকরণটি পুনরায় কোড করুন:
জিএমভি
detector = new FaceDetector.Builder(context) .setMode(FaceDetector.ACCURATE_MODE) .setLandmarkType(FaceDetector.ALL_LANDMARKS) .setClassificationType(FaceDetector.ALL_CLASSIFICATIONS) .build();
এমএল কিট
FaceDetectorOptions options = new FaceDetectorOptions.Builder() .setPerformanceMode(FaceDetectorOptions.PERFORMANCE_MODE_ACCURATE) .setLandmarkMode(FaceDetectorOptions.LANDMARK_MODE_ALL) .setClassificationMode(FaceDetectorOptions.CLASSIFICATION_MODE_ALL) .build(); detector = FaceDetection.getClient(options);
নিম্নলিখিত ক্লাস এবং মেথডের নামগুলো পরিবর্তন করুন:
android.gms.vision.face | mlkit.vision.face |
|---|---|
FaceDetector | FaceDetector |
SparseArray<Face> detect(Frame frame) | Task<List<Face>> process(@NonNull InputImage image) |
FaceDetector.Builder.setClassificationType(int classificationType) | FaceDetectorOptions.Builder. setClassificationMode(int classificationMode) |
NO_CLASSIFICATIONS, ALL_CLASSIFICATIONS | CLASSIFICATION_MODE_NONE , CLASSIFICATION_MODE_ALL |
FaceDetector.Builder.setLandmarkType(int landmarkType) | FaceDetectorOptions.Builder. setLandmarkMode(int landmarkMode) |
NO_LANDMARKS, ALL_LANDMARKS, CONTOUR_LANDMARKS | LANDMARK_MODE_NONE , LANDMARK_MODE_ALL GMV CONTOUR_LANDMARKS প্রতিস্থাপন করতে |
FaceDetector.Builder.setTrackingEnabled(boolean trackingEnabled) | FaceDetectorOptions.Builder. enableTracking() |
FaceDetector.Builder.setMinFaceSize(float proportionalMinFaceSize) | FaceDetectorOptions.Builder. setMinFaceSize(float minFaceSize) |
FaceDetector.Builder.setMode(int mode) | FaceDetectorOptions.Builder. setPerformanceMode(int performanceMode) |
FAST_MODE, ACCURATE_MODE | PERFORMANCE_MODE_FAST , PERFORMANCE_MODE_ACCURATE |
FaceDetector.Builder.setProminentFaceOnly(boolean prominentFaceOnly) | এই ফিচারটি ফেস কনট্যুর মোডের অন্তর্ভুক্ত। |
Face | Face |
Contour | FaceContour |
Landmark | FaceLandmark |
Face.getContours() | Face. getAllContours() |
Face.getEulerY() | Face. getHeadEulerAngleY() |
Face.getEulerZ() | Face. getHeadEulerAngleZ() |
Face.getId() | Face. getTrackingId() |
Face.getIsLeftEyeOpenProbability() | Face. getLeftEyeOpenProbability() |
Face.getIsRightEyeOpenProbability() | Face. getRightEyeOpenProbability() |
Face.getIsSmilingProbability() | Face. getSmilingProbability() |
Face.getLandmarks() | Face. getLandmark(int landmarkType) |
Face.getPosition() | Face. getBoundingBox() |
বারকোড ডিটেক্টর
এই উদাহরণে দেখানো অনুযায়ী প্রারম্ভিকীকরণটি পুনরায় কোড করুন:
জিএমভি
barcodeDetector = new BarcodeDetector.Builder(context).build());
এমএল কিট
barcodeScanner = BarcodeScanning.getClient();
নিম্নলিখিত ক্লাস এবং মেথডের নামগুলো পরিবর্তন করুন:
android.gms.vision.barcode | mlkit.vision.barcode |
|---|---|
BarcodeDetector | BarcodeScanner |
SparseArray<Barcode> detect(Frame frame) | Task<List<Barcode>> process(@NonNull InputImage image) |
Barcode | Barcode |
পাঠ্য শনাক্তকরণ
এই উদাহরণে দেখানো অনুযায়ী প্রারম্ভিকীকরণটি পুনরায় কোড করুন:
জিএমভি
textRecognizer = new TextRecognizer.Builder(context).build();
এমএল কিট
textRecognizer = TextRecognition.getClient(TextRecognizerOptions.DEFAULT_OPTIONS);
নিম্নলিখিত ক্লাস এবং মেথডের নামগুলো পরিবর্তন করুন:
android.gms.vision.text | mlkit.vision.text |
|---|---|
TextRecognizer | TextRecognizer |
SparseArray<TextBlock> detect(Frame frame) | Task<Text> process(@NonNull InputImage image) |
SparseArray<TextBlock> | Text |
Line | Line |
TextBlock | TextBlock |
Element | Element |
getLanguage() | getRecognizedLanguage() |
getBoundingBox() | getBoundingBox() |
getCornerPoints() | getCornerPoints() |
TextBlock.getComponents() | TextBlock.getLines() |
TextBlock.getValue() | TextBlock.getText() |
Element.getValue() | Element.getText() |
ক্যামেরা উৎস
আপনি যদি গুগল মোবাইল ভিশন-এর দেওয়া CameraSource লাইব্রেরি ব্যবহার করেন, তাহলে সহজেই এমএল কিট-এর CameraXSource লাইব্রেরিতে মাইগ্রেট করতে পারবেন, তবে শর্ত হলো আপনার অ্যাপটি ন্যূনতম এসডিকে ভার্সন ২১ বা তার বেশি সংস্করণে চলতে হবে।
নিম্নলিখিত ক্লাস এবং মেথডের নামগুলো পরিবর্তন করুন:
android.gms.vision | mlkit.vision.camera |
|---|---|
CameraSource | CameraSourceConfig |
CameraSource.Builder | CameraSourceConfig.Builder |
CameraSource.Builder.setAutoFocusEnabled | CameraX ব্যবহার করার সময় অটোফোকাস ডিফল্টরূপে উপলব্ধ থাকে। |
CameraSource.Builder.setFacing | CameraSourceConfig.Builder . setCameraFacing |
CameraSource.Builder.setFocusMode | CameraX ব্যবহার করার সময় অটোফোকাস ডিফল্টরূপে উপলব্ধ থাকে। |
CameraSource.Builder.setRequestedFps | অপ্রচলিত। |
CameraSource.Builder.setRequestedPreviewSize | CameraSourceConfig.Builder . setRequestedPreviewSize |
CameraSource | CameraXSource |
new CameraSource.Builder(mContext, detector)....build(); | CameraXSource(CameraSourceConfig, PreviewView) |
getCameraFacing() | getCameraFacing () |
getPreviewSize() | getPreviewSize () |
release() | close () |
start(SurfaceHolder surfaceHolder) | start () // The previewview is set in the CameraSourceConfig |
start() | start () |
stop() | stop () |
Detector.Processor | DetectionTaskCallback |
receiveDetections(Detections<T> detections) | void onDetectionTaskReceived(@NonNull Task<ResultT> detectionTask); |
release() | অভ্যন্তরীণভাবে পরিচালনা করা হয়েছে |
CameraSource.PictureCallback | অপ্রচলিত |
CameraSource.ShutterCallback | অপ্রচলিত |
সাহায্য পাওয়া
যদি কোনো সমস্যায় পড়েন, তাহলে আমাদের কমিউনিটি পেজটি দেখুন, যেখানে আমাদের সাথে যোগাযোগের মাধ্যমগুলো উল্লেখ করা আছে।
অন্য কিছু উল্লেখ না করা থাকলে, এই পৃষ্ঠার কন্টেন্ট Creative Commons Attribution 4.0 License-এর অধীনে এবং কোডের নমুনাগুলি Apache 2.0 License-এর অধীনে লাইসেন্স প্রাপ্ত। আরও জানতে, Google Developers সাইট নীতি দেখুন। Java হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2026-03-19 UTC-তে শেষবার আপডেট করা হয়েছে।