এই নথিতে Google Mobile Vision (GMV) থেকে iOS-এ ML Kit-এ আপনার প্রকল্পগুলি স্থানান্তর করার জন্য আপনাকে যে পদক্ষেপগুলি নিতে হবে তা কভার করে৷
পূর্বশর্ত
আপনি আপনার কোড স্থানান্তর করা শুরু করার আগে, নিশ্চিত করুন যে আপনি এই প্রয়োজনীয়তাগুলি পূরণ করেছেন:
- ML কিট Xcode 13.2.1 বা তার পরে সমর্থন করে।
- ML Kit iOS সংস্করণ 15.5 বা তার বেশি সমর্থন করে।
- ML Kit 32-বিট আর্কিটেকচার (i386 এবং armv7) সমর্থন করে না। ML Kit 64-বিট আর্কিটেকচার (x86_64 এবং arm64) সমর্থন করে।
কোকোপড আপডেট করুন
আপনার অ্যাপের পডফাইলে ML Kit iOS cocoapods-এর নির্ভরতা আপডেট করুন:
API | জিএমভি পড | এমএল কিট পড |
---|---|---|
বারকোড স্ক্যানিং | GoogleMobileVision/BarcodeDetector | GoogleMLKit/BarcodeScanning |
মুখ সনাক্তকরণ | GoogleMobileVision/FaceDetector | GoogleMLKit/FaceDetection |
পাঠ্য স্বীকৃতি | GoogleMobileVision/TextDetector | GoogleMLKit/TextRecognition |
সামগ্রিক API পরিবর্তন
এই পরিবর্তনগুলি সমস্ত API-তে প্রযোজ্য:
- GMV-এর অনুমান APIগুলি
UIImage
বাCMSampleBufferRef
ইনপুট হিসাবে নেয়। ML Kit এগুলিকে একটিMLKVisionImage
ভিতরে মুড়ে দেয় এবং সেটিকে ইনপুট হিসাবে নেয়৷ - GMV বিভিন্ন ডিটেক্টর বিকল্প পাস করার জন্য
NSDictionary
ব্যবহার করে। এমএল কিট সেই উদ্দেশ্যে ডেডিকেটেড অপশন ক্লাস ব্যবহার করে। - GMV ডিটেক্টর টাইপকে একক
GMVDetector
ক্লাসে পাস করে যখন এটি একটি ডিটেক্টর তৈরি করে। এমএল কিট আলাদা ডিটেক্টর, স্ক্যানার এবং শনাক্তকারী উদাহরণ তৈরি করতে ডেডিকেটেড ক্লাস ব্যবহার করে। - GMV এর APIগুলি শুধুমাত্র সিঙ্ক্রোনাস সনাক্তকরণ সমর্থন করে। এমএল কিটের ইনফারেন্স API গুলিকে সিঙ্ক্রোনাস এবং অ্যাসিঙ্ক্রোনাস বলা যেতে পারে।
- GMV
AVCaptureVideoDataOutput
প্রসারিত করে এবং একই সময়ে একাধিক সনাক্তকরণ সম্পাদনের জন্য একটি মাল্টি-ডিটেক্টর ফ্রেমওয়ার্ক প্রদান করে। এমএল কিট এই ধরনের প্রক্রিয়া প্রদান করে না, তবে একই কার্যকারিতা বিকাশকারী দ্বারা প্রয়োগ করা যেতে পারে যদি ইচ্ছা হয়।
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;
MLKFaceDetector
দিয়ে GMVDetector
প্রতিস্থাপন করুন। অনুমান 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;
MLKBarcodeScanner
দিয়ে GMVDetector
প্রতিস্থাপন করুন। অনুমান 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;
MLKTextRecognizer
দিয়ে GMVDetector
প্রতিস্থাপন করুন। অনুমান 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 |
সাহায্য পাচ্ছি
আপনি যদি কোনো সমস্যায় পড়েন, আমাদের কমিউনিটি পৃষ্ঠা দেখুন যেখানে আমরা আমাদের সাথে যোগাযোগ করার জন্য উপলব্ধ চ্যানেলগুলির রূপরেখা দিই৷