ML Kit Text Recognition Kullanımı

Yağmur Kılıç
Huawei Developers - Türkiye
4 min readJul 21, 2020

Merhabalar, bu yazımda sizlerle Huawei Machine Learning kitin “text recognition ” özelliğini ele alacağız. Bu yazının sonunda Text recognition nedir? Nasıl kullanılır? Text recognition ile neler yapabiliriz? Sorularnı incelemiş ve cevaplarını bulmuş olacağız. Şimdiden keyifli okumalar dilerim.

Hazırsanız başlayalım.

Text Recognition nedir?

Huawei ML kit’in text recognition API’sı makbuzların, kartvizitlerin veya belgelerin görüntülerinden metinleri alarak bu verileri işlemenize olanak tanır. Text recognition servisi bulutta vaya cihazda çalışabilir. Ancak iki ortam için desteklenen diller farklıdır. Uygulamalarınızda çince, japonca, korece, ve latin karakterli dillerdeki karakterler için text recognition servisini cihaz üzerinden çağırabilirken, ingilizce, ispanyolca, portekizce, almanca ve daha fazla dil desteği için servisi bulut üzeinden çağırmanız gerekir. Bulut üzerinden çalışan text recognition hizmeti, cihaz üzerinde çalışan text recognition hizmetinden daha yüksek doğrulukta sonuçlar verir. Ancak, Uygulamalar bulut üzerindeki API’yı kullanarak kamera akışlarından text recognition işlemini gerçekleştiremezken, telefonda çalışan API sayesinde galerinizdeki statik fotoğraflardan veya kamera akışlarından metin tanıyabilir. Tüm bunlara ek olarak bulut API senkron olarak çalışmaz

Nasıl kullanılır?

Huawei Machine Learning kit ’ini kullanabilmek için yapılması gerekenler vardı.

Öncelikle Huawei Developer hesabına sahip olmanız gerekir.

Hesabınız zaten var ise Huawei Developer Web sitesine giriş yaptıktan sonra sağ üst köşedeki console butonuna tıklayınız.

AppGallery Connect Card’a tıklayınız.

Açılan AppGallery Connect sayfasında My apps ‘i seçiniz.

New app butonuna tıklayarak, yeni bir uygulama oluştunuz.

Veri Depolama Konumunu Yapılandırın. Veri depolama konumu, ML Kit’in buluttaki API için bağlanacağı bölgeyi belirler

Uygulamayı oluşturduktan sonra sırasıyla Develop -> Overview -> App Information sekmelerine tıklayınız. Ardından açılan sayfadan agconnect-services. json dosyasını tıklayarak indiriniz

İndirilen Agconnect-services. json isimli dosyayı, Android Studio’da oluşturduğunuz projedeki app dizininin altına kopyalayınız.

root dizinde bulunan build.gradle dosyasını açın ve allprojects -> repositories kısmına giderek HMS SDK için gerekli ayarlamaları yapınız.

App dizinine AppGallery Connect plug-in bağımlılığını eklemeyi unutmayınız.

App dizininde build.gradle dosyasını açın ve depencies kısmına yukarıdaki kodları ekleyiniz.

Şimdi sırada machine learning servisini aktif hale getirmek var. Sırasıyla, My Projects -> Your app -> Project settings -> Manage Api sekmelerine tıklayınız. Ardından görselde belirtildiği gibi ML kit servisini aktif hale getiriniz.

ML Kiti’ni etkinleştirdikten sonra, My Projects - Your app-Build- ML kitine gidiniz. Açılan sayfadan hizmet kullanımı hakkında birçok ayrıntıya ulaşabilirsiniz.

Şimdi Manifest.xml dosyasına gerekli izinleri eklemelisiniz.

İlk olarak Uygulamada kamera ile resim çekerek veya galeriden fotoğraf seçerek işlem yapabilmek için manifest.xml dosyasına android.permission.READ_EXTERNAL_STORAGE ve android.permission.CAMERA” izinlerini eklemelisiniz. Ayrıca cloud üzerindeki API leri kullanabilmek için android.permission.INTERNET
android.permission.ACCESS_NETWORK_STATE
ve android.permission.ACCESS_WIFI_STATE izinlerinide eklemelisiniz.

Tüm bu adımlardan sonra nihayet kodlamaya geçebiliriz.

kodlamaya ekran tasarımından başlayalım. Tasarımda galeri veya kamera kullanarak text recognition işlemlerini yapabilmeniz için 2 adet button olmalı. Tabiki bu tasarım geliştirdiğiniz uygulamanın yapısına göre değişebilir.

Text recognition işlemi nasıl gerçekleşir ?

Kamera veya galeriyi kullanmak için ilgili buttona tıklandığında kullanıcıdan gerekli izinlerin alınıp alınmadığını kontrol etmelisiniz. Bunun için her iki butonada setOnClickListener ekliyorum. Bu sayede ilgili butona tıklandığı anda izin kontrolleri yapılmaya başlanır.

İzinler zaten mevcut ise direk olarak galerinin görüntülenmesi yada kameranın açılması gerekmektedir. Bu işlem ise yukarıdaki kod parçacıklarının else kısmında yapılmaktadır.

Eğer izinler mevcut değil ise kodunuz onRequestPermissionResult kısmına düşecektir. onRequestPermissionResult methodunu override ederek izin kontrollerini yapmalısınız.

Bu adımdan sonra seçilen resimi bitmap olarak alarak text recognition işlemini başlatabilirsiniz. Tüm bu işlemler için sırsıyla aşağıdaki adımları takip etmelisiniz.

Yukarıdaki kod parçacığında cloud üzerineki API ‘yi çağırıyoruz. Cihaz üzerindeki API için kod parçacığımız aşağıdaki gibi olmalıdır.

Tüm bu adımları başarıyla tamamladığınızda text recognition işlemi başarıyla gerçekleşmiş olacaktır.

Bende bu yazımda sizlere Machine Learning kiti text recognition özelliğinden bahsettim. Artık machine learning kit nasıl kullanılır? ne işe yarar? sorularının cevaplarına ulaştık. Tüm anlatılanların faydalı olacağını umuyorum. Bir sonraki blog yazımda görüşmek dileğiyle.

Sağlıcakla kalın.

--

--