Implementação de OCR Java [fechado]

160

Isso é principalmente curiosidade, mas existem implementações de OCR em Java puro? Estou curioso para saber como isso funcionaria puramente em Java e o OCR em geral me interessa, então eu adoraria ver como isso é implementado em uma linguagem que eu entendo completamente. Naturalmente, isso exigiria que a implementação fosse de código aberto, mas ainda estou interessado em soluções proprietárias, pois eu poderia pelo menos verificar o desempenho nesse caso.

Eu vi alguns que podem ser usados ​​em Java (como o Asprise ), mas não parece que essas sejam implementações puras de Java ... existem?

rato
fonte
@ Robik Antes de tudo, enquanto você faz isso, você também deve remover agradecimentos desnecessários etc. verdade neste caso ... @ rat Apenas para esclarecer, você quis dizer surpresa?
precisa saber é o seguinte
Se você não procurar uma abordagem Java pura, talvez seja melhor construir uma ponte JNI (como o Tess4J ). Meu sentimento é que as bibliotecas de OCR estão melhor representadas no mundo C ++ (OCRAD, GOCR, Cuneiform - veja tudo aqui ).
Dma_k
@rat - Você está certo - o Asprise OCR SDK para Java não é baseado apenas em Java. De fato, nos bastidores, o código nativo é usado, pois o OCR é um processo muito computacionalmente caro.
Asprise Support

Respostas:

81

Eu recomendo tentar o projeto Java OCR no sourceforge.net. Eu o desenvolvi originalmente e tenho uma postagem no blog .

Desde que eu o coloquei no sourceforge, sua funcionalidade foi expandida e melhorada bastante através do excelente trabalho de um pesquisador / desenvolvedor voluntário.

Experimente e, se você não gostar, pode sempre melhorar!

Ron
fonte
18
@ Ron Também dei uma olhada no projeto. Não encontrei a demonstração e a GUI realiza várias operações gráficas, mas não há instruções sobre como obter o reconhecimento real de caracteres.
James P.
1
@ Ron quando sigo o link para o seu blog, vejo uma página em branco.
amigos estão dizendo sobre neoneye
3
@ Ron, onde posso obter uma documentação ou blog ou tutorial adicional.
Altsyset
1
como importar java ocr no eclipse?
Faisal Ashraf
2
Oi, existem tutoriais para isso?
The Well
10

Testamos alguns mecanismos de OCR com Java como Tesseract, Asprise, Abbyy etc. Em nossa análise, Abbyy deu os melhores resultados.

Céu azul
fonte
1
API Java ou implementações Java ..?
Ewoks
Nenhum, mas existe uma versão de linha de comando com a qual você pode falar usando ProcessBuilder.
Aaron Digulla
1
Nem o Tesseract nem o Abbyy são baseados em Java. Eles simplesmente têm APIs para Java.
22414 krispy
10

Se você estiver procurando por uma opção muito extensível ou tiver um domínio de problema específico, considere usar o seu próprio mecanismo Java Neural Oriented a Objetos Java . Outra referência JOONE .

Eu usei com sucesso em um projeto pessoal para identificar a letra de uma imagem como essa ; você pode encontrar toda a fonte do componente OCR da minha aplicação no github, aqui .

Davetapley
fonte
1
Ooh, obrigado pelo exemplo. Eu baixei e planejo adaptá-lo para minhas próprias necessidades!
Amanda S
Você pode me mostrar como compilar?
Radijator
Receio que o projeto não seja mais mantido @RadijatoR, por isso não posso oferecer nenhum conselho.
Davetapley 20/07
4
A maioria dos links está morta.
Erik
5

Há uma variedade de bibliotecas de OCR por aí. No entanto, minha experiência é que as principais implementações comerciais, ABBYY, Omnipage e ReadIris, superam em muito o código aberto ou outras implementações menores. Essas bibliotecas comerciais não foram projetadas principalmente para trabalhar com Java, embora, é claro, seja possível.

Obviamente, se seu interesse é aprender o código, as implementações de código aberto farão o truque.

Joshua Fox
fonte