এই নথিতে আপনার প্রকল্পগুলিকে Google Mobile Vision (GMV) থেকে ML Kit-এ Android-এ স্থানান্তর করার জন্য আপনাকে যে পদক্ষেপগুলি নিতে হবে তা কভার করে৷
সামগ্রিক API পরিবর্তন
এই পরিবর্তনগুলি সমস্ত API-তে প্রযোজ্য:
- GMV APIগুলি একটি
SparseArray<T>
ফলাফল সিঙ্ক্রোনাস প্রদান করে। ML Kit APIগুলি অ্যাসিঙ্ক্রোনাসভাবে ফলাফলগুলি ফেরত দিতে Google Play পরিষেবা টাস্ক API ব্যবহার করে৷ - একটি মডিউল সফলভাবে ডাউনলোড করা হয়েছে এবং ব্যবহারের জন্য প্রস্তুত কিনা তা নির্দেশ করতে GMV API পৃষ্ঠে
isOperational()
কল ব্যবহার করে। এমএল কিট-এর এমন কোনো পদ্ধতি নেই। ML কিট একটিMlKitException.UNAVAILABLE
নিক্ষেপ করে৷ একটি মডিউল ডাউনলোড না হলে অনুপলব্ধ ব্যতিক্রম৷ আপনি এই ব্যতিক্রমটি ধরতে পারেন এবং পরবর্তী ফ্রেমটি প্রক্রিয়া করতে পারেন বা একটি সময়সীমা সেট করতে পারেন এবং বর্তমান ফ্রেমের সাথে পুনরায় চেষ্টা করতে পারেন। - GMV পদ্ধতি ইনপুটের জন্য
Frame
ব্যবহার করে। এমএল কিটInputImage
ব্যবহার করে। - GMV
MultiDetector
,MultiProcessor
এবংFocusingProcessor
ফ্রেমওয়ার্কগুলি একাধিক সনাক্তকরণ এবং ফলাফল ফিল্টারিংয়ের জন্য প্রদান করে। এমএল কিট এই ধরনের প্রক্রিয়া প্রদান করে না, তবে একই কার্যকারিতা বিকাশকারী দ্বারা প্রয়োগ করা যেতে পারে যদি ইচ্ছা হয়।
Gradle আমদানি আপডেট করুন
আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে এমএল কিট অ্যান্ড্রয়েড লাইব্রেরির জন্য নির্ভরতা আপডেট করুন, যা সাধারণত app/build.gradle
হয়, নিম্নলিখিত টেবিল অনুসারে:
API | জিএমভি আর্টিফ্যাক্ট | এমএল কিট আর্টিফ্যাক্ট |
---|---|---|
ফেসডিটেক্টর | 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 |
এপিআই পরিবর্তন
এই বিভাগটি প্রতিটি ভিশন API-এর জন্য সংশ্লিষ্ট GMV এবং ML কিট ক্লাস এবং পদ্ধতিগুলি বর্ণনা করে এবং কীভাবে API শুরু করতে হয় তা দেখায়।
ফেসডিটেক্টর
এই উদাহরণে দেখানো হিসাবে আরম্ভ পুনরায় কোড:
জিএমভি
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() |
ক্যামেরা সোর্স
আপনি যদি Google Mobile Vision দ্বারা প্রদত্ত ক্যামেরাসোর্স লাইব্রেরি ব্যবহার করেন, তাহলে আপনি সহজেই ML Kit-এর CameraXSource
লাইব্রেরিতে স্থানান্তর করতে পারেন, যদি আপনার অ্যাপটি একটি min sdk সংস্করণ >= 21-এ চলছে।
নিম্নলিখিত ক্লাস এবং পদ্ধতির নাম পরিবর্তন করুন:
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 এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2024-11-12 UTC-তে শেষবার আপডেট করা হয়েছে।