Implementacja Java OCR [zamknięta]


160

To przede wszystkim ciekawostka, ale czy są jakieś implementacje OCR w czystej Javie? Jestem ciekawy, jak by to działało wyłącznie w Javie, a OCR ogólnie mnie interesuje, więc chciałbym zobaczyć, jak jest zaimplementowany w języku, który dobrze rozumiem. Oczywiście wymagałoby to implementacji typu open source, ale nadal interesują mnie rozwiązania autorskie, bo w takim przypadku mógłbym przynajmniej sprawdzić wydajność.

Widziałem kilka, których można używać w Javie (jak Asprise ), ale nie wygląda na to, że są to implementacje w czystej Javie ... czy są jakieś?


@Robik Po pierwsze, skoro już przy tym jesteś, powinieneś też usunąć niepotrzebne podziękowania itp. Po drugie, nie powinieneś edytować w takim założeniu, zwłaszcza jeśli OP jest nadal aktywny i możesz po prostu skomentować - chociaż prawdopodobnie tak będzie prawda w tym przypadku ... @ rat Dla wyjaśnienia, czy miałeś na myśli niespodziankę?
— Tobias Kienzler,

Jeśli nie szukasz podejścia czysto Java, być może zbudowanie mostu JNI (takiego jak Tess4J ) ma sens. Mam wrażenie, że biblioteki OCR są lepiej reprezentowane w świecie C ++ (OCRAD, GOCR, Cuneiform - zobacz wszystkie tutaj ).
— dma_k

@rat - Masz rację - Asprise OCR SDK dla języka Java nie jest oparty na języku Java. W rzeczywistości za kulisami używany jest kod natywny, ponieważ OCR jest procesem bardzo kosztownym obliczeniowo.
— Asprise Support

Odpowiedzi:


81

Polecam wypróbowanie projektu Java OCR na sourceforge.net. Pierwotnie go opracowałem i publikuję na blogu .

Odkąd umieściłem go na sourceforge, jego funkcjonalność została znacznie rozszerzona i ulepszona dzięki wspaniałej pracy badacza / programisty wolontariusza.

Spróbuj, a jeśli Ci się nie spodoba, zawsze możesz to poprawić!


18
@Ron Też przyjrzałem się projektowi. Nie znalazłem wersji demonstracyjnej, a GUI wykonuje różne operacje graficzne, ale nie ma instrukcji, jak uruchomić faktyczne rozpoznawanie znaków.
— James P.

1
@Ron, kiedy podążam za linkiem do Twojego bloga, widzę pustą stronę.
— neoneye

3
@Ron, gdzie mogę uzyskać dokumentację, dodatkowy blog lub tutorial.
— altsyset

1
jak zaimportować java ocr w eclipse?
— Faisal Ashraf

2
Cześć, czy są do tego jakieś samouczki?
— The Well

10

Przetestowaliśmy kilka silników OCR z Javą, takich jak Tesseract, Asprise, Abbyy itp. W naszej analizie Abbyy dała najlepsze wyniki.


1
Java API czy implementacje Java ..?
— Ewoks

Ani, ale istnieje wersja wiersza poleceń, z którą można rozmawiać za pomocą ProcessBuilder.
— Aaron Digulla

1
Ani Tesseract, ani Abbyy nie są oparte na Javie. Po prostu mają interfejsy API dla języka Java.
— krispy,

10

Jeśli szukasz bardzo rozszerzalnej opcji lub masz konkretną domenę problemową, możesz rozważyć zmianę własnej za pomocą Java Object Oriented Neural Engine . Kolejna referencja JOONE .

Użyłem go z powodzeniem w osobistym projekcie, aby zidentyfikować list z obrazu takiego jak ten. Wszystkie źródła komponentu OCR mojej aplikacji można znaleźć tutaj na github .


1
Ooh, dzięki za przykład. Pobrałem go i planuję dostosować go do własnych potrzeb!
— Amanda S,

Czy możesz mi pokazać, jak skompilować?
— RadijatoR,

Obawiam się, że projekt nie jest już utrzymywany @RadijatoR, więc nie mogę udzielić żadnej porady.
— davetapley

4
Większość linków jest martwa.
— Erik

5

Istnieje wiele bibliotek OCR. Jednak z mojego doświadczenia wynika, że ​​główne implementacje komercyjne, ABBYY, Omnipage i ReadIris, znacznie przewyższają open-source lub inne pomniejsze implementacje. Te biblioteki komercyjne nie są przeznaczone głównie do pracy z Javą, chociaż oczywiście jest to możliwe.

Oczywiście, jeśli chcesz nauczyć się kodu, implementacje open-source załatwią sprawę.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.