I need to read text from printed paper with my Android device, but I can't find other solution than OCR. Is there any way to scan text ? Or OCR is best? It can be text and numbers without bar-code. I need this for my school project and I am lost, please help.
Can you please send me some examples, code on github ?
There are many OCR libraries for android. The OpenCV(Open Computer Vision) library, Tesseract OCR Tool by google and Aspire are some OCR libraries available.
The OpenCV library can be used both in Java and C++ code. It can also be linked to a static or dynamic using runtime application called OpenCV Manager. You can find the documentations and tutorials here.
The Tesseract OCR Tool is an open source library maintained by google. Tess-two is the fork of Tesseract Tools for Android. You can take a look into some tutorials available.
http://rmtheis.wordpress.com/2011/08/06/using-tesseract-tools-for-android-to-create-a-basic-ocr-app/
http://imperialsoup.com/2016/04/29/simple-ocr-android-app-using-tesseract-tutorial/
There are some OCR scanner libraries which use the above tools which makes implementing OCR easier.
EasyOcrScannerAndroid
Tess-two-Example
Related
I'm using ARToolKit in an android app and i would like to do a features detection (probably with FREAK because now ARToolKit uses it) in an image. My goal is just to have the number of key points in the image. But I don't find the tools to do just this "simple" task.
Thank you in advance for your help
You should look at OpenCV and their implementation of FREAK. There are JAVA wrappers for OpenCV which work on android.
You'll find lot's of tutorials and info at their website and forum.
Here is a similar answer with C++ code. Shouldn't be hard to convert it to Java using OpenCV's own wrappers.
OpenCV FREAK: Fast Retina KeyPoint descriptor
Regards,
Daniel
So far, i have built an ocr app, using tess-two. In order to build the app, I downloaded and built the tess-two library (thanks rmtheis!).
I need to improve OCR output, because the results have less than 20% accuracy levels. I am working with only numbers (0 to 9) and I hope to achieve 100% accuracy.
I have downloaded ghostscript, vietocr and serak as recommended by some blogs which i went through. They cover the training process with more detail than most other entries on the subject. (links here: Pradeep's Blog, reachsri site)
My question is; do I have to download tesseact app again?
some steps in the training seem to imply that I will be executing commands begining with "tesseract.exe", and I dont have any such file on my computer.
Do I still need to download the tesseract app? Or can I work with tess-two?
Any and all help will be appreciated.
You can train Tesseract on Windows or Linux and use the generated .traineddata file with tess-two. Make sure your tool includes Tesseract training executable.
i'm new to developing android apps in general.
I'm trying to create an application that given a certain image it would detect faces and would give me the eye locations and other info.
I've done some research and i found some stuff such as, the android FaceDetector API and OpenCV.
Could anyone give me some advice on how to make an app like this or send me a link with any info related to this, all help would be great!
Thanks, Daniel.
I have worked with Face recognition for a while.
If you want to use OpenCV you could do a better effort searching in SO and you can found things like this one.
The best one for me is the SDK provide by lockheed martin... but it's too expensive :S for a single person.
Edited
"Face detection and face recognition are different things ;) Face detection tells you where is the face and face recognition tells you who's the owner of the face"
If you choose OpenCV, you can find full doc in official page.
I'm going to give you a overview :
You can use OpenCV in your app using "OpenCV Manager" or with "Static Initialization on OpenCV Android".
About the first one:
OpenCV Manager is an Android service targeted to manage OpenCV library binaries on end users devices. It allows sharing the OpenCV dynamic libraries between applications on the same device. The Manager provides the following benefits:
Less memory usage. All apps use the same binaries from service and do not keep native libs inside themselves;
Hardware specific optimizations for all supported platforms;
Trusted OpenCV library source. All packages with OpenCV are published on Google Play market;
Regular updates and bug fixes;
About the second one:
A complete tutorial using eclipse.
You might try the new Android face API. See the tutorial here about how to detect faces and facial landmarks:
https://developers.google.com/vision/detect-faces-tutorial
I explain how to do it in this article. I used a TensorFlow Lite with a MobileFaceNet implementation, achieving very accurate results and with surprisingly high speed.
You'll find the source code and an APK in this repo
I want to convert the following openCV code(available in iOS) at Matching template imge(scaled) to Main/larger image to Android.
I have tried lot of things, but the opencv library has problem that surf detection is not available in OpenCV's Android Library. For using that they have told to use c++ code and doing some settings. Different sites are saying different settings. As i am totally new to android, i am not getting properly how to set it up. Please can anyone give me reliable and detailed way of doing that. or does anyone know ther other method of doing the same thing that is given in above question.
I have found solution to my question, You can check it out the solution on this post:Object detection with OpenCV Feature Matching with a threshold/similarity score - Java/C++
I need to work on detecting edges from an Image, I'm using Canny algorithm for that.
Since OpenCV for android is available 2.4.2 while i'm trying to run examples it says.
"OpenCV Manager is not installed, please try to install it." after install it from the market it is working fine.
But if i want the user's to install my application so that they don't have to install another .apk for using my application.
-> How to use openCV without without asking for another application i.e. manger should be pre installed.?
-> is there any way i can use Canny algorithm for edge detection without OpenCV any good angorithm tutorials for implementing in in android.?
You might find information about this on the OpenCV webpage. This said, this is deprecated and OpenCV advises not to do this in production. The manager actually allows the user to download the OpenCV library once for all. Then, your application will be much smaller!
About not using OpenCV, you can try FastCV (as Aaron suggested), but it seems overkill for your application (and it requires you to be familiar with NDK development). With OpenCV, in the other hand, you can code either in java (by the way, have a look at JavaCV) or using the NDK.
Finally, if you only need a Canny Edge detector and don't want to use a library, you can try to write it yourself. The related page on Wikipedia should be enough for this (I could do it a few years ago as an exercise).
Have you looked into Qualcomm's FastCV? It offers some of the more common image processing algorithms offered in libraries like OpenCV. They also have a pretty cool augmented reality API called Vuforia.
Fair warning, the support documentation isn't that great and it requires that you are familiar with NDK development.
https://developer.qualcomm.com/mobile-development/mobile-technologies/computer-vision-fastcv