Tess4j的使用(识别中文)

最近做了一个验证码识别的项目,需要用到OCR,来来回回整了几个小时,终于弄好了。

首先下载tess4j:http://tess4j.sourceforge.net/

根据官方教程,tess4j的包解压后,将以下.jar包复制到lib项目文件夹,然后再Build Path(如图)。


再把tessdata文件夹拷贝到项目根目录下


如要支持中文,请下载中文字库chi_sim.traineddata,放到tessdata目录下,然后在代码里面添加该字库

instance.setLanguage("chi_sim");

接着在src下建一个类,将一下官方的示例代码拷贝进去即可成功。(附源码)

package tess4j.clan;

import java.io.File;  
import net.sourceforge.tess4j.*;  
  
public class TesseractExample {  
    public static void main(String[] args) {  
        File imageFile = new File("jietu.png");  
        ITesseract instance = new Tesseract();  // JNA Interface Mapping  
//         ITesseract instance = new Tesseract1(); // JNA Direct Mapping  
        instance.setLanguage("chi_sim");//添加中文字库
        try {  
            String result = instance.doOCR(imageFile);  
            System.out.println(result);  
        } catch (TesseractException e) {  
            System.err.println(e.getMessage());  
        }  
    }  
}  

运行结果:


精度不是很高。有高需求的读者可以去训练字库。再导入即可

项目源码:https://github.com/Clinan/OCR2Java 如果觉得可以 请给颗star

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
使用Tess4J进行OCR识别时,可以设置识别参数以达到更好的识别效果。具体设置方法如下: 1. 创建Tesseract对象,可以通过Tesseract.getInstance()方法创建默认的Tesseract对象,也可以通过Tesseract构造函数传入参数来设置Tesseract的语言、OCR引擎等参数。 2. 通过setDatapath()方法设置tessdata目录的路径,该目录包含Tesseract的语言数据和配置文件。 3. 通过setLanguage()方法设置识别语言,可以同时设置多个语言,例如“chi_sim+eng”。 4. 通过setParameter()方法设置其他参数,常见的参数包括: - tessedit_char_whitelist:限定识别字符集,例如“0123456789”表示只识别数字; - tessedit_char_blacklist:忽略识别字符集,例如“$%&*”表示不识别这些字符; - tessedit_pageseg_mode:设置分页模式,例如PSM_AUTO、PSM_SINGLE_BLOCK等; - tessedit_ocr_engine_mode:设置OCR引擎模式,例如OEM_TESSERACT_ONLY、OEM_LSTM_ONLY等。 下面是一个示例代码,展示了如何设置Tess4J的识别参数: ``` Tesseract tesseract = new Tesseract(); tesseract.setDatapath("tessdata"); tesseract.setLanguage("chi_sim+eng"); tesseract.setParameter("tessedit_char_whitelist", "0123456789"); tesseract.setParameter("tessedit_pageseg_mode", "PSM_AUTO"); tesseract.setParameter("tessedit_ocr_engine_mode", "OEM_TESSERACT_ONLY"); ``` 以上代码将设置Tesseract的语言为中文和英文,限定只识别数字字符,自动分页,使用Tesseract引擎进行OCR识别
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值