এই ডকুমেন্টে আপনার প্রকল্পগুলিকে iOS-এ Google Mobile Vision (GMV) থেকে ML Kit-এ স্থানান্তর করার জন্য আপনার যে পদক্ষেপগুলি নিতে হবে তা অন্তর্ভুক্ত করা হয়েছে।
পূর্বশর্ত
আপনার কোড মাইগ্রেট করা শুরু করার আগে, নিশ্চিত করুন যে আপনি এই প্রয়োজনীয়তাগুলি পূরণ করছেন:
- এমএল কিট এক্সকোড ১৩.২.১ বা তার পরবর্তী সংস্করণ সমর্থন করে।
- এমএল কিট আইওএস ১৫.৫ বা তার বেশি সংস্করণ সমর্থন করে।
- ML Kit 32-বিট আর্কিটেকচার (i386 এবং armv7) সমর্থন করে না। ML Kit 64-বিট আর্কিটেকচার (x86_64 এবং arm64) সমর্থন করে।
কোকোপড আপডেট করুন
আপনার অ্যাপের পডফাইলে ML Kit iOS cocoapods এর জন্য নির্ভরতা আপডেট করুন:
| এপিআই | জিএমভি পড | এমএল কিট পড |
|---|---|---|
| বারকোড স্ক্যানিং | GoogleMobileVision/BarcodeDetector | GoogleMLKit/BarcodeScanning |
| মুখ সনাক্তকরণ | GoogleMobileVision/FaceDetector | GoogleMLKit/FaceDetection |
| টেক্সট স্বীকৃতি | GoogleMobileVision/TextDetector | GoogleMLKit/TextRecognition |
সামগ্রিক API পরিবর্তন
এই পরিবর্তনগুলি সমস্ত API-তে প্রযোজ্য:
- GMV-এর ইনফারেন্স API গুলি
UIImageঅথবাCMSampleBufferRefকে ইনপুট হিসেবে নেয়। ML Kit এগুলিকে একটিMLKVisionImageভিতরে মুড়ে দেয় এবং ইনপুট হিসেবে নেয়। - GMV বিভিন্ন ডিটেক্টর অপশন পাস করার জন্য
NSDictionaryব্যবহার করে। ML Kit এই উদ্দেশ্যে ডেডিকেটেড অপশন ক্লাস ব্যবহার করে। - GMV একটি ডিটেক্টর তৈরি করার সময় ডিটেক্টর টাইপটি একক
GMVDetectorক্লাসে প্রেরণ করে। ML Kit পৃথক ডিটেক্টর, স্ক্যানার এবং রিকগনিজার ইনস্ট্যান্স তৈরি করতে ডেডিকেটেড ক্লাস ব্যবহার করে। - GMV-এর API গুলি শুধুমাত্র সিঙ্ক্রোনাস ডিটেকশন সমর্থন করে। ML Kit-এর ইনফারেন্স API গুলিকে সিঙ্ক্রোনাসলি এবং অ্যাসিঙ্ক্রোনাসলি বলা যেতে পারে।
- GMV
AVCaptureVideoDataOutputপ্রসারিত করে এবং একই সাথে একাধিক সনাক্তকরণ সম্পাদনের জন্য একটি মাল্টি-ডিটেক্টর ফ্রেমওয়ার্ক প্রদান করে। ML Kit এ ধরনের প্রক্রিয়া প্রদান করে না, তবে ইচ্ছা করলে ডেভেলপার একই কার্যকারিতা প্রয়োগ করতে পারে।
API-নির্দিষ্ট পরিবর্তনগুলি
এই বিভাগটি প্রতিটি ভিশন API-এর জন্য সংশ্লিষ্ট GMV এবং ML কিট ক্লাস এবং পদ্ধতি বর্ণনা করে এবং API কীভাবে শুরু করতে হয় তা দেখায়।
ফেসডিটেক্টর
এই উদাহরণে দেখানো হিসাবে ইনিশিয়ালাইজেশনটি পুনরায় কোড করুন:
জিএমভি
NSDictionary *options = @{ GMVDetectorFaceMode : @(GMVDetectorFaceAccurateMode), GMVDetectorFaceClassificationType : @(GMVDetectorFaceClassificationAll), GMVDetectorFaceLandmarkType : @(GMVDetectorFaceLandmarkAll) }; GMVDetector *faceDetector = [GMVDetector detectorOfType:GMVDetectorTypeFace options:options];
এমএল কিট
MLKFaceDetectorOptions *options = [[MLKFaceDetectorOptions alloc] init]; options.performanceMode = MLKFaceDetectorPerformanceModeAccurate; options.classificationMode = MLKFaceDetectorClassificationModeAll; options.landmarkMode = MLKFaceDetectorLandmarkModeAll; MLKFaceDetector *faceDetector = [MLKFaceDetector faceDetectorWithOptions:options];
GMVDetector দুটি ভিন্ন সনাক্তকরণ API আছে। দুটিই সিঙ্ক্রোনাস অপারেশন:
- (nullable NSArray<__kindof GMVFeature *> *) featuresInImage:(UIImage *)image options:(nullable NSDictionary *)options; - (nullable NSArray<__kindof GMVFeature *> *) featuresInBuffer:(CMSampleBufferRef)sampleBuffer options:(nullable NSDictionary *)options;
GMVDetector MLKFaceDetector দিয়ে প্রতিস্থাপন করুন। ইনফারেন্স API কে সিঙ্ক্রোনাসলি বা অ্যাসিঙ্ক্রোনাসলি বলা যেতে পারে।
সমকালীন
- (nullable NSArray<MLKFace *> *) resultsInImage:(MLKVisionImage *)image error:(NSError **)error;
অ্যাসিঙ্ক্রোনাস
- (void)processImage:(MLKVisionImage *)image Completion: (MLKFaceDetectionCallback)completion NS_SWIFT_NAME(process(_:completion:));
নিম্নলিখিত ক্লাস, পদ্ধতি এবং নাম পরিবর্তন করুন:
বারকোড ডিটেক্টর
এই উদাহরণে দেখানো হিসাবে ইনিশিয়ালাইজেশনটি পুনরায় কোড করুন:
জিএমভি
NSDictionary *options = @{ GMVDetectorBarcodeFormats : @(GMVDetectorBarcodeFormatCode128 | GMVDetectorBarcodeFormatQRCode) }; GMVDetector *barcodeDetector = [GMVDetector detectorOfType:GMVDetectorTypeBarcode options:options];
এমএল কিট
MLKBarcodeScannerOptions *options = [[MLKBarcodeScannerOptions alloc] init]; options.formats = MLKBarcodeFormatCode128 | MLKBarcodeFormatQRCode; MLKBarcodeScanner *barcodeScanner = [MLKBarcodeScanner barcodeScannerWithOptions:options];
GMVDetector দুটি ভিন্ন সনাক্তকরণ API আছে। দুটিই সিঙ্ক্রোনাস অপারেশন:
- (nullable NSArray<__kindof GMVFeature *> *) featuresInImage:(UIImage *)image options:(nullable NSDictionary *)options; - (nullable NSArray<__kindof GMVFeature *> *) featuresInBuffer:(CMSampleBufferRef)sampleBuffer options:(nullable NSDictionary *)options;
GMVDetector MLKBarcodeScanner দিয়ে প্রতিস্থাপন করুন। ইনফারেন্স API কে সিঙ্ক্রোনাসলি বা অ্যাসিঙ্ক্রোনাসলি বলা যেতে পারে।
সমকালীন
- (nullable NSArray<MLKBarcode *> *) resultsInImage:(MLKVisionImage *)image error:(NSError **)error;
অ্যাসিঙ্ক্রোনাস
- (void)processImage:(MLKVisionImage *)image Completion: (MLKBarcodeScanningCallback)completion NS_SWIFT_NAME(process(_:completion:));
নিম্নলিখিত ক্লাস, পদ্ধতি এবং নাম পরিবর্তন করুন:
টেক্সট রিকগনিশন
এই উদাহরণে দেখানো হিসাবে ইনিশিয়ালাইজেশনটি পুনরায় কোড করুন:
জিএমভি
GMVDetector *textDetector = [GMVDetector detectorOfType:GMVDetectorTypeText options:nil];
এমএল কিট
MLKTextRecognizer *textRecognizer = [MLKTextRecognizer textRecognizer];
GMVDetector দুটি ভিন্ন সনাক্তকরণ API আছে। দুটিই সিঙ্ক্রোনাস অপারেশন:
- (nullable NSArray<__kindof GMVFeature *> *) featuresInImage:(UIImage *)image options:(nullable NSDictionary *)options; - (nullable NSArray<__kindof GMVFeature *> *) featuresInBuffer:(CMSampleBufferRef)sampleBuffer options:(nullable NSDictionary *)options;
GMVDetector MLKTextRecognizer দিয়ে প্রতিস্থাপন করুন। ইনফারেন্স API কে সিঙ্ক্রোনাসলি বা অ্যাসিঙ্ক্রোনাসলি বলা যেতে পারে।
সমকালীন
- (nullable MLKText *) resultsInImage:(MLKVisionImage *)image error:(NSError **)error;
অ্যাসিঙ্ক্রোনাস
- (void)processImage:(MLKVisionImage *)image Completion: (MLKTextRecognitionCallback)completion NS_SWIFT_NAME(process(_:completion:));
নিম্নলিখিত ক্লাস, পদ্ধতি এবং নাম পরিবর্তন করুন:
| জিএমভি | এমএল কিট |
|---|---|
GMVDetectorImageOrientation | MLKVisionImage.orientation |
GMVTextBlockFeature | MLKTextBlock |
GMVTextElementFeature | MLKTextElement |
GMVTextLineFeature | MLKTextLine |
সাহায্য পাওয়া
যদি আপনার কোনও সমস্যা হয়, তাহলে আমাদের কমিউনিটি পৃষ্ঠাটি দেখুন যেখানে আমরা আমাদের সাথে যোগাযোগের জন্য উপলব্ধ চ্যানেলগুলির রূপরেখা দিই।