为什么pytesseract无法正确识别?

问题描述 投票:0回答:1

好,所以我一直在尝试将图像更改为任何可用的图像,但似乎找不到正确的设置。。

这是图片:enter image description here

您可以看到图片已经像任何东西一样简单,但是它仍然无法从图像中识别出“ 1 BB”。是否有提示?

img = Image.fromarray(img)
imp_arr = np.asarray(img)
imp_arr = (np.floor(imp_arr / 140.0) * 255.0).astype('uint8')
img = Image.fromarray(imp_arr, mode='L')
width, height = img.size 
img = img.resize((width*3, height*3), Image.BICUBIC)
width, height = img.size 
img = img.resize((width*2, height*2), Image.HAMMING)
width, height = img.size 
img = img.resize((int(width*0.3), int(height*0.3)), Image.BICUBIC)
img = ImageEnhance.Brightness(img).enhance(0.7)
img = ImageEnhance.Sharpness(img).enhance(2)
img = ImageEnhance.Contrast(img).enhance(2)
amount = pytesseract.image_to_string(img, config='--psm 10 --oem 3 -c tessedit_char_whitelist=0123456789')

这只是一个示例,说明了我尝试对其进行正确调整以使正确的文本成为字符串。有时它可以工作,而另一些时间则可以打印出乱码。事情是..它需要每一次工作,尤其是要获得像这张图片一样清晰的图片。有一个能简单解决这个问题的策划者吗?预先谢谢你。

python python-tesseract
1个回答
1
投票

[安装Tesseract OCR,Pillow和pytesseract之后,我将图像保存为igor.png,并运行了以下代码,这些代码在docs of pytesseract中找到:

#!/usr/bin/env python

from PIL import Image
import pytesseract

print(pytesseract.image_to_string(Image.open("igor.png")))

它将打印预期的结果:

1BB

如果我通过在B上加上字母tessedit_char_whitelist来更正您的初始代码,它也可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.