java ocr tesseract, (支持tif,jpg,png,pdf等)
之前在对tif做ocr的时候,在网上找了很多资源,最后选择了tesseract。 关于tesseract相信大多数人找到了资料无非两种,我来一一阐述一下用后的感受。 1.使用tess4j,在实测中发现这种封装后的效果极差,稍微复杂一点的文档识别出来的精度惨不忍睹。所以推荐以下一种方式。 2.安装tesseract原版客户端,使用java中的ProcessBuilder运行。 网上找出来的资源多是3个类,一个OCR,一个OCR2,一个ImageIOHelper,在使用中发现了实在实际上只OCR了tif中的第一个图片,如果tif有多张那么后面都被略过。 于是我把代码研究了后,发现在ImageIOHelper中的这一行代码出了问题 BufferedImage bi = reader.read(0); IIOImage image = new IIOImage(bi,null,reader.getImageMetadata(0)); tempFile = tempImageFile(imageFile); ios = ImageIO.createImageOutputStream(tempFile); writer.setOutput(ios); writer.write(streamMetadata, image, tiffWriteParam); BufferedImage bi