I'd like to write android application for text recognition in images from camera. However, text to be recognized does not consist of regular words, it's just a sequence of letters, digits, slashes, etc. Is it still possible to use Google Vision API for this task? Or should I look for some other tools? I have read about tessaract library, but Google Vision seems to be easier for beginner developer. Would it give significant boost in accuracy of recognition?
I can confirm that at least the sample OCR reader that google supplies can read non-language text strings. I have been using it to read VIN numbers, for instance.
Related
I have an Android app which uses the offline Google Speech To Text engine. I want it to recognize addresses, but it tries to convert them to common words. I need some boost for a list of addresses. It's not a duplicate of Train google speech to text because I need it to work offline. It would be optimal if I add a map with phrases and a boost value in a class directly in the app.
Is that possible?
Thank you!
afaik google doesn't allow you, but you may find a way with picovoice rhino https://picovoice.ai/platform/rhino/ and here maps https://www.here.com apis. both have free tier and pretty generous.
I am creating an app which takes the picture and recognize the text from it and provides it as the output. I am using mlkit from the firebase for this purpose. So far I am able to detect the text in English. Now I want it to detect the text in Hindi. Also, I am using on-device detection for detecting the text.
Can anyone guide me with this hurdle?
Any help will be appreciated.
The Firebase overview of the text recognition API starts with this:
With ML Kit's text recognition APIs, you can recognize text in any Latin-based language (and more, with Cloud-based text recognition).
Since Hindi uses non Latin-based characters, it can't be recognized by ML Kit's on-device API. The Cloud-based API that is linked does support many more character sets, including Hindi.
So you'll either have to use the Cloud-based API, or train your own model to recognize Hindi text.
I am new to speech recognition, android and i have a use case where i need to build an android app which takes commands(limited set of commands, less than 100) from users and executes some logic. I have googled a bit and found the following can be done
Use google cloud speech api
Use Android inbuilt speech to text capability (Is it different from google cloud speech api? If so how?). Also what are the pros and cons of using offline mode of android speech to text?
Use open source speech recognition libraries like Kaldi, CMU Sphinx(it looked like they need a lot of effort in collecting and training the data)
Can someone please suggest me which of the above might best suit my use case?
I have a limited set of commands and speed matters the most to me.
I am really confused and thus putting this question. Thanks in advance.
Use google cloud speech api
Very expensive since you have to pay for every request.
Use Android inbuilt speech to text capability (Is it different from google cloud speech api? If so how?). Also what are the pros and cons of using offline mode of android speech to text?
The inbuilt API is ok to use. It is different from cloud API and it is free. It does not work offline transparently for the user though. Bad side it is slow and you can not configure the vocabulary. So it will decode all words instead of some particular set of commands and often will confuse the required commands with other words in noise.
Use open source speech recognition libraries like Kaldi, CMU Sphinx(it looked like they need a lot of effort in collecting and training the data)
Proper development is always an effort.
I'm trying to create a simple application such as in the tutorial for the android vision API, only to recognize Hebrew, instead of English.
so far, from what i searched mobile vision api, and from playing around with other languages, the application recognize many Latin based languages (French, Spanish, for example) but no non-Latin character languages i tried (Chinese, Hebrew, Arabic comes to mind).
the question is, is it possible to use Google's mobile vision to read non-Latin text? if yes, how would i change my simple app to read other type of characters? and if not, what are my alternatives? i have found tessaract and Google cloud vision, but i prefer to have as little interaction with outside sources as i can, i want the app to be installed and used freely without relaying on outside engines or servers, any help and pointing in the right direction is appreciated.
Mobile vision OCR doesn't support non-latin languages.
here's a link to official documentation.
https://developers.google.com/vision/text-overview
You can use Google Cloud Vision for the required purpose but it would require internet connectivity. For now, most of the OCR supported APIs require internet connectivity, If you find any with more language support as compared to Mobile vision, please answer to your question here.
I am working on an android application. I want to scan a receipt and read the characters, basically do optical character recognition. I read that google drive provides this functionality with their drive APIs & I wish to use Google drive API for this but I am not able to find any tutorial to understand how to achieve this. Can anyone help me with how to start with this.
Thanks
P
There is no tutorial. Images (png, jpg) that you upload to Google Drive (from any app, Android, Web ....) are processed by OCR and indexed by Google. You can test it yourself, just upload a few images that contain text, wait for a while and try to search for words contained in it. Your Android app can use the same facility, but you have to stay with the RESTful API, namely fulltext search. AFAIK, this type of search is not yet available in the new GDAA API.