今天闲来无聊,尝试了一下OCR识别,尝试了以下三种方案:

1.直接使用业界使用最广泛的Tesseract-OCR。

Tesseract项目最初由惠普实验室支持,1996年被移植到Windows上,1998年进行了C++化。在2005年Tesseract由惠普公司宣布开源。2006年到现在,都由Google公司开发及维护。

2.使用基于Tesseract-OCR封装的Tess4j

3.调用百度云OCR服务实现(AT两家太贵,百度云文字识别服务提供每个月15000次的免费调用)。

先说测试结果:

毫无意外的,百度识别率最高,如果要自己实现,原生tesseract-ocr比tess4j识别率高出很多。


具体实现:

1.百度云OCR地址:https://cloud.baidu.com/product/ocr.html

JAVA开发指南:https://cloud.baidu.com/doc/OCR/OCR-Java-SDK.html

2.直接使用Tesseract-OCR,还有一个好处就是可以进行针对性的训练,提高识别率,我没有尝试过。

参考:

Windows环境安装tesseract-ocr 4.00并配置环境变量

注意:可以去github下载最新语言包文件,语言包是放在 tessdata文件夹,文件比较大,下载比较慢。

java文字识别技术(亲测,识别率很高)

java 图片文字识别 ocr

备注:截止到笔者写文时已发布4.00版本。

3.使用Tess4j,(不建议使用,我在试用过程中发现错误率极高)

不过目前网上能找到的比较多的资料都是Tess4j。

有以下可参考:

直接可运行的项目:https://gitee.com/zhaohuihbwj/Tess4JDemo

注意:该项目可直接运行测试。建议在maven中将tess4j升级到最新版本。

该项目直接包含了语言包,tess4j依赖包比较多,克隆过程会比较漫长。

若本地已有语言包chi_sim.traineddata,eng.traineddata,osd.traineddata

可克隆我fork的版本,https://gitee.com/huanghongbo/Tess4JDemo,将以上语言包放入/src/resources/tessdata目录。

其他参考资料:

1.官方参考:http://tess4j.sourceforge.net/

最新官方Tess4j包中已包含了对应dll文件,无需再单独配置。

2.Java OCR tess4j 图片识别技术(三)

3.验证码识别(Tess4J初体验)

4.tess4j正确的使用 OCR

JAVA OCR图片识别的更多相关文章

  1. WindowsAPI调用和OCR图片识别

    傻了吧唧的装双系统.成功的干崩了原本的系统.现在重装VS.闲的没事胡扯几句. WindowsAPI在每一台Windows系统上开放标准API供开发人员调用.功能齐全.在这里只介绍三个部分. 1.利用A ...

  2. python实现百度OCR图片识别

    一.直接上代码 import base64 import requests class CodeDemo: def __init__(self,AK,SK,code_url,img_path): se ...

  3. Android开发学习之路-GSON使用心得(OCR图片识别)

    在安卓中解析JSON串可以使用的方法有很多,比如说用官方提供的JSONObject或者谷歌提供的开源库GSON,以及一些第三方开源库. 这里用的是GSON,为了测试方便,借助了一个百度的api,一个图 ...

  4. 利用百度AI OCR图片识别,Java实现PDF中的图片转换成文字

    序言:我们在读一些PDF版书籍的时候,如果PDF中不是图片,做起读书笔记的还好:如果PDF中的是图片的话,根本无法编辑,做起笔记来,还是很痛苦的.我是遇到过了.我们搞技术的,当然得自己学着解决现在的痛 ...

  5. OCR图片识别引擎

    OCR引擎 OCR(Optical Character Recognition)是指使用扫描仪或数码相机对文本资料进行扫描成图像文件,然后对图像文件进行分析处理,自动识别获取文字信息及版面信息的软件. ...

  6. java实现的身份证照片脸部识别(头像截图) 以及OCR字体识别

    断断续续地折腾了大半个月,终于把身份证照片脸部识别以及OCR字体识别功能用Java实现了,需求很简单:通过摄像头所照的一张放在黑色底板上的身份证照,识别照片上身份证里面的人名和地址(OCR中文),再截 ...

  7. 使用阿里云的图片识别成表格ocr(将图片表格转换成excel)

    为了简便财务总是要对照着别人发来的表格图片制作成自己的表格 图片识别 识别成表格 表格识别 ocr 使用阿里云api 购买(印刷文字识别-表格识别) https://market.aliyun.com ...

  8. 腾讯云OCR图片文字识别

    一. OCR OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然后用字符识别 ...

  9. Atitit java 二维码识别 图片识别

    Atitit java 二维码识别 图片识别 1.1. 解码11.2. 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.11.3. 二维码的样例:21.4. 定位图案21.5. 数 ...

随机推荐

  1. C++ 空字符('\0')和空格符(' ')

    1.从字符串的长度:-->空字符的长度为0,空格符的长度为1. 2.虽然输出到屏幕是一样的,但是本质的ascii code 是不一样的,他们还是有区别的. #include<iostrea ...

  2. Codeforces Round #420 (Div. 2) E. Okabe and El Psy Kongroo 矩阵快速幂优化dp

    E. Okabe and El Psy Kongroo time limit per test 2 seconds memory limit per test 256 megabytes input ...

  3. Tarjan模板题——牛的舞会

    题目描述 约翰的N (2 <= N <= 10,000)只奶牛非常兴奋,因为这是舞会之夜!她们穿上礼服和新鞋子,别 上鲜花,她们要表演圆舞. 只有奶牛才能表演这种圆舞.圆舞需要一些绳索和一 ...

  4. Cannot find a valid baseurl for repo: base/7/x86_6 解决方法

    安装centos7后发现不能上网, sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33 将ONBOOT=no改为ONBOOT=yes 然后重启网络服务 ...

  5. 学习笔记29—Linux基础

    一.简单命令: 1.进入文件夹heyi目录:cd ./heyi 2.查看该目录下内容:ls 二.linux压缩和解压缩命令大全 tar命令 解包:tar zxvf FileName.tar 打包:ta ...

  6. docker下debian镜像开启ssh, 允许root用密码登录

    用的官方python镜像做开发, 暴露端口, 用pycharm ssh进去开发. 忽然发现本来ssh能连上, 但是更了新的python镜像连不上了. 有折腾了一下, 连上了. 主要是python官网镜 ...

  7. legend2---开发日志8(thinkphp和vue如何配合才能达到最优)

    legend2---开发日志8(thinkphp和vue如何配合才能达到最优) 一.总结 一句话总结:凡是php可以做的,都可以先在后端处理好数据,然后再丢给前端 凡php可以做的,都可以先在后端处理 ...

  8. [mybatis-spring]sqlSessionFactoryBean

    在mybatis中,SqlSessionFactory由SqlSessionFactoryBuilder创建. 在mybatis-spring中,是由SqlSessionFactoryBean创建的. ...

  9. HeadFIrst Ruby 第七章总结 hashes

    前言 这一章节介绍了 Ruby 中 hash 这一数据类型的用法和特征. Hash 的定义 与 array 的对比 最大的不同: An array can only use integers as i ...

  10. 跨站请求伪造 CSRF

    原理 CSRF攻击原理比较简单,例如Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户.用户C打开浏览器,访问受信任网站A,输入用户名和密码请 ...