Czy jest dostępna bezpłatna biblioteka OCR dla systemu Android? [Zamknięte]

148

Szukam Java OCR, która działa na Androidzie, jednak Asprise nie wydaje się być niezależnym od platformy OCR. czy jest jakikolwiek open source / darmowy Java OCR, którego mogę używać do tworzenia aplikacji na Androida?

user121196
źródło
9
To przesłuchane powinno zostać ponownie otwarte, Jest to bardzo ważne i ważne pytanie
Utsav Gupta
5
Niedawno firma Google wydała interfejs API OCR: developers.google.com/vision/text-overview
Wirling

Odpowiedzi:

38

OCR może bardzo obciążać procesor, warto rozważyć ponowne zrobienie tego na smartfonie.

Pomijając to, o ile mi wiadomo, popularne biblioteki OCR to Aspire i Tesseract . Żadna z nich nie jest prostą Javą, więc nie dostaniesz biblioteki OCR dla Androida.

Jednak Tesseract jest open source (w rzeczywistości hostowany na GitHub); więc możesz poświęcić trochę czasu na przeniesienie podzbioru, którego potrzebujesz, do Javy. Rozumiem, że nie jest to szalony C ++, więc w zależności od tego, jak bardzo potrzebujesz OCR, może to być warte czasu.

Krótka odpowiedź: nie.

Długa odpowiedź: jeśli chcesz na to zapracować.

Kevin Montrose
źródło
2
czy przez przeniesienie go masz na myśli przepisanie podzbioru w Javie? to może wymagać dużo wysiłku, więc nie ma tam 100% Java OCR?
user121196,
13
Poleciłbym spróbować zawinąć Tesseract w warstwę JNI za pośrednictwem Android NDK, zamiast próbować przenieść go do Java Androida. Wygląda na to, że Tesseract został już przeniesiony do ARM, więc powinno być łatwiejsze dodanie JNI API. Dzięki temu jest on szybszy (szybszy) niż jakikolwiek inny port Java i uprościłby długoterminową konserwację.
CommonsWare
15
Istnieje już interfejs JNI Tesseract dla języka Java o nazwie Tessjeract. code.google.com/p/tesjeract
sventechie
1
Tesseract nie będzie w odległości krótkiego spaceru od C do Java. Kod, który widziałem, jest wysoce idiomatyczny z lat 80-tych i nie można go łatwo przenieść na inne języki.
cokół
2
@vincent zniknął w zeszłym roku. Wersja JNA jest już dostępna: github.com/nguyenq/tess4j, ale także widelec Androida: github.com/rmtheis/tess-two
sventechie
21

Mam sporo szczęścia z tesseract-android-tools

Ben Pearson
źródło
Pytanie zostało zamknięte, ale dobrze jest znaleźć kogoś, kto miał pozytywne wyniki. Bardzo trudno jest znaleźć ludzi w projektach typu sourceforge. Pytanie: czy wypróbowałeś Tesseract ze skanami obrazów paszportów lub dokumentów tożsamości? Wydaje się, że jest w porządku z tekstowymi plikami PDF, ale mam problemy z obrazami.
PKHunter
Nie próbowałem tego z niczym, co miało obrazy, to był tylko dokument z tekstem (ta sama czcionka, krój, rozmiar)
Ben Pearson
Mam nadzieję, że to zadziała
Romantic Electron
20

Inną opcją może być przesłanie obrazu do aplikacji internetowej (prawdopodobnie w późniejszym czasie) i poddanie go tam przetworzeniu OCR bez problemów z portem C ++ -> Java i prawdopodobnie zatykania procesora mobilnego.

Jaco
źródło
bardzo dobry pomysł: D zakładam, że miałeś na myśli usługę internetową (asmx) dzięki
Omidoo
4

Tak jest.

Ale OCR jest bardzo rozległy. Znam aplikację na Androida, która ma funkcję OCR, ale może to nie być ten rodzaj OCR, którym się opiekujesz.

Ta aplikacja typu open source nazywa się Aedict i wykonuje OCR na odręcznych japońskich znakach. Nie jest tak wolno.

Jeśli to nie jest to, czego szukasz, proszę sprecyzować, jakiego rodzaju znaki i jakie dane wejściowe (historia obrazu lub XY touch).

Nicolas Raoul
źródło
2

Możesz skorzystać z czytnika OCR Google Docs .

richardwiden
źródło
Opublikowałem tę odpowiedź na inne pytanie, które zostało oznaczone jako duplikat tego, więc pomyślałem, że mogę również opublikować ją tutaj
richardwiden
1
Nieistotny link do dokumentacji
Volodymyr