为 Tesseract OCR 清理照片的方法?
Ways to clean up photos for 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)
我过去使用过 pytesseract
,经过以下四次修改,只要文本字体不是太小,我几乎可以阅读任何内容。 pytesseract
似乎很难处理小字体,即使在调整大小后也是如此。
- 转换为黑白 -
将图像转换为黑白通常会提高程序的识别度。我用了 OpenCV to do so and got the code from the end of this article.
-裁剪-
如果您所有的照片格式相似,因为您需要的文字总是在同一位置,我会推荐 cropping 您的照片。如果可能,只将照片的确切部分传递给 pytesseract
您要分析的部分,程序分析的越少越好。就我而言,我正在截取屏幕截图并指定截取屏幕截图的确切区域。
- 调整大小 -
您可以做的另一件事是对原始照片进行缩放。有时,在 resizing 几乎翻倍其初始大小 pytesseract
之后,阅读文本会容易得多。一般来说,文字越大越好,但有一个限制,因为照片在调整大小后像素化程度可能会太高而无法识别。
- 配置-
我注意到 pytesseract
识别文本比识别数字容易得多。如果可能,将照片分成几个部分,每当您遇到数字问题时,您可以使用:
pytesseract.image_to_string(image, config='digits')
我是 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)
我过去使用过 pytesseract
,经过以下四次修改,只要文本字体不是太小,我几乎可以阅读任何内容。 pytesseract
似乎很难处理小字体,即使在调整大小后也是如此。
- 转换为黑白 -
将图像转换为黑白通常会提高程序的识别度。我用了 OpenCV to do so and got the code from the end of this article.
-裁剪-
如果您所有的照片格式相似,因为您需要的文字总是在同一位置,我会推荐 cropping 您的照片。如果可能,只将照片的确切部分传递给 pytesseract
您要分析的部分,程序分析的越少越好。就我而言,我正在截取屏幕截图并指定截取屏幕截图的确切区域。
- 调整大小 -
您可以做的另一件事是对原始照片进行缩放。有时,在 resizing 几乎翻倍其初始大小 pytesseract
之后,阅读文本会容易得多。一般来说,文字越大越好,但有一个限制,因为照片在调整大小后像素化程度可能会太高而无法识别。
- 配置-
我注意到 pytesseract
识别文本比识别数字容易得多。如果可能,将照片分成几个部分,每当您遇到数字问题时,您可以使用:
pytesseract.image_to_string(image, config='digits')