OCRとは?
Optical character recognition (OCR) は、イメージから自動的に指定したアルファベットに属する文字またはシンボルを識別するプロセスを指します。 この記事では、Android での OCR の使用方法に焦点を当てます。
画像のテキストを認識したら、次のことに使用できます:
-
- それをストレージに保存する。
- それを他の言語に翻訳する。
より高性能なカメラと組み合わせたスマートフォンの普及により、この種の認識技術の使用が増え、それらを使用するモバイル アプリケーションの新しいカテゴリが生まれました。
デバイス上かクラウドか
OCR ライブラリを使用する前に、OCR 処理をどこで行うか、スマートフォン上かクラウドかを決定する必要があります。
アプリの要件に応じて、それぞれのアプローチには利点と欠点があります。 この方法では、現在のデバイスに搭載されたカメラで大きな写真を撮ることができるため、画像をサーバーに送ることを避けることができます。
一方で、OCR ライブラリは多くのスペースを占有する傾向があり、以下で説明するように、認識する言語それぞれをダウンロードする必要があります。 http://en.wikipedia.org/wiki/ List_of_optical_character_recognition_software
この投稿では、他よりも際立っている Tesseract ライブラリを使用するつもりです。 オープンソースでSDKもあり、HPによって作成され、現在はGoogleによって開発されています。
OCR on Android using Tesseract Library
TesseractはLinuxサーバー上でクラウドサービスとして実行できますが、この投稿ではAndroidアプリにTesseractライブラリを実装し、デバイス自体でOCRエンジンを起動する方法を説明します。
Android 用のオリジナルの Tesseract プロジェクトは Tesseract Android Tools と呼ばれ、Android プラットフォームで使用するために Tesseract および Leptonica ライブラリをコンパイルするツール、およびこれらのネイティブ コンパイル ライブラリにアクセスするための Java API が含まれています。
リンク。 https://github.com/rebbix/tesseract-android-tools/tree/master/tesseract-android-tools
この例では、より多くの機能を追加した Tesseract Android Tools のフォークを使用するつもりです。 https://github.com/rmtheis/tess-two
OCR Example on Android
私たちは、Android で OCR を実行するためにいくつかの簡単なステップが必要です。
Considerations
- 認識品質は、画像の照明条件、カメラの解像度、テキストのフォント、テキストのサイズ、その他によって異なることがあります …
- 最高の品質を実現するには、画像内のテキストを中央に配置して画像が適切にフォーカスされていることが非常に重要です。
Preview using OCR in a translator app
The following video shows part of the app I’m developed for my degree final project (TFG), where I use the OCR techniques described.
…