欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基于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)

  1. leptonica下载地址(tess4j版本大于4.0的leptonica版本需要大于1.74)
  2. 下载完成上传到linux中/usr/local目录
  3. 将该文件解压到/usr/localtar -zxvf leptonica-版本号.tar.gz
  4. 解压之后会出现一个leptonica-版本号的文件夹,进入该文件夹
  5. ./configure
  6. make
  7. make install
  8. vim /etc/bashrc
  9. 将如下文本粘贴到最下面
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
  1. 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

tessract下载地址

  1. 解压并上传
  2. 执行以下命令
./autogen.sh
./configure
make
make install

export PKG_CONFIG_PATH=$HOME/local/lib/pkgconfig

Java应用部署

  1. 上传刚才提供的jar包到你自己的服务器
  2. java -jar ocr.jar &后台运行整个服务
  3. 此时是无法访问的,给定默认的端口是8081,所以需要开启8081的端口号如何开启端口
  4. 然后在root目录下面创建project/ocr/static这个目录
  5. 将index.html放进该文件夹,将提供的tessdata文件夹拷贝到/root/project/ocr/目录下,ocr目录下再创建upload_img_dir用于存放上传的图片文件
  6. 部署完成 可以在浏览器使用http://你的IP地址/域名:8081进行访问了