【问题标题】:pytesseract - Invalid resolution 0 dpipytesseract - 无效的分辨率 0 dpi
【发布时间】:2021-06-10 12:02:44
【问题描述】:

我正在使用 pytesseract v5.0,我正在使用 OpenCV 旋转图像,然后将其传递给 pytesseract.image_to_osd()。有一些图像可以与 image_to_osd 一起使用,但其他图像不能,并且程序给了我以下错误: TesseractError: (1, 'Tesseract Open Source OCR Engine v5.0.0-alpha.20201127 with Leptonica Warning: Invalid resolution 0 dpi.Using 70 instead. Estimating resolution as 179 Warning. Invalid resolution 0 dpi. 改用 70。字符太少。处理过程中跳过此页面错误。') 我正在使用 python 3.9.5。

请分享解决此问题的解决方案/示例代码。

【问题讨论】:

    标签: ocr python-tesseract


    【解决方案1】:

    我已经面对这个错误很长时间了,但我终于意识到了原因。

    1. 如果只有 0,90,180 或 270,Tesseract OSD 似乎可以得到正确的图像旋转。
    2. 如果您使用 OpenCV 或 Pillow 读取图像,很可能会出现上述错误。
    3. 如果您查看 Tesseract 参数,您会注意到名为“Min_characters_to_try”的内容,这是运行 OSD 的最小字符数。默认设置为 50,这对您来说可能太多了。所以,我们必须减少它。

    您可以做的是裁剪背景以使您的对象具有上述角度之一。然后,将您的图像文件直接传递给 Tesseract 并减少 min_characters_to_try,如下所示:

    osd = pytesseract.image_to_osd(r'D:\image.jpg',config='--psm 0 -c min_characters_to_try=5')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多