手把手教你使用OCR识别引擎Tesseract

来源:发布时间:2017-03-28访问次数:252

手把手教你使用OCR识别引擎Tesseract

 2017-03-27 管云 

文 | 管云@中兴大数据

 

提到OCR技术大家一定不陌生,OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程。OCR的概念是在1929年由德国科学家Tausheck最先提出来的,后来美国科学家Handel也提出了利用技术对文字进行识别的想法。这种技术现在生活中已经普遍运用,停车场的车牌识别,马路上的电子摄像等。

Tesseract无疑是一个比较优秀的开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发布。

在Apache Tika 1.7中可以使用TesseractOCR解析器。Solr 5.X开始支持Tika 1.7。

下面我们开始一步步的在CentOS中进行实现我们在solr中为图片中的文本创建索引并搜索:(如果有网站访问不了的,可以在网上直接搜软件名下载)

1. 安装依赖(我们要支持png,jpeg,tiff文件格式):

2. 下载Leptonica(一个图片处理库):

3. 下载TesseractOCR识别引擎):

4. 同时当安装Tesseract的时候,需要把语言包的数据放到 TESSDATA_PREFIX目录中:

5. 编译leptonica:

6. 编译Tesseract:

7. 下载tesseract语言包并放到上面定义的TESSDATA_PREFIX目录中:

8. 测试Tesseract ,我们使用如下的图,如果有问题的话,说明leptonicaTesseract安装是有问题的,只有这边的测试成功了,才能到solr中去成功使用。

9. 把这张图上传到系统中,在系统中执行如下命令:

如果你看到如上的文本说明你前面的步骤都是对的,可以到继续到solr中去了。

10. 启动solr,Solr的 solrconfig.xml配置中提取请求处理器需要包含如下的请求名:

11. 上传图片文件到solr中并在solr中创建该图片的solr索引。

  • 进入到solr的管理界面,选择我们要上传文件的core

  • 点Documents

  • 在 Request-Handler (qt) 域,输入     /update/extract

  • 在 Document Type的下拉框中,选文件上传File     Upload

  • 选择 jpg 文件

  • 在Extracting Req.Handler 参数中,输入下列参数:

如图:

点击提交,这样就完整的建好了图片的索引了。

12. 下面我们会看到从solr中查出来的信息中包含属性内容attr_content里面包含的文本和图文中的是一致的:

如果在开发一个web查询服务界面,直接查内容中的分词,也就完全实现图片内容的查询了,是不是很酷,赶紧用自己的图片去试一下吧。

分享:

© 2023 版权所有:河海大学网络安全与信息化办公室 版权所有

地址:江苏省南京市西康路1号 反馈邮箱:xxzxzhb@hhu.edu.cn 苏ICP备12023610号 网站管理

河海大学微门户

河海大学微门户

河海大学移动办公

河海大学移动办公

河海网信办微信公众号

河海网信办微信公众号