闲碎记事本 闲碎记事本
首页
  • JAVA
  • Cloudflare
  • 学完再改一遍UI
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

YAN

我要偷偷记录...
首页
  • JAVA
  • Cloudflare
  • 学完再改一遍UI
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • java

  • linux

  • docker

  • redis

  • nginx

  • mysql

  • 其他

    • 跨域处理
    • Homebrew简单语法
    • 音视频处理库
      • 开始
      • 安装 Leptonica
      • 安装 Tesseract
      • 验证
      • JAVA中使用
        • 引入
        • Maven
        • Gradle
        • 使用
        • 简单示例
      • 版本问题解决
    • ES设置设置密码
    • 关于与或运算的一些理解
    • AI绘画学习
    • Content-Type对应处理
    • gitlab迁移
    • opssl命令
    • certd证书续期
    • git使用
    • Google搜索
    • Emoji速查
  • 环境搭建

  • 知识库
  • 其他
Yan
2023-04-06
目录

音视频处理库

tess4j 是JAVA对Tesseract OCR API的封装。

一般来说windows上可以正常运行,但是如果部署到Linux上的话,可能会出现确实少库的问题

大概是因为jar下不含Linux环境所需要的so库。

Windows: dll

Linux: so

tess4j-jar

下面记录下在Linux上部署 Tesseract

# 开始

Tesseract 编译需要 Leptonica,所以需要先安装Leptonica

Tesseract 地址 (opens new window)

Leptonica 地址 (opens new window)

注意

安装时务必注意版本,否则Tesseract有可能编译报错:Leptonica xxx or higher is required

以下所以操作均在root用户下进行,非root用户记得升权

# 安装 Leptonica

下载安装包解压,进入文件目录执行

./configure
make
make install
ldconfig

# 安装 Tesseract

下载安装包解压,进入文件目录执行

./autogen.sh
#此时版本不对将会报错 
./configure
make
make install
ldconfig

# 验证

tesseract

如下即说明安装成功

shell

注意

如果需要验证中文,还需要安装语言包

所有语言包 (opens new window)

中文包 (opens new window)

# JAVA中使用

# 引入

# Maven

<dependency>
    <groupId>net.sourceforge.tess4j</groupId>
    <artifactId>tess4j</artifactId>
<!--  注意修改 ${tess4j.version} 为自己的版本-->
    <version>${tess4j.version}</version>
</dependency>

# Gradle

#注意修改 ${tess4j.version} 为自己的版本
implementation group: 'net.sourceforge.tess4j', name: 'tess4j', version: '${tess4j.version}'

# 使用

# 简单示例

public class TextOcrUtil {


    @SneakyThrows
    public static String doOcr(File file) throws IOException {
        //兼容Linx,指向自己的so库路径
        System.setProperty("jna.library.path", "/usr/local/lib");

        ITesseract instance = new Tesseract();
        //OcrConfig.TESS_DATA 为语言包路径,例如:/home/java/app/tessdata
        instance.setDatapath(OcrConfig.TESS_DATA);
        //语言包名字
        instance.setLanguage("chi_sim");
        // 设置识别引擎
        instance.setOcrEngineMode(1);
        // 读取文件
        BufferedImage image = ImageIO.read(file);
        String orcResult = instance.doOCR(image);

        log.info("识别结果:{}",orcResult);
        return orcResult;
    }

}

# 版本问题解决

1. 查看/usr/local/include/leptonica 路径下是否有 .h文件

2. 查看 /usr/local/lib 下 liblept 开头文件

3. pkg-config 是否正常,没有请安装

yum install pkg-config

4. 确保 /usr/local/lib/pkgconfig/ 文件夹下有 lept.pc 以及 tesseract.pc 文件

5. 修改 /etc/profile

vi /etc/profile

添加如下内容

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LIBLEPT_HEADERSDIR=/usr/local/include
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

6. 使配置生效

source /etc/profile

7. 重新编译 tesseract

./autogen.sh

./configure --with-extra-includes=/usr/local/include --with-extra-libraries=/usr/local/lib

make

make install
上次更新: 2025/05/14, 01:34:05
Homebrew简单语法
ES设置设置密码

← Homebrew简单语法 ES设置设置密码→

最近更新
01
Caddy操作指南
04-25
02
Swap空间
04-22
03
Alist使用
04-21
更多文章>
Theme by Vdoing | Copyright © 2022-2025 YAN | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式