Fork me on Gitee

Tess4J OCR简单使用教程

Tess4J简介

Tesseract-OCR支持中文识别,并且开源和提供全套的训练工具,是快速低成本开发的首选。而Tess4J则是Tesseract在Java PC上的应用。在英文和数字识别中性能还是不错的,但是在中文识别中,无论速度还是识别率还是较弱,建议有条件的话,针对场景进行训练,会获得较好结果,本文仅对目前Tess4J的用法进行介绍。

使用教程

1.去Tess4J官网下载源码包

前往:Tess4J 官网下载最新的Tess4J的源码包,其中包含Java代码,jar,dll等,大概结构如下:
image

2.创建Java项目并配置

网上不少文章会提到DLL,其实在最新的版本,如果源码包里面有dist路径,则只需要配置该jar包和lib中相关的jar即可。

注意点1:将dist/tess4j-3.4.0.jar 及 lib/*.jar加入项目

注意点2:tessdata一定要配置到根目录,否则需要在代码中指定dataPath

Copy
ITesseract instance = new Tesseract(); instance.setDatapath("the absolute path of tessdata");

注意点3:无需将源码包拷贝到项目中,可能会出错

所以最终的目录结构如下:

3.尝试写一个Demo

可以按照官网的示例,直接编写一个Demo试一下效果:

Copy
public class OCRDemo { public static void main(String[] args) throws TesseractException { ITesseract instance = new Tesseract(); //如果未将tessdata放在根目录下需要指定绝对路径 //instance.setDatapath("the absolute path of tessdata"); // 我们需要指定识别语种 instance.setLanguage("chi_sim"); // 指定识别图片 File imgDir = new File("test_chinese_07.PNG"); long startTime = System.currentTimeMillis(); String ocrResult = instance.doOCR(imgDir); // 输出识别结果 System.out.println("OCR Result: \n" + ocrResult + "\n 耗时:" + (System.currentTimeMillis() - startTime) + "ms"); } }

其中注意三处:

    1. tessdata放在与src同级的根目录下,否则需要指定dataPath
    1. 如果需要识别英文之外的语种,需要指定识别语种;
    1. 其他语种下载地址:其他语种下载地址


Copy
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接
posted @   ---dgw博客  阅读(903)  评论(0编辑  收藏  举报
编辑推荐:
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
阅读排行:
· DeepSeek V3 两周使用总结
· 回顾我的软件开发经历(1)
· C#使用yield关键字提升迭代性能与效率
· 低成本高可用方案!Linux系统下SQL Server数据库镜像配置全流程详解
· 4. 使用sql查询excel内容
点击右上角即可分享
微信分享提示