首页 > 解决方案 > 为 Tesseract OCR 清理照片的方法?

问题描述

我是 Tesseract 的新手,想知道是否有任何方法可以为简单的 OCR 程序清理照片以获得更好的结果。提前感谢您的帮助!我正在使用的代码:

#loads tesseract
tess.pytesseract.tesseract_cmd = 
#filepath
file_path = 
image = Image.open(file_path)
#processes image
text = tess.image_to_string(image, config='')
print(text)

标签: pythonimageocrtesseract

解决方案


我过去使用pytesseract过,经过以下四次修改,只要文本字体不太小,我几乎可以阅读任何内容。pytesseract即使在调整大小后,似乎也很难写出小字。

- 转换为黑白 -

将图像转换为黑白通常会提高程序的识别率。我使用OpenCV来执行此操作,并从本文末尾获取了代码

- 庄稼 -

如果您所有的照片都采用相似的格式,因为您需要的文本总是在同一个位置,我建议您裁剪您的照片。如果可能,只将照片的确切部分传递给pytesseract您要分析的部分,程序分析的越少越好。就我而言,我正在截屏并指定截屏的确切区域。

- 调整大小 -

您可以做的另一件事是调整原始照片的缩放比例。有时在调整到几乎两倍的初始大小后pytesseract,阅读文本会容易得多。一般来说,更大的文本更好,但有一个限制,因为调整大小后照片可能变得过于像素化而无法识别。

- 配置 -

我注意到它pytesseract比数字更容易识别文本。如果可能的话,把照片分成几个部分,当你遇到数字问题时,你可以使用:

pytesseract.image_to_string(image, config='digits')


推荐阅读