当前位置:   article > 正文

springboot实现OCR_springboot ocr插件

springboot ocr插件

1、引入依赖

  1. <dependency>
  2. <groupId>net.sourceforge.tess4j</groupId>
  3. <artifactId>tess4j</artifactId>
  4. <version>4.5.4</version>
  5. </dependency>

2、config

  1. @Configuration
  2. public class TessOcrConfiguration {
  3. @Bean
  4. public Tesseract tesseract() {
  5. Tesseract tesseract = new Tesseract();
  6. // 设置训练数据文件夹路径
  7. tesseract.setDatapath("D:/tessdata");
  8. // 设置为中文简体
  9. tesseract.setLanguage("chi_sim");
  10. return tesseract;
  11. }
  12. }

3、定义api

  1. @PostMapping(value = "/ocr", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
  2. public String ocr(@RequestParam("file") MultipartFile file) throws TesseractException, IOException {
  3. return weChatService.ocr(file);
  4. }

4、定义service

  1. @Resource
  2. private Tesseract tesseract;
  3. @Override
  4. public String ocr(MultipartFile file) throws TesseractException, IOException {
  5. InputStream sbs = new ByteArrayInputStream(file.getBytes());
  6. BufferedImage bufferedImage = ImageIO.read(sbs);
  7. return tesseract.doOCR(bufferedImage);
  8. }

5、将官方的简体中文训练数据(后缀为.traineddata的文件)放到配置的目录(D:/tessdata)下

下边是官方训练数据的下载地址,打开后可以找到简体中文的文件 chi_sim.traineddata,下载下来放到指定位置就可以了

tess4j官方训练数据下载icon-default.png?t=N7T8https://digi.bib.uni-mannheim.de/tesseract/tessdata_fast/6、测试效果

测试图片

postman调用

可以发现【霜】被识别成了【需】,说明还是有一定的误差

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/619975
推荐阅读
相关标签
  

闽ICP备14008679号