基于Tess4j的OCR文字识别(附部署方案)
程序员文章站
2022-03-05 10:41:17
...
整个项目是基于springboot的
暂时只完成了基本的功能
应用
可以用来解决爬虫的文字反爬问题,以及其他文字识别的场景.
开放接口
URL:http://jside.cn/i2s/ocr/img2String
Type:post
返回格式:json
请求参数说明:
multipartFile: 必填 Content-Type为application/x-www-form-urlencoded,然后通过urlencode格式化请求体 图片最大不能超过2m
返回参数说明:
{
success:true,
message:'结果',
status:2
}
success 布尔值 是否响应成功
message 字符串 成功则是结果,失败则是原因
status 预留属性 用于扩展
下载地址
部署流程
在部署之前确保您安装了JDK(文中使用的是Jdk1.8)
在Windows中tess4j是调用的dll依赖文件,而在linux中调用的是so依赖文件
安装leptonica(tess4j依赖于tessract,tessract依赖于leptonica)
- leptonica下载地址(tess4j版本大于4.0的leptonica版本需要大于1.74)
- 下载完成上传到linux中/usr/local目录
- 将该文件解压到/usr/local
tar -zxvf leptonica-版本号.tar.gz
- 解压之后会出现一个leptonica-版本号的文件夹,进入该文件夹
./configure
make
make install
vim /etc/bashrc
- 将如下文本粘贴到最下面
export PKG_CONFIG_PATH
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/include/
export CPLUS_INCLUDE_PATH
C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/leptonica/include/leptonica
export C_INCLUDE_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
LIBRARY_PATH=$LIBRARY_PATH:/usr/local/lib
export LIBRARY_PATH
export LC_ALL=C
-
source /etc/bashrc
刷新配置文件
这时候/usr/local下面多个三个文件夹bin include lib
安装tessract
在执行./configure的时候如果遇到configure: error: Leptonica 1.74 or higher is required. Try to install libleptonica-dev package.
请将这些环境变量添加至/etc/bashrc中,保存之后记得source /etc/bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PAYT:/usr/local/lib
export LIBLEPT_HEADERSDIR=/usr/local/include
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
并将/usr/local/lib下相关的tesseract和leptonica的library(.so)的文件复制到 /usr/lib下
或者直接添加成这样即可
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/include/
export CPLUS_INCLUDE_PATH
C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/leptonica/include/leptonica
export C_INCLUDE_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
LIBRARY_PATH=$LIBRARY_PATH:/usr/local/lib
export LIBRARY_PATH
- 解压并上传
- 执行以下命令
./autogen.sh
./configure
make
make install
export PKG_CONFIG_PATH=$HOME/local/lib/pkgconfig
Java应用部署
- 上传刚才提供的jar包到你自己的服务器
-
java -jar ocr.jar &
后台运行整个服务 - 此时是无法访问的,给定默认的端口是8081,所以需要开启8081的端口号如何开启端口
- 然后在root目录下面创建
project/ocr/static
这个目录 - 将index.html放进该文件夹,将提供的tessdata文件夹拷贝到/root/project/ocr/目录下,ocr目录下再创建
upload_img_dir
用于存放上传的图片文件 - 部署完成 可以在浏览器使用
http://你的IP地址/域名:8081
进行访问了
下一篇: 伪代码、幽默和 Google 的艺术!