ZBLOG

tesseract::TessBaseAPI ocr;参数设置说明

tesseract::TessBaseAPI 是 Tesseract OCR 库中的一个类,用于处理光学字符识别(OCR)任务。在使用该类时,您可以通过一系列参数和方法进行配置。以下是一些常用的参数设置和说明:

1. 初始化

tesseract::TessBaseAPI *ocr = new tesseract::TessBaseAPI();

在创建 TessBaseAPI 实例后,您需要初始化它。

2. 初始化语言和数据路径

ocr->Init("path/to/tessdata", "eng");
  • 路径:指定训练数据所在的目录。
  • 语言:指定要使用的语言,例如 "eng" 表示英语。

3. 设置页面 segmentation mode (PSM)

可以通过 SetPageSegMode 方法来设置页面分割模式。不同的模式适用于不同类型的文本布局。

ocr->SetPageSegMode(tesseract::PSM_AUTO);

常用的 PSM 模式包括:

  • PSM_SINGLE_BLOCK: 单个块(文本)
  • PSM_SINGLE_LINE: 单行文本
  • PSM_SINGLE_WORD: 单词
  • PSM_AUTO: 自动检测

4. 设置 OCR 引擎模式 (OEM)

可以选择不同的 OCR 引擎模式以优化性能和准确性。

ocr->SetVariable("tessedit_char_whitelist", "0123456789"); // 设置允许识别的字符集合
ocr->SetVariable("oem", "1"); // OEM_TESSERACT_ONLY = 1, 默认值是3(默认引擎 + LSTM)。

可选值为:

  • 0: Legacy Tesseract only.
  • 1: Neural nets LSTM only.
  • 2: Both.

5. 提供图像并进行 OCR

在完成上述设置后,可以提供图像并执行识别操作。

Pix *image = pixRead("image.png"); // 读取图片文件 
ocr->SetImage(image);                // 设置图像
char *text = ocr->GetUTF8Text();    // 获取识别结果为 UTF-8 字符串

6. 清理资源

完成 OCR 后,确保释放资源:

delete [] text;       // 删除识别结果字符串
pixDestroy(&image);   // 销毁 Pix 对象
ocr->End();           // 结束 API 使用 
delete ocr;          // 删除 TessBaseAPI 实例 

总结

这些是使用 Tesseract 的基本步骤和常见参数设置。具体应用中,可能还会根据需求调整其他变量或者添加更多功能。例如,可以调整字符白名单、黑名单、行间距等,以提高特定应用场景下的识别效果。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=21541

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?