java利用tesseract-OCR对图像进行字符识别

1.windows下的Tesseract-OCR安装

Tesseract-OCR下载: http://pan.baidu.com/s/1miRU6EG

识别语言库: 
官网地址: https://github.com/tesseract-ocr/langdata 
或者网盘: 
http://pan.baidu.com/s/1kV18iov

安装完后ocr后,将语言库文件到到安装目录~\Tesseract-OCR\tessdata\里(替换)

2.linux下的Tesseract-OCR安装

Tesseract-OCR安装: 
下载地址: https://github.com/tesseract-ocr/tesseract

或者百度网盘: http://pan.baidu.com/s/1i5v69VJ

leptonica安装: 
官网: http://www.leptonica.com/ 上下载
或者网盘下载,下载地址: 
http://pan.baidu.com/s/1mhTGk4K

同样,安装完后ocr后,将语言库文件到到安装目录~\Tesseract-OCR\tessdata\里。

3.命令执行

tesseract的用法:

参数1:需要识别的文件

参数2:输出的文件名称,输出的是文本文件,里面保存了识别的信息

识别英文这两个参数就可以了,下面做个实验:

我们在命令行输入:tesseract 5.jpg 6 ,可以看到程序生成了一个6.txt ,里面保存着识别后的文本,怎么样简单又给力~

 

上面说道tesseract 是支持中文的,所以么,接下来看看如何使用tesseract 实现我们中文的识别,下面继续介绍其他参数

参数3:-l

参数4: 使用的语言库

参数3 -l 应该是知道参数4所使用的语言库,默认英文,也就是为什么上面识别英文的例子,并没有输入参数3和参数4,也实现了识别。

下面继续我们的实验:

我们准备了一张图片,然后使用tesseract zhongwen.jpg  7  -l chi_sim 指明了中文语言,然后效果图上,还是很不错的,毕竟我们的中文是如此的博大精深,并且tesseract可以经过训练,然后识字的能力就会大幅度提升。

有时候会遇到如下错: 
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your “tessdata” directory.
需要将安装目录配置到系统路径中,如添加 
TESSDATA_PREFIX=D:\Program Files\Tesseract-OCR\ 
linux 的方法类似。

4.利用java执行

try {
            Process  pro = Runtime.getRuntime()
                           .exec(new String[]{"D:/Program Files (x86)/Tesseract-OCR/tesseract.exe", 
                                              "E:/resImage.jpg", 
                                              "E:/result"});
            pro.waitFor();
        } catch (IOException e) {
            e.printStackTrace();
        }

运行以上代码后,会在E盘目录中看到result.txt的内容就为resImage.jpg的数字内容。 

转载地址:https://blog.csdn.net/zmx729618/article/details/78123851

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Tesseract-OCR 是一个开源的字符识别库,支持多种语言,其适用于通过光学字符识别OCR)技术处理身份证信息。而 Java Tesseract-OCR 是基于 Tesseract-OCRJava API,为开发人员提供了在 Java 程序中使用 Tesseract-OCR 的功能。 使用 Java Tesseract-OCR 处理身份证,首先需要安装 Tesseract-OCR 的依赖库,并将其与 Java 项目进行集成。然后,可以通过 Java Tesseract-OCR 提供的 API,对身份证进行文字识别识别身份证的过程一般包括以下几个步骤: 1. 图像预处理:首先需要加载身份证图片并进行预处理,包括图像灰度化、二值化等操作,以便提高识别的准确性。 2. 文字识别:使用 Java Tesseract-OCR 的 API,对预处理后的图像进行文字识别。可以根据需求,选择不同的识别模式和语言设置,以达到更好的识别效果。 3. 结果输出:获取到识别结果后,可以将识别的文字信息输出到控制台、文件或者存储到数据库中。 需要注意的是,由于身份证上的文字信息存在一定的特殊性,如字体、背景等因素的影响,识别的准确率可能会受到一些限制。因此,在使用 Java Tesseract-OCR 进行身份证文字识别时,可能需要对图片进行适当的预处理,以及对识别结果进行后期的校验和修正,以保证最终的准确性。 总之,Java Tesseract-OCR 是一个强大的工具,能够帮助开发人员在 Java 程序中实现身份证文字识别功能,但需要根据实际情况对其进行调试和优化,以达到更好的识别效果。 ### 回答2: Java Tesseract-OCR是一个基于Java开发的OCR(光学字符识别)库,可以用于识别身份证。OCR技术可以将身份证上的文字和数字转化为计算机可读的文本数据,从而实现身份证信息的自动化处理和识别。 使用Java Tesseract-OCR识别身份证,首先需要将身份证的图像文件加载到程序中。然后,通过调用相应的方法,对图像进行预处理和分析。预处理包括图像二值化、去噪等操作,以提高识别准确度。接下来,调用OCR识别方法,将图像转化为文本数据。最后,对识别结果进行后期处理和分析,提取身份证上的各项信息。 使用Java Tesseract-OCR识别身份证有以下几个优点。首先,Java Tesseract-OCR是一个开源的OCR库,提供了丰富的功能和灵活的定制选项,可以根据具体需求进行配置和调整。其次,Java Tesseract-OCR是基于Tesseract引擎开发的,该引擎是目前最为成熟和广泛应用的OCR引擎之一,具有较高的识别准确度和稳定性。再次,Java Tesseract-OCR支持多种图像格式和语言,可以应对不同类型和语种的身份证识别需求。 总而言之,Java Tesseract-OCR是一个强大而灵活的工具,可以用于身份证的OCR识别。通过使用该工具,可以实现身份证信息的自动化处理和识别,提高工作效率和准确性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值