É um projeto base com o uso do Tesseract 3.4.4 para reconhecimento de texto dentro de imagem, utilizando de OCR (Optical Character Recognition).. A API do Tesseract foi obtida através do link, porém todas as lib's necessárias para execução do projeto de teste estão na pasta lib do repositório.
Para usar a API do Tesseract de forma a capturar o texto contido na imagem, basta usar o código abaixo, conforme o arquivo Testtess.java. Na pasta src/imagem está uma imagem de exemplo p1.jpg, que pode ser utilizada para efeito de teste rápido. Já na pasta src/tessdata está o pacote de idioma do tesseract, neste projeto está tanto o idioma Português quanto Inglês. Para leitura de placa de veículos, obtive um resultado mais preciso ao usar a biblioteca Inglês.
// train classifier on app start public class Testtess { public static void main(String[] args) { File image = new File(Testtess.class.getResource("/imagem/p1.jpg").getFile()); Tesseract tessInst = new Tesseract(); //tessInst.setLanguage("por"); tessInst.setDatapath("C:\\Java\\eclipse-workspace\\TesseractTest\\src"); try { String result= tessInst.doOCR(image); System.out.println(result); } catch (TesseractException e) { System.err.println(e.getMessage()); } } }Após rodar a aplicação temos o seguinte resultado MMM-0058
Para mudar o idioma da detecção OCR basta utilizar o trecho de código seguinte:
tessInst.setLanguage("por");Nesse caso o idioma adotado será o Português. Por padrão utiliza o Inglês eng
Ao adotar o idioma português a aplicação teve dificuldade em distinguir os números apresentandos na imagem retornando o seguinte resultado:
MMM-OOSB 