尝试用pytesseract
来识别一些图片:
原始图片尺寸较小,用pytesseract
无法识别,开始尝试用 Mac 自带的预览工具来放大尺寸 ,发现可以正常识别了,然后尝试用 PIL 来放大图片,代码如下:
images.resize((1985, 336),Image.ANTIALIAS).save('/images', quality=95,dpi=(72, 72))
问题是,通过 PIL 放大的图片不能被pytesseract
正常识别,我对比了两张图片的信息,如下图:
发现除了图片尺寸不同外,其他信息都是相同的,但是就是无法被pytesseract
正常识别,所以求教如何用 PIL 放大出可以正常被pytesseract
识别的图片(其他工具也可以)
你可以尝试改变tesseract的-psm参数:
image = Image.open('ocr.png') image.show() for p in range(4,14): print(p, '-', pytesseract.image_to_string(image, config="-psm {}".format(p)))
输出如下:
4 - 3 4'1 4'1 I] I] 5 - D D d. d. _...I._ 6 - 3 4'1 4'1 I] I] 7 - 3 4'1 4'1 I] I] 8 - 34400 9 - 34400 10 - W 11 - 3 £1 I1 I] I] 12 - 13 - 34400
如果图片只有数字你也能尝试用tessedit_char_whitelist
:
pytesseract.image_to_string(image, config="-psm 8 -c tessedit_char_whitelist=1234567890")