springboot集成tess4j

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,将字符库放入该文件夹中
springboot集成tess4j_第1张图片
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;
        }
    }
}

然后执行即可

你可能感兴趣的:(图片识别,tess4j)