甚至我也遇到了使用
tess4jfor
的类似问题
DynamicWebProject。但是感谢@nguyenq的评论对我的帮助,让我可以正常工作了。tess4j通常使用TIFF处理程序进行光学识别。默认ImageIO不提供它所需的依赖关系。因此,需要jai-
imageio.jar。我所做的只是
ImageIO.scanForPlugins()在调用执行的包装器类之前添加了一行
doOCR。我的lib中有以下jar:-
tess4j.jar
jai_imageio.jar
ghost4j-0.3.1.jar
jna.jar
junit-4.10.jar
这是示例代码:
TessractOCR tessocr = new TessractOCR(); ImageIO.scanForPlugins(); String extractedString = tessocr.extractTextFromImage(binarizrImage);
功能
public static String extractTextFromImage(BufferedImage image){ RenderedImage img = image; String result =null; try { File outputfile = new File("saved.png"); ImageIO.write(img, "png", outputfile); Tesseract instance = Tesseract.getInstance(); // JNA Interface Mapping instance.setDatapath("E:\OCR-data\Tess4J-1.2-src\Tess4J"); result = instance.doOCR(outputfile); System.out.println(result); } catch (Exception e) { System.err.println(e.getMessage()); } return result; }它可以工作100%:)



