Implementazione OCR Java [chiuso]


160

Questa è principalmente solo curiosità, ma ci sono implementazioni OCR in Java puro? Sono curioso di sapere come ciò si comporterebbe puramente in Java e l'OCR in generale mi interessa, quindi mi piacerebbe vedere come è implementato in un linguaggio che comprendo a fondo. Naturalmente, ciò richiederebbe che l'implementazione sia open source, ma sono comunque interessato a soluzioni proprietarie, in quanto potrei almeno verificare le prestazioni in quel caso.

Ho visto un paio che può essere usato in Java (come Asprise ) ma non sembra che queste siano implementazioni Java pure ... ce ne sono?


@Robik Prima di tutto, mentre ci sei, dovresti anche rimuovere inutili ringraziamenti ecc. E in secondo luogo, non dovresti modificare in tale ipotesi, specialmente se OP è ancora attivo e potresti semplicemente commentare, anche se è probabile che lo sia vero in questo caso ... @ rat Solo per chiarire, volevi dire sorpresa?
Tobias Kienzler,

Se non cerchi un approccio puramente Java, forse ha senso costruire un bridge JNI (come Tess4J ). La mia sensazione è che le librerie OCR siano meglio rappresentate nel mondo C ++ (OCRAD, GOCR, Cuneiform - vedi tutto qui ).
dma_k,

@rat - Hai ragione - Asprise OCR SDK per Java non è puro Java. Di fatto, dietro le quinte, viene utilizzato il codice nativo poiché l'OCR è un processo molto costoso dal punto di vista computazionale.
Supporto sorpresa

Risposte:


81

Consiglio di provare il progetto OCR Java su sourceforge.net. Inizialmente l'ho sviluppato e ho un post sul blog .

Da quando l'ho messo su sourceforge, la sua funzionalità è stata ampliata e migliorata un po 'grazie all'ottimo lavoro di un ricercatore / sviluppatore volontario.

Provalo e, se non ti piace, puoi sempre migliorarlo!


18
@Ron Ho dato un'occhiata anche al progetto. Non ho trovato la demo e la GUI esegue varie operazioni grafiche ma non ci sono istruzioni su come ottenere il riconoscimento del personaggio.
James P.

1
@Ron quando seguo il link al tuo blog, vedo una pagina vuota.
Neoneye,

3
@ Ron dove posso ottenere una documentazione o blog o tutorial aggiuntivi.
altsyset,

1
come importare java ocr in eclipse?
Faisal Ashraf,

2
Ciao, ci sono tutorial per questo?
The Well,

10

Abbiamo testato alcuni motori OCR con Java come Tesseract, Asprise, Abbyy ecc. Nella nostra analisi, Abbyy ha dato i migliori risultati.


1
API Java o implementazioni Java ..?
Ewoks,

Né esiste una versione della riga di comando con cui è possibile parlare ProcessBuilder.
Aaron Digulla,

1
Né Tesseract né Abbyy sono basati su Java. Hanno semplicemente API per Java.
Krispy,

10

Se stai cercando un'opzione molto estensibile o hai un dominio problematico specifico, potresti prendere in considerazione l'idea di crearne uno tuo usando il motore neurale orientato agli oggetti Java . Un altro riferimento JOONE .

L'ho usato con successo in un progetto personale per identificare la lettera da un'immagine come questa , puoi trovare tutta la fonte per il componente OCR della mia applicazione su github, qui .


1
Ooh, grazie per l'esempio. L'ho scaricato e ho intenzione di adattarlo alle mie esigenze!
Amanda S,

Puoi mostrarmi come compilare?
RadijatoR,

Temo che il progetto non venga più mantenuto su @RadijatoR, quindi non posso offrire alcun consiglio.
davetapley,

4
La maggior parte dei collegamenti sono morti.
Erik,

5

Esistono diverse librerie OCR. Tuttavia, la mia esperienza è che le principali implementazioni commerciali, ABBYY, Omnipage e ReadIris, superano di gran lunga le implementazioni open source o altre implementazioni minori. Queste librerie commerciali non sono progettate principalmente per funzionare con Java, anche se ovviamente è possibile.

Naturalmente, se il tuo interesse è imparare il codice, le implementazioni open source faranno il trucco.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.