Debian12下Sikulix调用Region.text()报错:无法初始化Tesseract1类
解决Debian 12上Sikulix调用Region.text()时的java.lang.NoClassDefFoundError问题
报错信息:
[error] java.lang.NoClassDefFoundError ( java.lang.NoClassDefFoundError: Could not initialize class net.sourceforge.tess4j.Tesseract1 )
这是因为Sikulix的Region.text()方法依赖Tesseract OCR引擎,系统缺少必要依赖库或Java无法正确加载native库导致的,解决步骤如下:
安装系统级Tesseract OCR组件
执行以下命令更新软件源并安装核心库:sudo apt update sudo apt install tesseract-ocr libtesseract-dev如果需要识别非英文文本,可额外安装对应语言包,比如简体中文:
sudo apt install tesseract-ocr-chi-sim指定Java库路径启动Sikulix
Debian 12中Tesseract的native库默认位于/usr/lib/x86_64-linux-gnu/,启动时需让Java能找到该路径,修改启动命令为:sudo java -Djava.library.path=/usr/lib/x86_64-linux-gnu/ -jar sikulixide-2.0.5-lux.jar验证修复
重新运行示例代码:print(Region(300,500,100,50).text())此时应该能正常执行OCR文本识别并返回结果。
内容的提问来源于stack exchange,提问作者Scrampus
相关产品推荐
相关产品推荐

