【问题标题】:Ways to clean up photos for Tesseract OCR?为 Tesseract OCR 清理照片的方法?
【发布时间】:2020-12-13 04:57:10
【问题描述】:
我是 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)
【问题讨论】:
标签:
python
image
ocr
tesseract
【解决方案1】:
我过去使用过pytesseract,经过以下四次修改,只要文本字体不太小,我几乎可以阅读任何内容。 pytesseract 似乎很难写小字,即使在调整大小后也是如此。
- 转换为黑白 -
将图像转换为黑白通常会提高程序的识别率。我使用OpenCV 这样做并从article 的末尾获取代码。
- 裁剪 -
如果您所有的照片都采用相似的格式,因为您需要的文字总是在同一个位置,我建议您使用cropping 您的照片。如果可能,只将照片的确切部分传递给您要分析的pytesseract,程序分析的越少越好。就我而言,我正在截屏并指定截屏的确切区域。
- 调整大小 -
您可以做的另一件事是调整原始照片的缩放比例。有时在resizing 几乎是初始大小的两倍之后,pytesseract 可以更轻松地阅读文本。一般来说,文本越大越好,但有一个限制,因为调整大小后照片可能会变得过于像素化而无法识别。
- 配置-
我注意到pytesseract 识别文本比识别数字容易得多。如果可能的话,把照片分成几部分,当你遇到数字问题时,你可以使用:
pytesseract.image_to_string(image, config='digits')