You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android中使用Tesseract4Android获取带文本的边界框?

可以获取带文本的边界框数据

使用cz.adaptech.tesseract4android:tesseract4android:4.3.0完全能获取你需要的带文本的边界框数据,官方示例仅展示了纯文本获取,但库本身支持提取单词级别的边界框信息。

具体实现步骤如下:

  1. 初始化TessBaseAPI并设置待识别的图像(比如从Bitmap、文件路径等设置)
  2. 通过getWords()方法获取所有识别出的单词列表,每个Word对象包含边界框和对应文本
  3. 遍历单词列表,解析边界框的坐标,按照你需要的格式输出

示例代码:

// 初始化TessBaseAPI(沿用你提供的初始化方式)
TessBaseAPI tess = getTessBaseAPI(path, context);
// 设置待识别的图像,这里以Bitmap为例
tess.setImage(yourBitmap);

// 获取单词级识别结果
List<Word> words = tess.getWords();
for (Word word : words) {
    Rect box = word.getBoundingBox();
    // 提取坐标:left, top, width, height
    int left = box.left;
    int top = box.top;
    int width = box.width();
    int height = box.height();
    String wordText = word.getText();
    
    // 按目标格式输出
    System.out.printf("(%d, %d, %d, %d) %s%n", left, top, width, height, wordText);
}

// 释放资源
tess.end();

说明:Word类是tesseract4android库提供的内置类,直接通过getWords()即可获取,无需额外配置。如果需要更细粒度的识别结果(比如字符级),也可以使用getCharacters()方法。

内容的提问来源于stack exchange,提问作者Yuliia Ashomok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 18:12:12