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

Tesseract收据价格识别丢失问题排查与优化建议请求

问题背景与环境
  • 针对arm64-v8a架构编译了包含Leptonica、libjpeg、libpng、libturbojpeg依赖的Tesseract动态库(.so文件)
  • 用于识别的Pix对象来自800万像素拍摄图像,裁剪后尺寸为1595×2121
  • 核心需求:识别俄文收据中的价格(对应priceselected.jpg),无法展示原图,处理前后图像对应leptonicaaddimage和leptonicaprepareimage
图像预处理流程

应用了以下Leptonica滤镜及参数:

// 中值滤波
leptonica.pixMedianFilter(
    pixs:pix1,
    halfWidth = 1,
    halfHeight = 1);
// RGB转灰度(权重全为0)
_leptonica.PixConvertRGBToGray(pixs:pix2, rwt = 0.0, gwt = 0.0, bwt = 0.0);
// 灰度形态学闭运算
_leptonica.pixErodeGray(pixs:pix3, hsize: 5, vsize: 7);
_leptonica.pixDilateGray( pixs:pix4,  hsize : 5,  vsize  : 7);
// Gamma校正
_leptonica.GammaTRC(
            NULL, // 生成新Pix
            pixs: pix5,
            gamma: 0.7f,
            minval : 40,
            maxval : 210);
// Sauvola自适应阈值
_leptonica.AdaptiveThresholdSauvola(
            pixs: pix6,
            whsize:11,
            factor:0.15f);
Tesseract配置与变量
  • 版本:5.5.1-16-g17b4,使用tessdata_best数据集,仅启用LSTM模式(oem=1)
  • 初始化与配置代码:
Tesseract.TessBaseAPICreate();
Tesseract.TessBaseAPIInit2(_handle, dataPath, language:"rus", oem:"1");
Tesseract.TessBaseAPISetPageSegMode(_handle, pageSegMode:"6 or 3");
  • 自定义变量:
    • user_defined_dpi = 图像宽度/实际宽度 = 1821/3.15 = 578
    • tessedit_char_blacklist = "\\|@#$^&_=<>~{}[]"`
识别处理流程
Tesseract.TessBaseAPISetImage2(_handle, pix);
TesseractNative.TessBaseAPIGetUTF8Text(_handle);
当前识别结果
1721822 Вафли  СЛИВОЧНЫЕ ‘РЛОусПеК те ЭГ 99
Зй 2217431 Кокт, мол. ТОП ЛАВ” (клуб- ан?
50
(Н) ' 1842023 Коктейль мол”ТОП”(2%, пломбир, П
50г 2,29
Скидка бонусы Еплюс ‚08
Г! 1350399 Сыр'БРЕСТ-ЛИТОВСК ПОШЕХОНСКИЙ”
200г 4,59
Скидка бонусы Еплюс -0,05
ИТОГО К ОПЛАТЕ 12,05
УТОГО СКИДКА ы 0,13
存在的问题
  • 无法识别如2.99、2.35这类完整价格,仅能识别出类似0.08的部分
  • 收据尺寸越大,丢失的价格数字越多
  • 寻求提升识别质量的优化建议及问题排查方向

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 13:33:20