java使用tess4j 小白教程

环境:编译器是IDEA,操作系统Win7

第一步:下载Tess4J 

下载地址:点击打开链接

下载后解压,解压后的目录结构如下

第二步:引入jar包

将上图目录里dist里面的“tess4j-3.4.8.jar”和lib下的所有jar引入你自己的工程,我是IDEA下的web工程,所以就放在的下图所示的位置


第三步:指定tessdata文件

tessdata文件是存放的字体库,需要将文件加放到项目根目录(我试过不可以),否则要在代码中指定目录,在代码中这样写

ITesseract instance = new Tesseract();
instance.setDatapath("D:\\Tess4J-3.4.8-src\\Tess4J");//当tessdata的目录是 D:\\Tess4J-3.4.8-src\\Tess4J\\tessdata时
instance.setLanguage("eng");//选择字库文件(只需要文件名,不需要后缀名)

第四步:写测试代码

import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;

import java.io.File;

/**
 * Created by Administrator on 2018-05-25.
 */
public class Demo {
    public static void main(String[] args){

        try {
            File imageFile = new File("E:\\test\\test.png");//图片位置
            ITesseract instance = new Tesseract();
            instance.setDatapath("D:\\Tess4J-3.4.8-src\\Tess4J");
            instance.setLanguage("eng");//选择字库文件(只需要文件名,不需要后缀名)
            String result = instance.doOCR(imageFile);//开始识别
            System.out.println(result);//打印图片内容
        } catch (TesseractException e) {
            e.printStackTrace();
        }
    }
}

注意:

1、上述代码图片位置要换成自己的

2、网上很多说要因dll库的,最新版已经不需要了,tess4j.jar 内有所需dll库

代码下载:点击打开链接

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Tess4J 是一个基于 Tesseract OCR 引擎的 Java 包装器,用于识别文本。在使用 Tess4J 时,可能会遇到以下问题: 1. 找不到 JNI 库 如果在使用 Tess4J 时出现 "java.lang.UnsatisfiedLinkError" 异常,这可能是因为 JVM 找不到 JNI 库的原因。解决方法是将 Tesseract 的 JNI 库添加到 Java 库路径中。可以在代码中使用以下语句添加: ```java System.setProperty("jna.library.path", "path/to/tesseract/lib"); ``` 其中 "path/to/tesseract/lib" 是 JNI 库所在的路径。 2. Tessdata 目录设置错误 Tess4J 需要 Tesseract 引擎的训练数据(tessdata)目录来进行 OCR。如果没有正确设置该目录,可能会出现 "java.lang.IllegalArgumentException: Invalid memory access" 异常。解决方法是在代码中使用以下语句设置该目录: ```java File tessDataFolder = LoadLibs.extractTessResources("tessdata"); ``` 其中 "tessdata" 是训练数据目录的名称,可以根据实际情况修改。 3. 字符集不匹配 如果 OCR 结果包含了乱码或者无法识别的字符,可能是因为字符集不匹配的原因。可以在代码中使用以下语句设置字符集: ```java tesseract.setTessVariable("tessedit_char_whitelist", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"); ``` 其中 "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" 是要识别的字符集,可以根据实际需求修改。 4. Tesseract 引擎版本不匹配 如果在使用 Tess4J 时出现 "java.lang.UnsatisfiedLinkError" 或者其他异常,可能是因为 Tesseract 引擎的版本不匹配。建议使用Tess4J 版本匹配的 Tesseract 引擎版本。 以上是一些常见的 Tess4J 使用问题及其解决方法,希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值