用Tesseract OCR识别图片文字

用tesseract ocr识别图片中的文字 

  • 准备

 

OCR与Tesseract介绍

将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR)。可以实现OCR 的底层库并不多,目前很多库都是使用共同的几个底层OCR 库,或者是在上面进行定制。   Tesseract 是一个OCR 库,目前由Google 赞助(Google 也是一家以OCR 和机器学习技术闻名于世的公司)。Tesseract 是目前公认最优秀、最精确的开源OCR 系统。   除了极高的精确度,Tesseract 也具有很高的灵活性。它可以通过训练识别出任何字体(只要这些字体的风格保持不变就可以),也可以识别出任何Unicode 字符。

Tesseract的安装

Tesseract的Windows安装包下载地址为: http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe ,下载后双击直接安装即可。

配置环境变量

安装完后,需要将Tesseract添加到系统变量中。 不会配置环境变量可以看这个文章:配置环境变量

在cmd中输入tesseract -v, 如显示以下界面则表示Tesseract安装完成且添加到系统变量中


  • 开始使用

在cmd界面输入

其中第一个目录是要识别的图片路径,第二个目录是识别出的文字写入txt文件的目录,

发现报错:

Error opening data file /usr/local/share/tessdata/eng.traineddata

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

Failed loading language 'eng'

Tesseract couldn't load any languages!

解决方法:添加一个新的系统环境变量:

变量名:TESSDATA_PREFIX

变量值是你下载的tesseract文件包里tessdata的路径,如下图:

添加完环境变量之后,可能依然会出现同样的错误,可以重启电脑试一下

识别英文图片

这个问题解决了之后,就可以识别英文图片了

如下图

识别结果:

Hello everyone. I'm facing this above problem when my input image is the attached file. My os: 04 My input image: | in attached file(which is a .png file) My command: tesseract 0a2d.png out My output: "Tesseract Open Source OCR Engine v4.00.00alpha with Leptonica Warning. Invalid resolution 0 dpi. Using 70 instead. Estimating resolution as 281 Empty page!! Estimating resolution as 281 Empty page!!" This engine is supposed to give the correct answer "Oa2d" I'm new to this ocr engine, so anyone can help me with this problem, many thanks:) You received this message because you are subscribed to the Google Groups "tesseract-ocr" group. To unsubscribe from this group and stop receiving emails from it, send an email to tesseract-ocrtunsubscr. . . @googlegroups. com. To post to this group, send email to tesseract-ocr@googlegroups.com.

效果还是不不错的

接下来识别中文

需要下载中文包(可以先看一下你的tessdata文件里有没有chi_sim.traineddata文件,这是一个中文包)如果有的话就跳过这一步;如果没有,点下面的链接下载https://github.com/tesseract-ocr/tessdata/find/master/chi_sim.traineddata 下载之后,把它放到tessdata文件里面,就可以识别中文了,在终端输入指令时要加一个命令,如下图

注意:

红圈圈住的地方这个不是一根竖线,是language的第一个字母‘l’

试一下效果:如图

识别结果:

 回 All Notes ˇ | 10/26/18 09:06 ,4379 中 国 共 产 党 建 党 以 来 革 命 、 建 设 、 改 革 的 历 史 证 明 , 我 们 党 善 于 审 时 度 势 , 善 于 发 现 和 抓 住 机 遥 , 善 打 游 击 战 、 持 久 战 、 攻 坚 战 , 善 于 化 危 为 机 , 化 被 动 为 主 动 。 面 对 贸 易 战 , 不 能 临 战 而 怯 , 自 乱 阵 脚 , 争 取 胜 利 的 重 要 前 提 是 保 持 战 略 定 力 , 万 众 一 心 , 群 策 群 力 。 在 未 来 的 现 代 化 进 程 中 , 中 国 将 通 过 全 面 深 化 改 革 不 断 加 长 体 制 短 板 , 通 过 发 挥 市 场 决 定 性 作 用 , 更 好 发 挥 政 府 作 用 , 高 效 率 配 置 资 源 , 实 现 高 质 量 发 展 。 中 美 贸 易 战 为 什 么 必 须 打 或 者 说 , 这 场 贸 易 战 能 不 能 避 免 ? 结 论 是 : 不

可以说已经很准确了。


参考文献

https://blog.csdn.net/jclian91/article/details/80628188

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值