java ocr linux_linux系统如何使用tess4j(java)进行ocr图片文字识别

在Windows上成功实现OCR后,尝试将项目部署到Linux时遇到问题。tess4j缺少Linux的动态链接库,且与glibc版本不兼容。通过安装GCC开发环境、依赖库及tesseract、leptonica,解决了问题。将库文件复制到指定目录后,成功在Linux系统上运行tess4j进行OCR识别。
摘要由CSDN通过智能技术生成

最近研究百度指数的采集,需要用到ocr,在网上找了很多材料,发现tesseract比较容易上手,而且可以自己训练,最重要的是,可以通过tess4j实现Java的JNA调用,如此一来,不但性能有保障,而且还可以跨平台。于是就在我的Windows机器上面创建了工程,参考着百度指数采集这篇博文的思路,写了代码,自己训练了数据样本,实现了百度指数的采集,感觉很开心。于是就想往Linux上面部署试试。结果遇到了问题。

首先,tess4j默认带有win32-x86-64 和win32-86 两个文件夹分别存放着64位和32位动态链接库,但是唯独没有Linux的动态链接库。于是我习惯性地从网上找相关材料,找了很久,只找到tess4j linux需要的so文件 - 下载频道 - CSDN.NET,以及

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

也安装了Tesseract环境,却出现了glibc版本不兼容,缺少libjpg.so这样的错误。我尝试一一解决这些问题(包括安装各种依赖包、安装和升级gcc、glibc),但是坑越挖越大,最后,发现这篇博文

1、安装GCC开发环境,从而支持后续程序的编译安装:

yum groupinstall "Development Tools"

2、安装tesseract所需的依赖库

yum -y install libjpeg* libpng* freetype* gd* giflib* libtiff* zlib*

3、安装tesseract和leptonica

注意: 安装完成后,将/usr/local/lib/ 目录下的so文件拷贝到 /usr/lib64/

cp /usr/local/lib/*.so.* /usr/lib64/

4、测试和验证

通过上述3步,就完成了tesseract所需的环境配置,你的tess4j相关的应用,就可以在本Linux系统上面溜溜的运行了。

百度指数的原始图片数据,百度对数据做了打乱和混淆处理:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

百度指数经过拼接后还原的图片数据(其中图片文件名即为tess4j识别的结果):

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

完美!

非常感谢上述博主的无私分享,也希望转载本文时注明出处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值