【发布时间】:2019-01-12 07:29:30
【问题描述】:
显然,这张图片非常难看,因为它的清晰度很低,而且不是一个真实的单词。但是,使用此代码,我没有检测到任何关闭:
import pytesseract
from PIL import Image, ImageEnhance, ImageFilter
image_name = 'NedNoodleArms.jpg'
im = Image.open(image_name)
im = im.filter(ImageFilter.MedianFilter())
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(2)
im = im.convert('1')
im.save(image_name)
text = pytesseract.image_to_string(Image.open(image_name))
print(text)
输出
, Mdfiaodfiamms
这里有什么想法吗?我的对比函数产生的图像是:
哪个看起来不错?我没有大量的 OCR 经验。你会在这里推荐什么预处理?我尝试将图像的大小调整得更大,这有点帮助但还不够,还有一堆来自 PIL 的不同过滤器。虽然没有什么特别接近的地方
【问题讨论】:
-
不要转换为 1 位黑白,使用灰度 ('L" IINM)。
-
谢谢保罗!这有很大帮助。它输出'NedNnodleArrns',非常合理
-
很高兴为您提供帮助,请查看我的答案。
标签: python ocr image-recognition image-preprocessing python-tesseract