tags:

views:

8847

answers:

7
+9  Q: 

android OCR?

I'm looking for a Java OCR that runs on Android, however Asprise doesn't seem to be a platform independent OCR. is there any opensource/free Java OCR I can use for android application development?

+8  A: 

OCR can be pretty CPU intensive, you might want to reconsider doing it on a smart phone.

That aside, to my knowledge the popular OCR libraries are Aspire and Tesseract. Neither are straight up Java, so you're not going to get a drop-in Android OCR library.

However, Tesseract is open source (Google Code hosted infact); so you can throw some time at porting the subset you need to Java. My understanding is its not insane C++, so depending on how badly you need OCR it might be worth the time.

So short answer: No.

Long answer: if you're willing to work for it.

Kevin Montrose
by porting it over do you mean rewriting the subset in Java? that might take lots of effort, so there is not a 100% Java OCR out there?
To the best of my knowledge, no there is not.
Kevin Montrose
I would recommend trying to wrap Tesseract in a JNI layer through Android NDK, rather than trying to port it to Android's Java. Tesseract already appears to be ported to ARM, so it should be easier to put a JNI API on top of it. Also, this keeps it fast(er) than any Java port would be, and would simplify long-term maintenance.
CommonsWare
There is already a Tesseract JNI interface for Java called Tessjeract. http://code.google.com/p/tesjeract/
sventech
Tesseract will not be a short walk from C to java. The code I've seen is highly idiomatic 80's C and not easily transportable to other languages.
plinth
A: 

Have a look at:

http://openhandsetmagazine.com/2009/01/abbyy-brings-android™-support-to-its-mobile-ocr-engine-30-software-development-kit/

It's not clear from this article how to use abby without paying for it. This link is a dead end!
gregm
hmmm, minus four and accepted as answer. Strange days indeed. Maybe the OP can share with us? Was that link useful or not? I am sure that others are interested. I don't want to sound like I am grousing, but I dislike questions where there is an "answer" which is not apparent. If I want to know the answer, I have to ask another question which will probably be deleted as duplicate. OP asks for opensource/free, but Abby is not free (not sure about OS) http://www.abbyy.com/mobileOCR Does anyone know of a free solution?
Mawg
+1  A: 

ANother option could be to post the image to a webapp (possibly at a later moment), and have it OCR-processed there without the C++ -> Java port issues and possibly clogging the mobile CPU.

Jaco
A: 

If you're ok with calling an online API to do the OCR processing, try this: http://www.webservius.com/corp/docs/wisetrend.pdf

Eugene Osovetsky
+1  A: 

Yes there is.

But OCR is very vast. I know an Android application that has an OCR feature, but that might not be the kind of OCR you are looking after.

This open-source application is called Aedict, and it does OCR on handwritten Japanese characters. It is not that slow.

If it is not what you are looking for, please precise which kind of characters, and which data input (image or X-Y touch history).

Nicolas Raoul
+5  A: 

Tesjeract (http://code.google.com/p/tesjeract/), a JNI Wrapper for Tesseract (http://tesseract-ocr.googlecode.com/).

Very nice write up on this: http://www.itwizard.ro/interfacing-cc-libraries-via-jni-example-tesseract-163.html

Example of it in practice: Mezzofanti (http://code.google.com/p/mezzofanti/), an open-source Android App using Tesjeract.

dblanchard
+1  A: 

did you check mocra? http://www.appbrain.com/app/org.irlab.mocra

Tomás