Flutter’da ML Kit Servislerinin Kullanımı

Efnan Akkuş
Huawei Developers - Türkiye
4 min readNov 18, 2020

Herkese merhaba, bu makalede, Huawei Ml kitinin metin tanıma, çeviri ve landmark hizmetlerini kullanarak bir flutter uygulaması geliştireceğiz. Başlayalım.

Hizmet Hakkında

Flutter ML Eklentisi, HMS Core ML SDK ve Flutter platformu arasında iletişimi sağlar. Bu eklenti, HMS Core ML SDK tarafından sağlanan tüm işlevleri ortaya çıkarır.
HUAWEI ML Kit, uygulamalarınızın, çok çeşitli sektörlerde çeşitli yapay zeka (AI) uygulamalarını desteklemek için Huawei’nin makine öğrenimindeki uzun vadeli kanıtlanmış uzmanlığından kolayca yararlanmasına olanak tanır. Huawei’nin teknoloji birikimi sayesinde ML Kit, kullanımı kolay çeşitli lider makine öğrenimi yetenekleri sağlayarak çeşitli yapay zeka uygulamaları geliştirmenize yardımcı olur.

Projenizi AppGallery Bağlantısında Yapılandırın

Huawei Kimliği Kaydetme

Eklentiyi kullanmak için bir Huawei Kimliği kaydetmeniz gerekir. Eğer yoksa, buradaki talimatlara uyun.

HUAWEI HMS Core Entegre Hazırlığı

Öncelikle, Huawei Mobile Services’ı uygulamanızla entegre etmeniz gerekir. Uygulamanızın nasıl entegre edileceğine dair detaylara girmeyeceğim fakat bu öğreticiyi adım adım kılavuz olarak kullanabilirsiniz.

Flutter Ml Eklentisini Entegre Etmek

1. ML Kit Flutter Eklentisini indirin ve açın.

2. Flutter proje dizininizde pubspec.yaml dosyanızı bulup açın ve paketi pub.dev’den indirmek için dependencies library ekleyin. Veya paketi HUAWEI Geliştirici web sitesinden indirdiyseniz, yerel cihazınızda library path belirtin. Her iki şekilde de, pub get komutunu çalıştırdıktan sonra eklenti kullanıma hazır olacaktır.

  1. Metin Tanıma

Metin tanıma hizmeti, makbuz, kartvizit ve belge görüntülerinden metin çıkarır. Bu hizmet ofis, eğitim, toplu taşıma ve diğer uygulamalarda yaygın olarak kullanılmaktadır. Örneğin, bu hizmeti bir fotoğraftaki metni çıkarmak ve metni çevirmek için bir çeviri uygulamasında kullanabilirsiniz, böylece kullanıcı deneyimini iyileştirebilirsiniz.

Bu hizmet bulutta veya cihazda çalışabilir, ancak desteklenen diller iki senaryoda farklılık gösterir. Cihaz üzerindeki API’ler, Basitleştirilmiş Çince, Japonca, Korece ve Latin tabanlı dillerdeki metinleri tanıyabilir (Cihaz Üzerinde Metin Tanıma Tarafından Desteklenen Latin Komut Dosyasına bakın). Bulutta çalışırken hizmet, Basitleştirilmiş Çince, İngilizce, İspanyolca, Portekizce, İtalyanca, Almanca, Fransızca, Rusça, Japonca, Korece, Lehçe, Fince, Norveççe, İsveççe, Danca, Türkçe, Tayca gibi dillerdeki metinleri tanıyabilir. Arapça, Hintçe ve Endonezya dili.

Uzaktan Metin Çözümleyici

Metin çözümleyici, bulut API’si çağrıldıktan sonra bulut üzerinde bir algılama modeli çalıştıran bulut üzerindedir.

Uygulama Prosedürü

Bir MlTextSettings nesnesi oluşturun ve istenen değerleri ayarlayın. Yol zorunludur.

Ardından, oluşturduğunuz MlTextSettings nesnesini ileterek analyzeRemotely metodunu çağırın. Bu metod, başarılı bir işlemde bir MlText nesnesi döndürür. Aksi takdirde istisna atar.

İşte sonuç.

2. Metin Çevirisi

Çeviri hizmeti, metni farklı dillere çevirebilir. Şu anda bu hizmet, Basitleştirilmiş Çince, İngilizce, Almanca, İspanyolca, Fransızca ve Rusça metinlerin çevrimdışı çevirisini (otomatik model indirme desteklenmektedir) ve Basitleştirilmiş Çince, İngilizce, Fransızca, Arapça, Tayca, İspanyolca, Türkçe, Portekizce, Japonca, Almanca, İtalyanca, Rusça, Lehçe, Malayca, İsveççe, Fince, Norveççe, Danca ve Korece.

Bir MlTranslatorSettings nesnesi oluşturun ve değerleri ayarlayın. Kaynak metin boş olmamalıdır.

İşte sonuç.

3. Landmark Tanıma
Landmark tanıma hizmeti, bir görüntüdeki yer işaretlerinin adlarını ve enlem ve boylamını belirleyebilir. Bu bilgileri, kullanıcılar için kişiselleştirilmiş deneyimler oluşturmak için kullanabilirsiniz. Örneğin, bir görüntüdeki bir yer işaretini tanımlayan ve kullanıcılara konumun yanı sıra o yer işareti hakkında bilmeleri gereken her şeyi veren bir seyahat uygulaması oluşturabilirsiniz.

Landmark Tanıma

Bu API, referans noktası tanımayı özelleştirilmiş parametrelerle gerçekleştirmek için kullanılır.

Uygulama Prosedürü

Bir MlLandMarkSettings nesnesi oluşturun ve değerleri ayarlayın. Path zorunludur.

Ardından, oluşturduğunuz MlLandMarkSettings nesnesini ileterek getLandmarkAnalyzeInformation yöntemini çağırın. Bu yöntem, başarılı bir işlemde bir MlLandmark nesnesi döndürür. Aksi takdirde istisna atar.

İşte sonuç.

--

--