本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2024-11(2)

JAVA使用Tess4J进行ocr识别,并切换中文

发布于2021-05-29 23:14     阅读(1772)     评论(0)     点赞(17)     收藏(3)


一、电脑中安装 tesseract ;可以参考另一篇文章:https://blog.csdn.net/wang_jing_jing/article/details/117333990

二、下载 tess4j

https://sourceforge.net/projects/tess4j/files/latest/download

三、创建一个普通的maven项目

创建项目如果不会的话,可以看我的另一篇springboot 项目创建:https://blog.csdn.net/wang_jing_jing/article/details/115075991

四、项目中倒入 tess4j/lib 下的所有jar包 和 tess4j/dist/tess4j-3.4.8.jar

五、编写测试代码

  1. package com.tess4jdemo;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import net.sourceforge.tess4j.ITesseract;
  5. import net.sourceforge.tess4j.Tesseract;
  6. import net.sourceforge.tess4j.TesseractException;
  7. /**
  8. * @ClassName Test
  9. * @Description 测试类
  10. * @Author WangJing
  11. * @Date 2021/5/27 10:49 上午
  12. * @Version V1.1.0
  13. */
  14. public class Test {
  15. public static void main(String[] args){
  16. long startTime = System.currentTimeMillis();
  17. String imgPath = "/Users/wangjing/Desktop/ocr/test.jpeg";//图片地址
  18. File file = new File(imgPath);
  19. ITesseract instance = new Tesseract();
  20. String tessData = "/Users/wangjing/Desktop/ocr/Tess4J";//tess4j 解压地址
  21. File directory = new File(tessData);
  22. String courseFile = null;
  23. try {
  24. courseFile = directory.getCanonicalPath();
  25. } catch (IOException e) {
  26. e.printStackTrace();
  27. }
  28. //设置训练库的位置
  29. instance.setDatapath(courseFile + "//tessdata");
  30. instance.setLanguage("eng");//chi_sim :简体中文, eng 根据需求选择语言库
  31. String result = null;
  32. try {
  33. result = instance.doOCR(file);
  34. } catch (TesseractException e) {
  35. e.printStackTrace();
  36. }
  37. System.out.println("result: ");
  38. System.out.println(result);
  39. long endTime = System.currentTimeMillis();
  40. System.out.println("执行时间:" + (endTime - startTime));
  41. }
  42. }

六、运行查看效果

原图片:

识别效果:

发现左上角仅有的几个汉字没有识别成功;接下来我们要下载汉化包:https://raw.githubusercontent.com/tesseract-ocr/tessdata/master/chi_sim.traineddata

然后放到我们 Tess4j/tessdata 目录下;然后程序中语言改为中文:instance.setLanguage("chi_sim");  看下效果,非常完美

 

 

注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!

原文链接:https://blog.csdn.net/wang_jing_jing/article/details/117361691



所属网站分类: 技术文章 > 博客

作者:想要飞翔的天使

链接:http://www.javaheidong.com/blog/article/207875/04fc960553ee6801284c/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

17 0
收藏该文
已收藏

评论内容:(最多支持255个字符)