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

tesserocr中LSTM_ONLY搭配OSD_ONLY调用方向检测接口崩溃原因

tesserocr中OEM.LSTM_ONLY搭配PSM.OSD_ONLY调用方向检测接口崩溃问题解析

问题现象

使用tesserocr库,以oem=OEM.LSTM_ONLY和psm=PSM.OSD_ONLY初始化PyTessBaseAPI后,调用DetectOrientationScript或DetectOS接口时,程序触发致命Python错误(Aborted);在主函数运行时出现STATUS_STACK_BUFFER_OVERRUN错误(退出码-1073740791)。

环境配置

  • Tesseract 5.3.4
  • tessdata 4.1.0
  • Python 3.9.19
  • tesserocr来自tesserocr-windows_build

已验证测试项

  1. 仅用OEM.LSTM_ONLY初始化API并调用GetUTF8Text正常,说明tessdata路径及语言包兼容LSTM模式;
  2. 用oem=OEM.TESSERACT_LSTM_COMBINED搭配psm=PSM.OSD_ONLY调用DetectOS正常。

问题解答

1. 是否为LSTM_ONLY与OSD_ONLY模式不兼容导致崩溃?

是的,崩溃确实由这两个模式的兼容性问题引发。Tesseract的OSD(方向与脚本检测)模块依赖传统Tesseract引擎的底层组件,当仅启用LSTM引擎(OEM.LSTM_ONLY)时,OSD模块所需的依赖未被初始化,进而触发内存访问错误或栈溢出,表现为你遇到的崩溃现象。

2. 关于PyTessBaseAPI hover提示与文档不符的问题

PyTessBaseAPI的IDE hover提示存在误导性,属于tesserocr绑定层的已知问题。部分参数组合的兼容性未在提示中明确标注,建议以Tesseract官方文档的参数组合说明为准,不要仅依赖hover提示。

解决方案

  • 若需进行方向和脚本检测,使用OEM.TESSERACT_LSTM_COMBINED搭配PSM.OSD_ONLY,这是经过验证的稳定组合;
  • 若仅需文本识别,单独使用OEM.LSTM_ONLY即可正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 18:15:00