今天闲来无聊,尝试了一下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. UI、JS框架----Bootstrap、Metro

    Bootstrap Datagrid EasyUI Metro bootstrap Datepicker Editable for Bootstrap:bootstrap-editable.js X- ...

  2. HDU 4821 String(BKDRHash)

    http://acm.hdu.edu.cn/showproblem.php?pid=4821 题意:给出一个字符串,现在问你可以找出多少个长度为M*L的子串,该子串被分成L个段,并且每个段的字符串都是 ...

  3. 因样式冲突引起的div消失问题

    工作需要,搭建一个网站的模型,简单分成三个部分,标题栏,导航栏,主界面,效果如图: 但是点击界面的任意地方,中间的div块消失了,如图所示: 调试,发现在点击界面其他地方的时候display属性有变化 ...

  4. sql 查询字段是中文/英文/数字 正则表达式

    一.包含中文字符 select * from 表名 where 列名 like '%[吖-座]%' 二.包含英文字符 select * from 表名 where 列名 like '%[a-z]%' ...

  5. CentOS6.5下安装、配置SSH

    1.登录CentOS 6.5系统,使用root用户登录,如果为非root用户则执行 su 或 su - 或 su root 或 su - root 输入root密码切换为root用户. 2.查看SSH ...

  6. Django与缓存

    我们都知道Django建立的是动态网站,正常情况下,每次请求过来都经历了这样一个过程: 接收请求 -> url路由 -> 视图处理 -> 数据库读写 -> 视图处理 -> ...

  7. Linux运维人员最常用 150 个命令汇总

    linux 命令是对 Linux 系统进行管理的命令.对于 Linux 系统来说,无论是中央处理器.内存.磁盘驱动器.键盘.鼠标,还是用户等都是文件, Linux 系统管理的命令是它正常运行的核心,与 ...

  8. easyUI tree 自定义图标

    文章转载自: https://blog.csdn.net/zhlantian/article/details/52913115 近期由于项目中需要使用easyui tree树形列表,并在系统中动态配置 ...

  9. 消息队列rabitMq

    rabbitmq MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息 ...

  10. vue-循环标记列表元素

    <el-col :lg="4" class="list" v-for="(item,index) in picList"> &l ...