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

为何Tesseract对原图与反转图检测结果一致?如何识别反转图中的Juliet?

问题描述

我需要识别图像中的所有文字。原图中Tesseract识别出了全部4行文字,但未识别出“Juliet”,这符合预期。随后我反转图像,本想仅识别“Juliet”,但结果还是只识别出那4行文字,完全没包含“Juliet”,和原图检测结果一致。请问怎么才能在反转图像中识别出“Juliet”?

相关图像:

  • 原图:原图
  • 反转图像:反转图像

使用的Tesseract版本:

tesseract v5.5.0.20241111
 leptonica-1.85.0
  libgif 5.2.2 : libjpeg 8d (libjpeg-turbo 3.0.4) : libpng 1.6.44 : libtiff 4.7.0 : zlib 1.3.1 : libwebp 1.4.0 : libopenjp2 2.5.2
 Found AVX2
 Found AVX
 Found FMA
 Found SSE4.1
 Found libarchive 3.7.7 zlib/1.3.1 liblzma/5.6.3 bz2lib/1.0.8 liblz4/1.10.0 libzstd/1.5.6
 Found libcurl/8.11.0 Schannel zlib/1.3.1 brotli/1.1.0 zstd/1.5.6 libidn2/2.3.7 libpsl/0.21.5 libssh2/1.11.0
解决建议

针对反转图像无法识别“Juliet”的问题,可尝试以下方案:

  • 调整页面分割模式:默认分割模式可能忽略了反转后“Juliet”的位置,试试不同的--psm参数:

    • --psm 6:假设图像是单个统一文本块
    • --psm 10:针对单个字符识别
    • --psm 3:全自动分割但更细致
      示例命令:
    tesseract --psm 6 你的反转图像路径 output.txt
    
  • 增强图像对比度:用工具对反转图像做二值化处理,强化文字边缘。比如用OpenCV的Python代码:

    import cv2
    # 读取灰度图
    img = cv2.imread("你的反转图像路径", 0)
    # 二值化
    _, binary_img = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
    # 保存处理后的图像
    cv2.imwrite("增强后图像.png", binary_img)
    

    再用Tesseract识别处理后的图像。

  • 限制识别字符范围:如果仅需识别字母,通过白名单减少干扰:

    tesseract -c tessedit_char_whitelist=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz --psm 10 你的反转图像路径 output.txt
    
  • 检测文字方向:反转后文字方向可能异常,让Tesseract自动检测方向:

    tesseract --oem 3 --psm 0 你的反转图像路径 output.txt
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 21:12:38