linux系统如何使用tess4j(java)进行ocr图片文字识别
2017-05-25 17:20
2406 查看
最近研究百度指数的采集,需要用到ocr,在网上找了很多材料,发现tesseract比较容易上手,而且可以自己训练,最重要的是,可以通过tess4j实现Java的JNA调用,如此一来,不但性能有保障,而且还可以跨平台。于是就在我的Windows机器上面创建了工程,参考着百度指数采集这篇博文的思路,写了代码,自己训练了数据样本,实现了百度指数的采集,感觉很开心。于是就想往Linux上面部署试试。结果遇到了问题。
首先,tess4j默认带有win32-x86-64 和win32-86 两个文件夹分别存放着64位和32位动态链接库,但是唯独没有Linux的动态链接库。于是我习惯性地从网上找相关材料,找了很久,只找到tess4j linux需要的so文件
- 下载频道 - CSDN.NET,以及
1、安装GCC开发环境,从而支持后续程序的编译安装:
2、安装tesseract所需的依赖库
3、安装tesseract和leptonica
参考:CENTOS
下 编译安装 tesseract-ocr 3.0.4 识别文字
注意: 安装完成后,将/usr/local/lib/ 目录下的so文件拷贝到 /usr/lib64/
4、测试和验证
通过上述3步,就完成了tesseract所需的环境配置,你的tess4j相关的应用,就可以在本Linux系统上面溜溜的运行了。
百度指数的原始图片数据,百度对数据做了打乱和混淆处理:
百度指数经过拼接后还原的图片数据(其中图片文件名即为tess4j识别的结果):
完美!
参考: http://www.jianshu.com/p/361c97b4428a
解决/usr/lib/libstdc++.so.6:
version `GLIBCXX_3.4.14' not found问题
version
`GLIBCXX_3.4.21' not found 解决办法
CentOS6.5系统"libc.so.6:
version 'GLIBC_2.15' not found"解决方法
CENTOS
下 编译安装 tesseract-ocr 3.0.4 识别文字
淘宝爬虫 百度指数批量抓取
整体趋势 PC趋势 移动趋势 准确值
非常感谢上述博主的无私分享,也希望转载本文时注明出处!
首先,tess4j默认带有win32-x86-64 和win32-86 两个文件夹分别存放着64位和32位动态链接库,但是唯独没有Linux的动态链接库。于是我习惯性地从网上找相关材料,找了很久,只找到tess4j linux需要的so文件
- 下载频道 - CSDN.NET,以及
Linux——完全安装Tesseract环境
- Clare_0_0专栏 - 博客频道 - ... 但是这并不能解决我的问题,我尝试了so文件(放在自己新建的linux-x86-64目录下),
也安装了Tesseract环境,却出现了glibc版本不兼容,缺少libjpg.so这样的错误。我尝试一一解决这些问题(包括安装各种依赖包、安装和升级gcc、glibc),但是坑越挖越大,最后,发现这篇博文 CENTOS
下 编译安装 tesseract-ocr 3.0.4 识别文字 我按照博文的步骤安装了tesseract并进行了测试,结果成功实现了识别。这说明tesseract在我这个版本的Linux环境(centos 6.3)下没有兼容性问题。那么我的工程中对于依赖包的引用就有问题啦。根据上面的实验、分析,结合配置过程中的错误提示,最终总结出了Linux下支持tess4j的完整步骤(具体不同的系统操作上会有差别,但是原理一致):
1、安装GCC开发环境,从而支持后续程序的编译安装:yum groupinstall "Development Tools"
2、安装tesseract所需的依赖库
yum -y install libjpeg* libpng* freetype* gd* giflib* libtiff* zlib*
3、安装tesseract和leptonica
参考:CENTOS
下 编译安装 tesseract-ocr 3.0.4 识别文字
注意: 安装完成后,将/usr/local/lib/ 目录下的so文件拷贝到 /usr/lib64/
cp /usr/local/lib/*.so.* /usr/lib64/
4、测试和验证
通过上述3步,就完成了tesseract所需的环境配置,你的tess4j相关的应用,就可以在本Linux系统上面溜溜的运行了。
百度指数的原始图片数据,百度对数据做了打乱和混淆处理:
百度指数经过拼接后还原的图片数据(其中图片文件名即为tess4j识别的结果):
完美!
参考: http://www.jianshu.com/p/361c97b4428a
解决/usr/lib/libstdc++.so.6:
version `GLIBCXX_3.4.14' not found问题
version
`GLIBCXX_3.4.21' not found 解决办法
CentOS6.5系统"libc.so.6:
version 'GLIBC_2.15' not found"解决方法
CENTOS
下 编译安装 tesseract-ocr 3.0.4 识别文字
淘宝爬虫 百度指数批量抓取
整体趋势 PC趋势 移动趋势 准确值
非常感谢上述博主的无私分享,也希望转载本文时注明出处!
相关文章推荐
- Java中使用tess4J(Tesseract-OCR)进行图片文字识别(支持中文)
- Java使用Tess4J 进行图片文字识别
- Java使用Tess4J 进行图片文字识别
- 【图片识别】Java中使用tess4J进行图片文字识别(支持中文)(转)
- Windows 10 IoT Serials 10 – 如何使用OCR引擎进行文字识别
- 图片验证码自动识别,使用tess4j进行验证码自动识别(java实现)
- 使用DELPHI对图片中的文字进行识别的过程(最简单实现)
- java 图片文字识别 ocr
- Tesseract-OCR 进行文字识别 VS2010及不安装opencv,就可以使用opencv
- 如何配置sigar在Linux和Windows下使用java语言获得各种系统信息
- 使用Tesseract OCR Engine识别图片文字
- 老男孩教育每日一题-第69天-shell脚本知识点:linux系统脚本中trap信号都有哪些,如何进行使用?
- java实现图片文字识别ocr
- 使用JAVA如何对图片进行格式检查以及安全检查处理
- 如何使用java在系统剪切板中设置可以在富文本编辑器中粘贴的图片数据 - sunng
- C# 使用Microsoft Office Document Imaging(MODI) 识别 图片中的文字(OCR)
- 使用JAVA如何对图片进行格式检查以及安全检查处理
- Java调用OCR进行图片识别
- 使用JAVA如何对图片进行格式检查以及安全检查处理