博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mac安装Tesseract,使用Tess4j实现OCR识别
阅读量:4041 次
发布时间:2019-05-24

本文共 2360 字,大约阅读时间需要 7 分钟。

Tesseract是一个开源的OCR引擎,支持多国语言,其官方地址:

文档地址:

1.MAC下安装Tesseract

命令安装brew install --with-training-tools tesseract,现在提示 Error: invalid option: --with-training-tools,没有--with-training-tools参数,想把训练工具training-tools一起安装了,最后采用编译的方式安装

# Packages which are always needed.brew install automake autoconf libtoolbrew install pkgconfigbrew install icu4cbrew install leptonica# Packages required for training tools.brew install pango# Optional packages for extra features.brew install libarchive# Optional package for builds using g++.brew install gcc git clone https://github.com/tesseract-ocr/tesseract/cd tesseract./autogen.shmkdir buildcd build# Optionally add CXX=g++-8 to the configure command if you really want to use a different compiler.../configure PKG_CONFIG_PATH=/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/libarchive/lib/pkgconfig:/usr/local/opt/libffi/lib/pkgconfigmake -j# Optionally install Tesseract.sudo make install# Optionally build and install training tools.make trainingsudo make training-install

之后下载语言包

下载.traineddata文件 并且拷贝到tessdata文件夹下。

具体语言包地址:

都执行完后,可以控制台执行命令看一下识别的结果:tesseract 111.jpg stdout 

安装参考文章:

 

2.Java语言识别,tess4j开发OCR识别

引入tess4j的maven依赖

net.sourceforge.tess4j
tess4j
4.5.1

执行识别demo代码:

public class Tess4jOcrTest {    public static void main(String[] args) {        String bath = "/Users/seapeak/Desktop/";        test1(bath + "555.jpg");    }    /**     * 根据路径识别文字结果     * @param path     */    public static void test1(String path) {        File file = new File(path);        ITesseract it = new Tesseract();        // 如果没有改变tessdata目录位置请输入.//        it.setDatapath(".");//        // 如果变更过tessdata目录请指定位置        it.setDatapath("/Users/seapeak/Desktop/it/java/tesseract/tessdata/");        //如果是汉字居多设置语言,如果字符偏多设置eng        it.setLanguage("chi_sim");        try {            String result = it.doOCR(file);            log.info("识别结果:"+result );        } catch (TesseractException e) {            // TODO Auto-generated catch block            e.printStackTrace();            log.error("Tess4jOcrTest TesseractException:{}",e);        }    }}

执行时如果如下未找到language的错误,则设置setDatapath的tessdata目录

Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.

Failed loading language 'eng'
参考文档:

 

3.training-tools 训练工具 的使用,待续

可以参考:

转载地址:http://txadi.baihongyu.com/

你可能感兴趣的文章
<转>文档视图指针互获
查看>>
从mysql中 导出/导入表及数据
查看>>
HQL语句大全(转)
查看>>
几个常用的Javascript字符串处理函数 spilt(),join(),substring()和indexof()
查看>>
javascript传参字符串 与引号的嵌套调用
查看>>
swiper插件的的使用
查看>>
layui插件的使用
查看>>
JS牛客网编译环境的使用
查看>>
9、VUE面经
查看>>
关于进制转换的具体实现代码
查看>>
Golang 数据可视化利器 go-echarts ,实际使用
查看>>
mysql 跨机器查询,使用dblink
查看>>
mysql5.6.34 升级到mysql5.7.32
查看>>
dba 常用查询
查看>>
Oracle 异机恢复
查看>>
Oracle 12C DG 搭建(RAC-RAC/RAC-单机)
查看>>
Truncate 表之恢复
查看>>
Oracle DG failover 后恢复
查看>>
mysql 主从同步配置
查看>>
为什么很多程序员都选择跳槽?
查看>>