Tesseract OCR 给出未对齐的输出文本

Tesseract OCR gives misaligned output text

我有这样一张图片

SOME STUFF HERE

                     DEPARTMENT OF PATHOLOGY

Name        : MR. V. HUGO                   Age/Sex     : 31 Y(s)/Male

Bill Date   : 28-Apr-2016 08:48 AM          UMR No      : ODC61995

Sample Date : 28-Apr-2016 09:38 AM          Bill No     : BIL130579

Report Date : 28-Apr-2016 04:21 PM          Result No   : RES378704


AND SOME MORE STUFF HERE

上图是长大于宽的矩形。我将上面的图像裁剪到我需要阅读的图像部分,它看起来像这样

Name        : MR. V. HUGO                   Age/Sex     : 31 Y(s)/Male

Bill Date   : 28-Apr-2016 08:48 AM          UMR No      : ODC61995

Sample Date : 28-Apr-2016 09:38 AM          Bill No     : BIL130579

Report Date : 28-Apr-2016 04:21 PM          Result No   : RES378704

在裁剪后的图像中,宽度大于长度。但是我得到的输出是错位的

Name
Bill Date
Sample Date
Report Date

MR. V. HUGO
28-Apr-2016 08:48 AM
28-Apr-2016 09:38 AM
28-Apr-2016 04:21 PM

Age/Sex
UMR No
Bill No
Result No

31 Y(s)/Male
ODC61995
BIL130579
RES378704

谁能解释一下为什么会这样?没有裁剪,输出对齐正确但错误更多。我的想法是 运行 仅在图像的相关部分使用 Tesseract OCR。使用和不使用 Python 包装器我得到相同的结果。

P.S。 - 当我将 erosion/dilation 应用于图像时,我得到与上面类似的未对齐输出,但在将它传递给 Tesseract 之前没有裁剪。

问题是由于 Tesseract 自动分页造成的。将您的页面分段模式值保持为 4 或 PSM_SINGLE_COLUMN.

tesseract example.jpg out -l eng -psm 4