Ho scaricato Tesseract, ovvero Tess4J e provato a modificare il codice dell'esempio:
Ottenendo un discreto risultato (qualche pasticcio per via di linee di moduli e altri elementi grafici interpretabili, però tutto sommato un risultato facilmente editabile a mano e ben rispondente al testo contenuto nell'immagine).codice:import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import net.sourceforge.tess4j.*; public class TesseractExample { public static void main(String[] args) throws Exception { //File imageFile = new File("eurotext.gif"); BufferedImage bimg = ImageIO.read(new File("C:/Users/Andrea/Desktop/per_assicurazione_Pagina_1.tiff")); Tesseract instance = Tesseract.getInstance(); // JNA Interface Mapping // Tesseract1 instance = new Tesseract1(); // JNA Direct Mapping try { //String result = instance.doOCR(imageFile); String result = instance.doOCR(bimg); System.out.println(result); } catch (TesseractException e) { System.err.println(e.getMessage()); } } }
Mi viene da dirti: controlla che cosa ottieni nel BufferedImage proveniente dallo scanner (magari sparala dentro una JLabel e visualizzala)