spring整合tess4j用于OCR识别图片,在windows环境识别正常,在liunx没有反应,本文用于解决部署linux问题。
整合springboot
1、引入pom文件
<dependency><groupId>net.sourceforge.tess4j</groupId><artifactId>tess4j</artifactId><version>5.7.0</version>
</dependency>
2、创建文件夹F:\data\tessdata,将字符库放入该文件夹中
3、编写代码
@Slf4j
public class CaptchaUtil {//imgUrl:图片地址,path为字符库地址public static String executeTess4J(String imgUrl,String path){String ocrResult = "";try{log.info("开始识别图片{}",imgUrl);ITesseract instance = new Tesseract();//设置白名单instance.setTessVariable("tessedit_char_whitelist", "0123456789");instance.setLanguage("num");//设置语言File imgDir = new File(imgUrl);if(imgDir.exists()){instance.setOcrEngineMode(1); // 设置OCR引擎模式(OEM)instance.setPageSegMode(6); // 设置图片分割模式(PSM)instance.setDatapath(path);ocrResult = instance.doOCR(imgDir);log.info("识别图片成功{}",ocrResult);}return ocrResult.trim().replace("\\n","");}catch (TesseractException e){log.info("识别图片异常{}",e);return null;}}
}
然后执行即可